texlive[71252] Master/texmf-dist/doc: latex2e-help-texinfo (13may24)

commits+karl at tug.org commits+karl at tug.org
Mon May 13 21:50:52 CEST 2024


Revision: 71252
          https://tug.org/svn/texlive?view=revision&revision=71252
Author:   karl
Date:     2024-05-13 21:50:52 +0200 (Mon, 13 May 2024)
Log Message:
-----------
latex2e-help-texinfo (13may24)

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/aspell.en.pws
    trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi
    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	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/info/latex2e.info	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,8 +1,8 @@
-This is latex2e.info, produced by makeinfo version 7.0.1 from
+This is latex2e.info, produced by makeinfo version 7.1 from
 latex2e.texi.
 
 This document is an unofficial reference manual for LaTeX, a document
-preparation system, version of January 2023.
+preparation system, version of May 2024.
 
    This manual was originally translated from ‘LATEX.HLP’ v1.0a in the
 VMS Help Library.  The pre-translation version was written by George D.
@@ -44,8 +44,8 @@
 LaTeX2e: An unofficial reference manual
 ***************************************
 
-This document is an unofficial reference manual (version of January
-2023) for LaTeX2e, a document preparation system.
+This document is an unofficial reference manual (version of May 2024)
+for LaTeX2e, a document preparation system.
 
 * Menu:
 
@@ -69,8 +69,8 @@
 * Page styles::			Various styles of page layout.
 * Spaces::		        Horizontal and vertical space.
 * Boxes::                       Making boxes.
+* Graphics::                    Importing graphics from outside LaTeX.
 * Color::                       Defining and using colors.
-* Graphics::                    Importing graphics from outside LaTeX.
 * Special insertions::		Inserting reserved and special characters.
 * Splitting the input::		Dealing with big files by splitting.
 * Front/back matter::		Tables of contents, glossaries, indexes.
@@ -90,14 +90,14 @@
 preparation system, which is a macro package for the TeX typesetting
 program (*note Overview::).
 
-   This document’s home page is <https://latexref.xyz>; it has separate
+   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
+   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 maintained by a group of volunteers
@@ -106,7 +106,8 @@
 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>.
+<latexrefman at tug.org>.  This is a public list; you can (un)subscribe,
+view the archives, etc., at <https://lists.tug.org/latexrefman>.
 
    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
@@ -122,8 +123,7 @@
      A longer introduction to LaTeX, translated to many languages.
 
 <https://tug.org/begin.html>
-     Introduction to the TeX system, including LaTeX, with further
-     references.
+     Overview of getting started with TeX and LaTeX.
 
 
 File: latex2e.info,  Node: Overview,  Next: Document classes,  Prev: About this document,  Up: Top
@@ -142,17 +142,17 @@
 (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.)
+   LaTeX is implemented as a set of so-called "macros" (a TeX “format”)
+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 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
+   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 ‘\LaTeX’.  Where use of the logo is not sensible, such as in
 plain text, write it as ‘LaTeX’.
@@ -162,9 +162,11 @@
 * Starting and ending::     The standard beginning and end of a document.
 * Output files::            Files produced.
 * TeX engines::          Programs that can compile TeX and LaTeX.
+* Input text::              Input encodings and special characters.
 * LaTeX command syntax:: General syntax of LaTeX commands.
-* Environment::             An area of the source with distinct behavior.
-* CTAN::                    Our repository.
+* Environment syntax::      \begin{envname} ... \end{envname}.
+* \DocumentMetadata::       Towards accessible PDF output.
+* CTAN::                    The TeX world's general repository.
 
 
 File: latex2e.info,  Node: Starting and ending,  Next: Output files,  Up: Overview
@@ -173,7 +175,7 @@
 =======================
 
 LaTeX files have a simple global structure, with a standard beginning
-and ending.  This is a small example.
+and ending.  Here is a small example:
 
      \documentclass{article}
      \begin{document}
@@ -184,18 +186,18 @@
 ‘\end{document}’ line.
 
 Here, the ‘article’ is the “document class”.  It is implemented in a
-file ‘article.cls’.  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.  *Note Document classes::.
+file ‘article.cls’.  You can use any document class available on your
+system.  A few document classes are defined by LaTeX itself, and a vast
+array of others are available.  *Note Document classes::.
 
    You can include other LaTeX commands between the ‘\documentclass’ and
 the ‘\begin{document}’ commands.  This area is called the “preamble”.
 
-   The ‘\begin{document}’, ‘\end{document}’ pair defines an
+   The ‘\begin{document}’ ... ‘\end{document}’ pair defines an
 “environment”; the ‘document’ environment (and no others) is required in
-all LaTeX documents (*note document::).  LaTeX make available to you
-many environments that are documented here (*note Environments::).  Many
-more are available to you from external packages, most importantly those
+all LaTeX documents (*note document::).  LaTeX provides many
+environments that are documented here (*note Environments::).  Many more
+are available to you from external packages, most importantly those
 available at CTAN (*note CTAN::).
 
    The following sections discuss how to produce PDF or other output
@@ -208,7 +210,7 @@
 ================
 
 LaTeX produces a main output file and at least two auxiliary files.  The
-main output file’s name ends in either ‘.dvi’ or ‘.pdf’.
+main output file's name ends in either ‘.dvi’ or ‘.pdf’.
 
 ‘.dvi’
      If LaTeX is invoked with the system command ‘latex’ then it
@@ -236,8 +238,8 @@
 ‘.aux’
      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 question
+     reference--a cross reference to something that has not yet appeared
+     in the source--it will appear in the output as a doubled question
      mark ‘??’.  When the referred-to spot does eventually appear in the
      source then LaTeX writes its location information to this ‘.aux’
      file.  On the next invocation, LaTeX reads the location information
@@ -251,15 +253,15 @@
 particular class may create others; the list is open-ended.
 
 
-File: latex2e.info,  Node: TeX engines,  Next: LaTeX command syntax,  Prev: Output files,  Up: Overview
+File: latex2e.info,  Node: TeX engines,  Next: Input text,  Prev: Output files,  Up: Overview
 
 2.3 TeX engines
 ===============
 
-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.
+LaTeX is a large set of commands (macros) 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::).
@@ -272,7 +274,7 @@
      ‘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
+     pdfTeX incorporates the e-TeX extensions to Knuth's original
      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
@@ -280,13 +282,14 @@
 
      In other TeX distributions, ‘latex’ may invoke e-TeX rather than
      pdfTeX.  In any case, the e-TeX extensions can be assumed to be
-     available in LaTeX.
+     available in LaTeX, and a few extensions beyond e-TeX, particularly
+     for file manipulation.
 
 ‘lualatex’
      If LaTeX is invoked via the system command ‘lualatex’, the LuaTeX
      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
+     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.
@@ -304,6 +307,12 @@
      process is automatic.  The ‘.xdv’ file is only useful for
      debugging.
 
+‘hilatex’
+     If LaTeX is invoked via the system command ‘hilatex’, the HiTeX
+     engine is run (<https://ctan.org/pkg/hitex>).  This program
+     produces its own format, named HINT, designed especially for
+     high-quality typesetting on mobile devices.
+
 ‘platex’
 ‘uplatex’
      These commands provide significant additional support for Japanese
@@ -311,7 +320,7 @@
      <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:
+the above, except ‘hitex’:
 
 ‘dvilualatex-dev’
 ‘latex-dev’
@@ -335,14 +344,177 @@
      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,
+     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
+File: latex2e.info,  Node: Input text,  Next: LaTeX command syntax,  Prev: TeX engines,  Up: Overview
 
-2.4 LaTeX command syntax
+2.4 Input text
+==============
+
+To a first approximation, most input characters in LaTeX print as
+themselves.  But there are exceptions, as discussed in the following
+sections.
+
+* Menu:
+
+* Input encodings::
+* Ligatures::            Combined characters: ff fi fl ffi ffl " " - -- '! '?
+* Special characters::   With special meaning: ‘\ { } % $ & _ ^ # ~’
+
+
+File: latex2e.info,  Node: Input encodings,  Next: Ligatures,  Up: Input text
+
+2.4.1 Input encodings
+---------------------
+
+The input to TeX (or any computer program) ultimately consists of a
+sequence of bytes.  (Nowadays, a byte is almost universally an eight-bit
+number, i.e., an integer between 0 and 255, inclusive.)  The input
+encoding defines how to interpret that sequence of bytes, and thus how
+LaTeX behaves.
+
+   Today, by far the most common way to encode text is with “UTF-8”, a
+so-called "Unicode Transformation Format" which specifies how to
+transform a sequence of 8-bit bytes to Unicode code points, which are
+defined independent of any particular representation.  The Unicode
+encoding defines code points for virtually all characters used today in
+written text.
+
+   When TeX was created, Unicode and UTF-8 did not exist and the 7-bit
+ASCII encoding was by far the most widely used.  So TeX does not require
+Unicode for text input.  UTF-8 is a superset of ASCII, so a pure 7-bit
+ASCII document is also UTF-8.
+
+   Since 2018, the default input encoding for LaTeX is UTF-8.  Some
+methods for handling documents written in some other encoding, such as
+ISO-8859-1 (Latin 1), are explained in *note inputenc package::.
+
+   You can easily find more about all these topics in any introductory
+computer text or online.  For example, you might start at:
+<https://en.wikipedia.org/wiki/Unicode>.
+
+
+File: latex2e.info,  Node: Ligatures,  Next: Special characters,  Prev: Input encodings,  Up: Input text
+
+2.4.2 Ligatures
+---------------
+
+A “ligature” combines two or more letters (more generally, characters)
+into a single glyph.  For example, in Latin-based typography, the two
+letters ‘f’ and ‘i’ are often combined into the glyph 'fi'.
+
+   TeX supports ligatures automatically.  To continue the example, if
+the input has the word ‘fine’, written as four separate ASCII
+characters, TeX will output the word 'fine' (with the default fonts),
+with three typeset glyphs.
+
+   In traditional TeX, the available ligatures, if any, are defined by
+the current font.  TeX also uses the ligature mechanism to produce a few
+typographical characters which were not available in any computer
+encoding when TeX was invented.  In all, in the original Computer Modern
+fonts, the following input character sequences are defined to lead to
+ligatures:
+
+‘ff’
+     ff (ff ligature, U+FB00)
+‘fi’
+     fi (fi ligature, U+FB01)
+‘fl’
+     fl (fl ligature, U+FB02)
+‘ffi’
+     ffi (ffi ligature, U+FB03)
+‘ffl’
+     ffl (ffl ligature, U+FB04)
+‘``’
+     " (left double quotation mark, U+201C)
+‘''’
+     " (right double quotation mark, U+201D)
+‘--’
+     - (en-dash, U+2013)
+‘---’
+     -- (em-dash, U+2014)
+‘!`’
+     !'  (inverted exclamation mark, U+00A1)
+‘?`’
+     ?'  (inverted question mark, U+00BF)
+
+(For the f-ligatures above, the text in parentheses shows the individual
+characters, so in the typeset output you can easily see the difference
+between the ligature and the original character sequence.)
+
+   Nowadays it's usually possible to directly input the punctuation
+characters as Unicode characters, and LaTeX supports that (see previous
+section).  But even today, it can still often be useful to use the ASCII
+ligature input form; for example, the difference between an en-dash and
+em-dash, as a single glyph, can be all but impossible to discern, but
+the difference between two and three ASCII hyphen characters is clear.
+Similarly with quotation marks, in some fonts.
+
+   Thus, even the engines with native support for UTF-8, namely LuaTeX
+and XeTeX, also support the ASCII ligature input sequences by default,
+independent of the font used.  They also need to do so for
+compatibility.
+
+   By the way, the f-ligatures are also available in Unicode (the
+"Alphabetic Presentation Forms" block starting at U+FB00), but it's
+almost never desirable to use them as input characters, since in
+principle it should be up to the typesetter and the current font whether
+to use ligatures.  Also, in practice, using them will typically cause
+searches to fail, that is, a search for the two characters ‘fi’ will not
+be matched by the ligature 'fi' at U+FB01.
+
+
+File: latex2e.info,  Node: Special characters,  Prev: Ligatures,  Up: Input text
+
+2.4.3 Special characters: ‘\ { } % $ & _ ^ # ~’
+-----------------------------------------------
+
+Besides ligatures (see previous section), a few individual characters
+have special meaning to LaTeX.  They are called “reserved characters” or
+“special characters”.  Here they are:
+
+‘\’
+     Introduces a command name, as seen throughout this manual.
+
+‘{’
+‘}’
+     Delimits a required argument to a command or a level of grouping,
+     as seen throughout this manual.
+
+‘%’
+     Starts a comment: the ‘%’ and all remaining characters on the
+     current line are ignored.
+
+‘$’
+     Starts and ends math mode (*note Math formulas::).
+
+‘&’
+     Separates cells in a table (*note tabular::).
+
+‘_’
+‘^’
+     Introduce a subscript or superscript, respectively, in math (*note
+     Subscripts & superscripts::); they produce an error outside math
+     mode.  As a little-used special feature, two superscript characters
+     in a row can introduce special notation for an arbitrary character.
+
+‘#’
+     Stands for arguments in a macro definition (*note \newcommand &
+     \renewcommand::).
+
+‘~’
+     Produces a nonbreakable interword space (*note ~::).
+
+   *Note Printing special characters::, for how to typeset these
+characters when you need them literally.
+
+
+File: latex2e.info,  Node: LaTeX command syntax,  Next: Environment syntax,  Prev: Input text,  Up: Overview
+
+2.5 LaTeX command syntax
 ========================
 
 In the LaTeX input file, a command name starts with a backslash
@@ -349,10 +521,10 @@
 character, ‘\’.  The name itself then consists of either (a) a string of
 letters or (b) a single non-letter.
 
-   LaTeX commands names are case sensitive so that ‘\pagebreak’ differs
-from ‘\Pagebreak’ (the latter is not a standard command).  Most command
-names are lowercase, but in any event you must enter all commands in the
-same case as they are defined.
+   LaTeX commands names are case sensitive; for example, ‘\pagebreak’
+differs 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
@@ -359,7 +531,8 @@
 contained in curly braces, ‘{...}’.  Optional arguments are contained in
 square brackets, ‘[...]’.  Generally, but not universally, if the
 command accepts an optional argument, it comes first, before any
-required arguments.
+required arguments; optional arguments could come after required
+arguments, or both before and after.
 
    Inside of an optional argument, to use the character close square
 bracket (‘]’) hide it inside curly braces, as in ‘\item[closing bracket
@@ -368,8 +541,8 @@
 text be an open square bracket, hide it inside curly braces.
 
    LaTeX has the convention that some commands have a ‘*’ form that is
-related to the form without a ‘*’, such as ‘\chapter’ and ‘\chapter*’.
-The exact difference in behavior varies from command to command.
+closely related to the form without a ‘*’, such as ‘\chapter’ and
+‘\chapter*’.  The difference in behavior varies from command to command.
 
    This manual describes all accepted options and ‘*’-forms for the
 commands it covers (barring unintentional omissions, a.k.a. bugs).
@@ -376,15 +549,15 @@
 
    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
+different underlying programming language syntax.  We won't try to cover
+that 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
+File: latex2e.info,  Node: Environment syntax,  Next: \DocumentMetadata,  Prev: LaTeX command syntax,  Up: Overview
 
-2.5 Environment
-===============
+2.6 Environment syntax
+======================
 
 Synopsis:
 
@@ -415,17 +588,47 @@
 required (it specifies the formatting of columns).
 
      \begin{tabular}[t]{r|l}
-       ... rows of table ...
+       ... ROWS-OF-TABLE ...
      \end{tabular}
 
 
-File: latex2e.info,  Node: CTAN,  Prev: Environment,  Up: Overview
+File: latex2e.info,  Node: \DocumentMetadata,  Next: CTAN,  Prev: Environment syntax,  Up: Overview
 
-2.6 CTAN: The Comprehensive TeX Archive Network
+2.7 ‘\DocumentMetadata’: Producing tagged PDF output
+====================================================
+
+The ‘\DocumentMetadata’ command was added to LaTeX in 2022.  It enables
+so-called "tagging" of the PDF output, aiding accessibility of the PDF.
+It is supported best with LuaLaTeX; pdfLaTeX and XeLaTeX are supported
+as well as possible (*note TeX engines::).
+
+   It is unlike nearly any other command in LaTeX in that it must occur
+before the ‘\documentclass’ command that starts a LaTeX document proper
+(*note \documentclass::).  Therefore it must be called with
+‘\RequirePackage’ rather than ‘\usepackage’ (*note \RequirePackage::).
+
+   This support is still in development, so we will not try to list all
+the possible settings.  Please see the ‘documentmetadata-support-doc’
+document, part of the ‘latex-lab’ package
+(<https://ctan.org/pkg/latex-lab>).  Here is a simple example which
+enables most tagging currently implemented:
+
+     \DocumentMetadata{testphase={phase-III,firstaid}}
+     \documentclass{article}
+     ...
+
+   As you can see from the key name ‘testphase’, this is all still in an
+experimental phase.  The LaTeX developers strongly encourage users to
+give it a try and report problems, so it can be improved.
+
+
+File: latex2e.info,  Node: CTAN,  Prev: \DocumentMetadata,  Up: Overview
+
+2.8 CTAN: The Comprehensive TeX Archive Network
 ===============================================
 
 The Comprehensive TeX Archive Network, CTAN, is the TeX and LaTeX
-community’s repository of free material.  It is a set of Internet sites
+community's repository of free material.  It is a set of Internet sites
 around the world that offer material related to LaTeX for download.
 Visit CTAN on the web at <https://ctan.org>.
 
@@ -432,14 +635,14 @@
    This material is organized into packages, discrete bundles that
 typically offer some coherent functionality and are maintained by one
 person or a small number of people.  For instance, many publishers have
-a package that allows authors to format papers to that publisher’s
+a package that allows authors to format papers to that publisher's
 specifications.
 
-   In addition to the massive holdings, the ‘ctan.org’ web site offers
+   In addition to its massive holdings, the ‘ctan.org’ web site offers
 features such as search by name or by functionality.
 
    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
+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.
 
@@ -455,13 +658,13 @@
 3 Document classes
 ******************
 
-The document’s overall class is defined with this command, which is
-normally the first command in a LaTeX source file.
+The document's overall class is defined with the ‘\documentclass’
+command, which is normally the first command in a LaTeX source file.
 
      \documentclass[OPTIONS]{CLASS}
 
-   The following document CLASS names are built into LaTeX.  (Many other
-document classes are available as separate packages; *note Overview::.)
+   The following document CLASS names are built into LaTeX.  Many other
+document classes are available as separate packages (*note Overview::).
 
 ‘article’
      For a journal article, a presentation, and miscellaneous general
@@ -480,21 +683,21 @@
      technical reports or theses, which may contain several chapters.
 
 ‘slides’
-     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.
+     For slide presentations--rarely used nowadays.  The ‘beamer’
+     package is perhaps the most prevalent replacement
+     (<https://ctan.org/pkg/beamer>).  *Note beamer template::, for a
+     small template for a beamer document.
 
    Standard OPTIONS are described in the next section.
 
 * Menu:
 
-* Document class options::   Global options.
-* Additional packages::       Bring in packages.
-* Class and package construction::   Create new classes and packages.
+* Document class options::           Global options.
+* \usepackage::                      Bring in additional packages.
+* Class and package creation::       Writing new classes and packages.
 
 
-File: latex2e.info,  Node: Document class options,  Next: Additional packages,  Up: Document classes
+File: latex2e.info,  Node: Document class options,  Next: \usepackage,  Up: Document classes
 
 3.1 Document class options
 ==========================
@@ -505,15 +708,18 @@
 
      \documentclass[OPTION1,OPTION2,...]{CLASS}
 
+   LaTeX automatically passes options specified for ‘\documentclass’ on
+to any other loaded classes that can handle them.
+
    Here is the list of the standard class options.
 
    All of the standard classes except ‘slides’ accept the following
-options for selecting the typeface size (default is ‘10pt’):
+options for selecting the typeface size; the default is ‘10pt’:
 
      10pt  11pt  12pt
 
    All of the standard classes accept these options for selecting the
-paper size (these show height by width):
+paper size (dimensions are listed height by width):
 
 ‘a4paper’
      210 by 297mm (about 8.25 by 11.75 inches)
@@ -535,13 +741,13 @@
 
    When using one of the engines pdfLaTeX, LuaLaTeX, or XeLaTeX (*note
 TeX engines::), options other than ‘letterpaper’ set the print area but
-you must also set the physical paper size.  One way to do that is to put
-‘\pdfpagewidth=\paperwidth’ and ‘\pdfpageheight=\paperheight’ in your
-document’s preamble.
+you must also set the physical paper size.  Usually, the ‘geometry’
+package is the best way to do that; it provides flexible ways of setting
+the print area and physical page size.  Otherwise, setting the paper
+size is engine-dependent.  For example, with pdfLaTeX, you could include
+‘\pdfpagewidth=\paperwidth’ and ‘\pdfpageheight=\paperheight’ in the
+preamble.
 
-   The ‘geometry’ package provides flexible ways of setting the print
-area and physical page size.
-
    Miscellaneous other options:
 
 ‘draft’
@@ -560,7 +766,7 @@
      right side.
 
 ‘openbib’
-     Use “open” bibliography format.
+     Use "open" bibliography format.
 
 ‘titlepage’
 ‘notitlepage’
@@ -583,7 +789,7 @@
      For one-sided printing, the text is centered on the page.  For
      two-sided printing, the ‘\evensidemargin’ (‘\oddsidemargin’)
      parameter determines the distance on even (odd) numbered pages
-     between the left side of the page and the text’s left margin, with
+     between the left side of the page and the text's left margin, with
      ‘\oddsidemargin’ being 40% of the difference between ‘\paperwidth’
      and ‘\textwidth’, and ‘\evensidemargin’ is the remainder.
 
@@ -596,29 +802,39 @@
 the bottom of each note.
 
 
-File: latex2e.info,  Node: Additional packages,  Next: Class and package construction,  Prev: Document class options,  Up: Document classes
+File: latex2e.info,  Node: \usepackage,  Next: Class and package creation,  Prev: Document class options,  Up: Document classes
 
-3.2 Additional packages
-=======================
+3.2 ‘\usepackage’: Additional packages
+======================================
 
-Load a package PKG, with the package options given in the
-comma-separated list OPTIONS, as here.
+To load a package PKG, with the package options given in the
+comma-separated list OPTIONS:
 
-     \usepackage[OPTIONS]{PKG}.
+     \usepackage[OPTIONS]{PKG}[MINDATE]
 
    To specify more than one package you can separate them with a comma,
 as in ‘\usepackage{PKG1,PKG2,...}’, or use multiple ‘\usepackage’
 commands.
 
-   Any options given in the ‘\documentclass’ command that are unknown to
-the selected document class are passed on to the packages loaded with
-‘\usepackage’.
+   If the MINDATE optional argument is given, LaTeX gives a warning if
+the loaded package has an earlier date, i.e., is too old.  The MINDATE
+argument must be in the form ‘YYYY/MM/DD’.  More info on this:
+<https://tex.stackexchange.com/questions/47743>.
 
+   ‘\usepackage’ must be used in the document preamble, between the
+‘\documentclass’ declaration and the ‘\begin{document}’.  Occasionally
+it is necessary to load packages before the ‘\documentclass’; see
+‘\RequirePackage’ for that (*note \RequirePackage::).
+
+   Any options given in the global ‘\documentclass’ command that are
+unknown to the selected document class are passed on to the packages
+loaded with ‘\usepackage’.
+
 
-File: latex2e.info,  Node: Class and package construction,  Prev: Additional packages,  Up: Document classes
+File: latex2e.info,  Node: Class and package creation,  Prev: \usepackage,  Up: Document classes
 
-3.3 Class and package construction
-==================================
+3.3 Class and package creation
+==============================
 
 You can create new document classes and new packages.  For instance, if
 your memos must satisfy some local requirements, such as a standard
@@ -628,30 +844,33 @@
    What separates a package from a document class is that the commands
 in a package are useful across classes while those in a document class
 are specific to that class.  Thus, a command to set page headers is for
-a package while a command to make the page headers say ‘Memo from the
-SMC Math Department’ is for a class.
+a package while a command to make the page headers be ‘Memo from the SMC
+Math Department’ is for a class.
 
-   Inside of a class or package file you can use the at-sign ‘@’ as a
-character in command names without having to surround the code
-containing that command with ‘\makeatletter’ and ‘\makeatother’.  *Note
-\makeatletter & \makeatother::.  This allow you to create commands that
-users will not accidentally redefine.  Another technique is to preface
-class- or package-specific commands with some string to prevent your
-class or package from interfering with others.  For instance, the class
-‘smcmemo’ might have commands ‘\smc at tolist’, ‘\smc at fromlist’, etc.
+   Inside of a class or package definition you can use the at-sign ‘@’
+as a character in command names without having to surround the code
+containing that command with ‘\makeatletter’ and ‘\makeatother’ (*note
+\makeatletter & \makeatother::).  This allows you to create commands
+that users will not accidentally redefine.
 
+   It is also highly desirable to prefix class- or package-specific
+commands with your package name or similar string, to prevent your
+definitions from clashing with those from other packages.  For instance,
+the class ‘smcmemo’ might have commands ‘\smc at tolist’, ‘\smc at fromlist’,
+etc.
+
 * Menu:
 
 * Class and package structure::     Layout of the file.
-* Class and package commands::      List of commands.
 
 
-File: latex2e.info,  Node: Class and package structure,  Next: Class and package commands,  Up: Class and package construction
+File: latex2e.info,  Node: Class and package structure,  Up: Class and package creation
 
 3.3.1 Class and package structure
 ---------------------------------
 
 A class file or package file typically has four parts.
+
   1. In the “identification part”, the file says that it is a LaTeX
      package or class and describes itself, using the ‘\NeedsTeXFormat’
      and ‘\ProvidesClass’ or ‘\ProvidesPackage’ commands.
@@ -687,362 +906,16 @@
 
 It identifies itself, handles the class options via the default of
 passing them all to the ‘article’ class, and then loads the ‘article’
-class to provide the basis for this class’s code.
+class to provide the basis for this class's code.
 
    For more, see the official guide for class and package writers, the
-Class Guide, at
-<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>.
+Class Guide, at <https://ctan.org/pkg/clsguide> (much of the description
+here derives from this document), or the tutorial at
+<https://tug.org/TUGboat/tb26-3/tb84heff.pdf>.
 
-
-File: latex2e.info,  Node: Class and package commands,  Prev: Class and package structure,  Up: Class and package construction
+   *Note Class and package commands::, for some of the commands
+specifically intended for class and package writers.
 
-3.3.2 Class and package commands
---------------------------------
-
-These are the commands designed to help writers of classes or packages.
-
-‘\AtBeginDvi{specials}’
-     Save in a box register things that are written to the ‘.dvi’ file
-     at the beginning of the shipout of the first page of the document.
-
-‘\AtEndOfClass{CODE}’
-‘\AtEndOfPackage{CODE}’
-     Hook to insert CODE to be executed when LaTeX finishes processing
-     the current class or package.  You can use these hooks multiple
-     times; the ‘code’ will be executed in the order that you called it.
-     See also *note \AtBeginDocument::.
-
-‘\CheckCommand{CMD}[NUM][DEFAULT]{DEFINITION}’
-‘\CheckCommand*{CMD}[NUM][DEFAULT]{DEFINITION}’
-     Like ‘\newcommand’ (*note \newcommand & \renewcommand::) but does
-     not define CMD; instead it checks that the current definition of
-     CMD is exactly as given by DEFINITION and is or is not “long” as
-     expected.  A long command is a command that accepts ‘\par’ within
-     an argument.  The CMD command is expected to be long with the
-     unstarred version of ‘\CheckCommand’.  Raises an error when the
-     check fails.  This allows you to check before you start redefining
-     ‘cmd’ yourself that no other package has already redefined this
-     command.
-
-‘\ClassError{CLASS NAME}{ERROR TEXT}{HELP TEXT}’
-‘\ClassWarning{CLASS NAME}{WARNING TEXT}’
-‘\ClassWarningNoLine{CLASS NAME}{WARNING TEXT}’
-‘\ClassInfo{CLASS NAME}{INFO TEXT}’
-‘\ClassInfoNoLine{CLASS NAME}{INFO TEXT}’
-‘\PackageError{PACKAGE NAME}{ERROR TEXT}{HELP TEXT}’
-‘\PackageWarning{PACKAGE NAME}{WARNING TEXT}’
-‘\PackageWarningNoLine{PACKAGE NAME}{WARNING TEXT}’
-‘\PackageInfo{PACKAGE NAME}{INFO TEXT}’
-‘\PackageInfoNoLine{PACKAGE NAME}{INFO TEXT}’
-     Produce an error message, or warning or informational messages.
-
-     For ‘\ClassError’ and ‘\PackageError’ the message is ERROR TEXT,
-     followed by TeX’s ‘?’ error prompt.  If the user then asks for help
-     by typing ‘h’, they see the HELP TEXT.
-
-     The four warning commands are similar except that they write
-     WARNING TEXT on the screen with no error prompt.  The four info
-     commands write INFO TEXT only in the transcript file.  The ‘NoLine’
-     versions do not show the number of the line generating the message,
-     while the other versions do show that number.
-
-     To format the messages, including the HELP TEXT: use ‘\protect’ to
-     stop a command from expanding, get a line break with
-     ‘\MessageBreak’, and get a space with ‘\space’ when a space
-     character does not allow it, like after a command.  Note that LaTeX
-     appends a period to the messages.
-
-‘\CurrentOption’
-     Expands to the name of the currently-being-processed option.  Can
-     only be used within the CODE argument of either ‘\DeclareOption’ or
-     ‘\DeclareOption*’.
-
-‘\DeclareOption{OPTION}{CODE}’
-‘\DeclareOption*{CODE}’
-     Make an option available to a user to invoke in their
-     ‘\documentclass’ command.  For example, the ‘smcmemo’ class could
-     have an option ‘\documentclass[logo]{smcmemo}’ allowing users to
-     put the institutional logo on the first page.  The class file must
-     contain ‘\DeclareOption{logo}{CODE}’ (and later,
-     ‘\ProcessOptions’).
-
-     If you request an option that has not been declared, by default
-     this will produce a warning like ‘Unused global option(s):
-     [badoption].’ Change this behavior with the starred version
-     ‘\DeclareOption*{CODE}’.  For example, many classes extend an
-     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}%
-          }
-
-     Another example is that the class ‘smcmemo’ may allow users to keep
-     lists of memo recipients in external files.  Then the user could
-     invoke ‘\documentclass[math]{smcmemo}’ and it will read the file
-     ‘math.memo’.  This code handles the file if it exists and otherwise
-     passes the option to the ‘article’ class.
-
-          \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{%
-              \PassOptionsToClass{\CurrentOption}{article}}}
-
-‘\DeclareRobustCommand{CMD}[NUM][DEFAULT]{DEFINITION}’
-‘* \DeclareRobustCommand*{CMD}[NUM][DEFAULT]{DEFINITION}’
-     Like ‘\newcommand’ and ‘\newcommand*’ (*note \newcommand &
-     \renewcommand::) but these declare a robust command, even if some
-     code within the DEFINITION is fragile.  (For a discussion of robust
-     and fragile commands *note \protect::.)  Use this command to define
-     new robust commands or to redefine existing commands and make them
-     robust.  Unlike ‘\newcommand’ these do not give an error if macro
-     CMD already exists; instead, a log message is put into the
-     transcript file if a command is redefined.
-
-     Commands defined this way are a bit less efficient than those
-     defined using ‘\newcommand’ so unless the command’s data is fragile
-     and the command is used within a moving argument, use
-     ‘\newcommand’.
-
-     The ‘etoolbox’ package offers the commands ‘\newrobustcmd’,
-     ‘\newrobustcmd*’, as well as the commands ‘\renewrobustcmd’,
-     ‘\renewrobustcmd*’, and the commands ‘\providerobustcmd’, and
-     ‘\providerobustcmd*’.  These are similar to ‘\newcommand’,
-     ‘\newcommand*’, ‘\renewcommand’, ‘\renewcommand*’,
-     ‘\providecommand’, and ‘\providecommand*’, but define a robust CMD
-     with two advantages as compared to ‘\DeclareRobustCommand’:
-       1. They use the low-level e-TeX protection mechanism rather than
-          the higher level LaTeX ‘\protect’ mechanism, so they do not
-          incur the slight loss of performance mentioned above, and
-       2. They make the same distinction between ‘\new...’, ‘\renew...’,
-          and ‘\provide...’, as the standard commands, so they do not
-          just make a log message when you redefine CMD that already
-          exists, in that case you need to use either ‘\renew...’ or
-          ‘\provide...’ or you get an error.
-
-‘\IfFileExists{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
-
-          \IfFileExists{img.pdf}{%
-            \includegraphics{img.pdf}}{\typeout{!! img.pdf not found}
-
-     will include the graphic ‘img.pdf’ if it is found and otherwise
-     give a warning.
-
-     This command looks for the file in all search paths that LaTeX
-     uses, not only in the current directory.  To look only in the
-     current directory do something like ‘\IfFileExists{./filename}{TRUE
-     CODE}{FALSE CODE}’.  If you ask for a filename without a ‘.tex’
-     extension then LaTeX will first look for the file by appending the
-     ‘.tex’; for more on how LaTeX handles file extensions see *note
-     \input::.
-
-‘\LoadClass[OPTIONS LIST]{CLASS NAME}[RELEASE DATE]’
-‘\LoadClassWithOptions{CLASS NAME}[RELEASE DATE]’
-     Load a class, as with ‘\documentclass[OPTIONS LIST]{CLASS
-     NAME}[RELEASE INFO]’.  An example is
-     ‘\LoadClass[twoside]{article}’.
-
-     The OPTIONS LIST, if present, is a comma-separated list.  The
-     RELEASE DATE is optional.  If present it must have the form
-     YYYY/MM/DD.
-
-     If you request a RELEASE DATE and the date of the package installed
-     on your system is earlier, then you get a warning on the screen and
-     in the log like this.
-
-          You have requested, on input line 4, version `2038/01/19' of
-          document class article, but only version `2014/09/29 v1.4h
-          Standard LaTeX document class' is available.
-
-     The command version ‘\LoadClassWithOptions’ uses the list of
-     options for the current class.  This means it ignores any options
-     passed to it via ‘\PassOptionsToClass’.  This is a convenience
-     command that lets you build classes on existing ones, such as the
-     standard ‘article’ class, without having to track which options
-     were passed.
-
-‘\ExecuteOptions{OPTIONS-LIST}’
-     For each option OPTION in the OPTIONS-LIST, in order, this command
-     executes the command ‘\ds at OPTION’.  If this command is not defined
-     then that option is silently ignored.
-
-     It can be used to provide a default option list before
-     ‘\ProcessOptions’.  For example, if in a class file you want the
-     default to be 11pt fonts then you could specify
-     ‘\ExecuteOptions{11pt}\ProcessOptions\relax’.
-
-‘\NeedsTeXFormat{FORMAT}[FORMAT DATE]’
-     Specifies the format that this class must be run under.  Often
-     issued as the first line of a class file, and most often used as:
-     ‘\NeedsTeXFormat{LaTeX2e}’.  When a document using that class is
-     processed, the format name given here must match the format that is
-     actually being run (including that the FORMAT string is case
-     sensitive).  If it does not match then execution stops with an
-     error like ‘This file needs format `LaTeX2e' but this is `xxx'.’
-
-     To specify a version of the format that you know to have certain
-     features, include the optional FORMAT DATE on which those features
-     were implemented.  If present it must be in the form ‘YYYY/MM/DD’.
-     If the format version installed on your system is earlier than
-     FORMAT DATE then you get a warning like this.
-
-          You have requested release `2038/01/20' of LaTeX, but only
-          release `2016/02/01' is available.
-
-‘\OptionNotUsed’
-     Adds the current option to the list of unused options.  Can only be
-     used within the CODE argument of either ‘\DeclareOption’ or
-     ‘\DeclareOption*’.
-
-‘\PassOptionsToClass{OPTION LIST}{CLASS NAME}’
-‘\PassOptionsToPackage{OPTION LIST}{PACKAGE NAME}’
-     Adds the options in the comma-separated list OPTION LIST to the
-     options used by any future ‘\RequirePackage’ or ‘\usepackage’
-     command for package PACKAGE NAME or the class CLASS NAME.
-
-     The reason for these commands is: you may load a package any number
-     of times with no options but if you want options then you may only
-     supply them when you first load the package.  Loading a package
-     with options more than once will get you an error like ‘Option
-     clash for package foo.’ (LaTeX throws an error even if there is no
-     conflict between the options.)
-
-     If your own code is bringing in a package twice then you can
-     collapse that to once, for example replacing the two
-     ‘\RequirePackage[landscape]{geometry}’ and
-     ‘\RequirePackage[margins=1in]{geometry}’ with the single command
-     ‘\RequirePackage[landscape,margins=1in]{geometry}’.
-
-     However, imagine that you are loading ‘firstpkg’ and inside that
-     package it loads ‘secondpkg’, and you need the second package to be
-     loaded with option ‘draft’.  Then before doing the first package
-     you must queue up the options for the second package, like this.
-
-          \PassOptionsToPackage{draft}{secondpkg}
-          \RequirePackage{firstpkg}
-
-     (If ‘firstpkg.sty’ loads an option in conflict with what you want
-     then you may have to alter its source.)
-
-     These commands are useful for general users as well as class and
-     package writers.  For instance, suppose a user wants to load the
-     ‘graphicx’ package with the option ‘draft’ and also wants to use a
-     class ‘foo’ that loads the ‘graphicx’ package, but without that
-     option.  The user could start their LaTeX file with
-     ‘\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}’.
-
-‘\ProcessOptions’
-‘\ProcessOptions*\@OPTIONS’
-     Execute the code for each option that the user has invoked.
-     Include it in the class file as ‘\ProcessOptions\relax’ (because of
-     the existence of the starred command).
-
-     Options come in two types.  “Local options” have been specified for
-     this particular package in the OPTIONS argument of
-     ‘\PassOptionsToPackage{OPTIONS}’, ‘\usepackage[OPTIONS]’, or
-     ‘\RequirePackage[OPTIONS]’.  “Global options” are those given by
-     the class user in ‘\documentclass[OPTIONS]’ (If an option is
-     specified both locally and globally then it is local.)
-
-     When ‘\ProcessOptions’ is called for a package ‘pkg.sty’, the
-     following happens:
-       1. For each option OPTION so far declared with ‘\DeclareOption’,
-          it looks to see if that option is either a global or a local
-          option for ‘pkg’.  If so then it executes the declared code.
-          This is done in the order in which these options were given in
-          ‘pkg.sty’.
-       2. For each remaining local option, it executes the command
-          ‘\ds@’OPTION if it has been defined somewhere (other than by a
-          ‘\DeclareOption’); otherwise, it executes the default option
-          code given in ‘\DeclareOption*’.  If no default option code
-          has been declared then it gives an error message.  This is
-          done in the order in which these options were specified.
-
-     When ‘\ProcessOptions’ is called for a class it works in the same
-     way except that all options are local, and the default CODE for
-     ‘\DeclareOption*’ is ‘\OptionNotUsed’ rather than an error.
-
-     The starred version ‘\ProcessOptions*’ executes the options in the
-     order specified in the calling commands, rather than in the order
-     of declaration in the class or package.  For a package this means
-     that the global options are processed first.
-
-‘\ProvidesClass{CLASS NAME}[RELEASE DATE BRIEF ADDITIONAL INFORMATION]’
-‘\ProvidesClass{CLASS NAME}[RELEASE DATE]’
-‘\ProvidesPackage{PACKAGE NAME}[RELEASE DATE BRIEF ADDITIONAL INFORMATION]’
-‘\ProvidesPackage{PACKAGE NAME}[RELEASE DATE]’
-     Identifies the class or package, printing a message to the screen
-     and the log file.
-
-     When you load a class or package, for example with
-     ‘\documentclass{smcmemo}’ or ‘\usepackage{test}’, LaTeX inputs a
-     file.  If the name of the file does not match the class or package
-     name declared in it then you get a warning.  Thus, if you invoke
-     ‘\documentclass{smcmemo}’, and the file ‘smcmemo.cls’ has the
-     statement ‘\ProvidesClass{xxx}’ then you get a warning like ‘You
-     have requested document class `smcmemo', but the document class
-     provides 'xxx'.’ This warning does not prevent LaTeX from
-     processing the rest of the class file normally.
-
-     If you include the optional argument then you must include a date,
-     before any spaces, of the form ‘YYYY/MM/DD’.  The rest of the
-     optional argument is free-form, although it traditionally
-     identifies the class, and is written to the screen during
-     compilation and to the log file.  Thus, if your file ‘smcmemo.cls’
-     contains the line ‘\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo
-     class]’ and your document’s first line is ‘\documentclass{smcmemo}’
-     then you will see ‘Document Class: smcmemo 2008/06/01 v1.0 SMC memo
-     class’.
-
-     The date in the optional argument allows class and package users to
-     ask to be warned if the version of the class or package is earlier
-     than RELEASE DATE.  For instance, a user could enter
-     ‘\documentclass{smcmemo}[2018/10/12]’ or
-     ‘\usepackage{foo}[[2017/07/07]]’ to require a class or package with
-     certain features by specifying that it must be released no earlier
-     than the given date.  (Although, in practice package users only
-     rarely include a date, and class users almost never do.)
-
-‘\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 FILENAME equal to
-     ‘test.config’ and ADDITIONAL INFORMATION equal to ‘2017/10/12
-     config file for test.cls’.
-
-‘\RequirePackage[OPTION LIST]{PACKAGE NAME}[RELEASE DATE]’
-‘\RequirePackageWithOptions{PACKAGE NAME}[RELEASE DATE]’
-     Load a package, like the command ‘\usepackage’ (*note Additional
-     packages::).  The LaTeX development team strongly recommends use of
-     these commands over Plain TeX’s ‘\input’; see the Class Guide.  An
-     example is ‘\RequirePackage[landscape,margin=1in]{geometry}’.
-
-     The OPTION LIST, if present, is a comma-separated list.  The
-     RELEASE DATE, if present, must have the form YYYY/MM/DD.  If the
-     release date of the package as installed on your system is earlier
-     than RELEASE DATE then you get a warning like ‘You have requested,
-     on input line 9, version `2017/07/03' of package jhtest, but only
-     version `2000/01/01' is available’.
-
-     The ‘\RequirePackageWithOptions’ version uses the list of options
-     for the current class.  This means it ignores any options passed to
-     it via ‘\PassOptionsToClass’.  This is a convenience command to
-     allow easily building classes on existing ones without having to
-     track which options were passed.
-
-     The difference between ‘\usepackage’ and ‘\RequirePackage’ is
-     small.  The ‘\usepackage’ command is intended for the document file
-     while ‘\RequirePackage’ is intended for package and class files.
-     Thus, using ‘\usepackage’ before the ‘\documentclass’ command
-     causes LaTeX to give error like ‘\usepackage before
-     \documentclass’, but you can use ‘\RequirePackage’ there.
-
 
 File: latex2e.info,  Node: Fonts,  Next: Layout,  Prev: Document classes,  Up: Top
 
@@ -1111,7 +984,7 @@
 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
+   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
@@ -1130,7 +1003,7 @@
 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.
+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
@@ -1137,10 +1010,10 @@
 ‘FONT_ENCODINGenc.def’.  It also sets ‘\encodingdefault’ to be the last
 encoding in the option list.
 
-   These are the common values for FONT_ENCODING.
+   These are the common values for FONT_ENCODING:
 
 ‘OT1’
-     The original encoding for TeX.  Limited to mostly English
+     The original 7-bit encoding for TeX.  Limited to mostly English
      characters.
 
 ‘OMS, OML’
@@ -1148,14 +1021,14 @@
 
 ‘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
+     users group meeting where it was developed (1990).  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
+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
@@ -1166,7 +1039,7 @@
 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
+   The LaTeX team reserves 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
@@ -1181,9 +1054,9 @@
 
 * Menu:
 
-* \DeclareFontEncoding::           Define an encoding.
-* \DeclareTextAccent::             Define an accent in the encoding.
-* \DeclareTextAccentDefault::      Fallback for using an accent in the encoding.
+* \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.
@@ -1439,9 +1312,9 @@
    For example, this line from ‘t1enc.def’ declares the number of the
 glyph to use for «, the left guillemet.
 
-     \DeclareTextSymbol{\guillemotleft}{T1}{19}
+     \DeclareTextSymbol{\guillemetleft}{T1}{19}
 
-The command ‘\DeclareTextCommand{\guillemotleft}{T1}{\char 19}’ has the
+The command ‘\DeclareTextCommand{\guillemetleft}{T1}{\char 19}’ has the
 same effect but is slower (*note \DeclareTextCommand &
 \ProvideTextCommand::).
 
@@ -1558,7 +1431,7 @@
 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}’, which we’ll describe further at the
+‘\begin{itshape}...\end{itshape}’, which we'll describe further at the
 end of the section.
 
    These commands, in any of the three forms, are cumulative; for
@@ -1677,9 +1550,9 @@
 ‘\mathversion{normal}’ restores the default.
 
    Finally, the command ‘\oldstylenums{NUMERALS}’ will typeset so-called
-“old-style” numerals, which have differing heights and depths (and
-sometimes widths) from the standard “lining” numerals, which all have
-the same height as uppercase letters.  LaTeX’s default fonts support
+"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 ‘\textbf’ (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
@@ -1723,7 +1596,7 @@
 
    Trying to use these commands in math, as with ‘$\small mv^2/2$’,
 results in ‘LaTeX Font Warning: Command \small invalid in math mode’,
-and the font size doesn’t change.  To work with a too-large formula,
+and the font size doesn't change.  To work with a too-large formula,
 often the best option is to use the ‘displaymath’ environment (*note
 Math formulas::), or one of the environments from the ‘amsmath’ package.
 For inline mathematics, such as in a table of formulas, an alternative
@@ -1735,7 +1608,7 @@
    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
+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
@@ -1758,7 +1631,7 @@
 ‘\fontencoding{ENCODING}’
      Select the font encoding, the encoding of the output font.  There
      are a large number of valid encodings.  The most common are ‘OT1’,
-     Knuth’s original encoding for Computer Modern (the default), and
+     Knuth's original encoding for Computer Modern (the default), and
      ‘T1’, also known as the Cork encoding, which has support for the
      accented characters used by the most widespread European languages
      (German, French, Italian, Polish and others), which allows TeX to
@@ -1979,7 +1852,7 @@
 ‘\dblfloatpagefraction’
      For a float page of two-column wide floats, this is the minimum
      fraction that must be occupied by floats, limiting the amount of
-     blank space.  LaTeX’s default is ‘0.5’.  Change it with
+     blank space.  LaTeX's default is ‘0.5’.  Change it with
      ‘\renewcommand’.
 
 ‘\dblfloatsep’
@@ -1999,7 +1872,7 @@
      maximum number of floats allowed at the top of the page.  The LaTeX
      default is ‘2’.
 
-   This example uses ‘\twocolumn’’s optional argument of to create a
+   This example uses ‘\twocolumn’'s optional argument of to create a
 title that spans the two-column article:
 
      \documentclass[twocolumn]{article}
@@ -2096,7 +1969,7 @@
      Width of the current line, decreased for each nested ‘list’ (*note
      list::).  That is, the nominal value for ‘\linewidth’ is to equal
      ‘\textwidth’ but for each nested list the ‘\linewidth’ is decreased
-     by the sum of that list’s ‘\leftmargin’ and ‘\rightmargin’ (*note
+     by the sum of that list's ‘\leftmargin’ and ‘\rightmargin’ (*note
      itemize::).
 
 ‘\marginparpush’
@@ -2128,13 +2001,13 @@
 ‘\oddsidemargin’
 ‘\evensidemargin’
      The ‘\oddsidemargin’ length is the extra distance between the left
-     side of the page and the text’s left margin, on odd-numbered pages
+     side of the page and the text's left margin, on odd-numbered pages
      when the document class option ‘twoside’ is chosen and on all pages
      when ‘oneside’ is in effect.  When ‘twoside’ is in effect, on
      even-numbered pages the extra distance on the left is
      ‘\evensidemargin’.
 
-     LaTeX’s default is that ‘\oddsidemargin’ is 40% of the difference
+     LaTeX's default is that ‘\oddsidemargin’ is 40% of the difference
      between ‘\paperwidth’ and ‘\textwidth’, and ‘\evensidemargin’ is
      the remainder.
 
@@ -2208,14 +2081,14 @@
    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
+‘\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
+   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
+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
@@ -2225,7 +2098,7 @@
    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
+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::).
 
@@ -2246,7 +2119,7 @@
 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
+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
@@ -2271,9 +2144,9 @@
 These numbers are rough: for instance, since the ‘\baselineskip’ is
 about 1.2 times the font size, multiplying by 1.6 gives a baseline skip
 to font size ratio of about 2.  (The ‘\linespread’ command is defined as
-‘\renewcommand{\baselinestretch}{FACTOR}’ so it also won’t take effect
+‘\renewcommand{\baselinestretch}{FACTOR}’ so it also 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’.)
+of a document, so there you don't need to follow it with ‘\selectfont’.)
 
    A simpler approach is the ‘setspace’ package.  The basic example:
 
@@ -2330,10 +2203,10 @@
 ‘book’ classes, is ‘tbp’.
 
 ‘t’
-     (Top)—at the top of a text page.
+     (Top)--at the top of a text page.
 
 ‘b’
-     (Bottom)—at the bottom of a text page.  (However, ‘b’ is not
+     (Bottom)--at the bottom of a text page.  (However, ‘b’ is not
      allowed for full-width floats (‘figure*’) with double-column
      output.  To ameliorate this, use the ‘stfloats’ or ‘dblfloatfix’
      package, but see the discussion at caveats in the FAQ:
@@ -2340,17 +2213,17 @@
      <https://www.texfaq.org/FAQ-2colfloat>.
 
 ‘h’
-     (Here)—at the position in the text where the ‘figure’ environment
+     (Here)--at the position in the text where the ‘figure’ environment
      appears.  However, ‘h’ is not allowed by itself; ‘t’ is
      automatically added.
 
-     To absolutely force a float to appear “here”, you can
+     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
      <https://www.texfaq.org/FAQ-figurehere>.
 
 ‘p’
-     (Page of floats)—on a separate “float page”, which is a page
+     (Page of floats)--on a separate “float page”, which is a page
      containing no text, only floats.
 
 ‘!’
@@ -2357,7 +2230,7 @@
      Used in addition to one of the above; for this float only, LaTeX
      ignores the restrictions on both the number of floats that can
      appear and the relative amounts of float and non-float text on the
-     page.  The ‘!’ specifier does _not_ mean “put the float here”; see
+     page.  The ‘!’ specifier does _not_ mean "put the float here"; see
      above.
 
    Note: the order in which letters appear in the PLACEMENT argument
@@ -2364,7 +2237,7 @@
 does not change the order in which LaTeX tries to place the float; for
 instance, ‘btp’ has the same effect as ‘tbp’.  All that PLACEMENT does
 is that if a letter is not present then the algorithm does not try that
-location.  Thus, LaTeX’s default of ‘tbp’ is to try every location
+location.  Thus, LaTeX's default of ‘tbp’ is to try every location
 except placing the float where it occurs in the source.
 
    To prevent LaTeX from moving floats to the end of the document or a
@@ -2439,10 +2312,10 @@
 
    The principal TeX FAQ entry relating to floats
 <https://www.texfaq.org/FAQ-floats> contains suggestions for relaxing
-LaTeX’s default parameters to reduce the problem of floats being pushed
+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?”
+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>).
 
 * Menu:
@@ -2543,7 +2416,7 @@
 ‘\subsection{Motivation}’.
 
    The table has each SECTIONING-COMMAND in LaTeX.  All are available in
-all of LaTeX’s standard document classes ‘book’, ‘report’,
+all of LaTeX's standard document classes ‘book’, ‘report’,
 and ‘article’, except that ‘\chapter’ is not available in ‘article’.
 
 Sectioning unit    Command            Level
@@ -2574,7 +2447,7 @@
 
    The level number in the table above determines which sectional units
 are numbered, and which appear in the table of contents.  If the
-sectioning command’s LEVEL is less than or equal to the value of the
+sectioning command's LEVEL is less than or equal to the value of the
 counter ‘secnumdepth’ then the titles for this sectioning command will
 be numbered (*note Sectioning/secnumdepth::).  And, if LEVEL is less
 than or equal to the value of the counter ‘tocdepth’ then the table of
@@ -2604,7 +2477,7 @@
      ‘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’,
-     without the number.  LaTeX’s default ‘secnumdepth’ is 3 in
+     without the number.  LaTeX's default ‘secnumdepth’ is 3 in
      ‘article’ class and  2 in the ‘book’ and ‘report’ classes.
 
 ‘tocdepth’
@@ -2613,7 +2486,7 @@
      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 ‘tocdepth’ is 3 in
+     sections but not subsections.  LaTeX's default ‘tocdepth’ is 3 in
      ‘article’ class and  2 in the ‘book’ and ‘report’ classes.
 
 * Menu:
@@ -2656,7 +2529,7 @@
 type.  In class ‘book’, the LaTeX default puts each part alone on its
 own page.  If the book is two-sided then LaTeX will skip a page if
 needed to have the new part on an odd-numbered page.  In ‘report’ it is
-again alone on a page, but LaTeX won’t force it onto an odd-numbered
+again alone on a page, but LaTeX won't force it onto an odd-numbered
 page.  In an ‘article’ LaTeX does not put it on a fresh page, but
 instead outputs the part number and part title onto the main document
 page.
@@ -2733,7 +2606,7 @@
      \chapter[Weyl]{Hermann Klaus Hugo (Peter) Weyl (1885--1955)}
 
 but only ‘Weyl’ on the contents page.  This puts a line break in the
-title but that doesn’t work well with running headers so it omits the
+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}
@@ -3051,7 +2924,7 @@
    Format a ‘book’ class document differently according to which part of
 the document is being produced.  All three commands are optional.
 
-   Traditionally, a book’s front matter contains such things as the
+   Traditionally, a book's front matter contains such things as the
 title page, an abstract, a table of contents, a preface, a list of
 notations, a list of figures, and a list of tables.  (Some of these
 front matter pages, such as the title page, are traditionally not
@@ -3059,7 +2932,7 @@
 notes, a bibliography, and an index.
 
    The ‘\frontmatter’ command makes the pages numbered in lowercase
-roman, and makes chapters not numbered, although each chapter’s title
+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::).
 
@@ -3075,7 +2948,7 @@
 
 File: latex2e.info,  Node: \@startsection,  Prev: \frontmatter & \mainmatter & \backmatter,  Up: Sectioning
 
-6.8 ‘\@startsection’, typesetting sectional unit headings
+6.8 ‘\@startsection’: Typesetting sectional unit headings
 =========================================================
 
 Synopsis:
@@ -3085,14 +2958,14 @@
    Used to help redefine the behavior of commands that start sectioning
 divisions such as ‘\section’ or ‘\subsection’.
 
-   Note that the ‘titlesec’ package makes manipulation of sectioning
-easier.  Further, while most requirements for sectioning commands can be
+   The ‘titlesec’ package makes manipulation of sectioning easier.
+Further, while most requirements for sectioning commands can be
 satisfied with ‘\@startsection’, some cannot.  For instance, in the
 standard LaTeX ‘book’ and ‘report’ classes the commands ‘\chapter’ and
-‘\report’ are not constructed in this way.  To make such a command you
+‘\report’ are not constructed using this.  To make such a command you
 may want to use the ‘\secdef’ command.
 
-   Technically, ‘\@startsection’ has the form
+   The ‘\@startsection’ macro is used like this:
 
      \@startsection{NAME}
        {LEVEL}
@@ -3111,7 +2984,7 @@
        {STYLE}}
 
 redefines ‘\section’ while keeping its standard calling form
-‘\section*[TOCTITLE]{TITLE}’ (in which, for reminder, the star ‘*’ is
+‘\section*[TOCTITLE]{TITLE}’ (in which, as a 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.
@@ -3121,7 +2994,7 @@
      counter must be defined separately.  Most commonly this is either
      ‘section’, ‘subsection’, or ‘paragraph’.  Although in those cases
      the counter name is the same as the sectioning command itself, you
-     don’t have to use the same name.
+     don't have to use the same name.
 
      Then ‘\the’NAME displays the title number and ‘\’NAME‘mark’ is for
      the page headers.  See the third example below.
@@ -3134,9 +3007,9 @@
      ‘secnumdepth’ then titles for this sectioning command will be
      numbered (*note Sectioning/secnumdepth::).  For instance, if
      ‘secnumdepth’ is 1 in an ‘article’ then the command
-     ‘\section{Introduction}’ will produce output like “1 Introduction”
+     ‘\section{Introduction}’ will produce output like "1 Introduction"
      while ‘\subsection{Discussion}’ will produce output like
-     “Discussion”, without the number prefix.
+     "Discussion", without the number prefix.
 
      If LEVEL is less than or equal to the value of the counter TOCDEPTH
      then the table of contents will have an entry for this sectioning
@@ -3152,11 +3025,11 @@
 
 BEFORESKIP
      The absolute value of this length is the amount of vertical space
-     that is inserted before this sectioning unit’s title.  This space
+     that is inserted before this sectioning unit's title.  This space
      will be 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
+     paragraph following the header is not indented; if it is
+     non-negative then the first paragraph is indented.  (Example: the
      negative of ‘1pt plus 2pt minus 3pt’ is ‘-1pt plus -2pt minus
      -3pt’.)
 
@@ -3168,7 +3041,7 @@
      flexibility in making up the page (*note Lengths::).
 
      The full accounting of the vertical space between the baseline of
-     the line prior to this sectioning unit’s header and the baseline of
+     the line prior to this sectioning unit's header and the baseline of
      the header is that it is the sum of the ‘\parskip’ of the text
      font, the ‘\baselineskip’ of the title font, and the absolute value
      of the BEFORESKIP.  This space is typically rubber so it may
@@ -3179,7 +3052,7 @@
 
 AFTERSKIP
      This is a length.  If AFTERSKIP is non-negative then this is the
-     vertical space inserted after the sectioning unit’s title header.
+     vertical space inserted after the sectioning unit's title header.
      If it is negative then the title header becomes a run-in header, so
      that it becomes part of the next paragraph.  In this case the
      absolute value of the length gives the horizontal space between the
@@ -3192,13 +3065,13 @@
      flexibility in putting together the page.
 
      If ‘afterskip’ is non-negative then the full accounting of the
-     vertical space between the baseline of the sectioning unit’s header
+     vertical space between the baseline of the sectioning unit's header
      and the baseline of the first line of the following paragraph is
      that it is the sum of the ‘\parskip’ of the title font, the
      ‘\baselineskip’ of the text font, and the value of AFTER.  That
      space is typically rubber so it may stretch or shrink.  (Note that
      because the sign of ‘afterskip’ changes the sectioning unit
-     header’s from standalone to run-in, you cannot use a negative
+     header's from standalone to run-in, you cannot use a negative
      ‘afterskip’ to cancel part of the ‘\parskip’.)
 
 STYLE
@@ -3211,7 +3084,7 @@
      STYLE to ‘\bfseries\MakeUppercase’ would produce titles that are
      bold and uppercase.
 
-   These are LaTeX’s defaults for the first three sectioning units that
+   These are LaTeX's defaults for the first three sectioning units that
 are defined with ‘\@startsection’, for the ‘article’, ‘book’, and
 ‘report’ classes.
 
@@ -3235,7 +3108,7 @@
 \makeatother::.
 
    This will put section titles in large boldface type, centered.  It
-says ‘\renewcommand’ because LaTeX’s standard classes have already
+says ‘\renewcommand’ because LaTeX's standard classes have already
 defined a ‘\section’.  For the same reason it does not define a
 ‘section’ counter, or the commands ‘\thesection’ and ‘\l at section’.
 
@@ -3316,10 +3189,10 @@
 old reference information.  In both cases, resolve this by compiling the
 document a second time.
 
-   The ‘cleveref’ package enhances LaTeX’s cross referencing features.
+   The ‘cleveref’ package enhances LaTeX's cross referencing features.
 You can arrange that if you enter
 ‘\begin{thm}\label{th:Nerode}...\end{thm}’ then ‘\cref{th:Nerode}’ will
-output ‘Theorem 3.21’, without you having to enter the “Theorem.”
+output ‘Theorem 3.21’, without you having to enter the "Theorem."
 
 * Menu:
 
@@ -3428,7 +3301,7 @@
 
    Produces the number of the sectional unit, equation, footnote,
 figure, ..., of the corresponding ‘\label’ command (*note \label::).  It
-does not produce any text, such as the word ‘Section’ or ‘Figure’, just
+does not produce any text, such as the word 'Section' or 'Figure', just
 the bare number itself.
 
    If there is no ‘\label{KEY}’ then you get something like ‘LaTeX
@@ -3550,7 +3423,7 @@
 * tabbing::               Align text arbitrarily.
 * table::                 Floating tables.
 * tabular::               Align text in columns.
-* thebibliography::      Bibliography or reference list.
+* thebibliography::       Bibliography or reference list.
 * theorem::               Theorems, lemmas, etc.
 * titlepage::             For hand crafted title pages.
 * verbatim::              Simulating typed input.
@@ -3655,7 +3528,7 @@
 is that ‘array’ entries are typeset in math mode, in textstyle (*note
 Math styles::) except if the COLS definition specifies the column with
 ‘p{...}’, which causes the entry to be typeset in text mode.  The second
-is that, instead of ‘tabular’’s parameter ‘\tabcolsep’, LaTeX’s
+is that, instead of ‘tabular’'s parameter ‘\tabcolsep’, LaTeX's
 intercolumn space in an ‘array’ is governed by ‘\arraycolsep’, which
 gives half the width between columns.  The default for this is ‘5pt’ so
 that between two columns comes 10pt of space.
@@ -3717,7 +3590,7 @@
        the School of Environmental Engineering
      \end{center}
 
-   In this example, depending on the page’s line width, LaTeX may choose
+   In this example, depending on the page's line width, LaTeX may choose
 a line break for the part before the double backslash.  If so, it will
 center each of the two lines and if not it will center the single line.
 Then LaTeX will break at the double backslash, and will center the
@@ -3730,7 +3603,7 @@
      \end{center}
 
    A double backslash after the final line is optional.  If present it
-doesn’t add any vertical space.
+doesn't add any vertical space.
 
    In a two-column document the text is centered in a column, not in the
 entire page.
@@ -3758,7 +3631,7 @@
    Center the material in its scope.  It is most often used inside an
 environment such as ‘figure’, or in a ‘parbox’.
 
-   This example’s ‘\centering’ declaration causes the graphic to be
+   This example's ‘\centering’ declaration causes the graphic to be
 horizontally centered.
 
      \begin{figure}
@@ -3770,7 +3643,7 @@
 The scope of this ‘\centering’ ends with the ‘\end{figure}’.
 
    Unlike the ‘center’ environment, the ‘\centering’ command does not
-add vertical space above and below the text.  That’s its advantage in
+add vertical space above and below the text.  That's its advantage in
 the above example; there is not an excess of space.
 
    It also does not start a new paragraph; it simply changes how LaTeX
@@ -3798,7 +3671,7 @@
         ...
      \end{description}
 
-   Environment to make a list of labeled items.  Each item’s LABEL is
+   Environment to make a list of labeled items.  Each item's LABEL is
 typeset in bold and is flush left, so that long labels continue into the
 first line of the item text.  There must be at least one item; having
 none causes the LaTeX error ‘Something's wrong--perhaps a missing
@@ -3869,17 +3742,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\]’ is a synonym for the environment
+   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,
-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 construct ‘$$MATH$$’ from Plain TeX is sometimes used as a
+synonym for LaTeX's ‘displaymath’.  It is not a synonym, 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.
 
@@ -3980,7 +3853,7 @@
 
    Enumerations may be nested within other ‘enumerate’ environments, or
 within any paragraph-making environment such as ‘itemize’ (*note
-itemize::), up to four levels deep.  This gives LaTeX’s default for the
+itemize::), up to four levels deep.  This gives LaTeX's default for the
 format at each nesting level, where 1 is the top level, the outermost
 level.
 
@@ -4020,7 +3893,7 @@
 
 The ‘eqnarray’ environment is obsolete.  It has infelicities, including
 spacing that is inconsistent with other mathematics elements.  (See
-“Avoid eqnarray!” by Lars Madsen
+"Avoid eqnarray!" by Lars Madsen
 <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
@@ -4086,8 +3959,8 @@
 equation number is generated using the ‘equation’ counter.
 
    You should have no blank lines between ‘\begin{equation}’ and
-‘\begin{equation}’, or LaTeX will tell you that there is a missing
-dollar sign.
+‘\end{equation}’, or LaTeX will tell you that there is a missing dollar
+sign.
 
    The package ‘amsmath’ package has extensive displayed equation
 facilities.  New documents should include this package.
@@ -4117,7 +3990,7 @@
    Figures are for material that is not part of the normal text.  An
 example is material that you cannot have split between two pages, such
 as a graphic.  Because of this, LaTeX does not typeset figures in
-sequence with normal text but instead “floats” them to a convenient
+sequence with normal text but instead "floats" them to a convenient
 place, such as the top of a following page (*note Floats::).
 
    The FIGURE BODY can consist of imported graphics (*note Graphics::),
@@ -4279,7 +4152,7 @@
 
    Unlike the ‘flushleft’ environment, the ‘\raggedright’ command does
 not start a new paragraph; it only changes how LaTeX formats paragraph
-units.  To affect a paragraph unit’s format, the scope of the
+units.  To affect a paragraph unit's format, the scope of the
 declaration must contain the blank line or ‘\end’ command that ends the
 paragraph unit.
 
@@ -4342,13 +4215,12 @@
 
    Unlike the ‘flushright’ environment, the ‘\raggedleft’ command does
 not start a new paragraph; it only changes how LaTeX formats paragraph
-units.  To affect a paragraph unit’s format, the scope of the
+units.  To affect a paragraph unit's formatting, the scope of the
 declaration must contain the blank line or ‘\end’ command that ends the
 paragraph unit.
 
-   For an example related to this environment, see *note \raggedright::,
-where one just have mutatis mutandis to replace ‘\raggedright’ by
-‘\raggedleft’.
+   *Note \raggedright::, for an example related to this environment;
+just replace ‘\raggedright’ there by ‘\raggedleft’.
 
 
 File: latex2e.info,  Node: itemize,  Next: letter,  Prev: flushright,  Up: Environments
@@ -4375,8 +4247,8 @@
       \item Rice portrait
      \end{itemize}
 
-With the default locale—without loading e.g. ‘babel’ package with
-another language than USenglish—as a top-level list each label would
+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.
 
@@ -4437,8 +4309,9 @@
      \newenvironment{itemize*}%
        {\begin{itemize}%
          \setlength{\itemsep}{0pt}%
-         \setlength{\parsep}{0pt}}%
-         \setlength{\parskip}{0pt}}%
+         \setlength{\parsep}{0pt}%
+         \setlength{\parskip}{0pt}%
+       }%
        {\end{itemize}}
 
 
@@ -4530,7 +4403,7 @@
 the list.  Each is a length (*note Lengths::).  The vertical spaces are
 normally rubber lengths, with ‘plus’ and ‘minus’ components, to give TeX
 flexibility in setting the page.  Change each with a command such as
-‘\setlength{itemsep}{2pt plus1pt minus1pt}’.  For some effects these
+‘\setlength{\itemsep}{2pt plus1pt minus1pt}’.  For some effects these
 lengths should be zero or negative.
 
 ‘\itemindent’
@@ -4539,7 +4412,7 @@
 
 ‘\itemsep’
      Vertical space between items, beyond the ‘\parsep’.  The defaults
-     for the first three levels in LaTeX’s ‘article’, ‘book’, and
+     for the first three levels in LaTeX's ‘article’, ‘book’, and
      ‘report’ classes at 10 point size are: ‘4pt plus2pt minus1pt’,
      ‘\parsep’ (that is, ‘2pt plus1pt minus1pt’), and ‘\topsep’ (that
      is, ‘2pt plus1pt minus1pt’).  The defaults at 11 point are: ‘4.5pt
@@ -4551,7 +4424,7 @@
 
 ‘\labelsep’
      Horizontal space between the label and text of an item.  The
-     default for LaTeX’s ‘article’, ‘book’, and ‘report’ classes is
+     default for LaTeX's ‘article’, ‘book’, and ‘report’ classes is
      ‘0.5em’.
 
 ‘\labelwidth’
@@ -4559,7 +4432,7 @@
      wide.  If ‘\makelabel’ returns text that is wider than this then
      the first line of the item will be indented to make room for this
      extra material.  If ‘\makelabel’ returns text of width less than or
-     equal to ‘\labelwidth’ then LaTeX’s default is that the label is
+     equal to ‘\labelwidth’ then LaTeX's default is that the label is
      typeset flush right in a box of this width.
 
      The left edge of the label box is
@@ -4566,11 +4439,11 @@
      ‘\leftmargin’+‘\itemindent’-‘\labelsep’-‘\labelwidth’ from the left
      margin of the enclosing environment.
 
-     The default for LaTeX’s ‘article’, ‘book’, and ‘report’ classes at
+     The default for LaTeX's ‘article’, ‘book’, and ‘report’ classes at
      the top level is ‘\leftmargini’-‘\labelsep’, (which is ‘2em’ in one
      column mode and ‘1.5em’ in two column mode).  At the second level
      it is ‘\leftmarginii’-‘\labelsep’, and at the third level it is
-     ‘\leftmarginiii’-‘\labelsep’.  These definitions make the label’s
+     ‘\leftmarginiii’-‘\labelsep’.  These definitions make the label's
      left edge coincide with the left margin of the enclosing
      environment.
 
@@ -4586,7 +4459,7 @@
      ‘\leftmarginvi’.  (Nesting greater than level five generates the
      error message ‘Too deeply nested’.)
 
-     The defaults for the first three levels in LaTeX’s ‘article’,
+     The defaults for the first three levels in LaTeX's ‘article’,
      ‘book’, and ‘report’ classes are: ‘\leftmargini’ is ‘2.5em’ (in two
      column mode, ‘2em’), ‘\leftmarginii’ is ‘2.2em’, and
      ‘\leftmarginiii’ is ‘1.87em’.
@@ -4594,12 +4467,12 @@
 ‘\listparindent’
      Horizontal space of additional line indentation, beyond
      ‘\leftmargin’, for second and subsequent paragraphs within a list
-     item.  A negative value makes this an “outdent”.  Its default value
+     item.  A negative value makes this an "outdent".  Its default value
      is ‘0pt’.
 
 ‘\parsep’
      Vertical space between paragraphs within an item.  The defaults for
-     the first three levels in LaTeX’s ‘article’, ‘book’, and ‘report’
+     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
@@ -4613,7 +4486,7 @@
      changes spacing at both the top and bottom of the list; whether the
      line following the list is blank does not matter.)
 
-     The defaults for the first three levels in LaTeX’s ‘article’,
+     The defaults for the first three levels in LaTeX's ‘article’,
      ‘book’, and ‘report’ classes at 10 point size are: ‘2pt plus1
      minus1pt’, ‘2pt plus1pt minus1pt’, and ‘1pt plus0pt minus1pt’.  The
      defaults at 11 point are: ‘3pt plus1pt minus1pt’, ‘3pt plus1pt
@@ -4629,7 +4502,7 @@
 ‘\topsep’
      Vertical space added to both the top and bottom of the list, in
      addition to ‘\parskip’ (*note \parindent & \parskip::).  The
-     defaults for the first three levels in LaTeX’s ‘article’, ‘book’,
+     defaults for the first three levels in LaTeX's ‘article’, ‘book’,
      and ‘report’ classes at 10 point size are: ‘8pt plus2pt minus4pt’,
      ‘4pt plus2pt minus1pt’, and ‘2pt plus1pt minus1pt’.  The defaults
      at 11 point are: ‘9pt plus3pt minus5pt’, ‘4.5pt plus2pt minus1pt’,
@@ -4696,11 +4569,11 @@
 H5
      ‘\rightmargin’
 
-   The list’s left and right margins, shown above as H3 and H5, are with
+   The list's left and right margins, shown above as H3 and H5, are with
 respect to the ones provided by the surrounding environment, or with
 respect to the page margins for a top-level list.  The line width used
 for typesetting the list items is ‘\linewidth’ (*note Page layout
-parameters::).  For instance, set the list’s left margin to be one
+parameters::).  For instance, set the list's left margin to be one
 quarter of the distance between the left and right margins of the
 enclosing environment with ‘\setlength{\leftmargin}{0.25\linewidth}’.
 
@@ -4804,7 +4677,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 is 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}
@@ -4899,11 +4772,11 @@
 
 ‘t’
      Align the baseline of the top line in the ‘minipage’ with the
-     baseline of the surrounding text (plain TeX’s ‘\vtop’).
+     baseline of the surrounding text (plain TeX's ‘\vtop’).
 
 ‘b’
      Align the baseline of the bottom line in the ‘minipage’ with the
-     baseline of the surrounding text (plain TeX’s ‘\vbox’).
+     baseline of the surrounding text (plain TeX's ‘\vbox’).
 
    To see the effects of these, contrast running this
 
@@ -4915,7 +4788,7 @@
 
    The optional argument HEIGHT is a rigid length (*note Lengths::).  It
 sets the height of the ‘minipage’.  You can enter any value larger than,
-or equal to, or smaller than the ‘minipage’’s natural height and LaTeX
+or equal to, or smaller than the ‘minipage’'s natural height and LaTeX
 will not give an error or warning.  You can also set it to a height of
 zero or a negative value.
 
@@ -4937,7 +4810,7 @@
      stretchable space.
 
    The INNER-POS argument makes sense when the HEIGHT option is set to a
-value larger than the ‘minipage’’s natural height.  To see the effect of
+value larger than the ‘minipage’'s natural height.  To see the effect of
 the options, run this example with the various choices in place of ‘b’.
 
      Text before
@@ -5023,7 +4896,7 @@
        PICTURE COMMAND
      \end{picture}
 
-Where there may be any number of PICTURE COMMAND’s.
+Where there may be any number of PICTURE COMMAND's.
 
    An environment to create simple pictures containing lines, arrows,
 boxes, circles, and text.  This environment is not obsolete, but new
@@ -5031,7 +4904,7 @@
 such as TikZ, PSTricks, MetaPost, or Asymptote.  None of these are
 covered in this document; see CTAN.
 
-   To start, here’s an example showing the parallelogram law for adding
+   To start, here's an example showing the parallelogram law for adding
 vectors.
 
      \setlength{\unitlength}{1cm}
@@ -5049,7 +4922,7 @@
 ‘\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.
+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
@@ -5063,7 +4936,7 @@
      \begin{picture}(100,200)(10,20)
 
 produces a box of width 100 millimeters and height 200 millimeters.  The
-picture’s origin is the point (10mm,20mm) and so the lower-left corner
+picture's origin is the point (10mm,20mm) and so the lower-left corner
 is there, and the upper-right corner is at (110mm,220mm).  When you
 first draw a picture you typically omit the optional argument, leaving
 the origin at the lower-left corner.  If you then want to modify your
@@ -5078,7 +4951,7 @@
 ‘\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.
@@ -5134,7 +5007,7 @@
 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.
+repeat material on each of a document's pages.
 
 * Menu:
 
@@ -5223,8 +5096,8 @@
 
      \qbezier(1,1)(1.25,0.75)(1,0)
 
-The curve’s tangent line at (1,1) contains (1.25,0.75), as does the
-curve’s tangent line at (1,0).
+The curve's tangent line at (1,1) contains (1.25,0.75), as does the
+curve's tangent line at (1,0).
 
    The optional argument NUM gives the number of calculated intermediate
 points.  The default is to draw a smooth curve whose maximum number of
@@ -5256,7 +5129,7 @@
      \graphpaper(X_INIT,Y_INIT)(X_DIMEN,Y_DIMEN)
      \graphpaper[SPACING](X_INIT,Y_INIT)(X_DIMEN,Y_DIMEN)
 
-   Draw a coordinate grid.  Requires the ‘graphpap’ package.  The grid’s
+   Draw a coordinate grid.  Requires the ‘graphpap’ package.  The grid's
 origin is ‘(X_INIT,Y_INIT)’.  Grid lines come every SPACING units (the
 default is 10).  The grid extends X_DIMEN units to the right and Y_DIMEN
 units up.  All arguments must be positive integers.
@@ -5283,8 +5156,8 @@
      \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 is
-not the length of the vector, it is the change in x.  In the special
+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.
 
@@ -5300,8 +5173,8 @@
    The arguments X_RUN and Y_RISE are integers that can be positive,
 negative, or zero.  (If both are 0 then LaTeX treats the second as 1.)
 With ‘\put(X_INIT,Y_INIT){\line(X_RUN,Y_RISE){TRAVEL}}’, if X_RUN is
-negative then the line’s ending point has a first coordinate that is
-less than X_INIT.  If Y_RISE is negative then the line’s ending point
+negative then the line's ending point has a first coordinate that is
+less than X_INIT.  If Y_RISE is negative then the line's ending point
 has a second coordinate that is less than Y_INIT.
 
    If TRAVEL is negative then you get ‘LaTeX Error: Bad \line or \vector
@@ -5463,7 +5336,7 @@
 heights and depths either by putting in the usual interline spacing with
 ‘\shortstack{X\\ \strut o\\o\\X}’ (*note \strut::), or explicitly, via
 an zero-width box ‘\shortstack{X \\ \rule{0pt}{12pt} o\\o\\X}’ or by
-using ‘\\’’s optional argument ‘\shortstack{X\\[2pt] o\\o\\X}’.
+using ‘\\’'s optional argument ‘\shortstack{X\\[2pt] o\\o\\X}’.
 
    The ‘\shortstack’ command is also available outside the ‘picture’
 environment.
@@ -5480,7 +5353,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.
 
@@ -5615,7 +5488,7 @@
 
      \put(0,0){\dashbox{0.1}(5,0.5){My hovercraft is full of eels.}}
 
-Each dash will be ‘0.1\unitlength’ long, the box’s width is
+Each dash will be ‘0.1\unitlength’ long, the box's width is
 ‘5\unitlength’ and its height is ‘0.5\unitlength’.
 
    As in that example, a dashed box looks best when RECT-WIDTH and
@@ -5745,12 +5618,12 @@
      Moves everything that you have typed so far in the current column,
      i.e., everything from the most recent ‘\>’, ‘\<’, ‘\'’, ‘\\’, or
      ‘\kill’ command, to the previous column and aligned to the right,
-     flush against the current column’s tab stop.
+     flush against the current column's tab stop.
 
 ‘\` (tabbing)’
      Allows you to put text flush right against any tab stop, including
-     tab stop 0.  However, it can’t move text to the right of the last
-     column because there’s no tab stop there.  The ‘\`’ command moves
+     tab stop 0.  However, it can't move text to the right of the last
+     column because there's no tab stop there.  The ‘\`’ command moves
      all the text that follows it, up to the ‘\\’ or ‘\end{tabbing}’
      command that ends the line, to the right margin of the ‘tabbing’
      environment.  There must be no ‘\>’ or ‘\'’ command between the
@@ -5899,7 +5772,7 @@
      \end{tabular}
 
 The output will have two left-aligned columns with a vertical bar
-between them.  This is specified in ‘tabular’’s argument ‘{l|l}’.  Put
+between them.  This is specified in ‘tabular’'s argument ‘{l|l}’.  Put
 the entries into different columns by separating them with an ampersand,
 ‘&’.  The end of each row is marked with a double backslash, ‘\\’.  Put
 a horizontal rule below a row, after a double backslash, with ‘\hline’.
@@ -5909,7 +5782,7 @@
    The required and optional arguments to ‘tabular’ consist of:
 
 POS
-     Optional.  Specifies the table’s vertical position.  The default is
+     Optional.  Specifies the table's vertical position.  The default is
      to align the table so its vertical center matches the baseline of
      the surrounding text.  There are two other possible alignments: ‘t’
      aligns the table so its top row matches the baseline of the
@@ -5942,7 +5815,7 @@
           (*note \protect::).
 
           If between two column specifiers there is no @-expression then
-          LaTeX’s ‘book’, ‘article’, and ‘report’ classes will put on
+          LaTeX's ‘book’, ‘article’, and ‘report’ classes will put on
           either side of each column a space of width ‘\tabcolsep’,
           which by default is 6pt.  That is, by default adjacent columns
           are separated by 12pt (so ‘\tabcolsep’ is misleadingly named
@@ -6086,7 +5959,7 @@
 ‘\begin{tabular}{|r|ccp{1.5in}|}’ the parts are ‘|r|’, ‘c’, ‘c’,
 and ‘p{1.5in}|’.
 
-   The COLS argument overrides the ‘array’ or ‘tabular’ environment’s
+   The COLS argument overrides the ‘array’ or ‘tabular’ environment's
 intercolumn area default adjoining this multicolumn entry.  To affect
 that area, this argument can contain vertical bars ‘|’ indicating the
 placement of vertical rules, and ‘@{...}’ expressions.  Thus if COLS is
@@ -6107,7 +5980,7 @@
 although the first COLS does not have an ending vertical bar, the second
 COLS does have a starting one.  Between entry two and entry three there
 is a single vertical rule; despite that the COLS in both of the
-surrounding ‘multicolumn’’s call for a vertical rule, you only get one
+surrounding ‘multicolumn’'s call for a vertical rule, you only get one
 rule.  Between entry three and entry four there is no vertical rule; the
 default calls for one but the COLS in the entry three ‘\multicolumn’
 leaves it out, and that takes precedence.  Finally, following entry four
@@ -6115,7 +5988,7 @@
 
    The number of spanned columns NUMCOLS can be 1.  Besides giving the
 ability to change the horizontal alignment, this also is useful to
-override for one row the ‘tabular’ definition’s default intercolumn area
+override for one row the ‘tabular’ definition's default intercolumn area
 specification, including the placement of vertical rules.
 
    In the example below, in the ‘tabular’ definition the first column is
@@ -6136,8 +6009,8 @@
 
 Although the ‘tabular’ specification by default puts a vertical rule
 between the first and second columns, no such vertical rule appears in
-the first row here.  That’s because there is no vertical bar in the COLS
-part of the first row’s first ‘\multicolumn’ command.
+the first row here.  That's because there is no vertical bar in the COLS
+part of the first row's first ‘\multicolumn’ command.
 
 
 File: latex2e.info,  Node: \vline,  Next: \cline,  Prev: \multicolumn,  Up: tabular
@@ -6146,18 +6019,18 @@
 ---------------
 
 Draw a vertical line in a ‘tabular’ or ‘array’ environment extending the
-full height and depth of an entry’s row.  Can also be used in an
+full height and depth of an entry's row.  Can also be used in an
 @-expression, although its synonym vertical bar ‘|’ is more common.
-This command is rarely used in the body of a table; typically a table’s
-vertical lines are specified in ‘tabular’’s COLS argument and overridden
+This command is rarely used in the body of a table; typically a table's
+vertical lines are specified in ‘tabular’'s COLS argument and overridden
 as needed with ‘\multicolumn’ (*note tabular::).
 
-   The example below illustrates some pitfalls.  In the first row’s
+   The example below illustrates some pitfalls.  In the first row's
 second entry the ‘\hfill’ moves the ‘\vline’ to the left edge of the
 cell.  But that is different than putting it halfway between the two
 columns, so between the first and second columns there are two vertical
 rules, with the one from the ‘{c|cc}’ specifier coming before the one
-produced by the ‘\vline\hfill’.  In contrast, the first row’s third
+produced by the ‘\vline\hfill’.  In contrast, the first row's third
 entry shows the usual way to put a vertical bar between two columns.  In
 the second row, the ‘ghi’ is the widest entry in its column so in the
 ‘\vline\hfill’ the ‘\hfill’ has no effect and the vertical line in that
@@ -6200,13 +6073,13 @@
 ---------------
 
 Draw a horizontal line the width of the enclosing ‘tabular’ or ‘array’
-environment.  It’s most commonly used to draw a line at the top, bottom,
+environment.  It's most commonly used to draw a line at the top, bottom,
 and between the rows of a table.
 
    In this example the top of the table has two horizontal rules, one
 above the other, that span both columns.  The bottom of the table has a
 single rule spanning both columns.  Because of the ‘\hline’, the
-‘tabular’ second row’s line ending double backslash ‘\\’ is required.
+‘tabular’ second row's line ending double backslash ‘\\’ is required.
 
      \begin{tabular}{ll} \hline\hline
        Baseball   &Red Sox  \\
@@ -6261,7 +6134,7 @@
 To change it there are two cases.  In the ‘book’ and ‘report’ classes,
 where the top level sectioning is ‘\chapter’ and the default title is
 ‘Bibliography’, that title is in the macro ‘\bibname’.  For ‘article’,
-where the class’s top level sectioning is ‘\section’ and the default is
+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
 ‘\begin{document}’.
@@ -6421,7 +6294,7 @@
 BibTeX program.  This is only an introduction; see the full
 documentation on CTAN (*note CTAN::).
 
-   With BibTeX, you don’t use the ‘thebibliography’ environment directly
+   With BibTeX, you don't use the ‘thebibliography’ environment directly
 (*note thebibliography::).  Instead, include these lines:
 
      \bibliographystyle{BIBSTYLE}
@@ -6428,7 +6301,7 @@
      \bibliography{BIBFILE1, BIBFILE2, ...}
 
 The BIBSTYLE refers to a file ‘BIBSTYLE.bst’, which defines how your
-citations will look.  The standard BIBSTYLE’s distributed with BibTeX
+citations will look.  The standard BIBSTYLE's distributed with BibTeX
 are:
 
 ‘alpha’
@@ -6467,7 +6340,7 @@
      }
 
    Only the bibliographic entries referred to via ‘\cite’ and ‘\nocite’
-will be listed in the document’s bibliography.  Thus you can keep all
+will be listed in the document's bibliography.  Thus you can keep all
 your sources together in one file, or a small number of files, and rely
 on BibTeX to include in this document only those that you used.
 
@@ -6619,20 +6492,22 @@
 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
-instance, one improvement is to allow the verbatim inclusion of external
-files, or parts of those files.  Such packages include ‘listings’, and
-‘minted’.
+   One common use of verbatim input is to typeset computer code.  Some
+packages offer many features not provided by the ‘verbatim’ environment;
+two of the most popular are ‘listings’ and ‘minted’.  For example, they
+are capable of pretty-printing, line numbering, and selecting parts of
+files for a continuing listing.
 
    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 (*note CTAN::).
+   For a list of all the relevant packages, see CTAN (*note CTAN::),
+particularly the topics ‘listing’ (<https://ctan.org/topic/listing>) and
+‘verbatim’ (<https://ctan.org/topic/verbatim>).
 
 * Menu:
 
-* \verb::       The macro form of the ‘verbatim’ environment.
+* \verb::  The macro form of the ‘verbatim’ environment.
 
 
 File: latex2e.info,  Node: \verb,  Up: verbatim
@@ -6657,9 +6532,9 @@
 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 be
-the same character before and after.  No spaces come between ‘\verb’ or
-‘\verb*’ and CHAR, or between CHAR and LITERAL-TEXT, or between
+   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
 space only to distinguish one component from the other).  The delimiter
 must not appear in LITERAL-TEXT.  The LITERAL-TEXT cannot include a line
@@ -6676,9 +6551,6 @@
    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’.
-
    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 work, as the ‘\verb’
@@ -6704,7 +6576,7 @@
 
    An environment for poetry.
 
-   Here are two lines from Shakespeare’s Romeo and Juliet.
+   Here are two lines from Shakespeare's Romeo and Juliet.
 
      Then plainly know my heart's dear love is set \\
      On the fair daughter of rich Capulet.
@@ -6753,7 +6625,8 @@
 * \obeycr & \restorecr::       Make each input line start a new output line.
 * \newline::                   Break the line
 * \- (hyphenation)::           Insert explicit hyphenation.
-* \discretionary::             Explicit control of the hyphen character.
+* \slash::                     Insert a breakable /.
+* \discretionary::             Explicit control of hyphenation character(s).
 * \fussy & \sloppy::           Be more or less particular with line breaking.
 * \hyphenation::               Tell LaTeX how to hyphenate a word.
 * \linebreak & \nolinebreak::  Forcing & avoiding line breaks.
@@ -6787,8 +6660,8 @@
 two lines, by issuing a ‘\nobreak’.
 
    Explicit line breaks in the main text body are unusual in LaTeX.  In
-particular, don’t start new paragraphs with ‘\\’.  Instead leave a blank
-line between the two paragraphs.  And don’t put in a sequence of ‘\\’’s
+particular, don't start new paragraphs with ‘\\’.  Instead leave a blank
+line between the two paragraphs.  And don't put in a sequence of ‘\\’'s
 to make vertical space.  Instead use ‘\vspace{LENGTH}’, or
 ‘\leavevmode\vspace{LENGTH}’, or ‘\vspace*{LENGTH}’ if you want the
 space to not be thrown out at the top of a new page (*note \vspace::).
@@ -6837,7 +6710,7 @@
    This is not the way to show verbatim text or computer code.  Use
 ‘verbatim’ (*note verbatim::) instead.
 
-   With LaTeX’s usual defaults, this
+   With LaTeX's usual defaults, this
 
      aaa
      bbb
@@ -6894,7 +6767,7 @@
 The ‘Date:’ will be baseline-aligned with ‘Name:’.
 
 
-File: latex2e.info,  Node: \- (hyphenation),  Next: \discretionary,  Prev: \newline,  Up: Line breaking
+File: latex2e.info,  Node: \- (hyphenation),  Next: \slash,  Prev: \newline,  Up: Line breaking
 
 9.4 ‘\-’ (discretionary hyphen)
 ===============================
@@ -6931,9 +6804,23 @@
 this forced break may look out of place, so this approach requires care.
 
 
-File: latex2e.info,  Node: \discretionary,  Next: \fussy & \sloppy,  Prev: \- (hyphenation),  Up: Line breaking
+File: latex2e.info,  Node: \slash,  Next: \discretionary,  Prev: \- (hyphenation),  Up: Line breaking
 
-9.5 ‘\discretionary’ (generalized hyphenation point)
+9.5 ‘\slash’: breakable ‘/’
+===========================
+
+The ‘\slash’ command produces a ‘/’ character and then a penalty of the
+same value as an explicit ‘-’ character (‘\exhyphenpenalty’).  This
+allows TeX to break a line at the ‘/’, similar to a hyphen.  Hyphenation
+is allowed in the word part preceding the ‘/’, but not after.  For
+example:
+
+     The input\slash output of the program is complicated.
+
+
+File: latex2e.info,  Node: \discretionary,  Next: \fussy & \sloppy,  Prev: \slash,  Up: Line breaking
+
+9.6 ‘\discretionary’ (generalized hyphenation point)
 ====================================================
 
 Synopsis:
@@ -6949,17 +6836,17 @@
 here then TeX puts NO-BREAK.
 
    In ‘difficult’ the three letters ‘ffi’ form a ligature.  But TeX can
-nonetheless break between the two ‘f’’s with this.
+nonetheless break between the two ‘f’'s with this.
 
      di\discretionary{f-}{fi}{ffi}cult
 
    Note that users do not have to do this.  It is typically handled
-automatically by TeX’s hyphenation algorithm.
+automatically by TeX's hyphenation algorithm.
 
 
 File: latex2e.info,  Node: \fussy & \sloppy,  Next: \hyphenation,  Prev: \discretionary,  Up: Line breaking
 
-9.6 ‘\fussy’ & ‘\sloppy’
+9.7 ‘\fussy’ & ‘\sloppy’
 ========================
 
 Declarations to make TeX more picky or less picky about line breaking.
@@ -6980,7 +6867,7 @@
 
 File: latex2e.info,  Node: sloppypar,  Up: \fussy & \sloppy
 
-9.6.1 ‘sloppypar’
+9.7.1 ‘sloppypar’
 -----------------
 
 Synopsis:
@@ -7011,7 +6898,7 @@
 
 File: latex2e.info,  Node: \hyphenation,  Next: \linebreak & \nolinebreak,  Prev: \fussy & \sloppy,  Up: Line breaking
 
-9.7 ‘\hyphenation’
+9.8 ‘\hyphenation’
 ==================
 
 Synopsis:
@@ -7020,7 +6907,7 @@
 
    Declares allowed hyphenation points within the words in the list.
 The words in that list are separated by spaces.  Show permitted points
-for hyphenation with a dash character, ‘-’.
+for hyphenation with an ASCII dash character, ‘-’.
 
    Here is an example:
 
@@ -7027,13 +6914,13 @@
      \hyphenation{hat-er il-lit-e-ra-ti tru-th-i-ness}
 
    Use lowercase letters.  TeX will only hyphenate if the word matches
-exactly, no inflections are tried.  Multiple ‘\hyphenation’ commands
+exactly; no inflections are tried.  Multiple ‘\hyphenation’ commands
 accumulate.
 
 
 File: latex2e.info,  Node: \linebreak & \nolinebreak,  Prev: \hyphenation,  Up: Line breaking
 
-9.8 ‘\linebreak’ & ‘\nolinebreak’
+9.9 ‘\linebreak’ & ‘\nolinebreak’
 =================================
 
 Synopses, one of:
@@ -7076,7 +6963,7 @@
 final version of a document, then you may need to understand how to
 influence its actions.
 
-   LaTeX’s algorithm for splitting a document into pages is more complex
+   LaTeX's algorithm for splitting a document into pages is more complex
 than just waiting until there is enough material to fill a page and
 outputting the result.  Instead, LaTeX typesets more material than would
 fit on the page and then chooses a break that is optimal in some way (it
@@ -7091,9 +6978,9 @@
 uses available vertical shrinkage to fit on a page not just the header
 for a new section but also the first two lines of that section.
 
-   But LaTeX does not optimize over the entire document’s set of page
+   But LaTeX does not optimize over the entire document's set of page
 breaks.  So it can happen that the first page break is great but the
-second one is lousy; to break the current page LaTeX doesn’t look as far
+second one is lousy; to break the current page LaTeX doesn't look as far
 ahead as the next page break.  So occasionally you may want to influence
 page breaks while preparing a final version of a document.
 
@@ -7128,7 +7015,7 @@
 a blank page.  The ‘\clearpage’ command is robust while
 ‘\cleardoublepage’ is fragile (*note \protect::).
 
-   LaTeX’s page breaks are optimized so ordinarily you only use this
+   LaTeX's page breaks are optimized so ordinarily you only use this
 command in a document body to polish the final version, or inside
 commands.
 
@@ -7142,7 +7029,7 @@
        {\pagestyle{empty}\origdoublepage}%
      }
 
-If you want LaTeX’s standard ‘\chapter’ command to do this then add the
+If you want LaTeX's standard ‘\chapter’ command to do this then add the
 line ‘\let\cleardoublepage\clearemptydoublepage’.  (Of course this
 affects all uses of ‘\cleardoublepage’, not just the one in ‘\chapter’.)
 
@@ -7163,7 +7050,7 @@
 
    End the current page.  This command is robust (*note \protect::).
 
-   LaTeX’s page breaks are optimized so ordinarily you only use this
+   LaTeX's page breaks are optimized so ordinarily you only use this
 command in a document body to polish the final version, or inside
 commands.
 
@@ -7238,7 +7125,7 @@
 that another spot might be preferable.  The higher the number, the more
 insistent the request.  Both commands are fragile (*note \protect::).
 
-   LaTeX’s page endings are optimized so ordinarily you only use these
+   LaTeX's page endings are optimized so ordinarily you only use these
 commands in a document body to polish the final version, or inside
 commands.
 
@@ -7259,11 +7146,10 @@
 ‘Underfull \vbox (badness 10000) has occurred while \output is active’.
 *Note \newpage::, for a command that does not have these effects.
 
-   (There is an obsolete declaration ‘\samepage’, which tries to only
-allow a break between two paragraphs.  There is a related environment
-‘samepage’, also obsolete.  Neither of these work reliably.  For more on
-keeping material on the same page, see the FAQ entry
-<https://texfaq.org/FAQ-nopagebrk>.)
+   A declaration ‘\samepage’ and corresponding ‘samepage’ environment
+try to only allow breaks between paragraphs.  They are not perfectly
+reliable.  For more on keeping material on the same page, see the FAQ
+entry <https://texfaq.org/FAQ-nopagebrk>.)
 
 
 File: latex2e.info,  Node: Footnotes,  Next: Definitions,  Prev: Page breaking,  Up: Top
@@ -7307,7 +7193,8 @@
      \footnote{TEXT}
      \footnote[NUMBER]{TEXT}
 
-   Place a footnote TEXT at the bottom of the current page.
+   Place a footnote TEXT at the bottom of the current page, with a
+footnote marker at the current position in the text.
 
      There are over a thousand footnotes in Gibbon's
      \textit{Decline and Fall of the Roman Empire}.\footnote{%
@@ -7332,12 +7219,16 @@
 
 ‘\footnoterule’
      Produces the rule separating the main text on a page from the
-     page’s footnotes.  Default dimensions in the standard document
-     classes (except ‘slides’, where it does not appear) is: vertical
+     page's footnotes.  Default dimensions in the standard document
+     classes (except ‘slides’, where it does not appear) are: vertical
      thickness of ‘0.4pt’, and horizontal size of ‘0.4\columnwidth’
      long.  Change the rule with something like this.
 
-          \renewcommand{\footnoterule}{% Kerns avoid vertical space
+          % \footnoterule is expanded in vertical mode, thus \kern
+          % commands ensure that no vertical space is created,
+          % and the rule is separated vertically with 2pt
+          % above the note text.
+          \renewcommand*{\footnoterule}{%
             \kern -3pt                         % This -3 is negative
             \hrule width \textwidth height 1pt % of the sum of this 1
             \kern 2pt}                         % and this 2
@@ -7352,7 +7243,7 @@
 
    The ‘\footnote’ command is fragile (*note \protect::).
 
-   LaTeX’s default puts many restrictions on where you can use a
+   LaTeX's default puts many restrictions on where you can use a
 ‘\footnote’; for instance, you cannot use it in an argument to a
 sectioning command such as ‘\chapter’ (it can only be used in outer
 paragraph mode; *note Modes::).  There are some workarounds; see
@@ -7393,7 +7284,8 @@
    If there are intervening footnotes then you must remember the value
 of the number of the common mark.  This example gives the same
 institutional affiliation to both the first and third authors (‘\thanks’
-is a version of ‘\footnote’), by-hand giving the number of the footnote.
+is a version of ‘\footnote’), by explicitly specifying the number of the
+footnote (‘1’).
 
      \title{A Treatise on the Binomial Theorem}
      \author{J Moriarty\thanks{University of Leeds}
@@ -7402,6 +7294,17 @@
      \begin{document}
      \maketitle
 
+   This example accomplishes the same by using the package ‘cleveref’.
+
+     \usepackage{cleveref}[2012/02/15]   % in preamble
+     \crefformat{footnote}{#2\footnotemark[#1]#3}
+     ...
+     The theorem is from Evers.\footnote{\label{fn:TE}Tinker, Evers, 1994.}
+     The corollary is from Chance.\footnote{Evers, Chance, 1990.}
+     But the key lemma is from Tinker.\cref{fn:TE}
+
+   It will work with the package ‘hyperref’.
+
    This uses a counter to remember the footnote number.  The third
 sentence is followed by the same footnote marker as the first.
 
@@ -7413,17 +7316,6 @@
      Illogical persons are despised.\footnotemark[\value{footnoteValueSaver}]
      Therefore, anyone who can manage a crocodile is not a baby.
 
-   This example accomplishes the same by using the package ‘cleveref’.
-
-     \usepackage{cleveref}[2012/02/15]   % in preamble
-     \crefformat{footnote}{#2\footnotemark[#1]#3}
-     ...
-     The theorem is from Evers.\footnote{\label{fn:TE}Tinker, Evers, 1994.}
-     The corollary is from Chance.\footnote{Evers, Chance, 1990.}
-     But the key lemma is from Tinker.\cref{fn:TE}
-
-   It will work with the package ‘hyperref’.
-
 
 File: latex2e.info,  Node: \footnotetext,  Next: Footnotes in section headings,  Prev: \footnotemark,  Up: Footnotes
 
@@ -7457,7 +7349,7 @@
 section starts, as usual, but also at the bottom of the table of
 contents, where it is not likely to be desired.  The simplest way to
 have it not appear on the table of contents is to use the optional
-argument to ‘\section’
+argument to ‘\section’.
 
      \section[Please]{Please\footnote{%
        Don't footnote in chapter and section headers!}}
@@ -7515,7 +7407,7 @@
            Little is known other than her death.}%
        \stepcounter{mpFootnoteValueSaver}%
          \footnotetext[\value{mpFootnoteValueSaver}]{%
-           Relationship is unresolved in XXI.}
+           Relationship is unresolved.}
      \end{center}
 
    For a floating ‘table’ environment (*note table::), use the
@@ -7546,7 +7438,7 @@
 
 Particularly in the humanities, authors can have multiple classes of
 footnotes, including having footnotes of footnotes.  The package
-‘bigfoot’ extends LaTeX’s default footnote mechanism in many ways,
+‘bigfoot’ extends LaTeX's default footnote mechanism in many ways,
 including allow these two, as in this example.
 
      \usepackage{bigfoot}    % in preamble
@@ -7580,6 +7472,7 @@
 * \protect::                       Using tricky commands.
 * \ignorespaces & \ignorespacesafterend:: Discard extra spaces.
 * xspace package::                 Space after a macro, conditionally.
+* Class and package commands::     Primarily for LaTeX programmers.
 
 
 File: latex2e.info,  Node: \newcommand & \renewcommand,  Next: \providecommand,  Up: Definitions
@@ -7596,7 +7489,7 @@
      \newcommand*{\CMD}[NARGS]{DEFN}
      \newcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN}
 
-or all the same possibilities with ‘\renewcommand’ instead of
+or the same six possibilities with ‘\renewcommand’ instead of
 ‘\newcommand’:
 
      \renewcommand{\CMD}{DEFN}
@@ -7610,8 +7503,9 @@
 *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.
+multiple paragraphs of text (i.e., a ‘\par’ token; in plain TeX terms:
+the commands are not ‘\long’).  With the default form, arguments can be
+multiple paragraphs.
 
    These are the parameters (examples follow):
 
@@ -7761,7 +7655,7 @@
 simply print ‘Hello!’ (if you use the Emacs info viewer, turn on the
 ‘whitespace-mode’ minor mode to see the trailing spaces):
 
-     Hel\relax   
+     Hel\relax  
         lo!
 
 This is because blanks after ‘\relax’, including the newline, are
@@ -7825,7 +7719,7 @@
 command name can also consist of a category 0 character followed by a
 single non-letter symbol).
 
-   LaTeX’s source code has the convention that some commands use ‘@’ in
+   LaTeX's source code has the convention that some commands use ‘@’ in
 their name.  These commands are mainly intended for package or class
 writers.  The convention prevents authors who are just using a package
 or class from accidentally replacing such a command with one of their
@@ -7833,7 +7727,7 @@
 
    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
+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.
@@ -7895,7 +7789,7 @@
      \makeatother
 
    In the next example, the starred variant takes a different number of
-arguments than the unstarred one.  With this definition, Agent 007’s
+arguments than the unstarred one.  With this definition, Agent 007's
 ‘``My name is \agentsecret*{Bond}, \agentsecret{James}{Bond}.''’ is
 equivalent to entering the commands ‘``My name is \textsc{Bond},
 \textit{James} textsc{Bond}.''’
@@ -8117,7 +8011,7 @@
 to redefine an environment and the name has not yet been used then you
 get something like ‘LaTeX Error: Environment hank undefined.’.
 
-   This example gives an environment like LaTeX’s ‘quotation’ except
+   This example gives an environment like LaTeX's ‘quotation’ except
 that it will be set in smaller type.
 
      \newenvironment{smallquote}{%
@@ -8144,7 +8038,7 @@
        \end{quotation}
      }
 
-The author’s name is optional, and defaults to ‘Shakespeare’.  In the
+The author's name is optional, and defaults to ‘Shakespeare’.  In the
 document, use the environment like this.
 
      \begin{citequote}[Lincoln]
@@ -8213,7 +8107,7 @@
 NUMBERED_WITHIN
      Optional; the name of an already defined counter, usually a
      sectional unit such as ‘chapter’ or ‘section’.  When the
-     NUMBERED_WITHIN counter is reset then the NAME environment’s
+     NUMBERED_WITHIN counter is reset then the NAME environment's
      counter will also be reset.
 
      If this optional argument is not used then the command ‘\theNAME’
@@ -8241,7 +8135,7 @@
      \end{defn}
 
    This example has the same document body as the prior one.  But here
-‘\newtheorem’’s optional argument NUMBERED_WITHIN is given as ‘section’,
+‘\newtheorem’'s optional argument NUMBERED_WITHIN is given as ‘section’,
 so the output is like ‘Definition 1.1’ and ‘Definition 2.1’.
 
      \newtheorem{defn}{Definition}[section]
@@ -8300,9 +8194,9 @@
    The FONT DESCRIPTION consists of a FONTNAME and an optional “at
 clause”.  LaTeX will look on your system for a file named
 ‘FONTNAME.tfm’.  The at clause can have the form either ‘at DIMEN’ or
-‘scaled FACTOR’, where a FACTOR of ‘1000’ means no scaling.  For LaTeX’s
+‘scaled FACTOR’, where a FACTOR of ‘1000’ means no scaling.  For LaTeX's
 purposes, all this does is scale all the character and other font
-dimensions relative to the font’s design size, which is a value defined
+dimensions relative to the font's design size, which is a value defined
 in the ‘.tfm’ file.
 
    This defines two equivalent fonts and typesets a few characters in
@@ -8320,54 +8214,60 @@
 ================
 
 All LaTeX commands are either “fragile” or “robust”.  A fragile command
-can break when it is used in the argument to certain other commands.
-Commands that contain data that LaTeX writes to an auxiliary file and
-re-reads later are fragile.  This includes material that goes into a
-table of contents, list of figures, list of tables, etc.  Fragile
-commands also include line breaks, any command that has an optional
-argument, and many more.  To prevent such commands from breaking, one
-solution is to preceded them with the command ‘\protect’.
+can break when it is used in the argument to certain other commands,
+typically those that write material to the table of contents, the
+cross-reference file, etc.  To prevent fragile commands from causing
+errors, one solution is to precede them with the command ‘\protect’.
 
    For example, when LaTeX runs the ‘\section{SECTION NAME}’ command it
 writes the SECTION NAME text to the ‘.aux’ auxiliary file, moving it
 there for use elsewhere in the document such as in the table of
-contents.  Any argument that is internally expanded by LaTeX without
-typesetting it directly is referred to as a “moving argument”.  A
-command is fragile if it can expand during this process into invalid TeX
-code.  Some examples of moving arguments are those that appear in the
-‘\caption{...}’ command (*note figure::), in the ‘\thanks{...}’ command
-(*note \maketitle::), and in @-expressions in the ‘tabular’ and ‘array’
-environments (*note tabular::).
+contents.  Such an argument that is used in multiple places is referred
+to as a “moving argument”.  A command is fragile if it can expand during
+this process into invalid TeX code.  Some examples of moving arguments
+are those that appear in the ‘\caption{...}’ command (*note figure::),
+in the ‘\thanks{...}’ command (*note \maketitle::), and in @-expressions
+in the ‘tabular’ and ‘array’ environments (*note tabular::).
 
    If you get strange errors from commands used in moving arguments, try
-preceding it with ‘\protect’.  Every fragile commands must be protected
+preceding it with ‘\protect’.  Each fragile command must be protected
 with their own ‘\protect’.
 
-   Although usually a ‘\protect’ command doesn’t hurt, length commands
-are robust and should not be preceded by a ‘\protect’ command.  Nor can
-a ‘\protect’ command be used in the argument to ‘\addtocounter’ or
-‘\setcounter’ command.
+   Although usually a ‘\protect’ command doesn't hurt, length commands
+such as ‘\parindent’ should not be preceded by a ‘\protect’ command
+(*note Lengths::.  Nor can a ‘\protect’ command be used in the argument
+to ‘\addtocounter’ or ‘\setcounter’ command (*note \setcounter:: and
+*note \addtocounter::.  These commands are already robust.
 
-   In this example the ‘\caption’ command gives a mysterious error about
-an extra curly brace.  Fix the problem by preceding each ‘\raisebox’
-command with ‘\protect’.
+   As of the October 2019 release of LaTeX
+(<https://www.latex-project.org/news/latex2e-news/ltnews30.pdf>), most
+commands that had been previously fragile were fixed to be robust.  For
+example, any command taking an optional argument, such as ‘\root’ or
+‘\raisebox’, was fragile, but is now robust.  Similarly, ‘\(...\)’ math
+was fragile and is now robust (‘$...$’ has always been robust).
 
+   Perhaps the most commonly used remaining fragile command is ‘\verb’;
+for example,
+
      \begin{figure}
        ...
-       \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}}
+       \caption{This \verb|\command| causes an error.}
      \end{figure}
 
-   In the next example the ‘\tableofcontents’ command gives an error
-because the ‘\(..\)’ in the section title expands to illegal TeX in the
-‘.toc’ file.  You can solve this by changing ‘\(..\)’ to
-‘\protect\(..\protect\)’.
+   Adding ‘\protect’ does not help here.  It's usually feasible to
+rewrite the caption (or section heading or whatever) to use ‘\texttt’,
+often the simplest solution.
 
-     \begin{document}
-     \tableofcontents
-     ...
-     \section{Einstein's \( e=mc^2 \)}
-     ...
+   Alternatively, to use ‘\verb’, you can apply the ‘\cprotect’ command
+from ‘cprotect’ package (<https://ctan.org/pkg/cprotect>) to the
+‘\caption’:
 
+     \cprotect\caption{This \verb|\command| is ok with \verb|\cprotect|.}
+
+   ‘\cprotect’ also allows use of ‘\begin...\end’ environments in moving
+arguments, where they are normally not allowed, via a similar prefix
+command ‘\cprotEnv’.
+
 
 File: latex2e.info,  Node: \ignorespaces & \ignorespacesafterend,  Next: xspace package,  Prev: \protect,  Up: Definitions
 
@@ -8447,12 +8347,12 @@
 ‘\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}’.
 
 
-File: latex2e.info,  Node: xspace package,  Prev: \ignorespaces & \ignorespacesafterend,  Up: Definitions
+File: latex2e.info,  Node: xspace package,  Next: Class and package commands,  Prev: \ignorespaces & \ignorespacesafterend,  Up: Definitions
 
-12.13 xspace package
-====================
+12.13 ‘xspace’ package
+======================
 
-Synopsis:
+This is an add-on package, not part of core LaTeX.  Synopsis:
 
      \usepackage{xspace}
        ...
@@ -8462,15 +8362,15 @@
 adds a space unless the command is followed by certain punctuation
 characters.
 
-   After a command control sequence that is a control word (*note
-Control sequences::, as opposed to control symbols such as ‘\$’), TeX
-gobbles blank characters.  Thus, in the first sentence below, the output
-has ‘Vermont’ placed snugly against the period, without any intervening
-space.
+   After a control sequence that is a control word (*note Control
+sequences::, as opposed to control symbols such as ‘\$’), TeX gobbles
+blank characters.  Thus, in the first sentence below, the output has
+‘Vermont’ placed snugly against the period, without any intervening
+space, despite the space in the input.
 
      \newcommand{\VT}{Vermont}
      Our college is in \VT .
-     The \VT{} summers are nice.
+     \VT{} summers are nice.
 
    But because of the gobbling, the second sentence needs the empty
 curly braces or else there would be no space separating ‘Vermont’ from
@@ -8489,19 +8389,578 @@
 
    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}’ which adds ‘\myfni’ and ‘\myfnii’
-to the list, and remove from that list as with
+the commands ‘\footnote’ or ‘\footnotemark’.  You can add to that list
+as with ‘\xspaceaddexceptions{\myfni \myfnii}’ which adds ‘\myfni’
+and ‘\myfnii’ to the list; and you can 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 empty braces because
+But it isn't easy to predict when to enter empty 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 inserting the empty braces.
+error-prone than instead of always inserting the empty braces.
 
 
+File: latex2e.info,  Node: Class and package commands,  Prev: xspace package,  Up: Definitions
+
+12.14 Class and package commands
+================================
+
+These are commands designed to help writers of classes or packages.
+
+* Menu:
+
+* \AtBeginDvi & \AtEndDvi::
+* \AtEndOfClass & \AtEndOfPackage::
+* \CheckCommand::
+* \ClassError and \PackageError and others::
+* \CurrentOption::
+* \DeclareOption::
+* \DeclareRobustCommand::
+* \ExecuteOptions::
+* \IfFileExists & \InputIfFileExists::
+* \LoadClass & \LoadClassWithOptions::
+* \NeedsTeXFormat::
+* \OptionNotUsed::
+* \PassOptionsToClass & \PassOptionsToPackage::
+* \ProcessOptions::
+* \ProvidesClass & \ProvidesPackage::
+* \ProvidesFile::
+* \RequirePackage & \RequirePackageWithOptions ::
+
+
+File: latex2e.info,  Node: \AtBeginDvi & \AtEndDvi,  Next: \AtEndOfClass & \AtEndOfPackage,  Up: Class and package commands
+
+12.14.1 ‘\AtBeginDvi’ & ‘\AtEndDvi’
+-----------------------------------
+
+Synopsis:
+
+     \AtBeginDvi{CODE}
+     \AtEndDvi{CODE}
+
+   ‘\AtBeginDvi’ saves, in a box register, CODE to be executed at the
+beginning of the shipout of the first page of the document.  Despite the
+name, it applies to DVI, PDF, and XDV output.  It fills the
+‘shipout/firstpage’ hook; new code should use that hook directly.
+
+   Similarly, ‘\AtEndDvi’ (previously available only with the ‘atenddvi’
+package) is code executed when finalizing the main output document.
+
+
+File: latex2e.info,  Node: \AtEndOfClass & \AtEndOfPackage,  Next: \CheckCommand,  Prev: \AtBeginDvi & \AtEndDvi,  Up: Class and package commands
+
+12.14.2 ‘\AtEndOfClass’ & ‘\AtEndOfPackage’
+-------------------------------------------
+
+Synopses:
+
+     \AtEndOfClass{CODE}
+     \AtEndOfPackage{CODE}
+
+   Hooks to insert CODE to be executed when LaTeX finishes processing
+the current class resp. package.
+
+   These hooks can be used multiple times; each ‘code’ segment will be
+executed in the order called.  Many packages and classes use these
+commands.
+
+   See also *note \AtBeginDocument::.
+
+
+File: latex2e.info,  Node: \CheckCommand,  Next: \ClassError and \PackageError and others,  Prev: \AtEndOfClass & \AtEndOfPackage,  Up: Class and package commands
+
+12.14.3 ‘\CheckCommand’
+-----------------------
+
+Synopsis:
+
+     \CheckCommand{CMD}[NUM][DEFAULT]{DEFINITION}
+     \CheckCommand* (same parameters)
+
+   Like ‘\newcommand’ (*note \newcommand & \renewcommand::) but does not
+define CMD; instead it checks that the current definition of CMD is
+exactly as given by DEFINITION and is or is not “‘\long’” as expected.
+A long command is a command that accepts ‘\par’ within an argument.
+
+   With the unstarred version of ‘\CheckCommand’, CMD is expected to be
+‘\long’; with the starred version, CMD must not be ‘\long’
+
+   ‘\CheckCommand’ raises an error when the check fails.  This allows
+you to check before you start redefining ‘cmd’ yourself that no other
+package has already redefined this command.
+
+
+File: latex2e.info,  Node: \ClassError and \PackageError and others,  Next: \CurrentOption,  Prev: \CheckCommand,  Up: Class and package commands
+
+12.14.4 ‘\ClassError’ and ‘\PackageError’ and others
+----------------------------------------------------
+
+Produce error, warning, and informational messages for classes:
+
+‘\ClassError{CLASS NAME}{ERROR-TEXT}{HELP-TEXT}’
+‘\ClassWarning{CLASS NAME}{WARNING-TEXT}’
+‘\ClassWarningNoLine{CLASS NAME}{WARNING-TEXT}’
+‘\ClassInfo{CLASS NAME}{INFO-TEXT}’
+‘\ClassInfoNoLine{CLASS NAME}{INFO-TEXT}’
+
+and the same for packages:
+‘\PackageError{PACKAGE NAME}{ERROR-TEXT}{HELP-TEXT}’
+‘\PackageWarning{PACKAGE NAME}{WARNING-TEXT}’
+‘\PackageWarningNoLine{PACKAGE NAME}{WARNING-TEXT}’
+‘\PackageInfo{PACKAGE NAME}{INFO-TEXT}’
+‘\PackageInfoNoLine{PACKAGE NAME}{INFO-TEXT}’
+
+   For ‘\ClassError’ and ‘\PackageError’ the message is ERROR-TEXT,
+followed by TeX's '‘?’' error prompt.  If the user then asks for help by
+typing ‘h’, they see the HELP TEXT.
+
+   The four ‘Warning’ commands are similar except that they write
+WARNING-TEXT on the screen with no error prompt.  The four ‘Info’
+commands write INFO-TEXT only in the transcript file.  The ‘NoLine’
+versions omit the number of the line generating the message, while the
+other versions do show that number.
+
+   To format the messages, including the HELP-TEXT: use ‘\protect’ to
+stop a command from expanding, get a line break with ‘\MessageBreak’,
+and get a space with ‘\space’ when a space character is ignore, most
+commonly after a command.
+
+   LaTeX appends a period to the messages.
+
+
+File: latex2e.info,  Node: \CurrentOption,  Next: \DeclareOption,  Prev: \ClassError and \PackageError and others,  Up: Class and package commands
+
+12.14.5 ‘\CurrentOption’
+------------------------
+
+Expands to the name of the option currently being processed.  This can
+only be used within the CODE argument of either ‘\DeclareOption’ or
+‘\DeclareOption*’.
+
+
+File: latex2e.info,  Node: \DeclareOption,  Next: \DeclareRobustCommand,  Prev: \CurrentOption,  Up: Class and package commands
+
+12.14.6 ‘\DeclareOption’
+------------------------
+
+Synopsis:
+
+     \DeclareOption{OPTION}{CODE}
+     \DeclareOption*{OPTION}{CODE}
+
+   Define an option a user can include in their ‘\documentclass’
+command.  For example, a class ‘smcmemo’ could have an option ‘logo’
+allowing users to put the institutional logo on the first page.  The
+document would start with ‘\documentclass[logo]{smcmemo}’.  To enable
+this, the class file must contain ‘\DeclareOption{logo}{CODE}’ (and
+later, ‘\ProcessOptions’).
+
+   If you request an option that has not been declared, by default this
+will produce a warning like ‘Unused global option(s): [badoption].’ This
+can be changed by using ‘\DeclareOption*{CODE}’, which executes CODE for
+any unknown option.
+
+   For example, many classes extend an existing class, using code such
+as ‘\LoadClass{article}’ (*note \LoadClass::).  In this case, it makes
+sense to pass any otherwise-unknown options to the underlying class,
+like this:
+
+     \DeclareOption*{%
+       \PassOptionsToClass{\CurrentOption}{article}%
+     }
+
+   As another example, our class ‘smcmemo’ might allow users to keep
+lists of memo recipients in external files, so the user could invoke
+‘\documentclass[math]{smcmemo}’ and it will read the file ‘math.memo’.
+This code inputs the file if it exists, while if it doesn't, the option
+is passed to the ‘article’ class:
+
+     \DeclareOption*{\InputIfFileExists{\CurrentOption.memo}
+       {}{%
+       \PassOptionsToClass{\CurrentOption}{article}}}
+
+
+File: latex2e.info,  Node: \DeclareRobustCommand,  Next: \ExecuteOptions,  Prev: \DeclareOption,  Up: Class and package commands
+
+12.14.7 ‘\DeclareRobustCommand’
+-------------------------------
+
+Synopsis:
+
+     \DeclareRobustCommand{CMD}[NUM][DEFAULT]{DEFINITION}
+     \DeclareRobustCommand* (same parameters
+
+   ‘\DeclareRobustCommand’ and its starred form are generally like
+‘\newcommand’ and ‘\newcommand*’ (*note \newcommand & \renewcommand::),
+with the addition that they define a so-called “robust” command, even if
+some code within the DEFINITION is fragile.  (For a discussion of robust
+and fragile commands, *note \protect::.)
+
+   Also unlike ‘\newcommand’, these do not give an error if macro CMD
+already exists; instead, a log message is put into the transcript file
+if a command is redefined.  Thus, ‘\DeclareRobustCommand’ can be used to
+define new robust commands or to redefine existing commands, making them
+robust.
+
+   The starred form, ‘\DeclareRobustCommand*’, disallows the arguments
+from containing multiple paragraphs, just like the starred form of
+‘\newcommand’ and ‘\renewcommand’.  The meaning of the arguments is the
+same.
+
+   Commands defined this way are a bit less efficient than those defined
+using ‘\newcommand’ so unless the command's data is fragile and the
+command is used within a moving argument, use ‘\newcommand’.
+
+   Related to this, the ‘etoolbox’ package offers three commands and
+their starred forms: ‘\newrobustcmd’(‘*’) ‘\renewrobustcmd’(‘*’), and
+‘\providerobustcmd’(‘*’).  They are similar to ‘\newcommand’,
+‘\renewcommand’, and ‘\providecommand’ and their own starred forms, but
+define a robust CMD.  They have two possible advantages compared to
+‘\DeclareRobustCommand’:
+
+  1. They use the low-level e-TeX protection mechanism rather than the
+     higher-level LaTeX ‘\protect’ mechanism, so they do not incur the
+     slight loss of performance mentioned above, and
+
+  2. They make the same distinction between ‘\new...’, ‘\renew...’, and
+     ‘\provide...’, as the standard commands.  That is, they do not just
+     write a log message when you redefine CMD that already exists; you
+     need to use either ‘\renew...’ or ‘\provide...’, or you get an
+     error.  This may or may not be a benefit.
+
+
+File: latex2e.info,  Node: \ExecuteOptions,  Next: \IfFileExists & \InputIfFileExists,  Prev: \DeclareRobustCommand,  Up: Class and package commands
+
+12.14.8 ‘\ExecuteOptions’
+-------------------------
+
+Synopsis:
+
+     \ExecuteOptions{OPTION-LIST}
+
+   For each option OPTION in OPTION-LIST, in order, this command
+executes the command ‘\ds at OPTION’.  If this command is not defined then
+that option is silently ignored.
+
+   This can be used to provide a default option list before
+‘\ProcessOptions’.  For example, if in a class file you want the default
+to be 11pt fonts then you could specify
+‘\ExecuteOptions{11pt}\ProcessOptions\relax’.
+
+
+File: latex2e.info,  Node: \IfFileExists & \InputIfFileExists,  Next: \LoadClass & \LoadClassWithOptions,  Prev: \ExecuteOptions,  Up: Class and package commands
+
+12.14.9 ‘\IfFileExists’ & ‘\InputIfFileExists’
+----------------------------------------------
+
+Synopses:
+
+     \IfFileExists{FILENAME}{TRUE-CODE}{FALSE-CODE}
+     \InputIfFileExists{FILENAME}{TRUE-CODE}{FALSE-CODE}
+
+   ‘\IfFileExists’ executes TRUE-CODE if LaTeX finds the file ‘FILENAME’
+or FALSE-CODE otherwise.  In the first case it executing TRUE-CODE and
+then inputs the file.  Thus the command
+
+     \IfFileExists{img.pdf}{%
+       \includegraphics{img.pdf}}
+       {\typeout{!! img.pdf not found}
+
+will include the graphic ‘img.pdf’ if it is found and otherwise give a
+warning.
+
+   This command looks for the file in all search paths that LaTeX uses,
+not only in the current directory.  To look only in the current
+directory do something like
+‘\IfFileExists{./FILENAME}{TRUE-CODE}{FALSE-CODE}’.  If you ask for a
+filename without a ‘.tex’ extension then LaTeX will first look for the
+file by appending the ‘.tex’; for more on how LaTeX handles file
+extensions see *note \input::.
+
+   ‘\InputIfFileExists’ is similar, but, as the name states,
+automatically ‘\input’s FILENAME if it exists.  The TRUE-CODE is
+executed just before the ‘\input’; if the file doesn't exist, the
+FALSE-CODE is executed.  An example:
+
+     \InputIfFileExists{mypkg.cfg}
+       {\PackageInfo{Loading mypkg.cfg for configuration information}}
+       {\PackageInfo{No mypkg.cfg found}}
+
+
+File: latex2e.info,  Node: \LoadClass & \LoadClassWithOptions,  Next: \NeedsTeXFormat,  Prev: \IfFileExists & \InputIfFileExists,  Up: Class and package commands
+
+12.14.10 ‘\LoadClass’ & ‘\LoadClassWithOptions’
+-----------------------------------------------
+
+Synopses:
+
+     \LoadClass[OPTIONS-LIST]{CLASS-NAME}[RELEASE-DATE]
+     \LoadClassWithOptions{CLASS-NAME}[RELEASE-DATE]
+
+   Load a class, as with
+‘\documentclass[OPTIONS-LIST]{CLASS-NAME}[RELEASE-DATE]’.  An example:
+‘\LoadClass[twoside]{article}’.
+
+   The OPTIONS-LIST, if present, is a comma-separated list.  The
+RELEASE-DATE is also optional.  If present it must have the form
+‘YYYY/MM/DD’.
+
+   If you request RELEASE-DATE and the date of the package installed on
+your system is earlier, then you get a warning on the screen and in the
+log like this:
+
+     You have requested, on input line 4, version `2038/01/19' of
+     document class article, but only version `2014/09/29 v1.4h
+     Standard LaTeX document class' is available.
+
+   The command version ‘\LoadClassWithOptions’ uses the list of options
+for the current class.  This means it ignores any options passed to it
+via ‘\PassOptionsToClass’.  This is a convenience command that lets you
+build classes on existing ones, such as the standard ‘article’ class,
+without having to track which options were passed.
+
+
+File: latex2e.info,  Node: \NeedsTeXFormat,  Next: \OptionNotUsed,  Prev: \LoadClass & \LoadClassWithOptions,  Up: Class and package commands
+
+12.14.11 ‘\NeedsTeXFormat’
+--------------------------
+
+Synopsis:
+
+     \NeedsTeXFormat{FORMAT}[FORMAT-DATE]
+
+   Specifies the format that this class must be run under.  Often issued
+as the first line of a class file, and most often used as:
+‘\NeedsTeXFormat{LaTeX2e}’.  When a document using that class is
+processed, the format being run must exactly match the FORMAT name
+given, including case.  If it does not match then execution stops with
+an error like ‘This file needs format `LaTeX2e' but this is `plain'.’.
+
+   To require a version of the format that you know to have certain
+features, include the optional FORMAT-DATE on which those features were
+implemented.  If present, it must be in the form ‘YYYY/MM/DD’.  If the
+format version installed on your system is earlier than FORMAT DATE then
+you get a warning like this.
+
+     You have requested release `2038/01/20' of LaTeX, but only
+     release `2016/02/01' is available.
+
+
+File: latex2e.info,  Node: \OptionNotUsed,  Next: \PassOptionsToClass & \PassOptionsToPackage,  Prev: \NeedsTeXFormat,  Up: Class and package commands
+
+12.14.12 ‘\OptionNotUsed’
+-------------------------
+
+Adds the current option to the list of unused options.  Can only be used
+within the CODE argument of either ‘\DeclareOption’ or
+‘\DeclareOption*’.
+
+
+File: latex2e.info,  Node: \PassOptionsToClass & \PassOptionsToPackage,  Next: \ProcessOptions,  Prev: \OptionNotUsed,  Up: Class and package commands
+
+12.14.13 ‘\PassOptionsToClass’ & ‘\PassOptionsToPackage’
+--------------------------------------------------------
+
+Synopses:
+
+     \PassOptionsToClass{OPTIONS}{CLSNAME}
+     \PassOptionsToPackage{OPTION}{PKGNAME}
+
+   Adds the options in the comma-separated list OPTIONS to the options
+used by any future ‘\RequirePackage’ or ‘\usepackage’ command for the
+class CLSNAME or the package PKGNAME, respectively.
+
+   The reason for these commands is that although you may load a package
+any number of times with no options, if you can specify options only the
+first time you load the package.  Loading a package with options more
+than once will get you an error like ‘Option clash for package foo.’.
+LaTeX throws an error even if there is no conflict between the options.
+
+   If your own code is bringing in a package twice then you can combine
+the calls; for example, replacing the two
+
+     \RequirePackage[landscape]{geometry}
+     \RequirePackage[margins=1in]{geometry}
+
+with the single command
+
+     \RequirePackage[landscape,margins=1in]{geometry}
+
+   However, suppose you are loading ‘firstpkg’ and inside that package
+it loads ‘secondpkg’, and you need ‘secondpkg’ to be loaded with option
+‘draft’.  Then before load the first package you must tell LaTeX about
+the desired options for the second package, like this:
+
+     \PassOptionsToPackage{draft}{secondpkg}
+     \RequirePackage{firstpkg}
+
+If ‘firstpkg.sty’ loads an option in conflict with what you want then
+you may have to alter its source, or yours.
+
+   These commands are useful for general users as well as class and
+package writers.  For instance, suppose a user wants to load the
+‘graphicx’ package with the option ‘draft’ and also wants to use a class
+‘foo’ that loads the ‘graphicx’ package, but without that option.  The
+user could start their LaTeX file with
+‘\PassOptionsToPackage{draft}{graphicx} \documentclass{foo}’.
+
+
+File: latex2e.info,  Node: \ProcessOptions,  Next: \ProvidesClass & \ProvidesPackage,  Prev: \PassOptionsToClass & \PassOptionsToPackage,  Up: Class and package commands
+
+12.14.14 ‘\ProcessOptions’
+--------------------------
+
+Synopsis:
+
+     \ProcessOptions\@OPTIONS
+     \ProcessOptions*\@OPTIONS
+
+   Execute the code for each option that the user has invoked.  Invoke
+it in the class file as ‘\ProcessOptions\relax’ (because of the
+existence of the starred version, described below).
+
+   Options come in two types.  “Local options” have been specified for
+this particular package in ‘\usepackage[OPTIONS]’,
+‘\RequirePackage[OPTIONS]’, or the OPTIONS argument of
+‘\PassOptionsToPackage{OPTIONS}’.  “Global options” are those given by
+the class user in ‘\documentclass[OPTIONS]’.  If an option is specified
+both locally and globally then it is local.
+
+   When ‘\ProcessOptions’ is called for a package ‘pkg.sty’, the
+following happens:
+
+  1. For each option OPTION so far declared with ‘\DeclareOption’,
+     ‘\ProcessOptions’ looks to see if that option is either global or
+     local for ‘pkg’.  If so, then it executes the declared code.  This
+     is done in the order in which these options were given in
+     ‘pkg.sty’.
+
+  2. For each remaining local option, it executes the command
+     ‘\ds@’OPTION if it has been defined somewhere (other than by a
+     ‘\DeclareOption’); otherwise, it executes the default option code
+     given in ‘\DeclareOption*’.  If no default option code has been
+     declared then it gives an error message.  This is done in the order
+     in which these options were specified.
+
+   When ‘\ProcessOptions’ is called for a class it works in the same way
+except that all options are local, and the default CODE for
+‘\DeclareOption*’ is ‘\OptionNotUsed’ rather than an error.
+
+   The starred version ‘\ProcessOptions*’ executes the options in the
+order specified in the calling commands, rather than in the order of
+declaration in the class or package.  For a package, this means that the
+global options are processed first.
+
+
+File: latex2e.info,  Node: \ProvidesClass & \ProvidesPackage,  Next: \ProvidesFile,  Prev: \ProcessOptions,  Up: Class and package commands
+
+12.14.15 ‘\ProvidesClass’ & ‘\ProvidesPackage’
+----------------------------------------------
+
+Synopses:
+
+     \ProvidesClass{CLSNAME}[RELEASE-DATE [INFO-TEXT]]
+     \ProvidesPackage{PKGNAME}[RELEASE-DATE [INFO-TEXT]]
+
+   Identifies the class or package being defined, printing a message to
+the screen and the log file.
+
+   When you load a class or package, for example with
+‘\documentclass{smcmemo}’ or ‘\usepackage{test}’, LaTeX inputs a file
+(‘smcmemo.cls’ and ‘test.sty’, respectively).  If the name of the file
+does not match the class or package name declared in it then you get a
+warning.  Thus, if you invoke ‘\documentclass{smcmemo}’, and the file
+‘smcmemo.cls’ has the statement ‘\ProvidesClass{foo}’ then you get a
+warning like ‘You have requested document class `smcmemo', but the
+document class provides 'foo'.’ This warning does not prevent LaTeX from
+processing the rest of the class file normally.
+
+   If you include the optional argument then you must include a date,
+before any spaces, of the form ‘YYYY/MM/DD’.  The rest of the optional
+argument is free-form, although it traditionally identifies the class.
+It is written to the screen during compilation and to the log file.
+Thus, if your file ‘smcmemo.cls’ contains the line
+‘\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]’ and your
+document's first line is ‘\documentclass{smcmemo}’ then you will see
+‘Document Class: smcmemo 2008/06/01 v1.0 SMC memo class’.
+
+   The date in the optional argument allows class and package users to
+ask to be warned if the version of the class or package is earlier than
+RELEASE DATE.  For instance, a user could enter
+‘\documentclass{smcmemo}[2018/10/12]’ or
+‘\usepackage{foo}[[2017/07/07]]’ to require a class or package with
+certain features by specifying that it must be released no earlier than
+the given date.  Perhaps more importantly, the date serves as
+documentation of the last release.  (In practice, package users rarely
+include a date, and class users almost never do.)
+
+
+File: latex2e.info,  Node: \ProvidesFile,  Next: \RequirePackage & \RequirePackageWithOptions,  Prev: \ProvidesClass & \ProvidesPackage,  Up: Class and package commands
+
+12.14.16 ‘\ProvidesFile’
+------------------------
+
+Synopsis:
+
+     \ProvidesFile{FILENAME}[INFO-TEXT]
+
+   Declare a file other than the main class and package files, such as a
+configuration or font definition file.  It writes the given information
+to the log file, essentially like ‘\ProvidesClass’ and
+‘\ProvidesPackage’ (see the previous section).
+
+   For example:
+
+     \ProvidesFile{smcmemo.cfg}[2017/10/12 config file for smcmemo.cls]
+
+writes this into the log:
+
+     File: smcmemo.cfg 2017/10/12 config file for smcmemo.cls
+
+
+File: latex2e.info,  Node: \RequirePackage & \RequirePackageWithOptions,  Prev: \ProvidesFile,  Up: Class and package commands
+
+12.14.17 ‘\RequirePackage’ & ‘\RequirePackageWithOptions’
+---------------------------------------------------------
+
+Synopsis:
+
+     \RequirePackage[OPTION-LIST]{PKGNAME}[RELEASE-DATE]
+     \RequirePackageWithOptions{PKGNAME}[RELEASE-DATE]
+
+   Load a package, like the command ‘\usepackage’ (*note Additional
+packages::).  An example:
+‘\RequirePackage[landscape,margin=1in]{geometry}’
+
+   The initial optional argument OPTION-LIST, if present, must be a
+comma-separated list.  The trailing optional argument RELEASE-DATE, if
+present, must have the form ‘YYYY/MM/DD’.  If the release date of the
+package as installed on your system is earlier than RELEASE-DATE then
+you get a warning like ‘You have requested, on input line 9, version
+`2017/07/03' of package jhtest, but only version `2000/01/01' is
+available’.
+
+   The ‘\RequirePackageWithOptions’ variant uses the list of options for
+the current class.  This means it ignores any options passed to it via
+‘\PassOptionsToClass’.  This is a convenience command to allow easily
+building classes on existing ones without having to track which options
+were passed.
+
+   The difference between ‘\usepackage’ and ‘\RequirePackage’ is small.
+The ‘\usepackage’ command is intended to be used in documents, while
+‘\RequirePackage’ is intended for package and class files.  The most
+significant difference in practice is that ‘\RequirePackage’ can be used
+in a document before the ‘\documentclass’ command, while ‘\usepackage’
+gives an error there.  The most common need for this nowadays is for the
+‘\DocumentMetadata’ command (*note \DocumentMetadata::).
+
+   The LaTeX development team strongly recommends use of these and
+related commands over Plain TeX's ‘\input’; see the Class Guide
+(<https://ctan.org/pkg/clsguide>).
+
+
 File: latex2e.info,  Node: Counters,  Next: Lengths,  Prev: Definitions,  Up: Top
 
 13 Counters
@@ -8509,11 +8968,11 @@
 
 Everything LaTeX numbers for you has a counter associated with it.  The
 name of the counter is often the same as the name of the environment or
-command associated with the number, except that the counter’s name has
+command associated with the number, except that the counter's name has
 no backslash ‘\’.  Thus, associated with the ‘\chapter’ command is the
 ‘chapter’ counter that keeps track of the chapter number.
 
-   Below is a list of the counters used in LaTeX’s standard document
+   Below is a list of the counters used in LaTeX's standard document
 classes to control numbering.
 
      part            paragraph       figure          enumi
@@ -8557,12 +9016,12 @@
 with a backslash.
 
 ‘\alph{COUNTER}’
-     Print the value of COUNTER in lowercase letters: ‘a’, ‘b’, ...  If
-     the counter’s value is less than 1 or more than 26 then you get
+     Print the value of COUNTER in lowercase letters: 'a', 'b', ...  If
+     the counter's value is less than 1 or more than 26 then you get
      ‘LaTeX Error: Counter too large.’
 
 ‘\Alph{COUNTER}’
-     Print in uppercase letters: ‘A’, ‘B’, ...  If the counter’s value
+     Print in uppercase letters: 'A', 'B', ...  If the counter's value
      is less than 1 or more than 26 then you get ‘LaTeX Error: Counter
      too large.’
 
@@ -8570,12 +9029,12 @@
      Print in Arabic numbers such as ‘5’ or ‘-2’.
 
 ‘\roman{COUNTER}’
-     Print in lowercase roman numerals: ‘i’, ‘ii’, ...  If the counter’s
+     Print in lowercase roman numerals: 'i', 'ii', ...  If the counter's
      value is less than 1 then you get no warning or error but LaTeX
      does not print anything in the output.
 
 ‘\Roman{COUNTER}’
-     Print in uppercase roman numerals: ‘I’, ‘II’, ...  If the counter’s
+     Print in uppercase roman numerals: 'I', 'II', ...  If the counter's
      value is less than 1 then you get no warning or error but LaTeX
      does not print anything in the output.
 
@@ -8582,7 +9041,7 @@
 ‘\fnsymbol{COUNTER}’
      Prints the value of COUNTER using a sequence of nine symbols that
      are traditionally used for labeling footnotes.  The value of
-     COUNTER should be between 1 and 9, inclusive.  If the counter’s
+     COUNTER should be between 1 and 9, inclusive.  If the counter's
      value is less than 0 or more than 9 then you get ‘LaTeX Error:
      Counter too large’, while if it is 0 then you get no error or
      warning but LaTeX does not output anything.
@@ -8677,7 +9136,7 @@
      \setcounter{COUNTER}{VALUE}
 
    Globally set the counter COUNTER to have the value of the VALUE
-argument, which must be an integer.  Thus, you can set a counter’s value
+argument, which must be an integer.  Thus, you can set a counter's value
 as ‘\setcounter{section}{5}’.  Note that the counter name does not start
 with a backslash.
 
@@ -8719,7 +9178,7 @@
    Globally increments the value of COUNTER by one, as does
 ‘\stepcounter’ (*note \stepcounter::).  The difference is that this
 command resets the value of any counter numbered within it.  (For the
-definition of “counters numbered within”, *note \newcounter::.)
+definition of "counters numbered within", *note \newcounter::.)
 
    In addition, this command also defines the current ‘\ref’ value to be
 the result of ‘\thecounter’.
@@ -8738,7 +9197,7 @@
      \stepcounter{COUNTER}
 
    Globally adds one to COUNTER and resets all counters numbered within
-it.  (For the definition of “counters numbered within”, *note
+it.  (For the definition of "counters numbered within", *note
 \newcounter::.)
 
    This command differs from ‘\refstepcounter’ in that this one does not
@@ -8796,10 +9255,10 @@
      \newcommand{\showhbox}[2]{%
        \fboxsep=0pt\fbox{\hbox to #1{#2}}}
 
-This example uses those commands to show a black bar 100 points long
-between ‘XXX’ and ‘YYY’.  This length is rigid.
+This next example uses those commands to show a black bar 100 points
+long between ‘ABC’ and ‘XYZ’.  This length is rigid.
 
-     XXX\showhbox{100pt}{\blackbar{100pt}}YYY
+     ABC\showhbox{100pt}{\blackbar{100pt}}XYZ
 
    As for rubber lengths, shrinking is simpler one: with ‘1cm minus
 0.05cm’, the natural length is 1cm but TeX can shrink it down as far as
@@ -8807,15 +9266,15 @@
 first one works fine, producing a space of 98 points between the two
 bars.
 
-     XXX\showhbox{300pt}{%
+     ABC\showhbox{300pt}{%
        \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY
 
-     XXX\showhbox{300pt}{%
+     ABC\showhbox{300pt}{%
        \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY
 
 But the second one gets a warning like ‘Overfull \hbox (1.0pt too wide)
 detected at line 17’.  In the output the first ‘Y’ is overwritten by the
-end of the black bar, because the box’s material is wider than the 300pt
+end of the black bar, because the box's material is wider than the 300pt
 allocated, as TeX has refused to shrink the total to less than
 309 points.
 
@@ -8823,16 +9282,16 @@
 beyond the given amount, it will do it.  Here the first line is fine,
 producing a space of 110 points between the bars.
 
-     XXX\showhbox{300pt}{%
+     ABC\showhbox{300pt}{%
        \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY
 
-     XXX\showhbox{300pt}{%
+     ABC\showhbox{300pt}{%
        \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY
 
 In the second line TeX needs a stretch of 10 points and only 1 point was
 specified.  TeX stretches the space to the required length but it gives
 you a warning like ‘Underfull \hbox (badness 10000) detected at line
-22’.  (We won’t discuss badness.)
+22’.  (We won't discuss badness.)
 
    You can put both stretch and shrink in the same length, as in ‘1ex
 plus 0.05ex minus 0.02ex’.
@@ -8840,13 +9299,13 @@
    If TeX is setting two or more rubber lengths then it allocates the
 stretch or shrink in proportion.
 
-     XXX\showhbox{300pt}{%
+     ABC\showhbox{300pt}{%
        \blackbar{100pt}%  left
        \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}%  middle
        \blackbar{100pt}}YYY  % right
 
 The left and right bars take up 100 points, so the middle needs another
-100.  The middle bar is 80 points so the two ‘\hspace’’s must stretch
+100.  The middle bar is 80 points so the two ‘\hspace’'s must stretch
 20 points.  Because the two are ‘plus 50pt’ and ‘plus 10pt’, TeX gets
 5/6 of the stretch from the first space and 1/6 from the second.
 
@@ -8853,7 +9312,7 @@
    The ‘plus’ or ‘minus’ component of a rubber length can contain a
 “fill” component, as in ‘1in plus2fill’.  This gives the length infinite
 stretchability or shrinkability so that TeX could set it to any
-distance.  Here the two figures will be equal-spaced across the page.
+distance.  Here the two figures will be equally spaced across the page.
 
      \begin{minipage}{\linewidth}
        \hspace{0pt plus 1fill}\includegraphics{godel.png}%
@@ -8962,7 +9421,7 @@
 and can be in any units that LaTeX understands (*note Units of
 length::).
 
-   Below, with LaTeX’s defaults the first paragraph will be indented
+   Below, with LaTeX's defaults the first paragraph will be indented
 while the second will not.
 
      I told the doctor I broke my leg in two places.
@@ -9216,7 +9675,7 @@
    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 (*note
-‘sp’: units of length sp, TeX’s internal unit) and then coerced into an
+‘sp’: units of length sp, 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 +
@@ -9231,7 +9690,7 @@
 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
+   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’.
@@ -9277,11 +9736,11 @@
      Second paragraph.
      \end{document}
 
-   Once LaTeX has gathered all of a paragraph’s contents it divides that
+   Once LaTeX has gathered all of a paragraph's contents it divides that
 content into lines in a way that is optimized over the entire paragraph
 (*note Line breaking::).
 
-   There are places where a new paragraph is not permitted.  Don’t put a
+   There are places where a new paragraph is not permitted.  Don't put a
 blank line in math mode (*note Modes::); here the blank line before the
 ‘\end{equation}’
 
@@ -9388,7 +9847,7 @@
 
    In the middle of a paragraph the ‘\noindent’ command has no effect,
 because LaTeX is already in horizontal mode there.  The ‘\indent’
-command’s only effect is to output a space.
+command's only effect is to output a space.
 
    This example starts a fresh paragraph.
 
@@ -9447,7 +9906,7 @@
 different font then to set ‘\parindent’ to 1em matching that font, put
 ‘\AtBeginDocument{\setlength{\parindent}{1em}}’ in the preamble.)
 
-   The default value for ‘\parskip’ in LaTeX’s standard document classes
+   The default value for ‘\parskip’ in LaTeX's standard document classes
 is ‘0pt plus1pt’.
 
 
@@ -9480,7 +9939,7 @@
 note in the left margin, while the mandatory argument RIGHT is used for
 a note in the right margin.
 
-   Normally, a note’s first word will not be hyphenated.  You can enable
+   Normally, a note's first word will not be hyphenated.  You can enable
 hyphenation there by beginning LEFT or RIGHT with ‘\hspace{0pt}’.
 
    These parameters affect the formatting of the note:
@@ -9578,10 +10037,10 @@
 * Math symbols::                Various mathematical squiggles.
 * Math functions::              Math function names like sin and exp.
 * Math accents::                Accents in math.
-* Over- and Underlining::       Things over or under formulas.
+* Over- or under math::         Lines, braces, arrows over/under formulas.
 * Spacing in math mode::        Thick, medium, thin, and negative spaces.
 * Math styles::                 Determine the size of things.
-* Math miscellany::             Stuff that doesn’t fit anywhere else.
+* Math miscellany::             Stuff that doesn't fit anywhere else.
 
 
 File: latex2e.info,  Node: Subscripts & superscripts,  Next: Math symbols,  Up: Math formulas
@@ -9602,7 +10061,7 @@
    Make EXP appear as a superscript of BASE (with the caret
 character, ‘^’) or a subscript (with underscore, ‘_’).
 
-   In this example the ‘0’’s and ‘1’’s are subscripts while the ‘2’’s
+   In this example the ‘0’'s and ‘1’'s are subscripts while the ‘2’'s
 are superscripts.
 
      \( (x_0+x_1)^2 \leq (x_0)^2+(x_1)^2 \)
@@ -9609,7 +10068,7 @@
 
    To have the subscript or superscript contain more than one character,
 surround the expression with curly braces, as in ‘e^{-2x}’.  This
-example’s fourth line shows curly braces used to group an expression for
+example's fourth line shows curly braces used to group an expression for
 the exponent.
 
      \begin{displaymath}
@@ -9657,7 +10116,7 @@
 
 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 π.  See the “Comprehensive LaTeX Symbol List” package at
+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
@@ -10051,7 +10510,7 @@
      μ Lowercase Greek letter (ordinary).
 
 ‘\nabla’
-     ∇ Hamilton’s del, or differential, operator (ordinary).
+     ∇ Hamilton's del, or differential, operator (ordinary).
 
 ‘\natural’
      ♮ Musical natural notation (ordinary).
@@ -10077,7 +10536,7 @@
          Long solidus, or slash, used to overstrike a following operator
      (relation).
 
-     Many negated operators are available that don’t require ‘\not’,
+     Many negated operators are available that don't require ‘\not’,
      particularly with the ‘amssymb’ package.  For example, ‘\notin’ is
      typographically preferable to ‘\not\in’.
 
@@ -10456,7 +10915,7 @@
      use the ‘mathtools’ package to create flexibly-sized norm symbols.
 
 ‘\vert’
-     | Single line vertical bar (ordinary).  For “such that”, as in the
+     | 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.
@@ -10623,7 +11082,7 @@
 and ‘bm’ work fine.
 
    If no such font is available, one alternative is to construct fake
-bold fonts with the ‘fontspec’ package’s ‘FakeBold=1’ parameter (see its
+bold fonts with the ‘fontspec’ package's ‘FakeBold=1’ parameter (see its
 documentation, <https://ctan.org/pkg/fontspec>).  This may be acceptable
 for drafting or informal distribution, but the results are far from a
 true bold font.
@@ -10631,7 +11090,7 @@
    Another alternative to handling bold for OpenType math fonts is to
 use the ‘\symbf’ (bold), ‘\symbfit’ (bold italic), and related commands
 from the ‘unicode-math’ package.  These do not change the current font,
-but rather change the (Unicode) “alphabet” used, which in practice is
+but rather change the (Unicode) "alphabet" used, which in practice is
 more widely supported than a separate bold font.  Many variations are
 possible, and so there are subtleties to getting the desired output.  As
 usual, see the package documentation
@@ -10805,7 +11264,7 @@
      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
+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
@@ -10821,7 +11280,7 @@
    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
+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
@@ -10851,7 +11310,7 @@
 
 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
+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.::.
@@ -11004,16 +11463,16 @@
 the dots are followed by a binary operator or relation symbol, ‘\dotsi’
 for dots with integrals, or ‘\dotso’ for others.
 
-   The ‘\dots’ command from ‘amsmath’ differs from the LaTeX kernel’s
+   The ‘\dots’ command from ‘amsmath’ differs from the LaTeX kernel's
 ‘\dots’ command in another way: it outputs a thin space after the
 ellipsis.  Furthermore, the ‘unicode-math’ package automatically loads
-‘amsmath’, so ‘amsmath’’s ‘\dots’ may be active even when you did not
+‘amsmath’, so ‘amsmath’'s ‘\dots’ may be active even when you did not
 explicitly load it, thus changing the output from ‘\dots’ in both text
 and math mode.
 
    Yet more about the ellipsis commands: when running under Unicode
 engines (‘lualatex’, ‘xelatex’), LaTeX will use the Unicode ellipsis
-character (U+2026) in the font if it’s available; under traditional TeX
+character (U+2026) in the font if it's available; under traditional TeX
 engines (‘pdflatex’, ‘latex’), it will typeset three spaced periods.
 Generally, the Unicode single-character ellipsis has almost no space
 between the three periods, while the spacing of the non-Unicode ellipsis
@@ -11056,7 +11515,7 @@
 ψ, Ψ    ‘\psi’, ‘\Psi’         Psi
 ω, Ω    ‘\omega’, ‘\Omega’     Omega
 
-   For omicron, if you are using LaTeX’s default Computer Modern font
+   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’
@@ -11185,7 +11644,7 @@
 with ‘\lim’, ‘\sup’, or ‘\max’.
 
 
-File: latex2e.info,  Node: Math accents,  Next: Over- and Underlining,  Prev: Math functions,  Up: Math formulas
+File: latex2e.info,  Node: Math accents,  Next: Over- or under math,  Prev: Math functions,  Up: Math formulas
 
 16.4 Math accents
 =================
@@ -11237,36 +11696,38 @@
 use one without a dot, ‘\imath’ or ‘jmath’ (*note Math symbols::).
 
 
-File: latex2e.info,  Node: Over- and Underlining,  Next: Spacing in math mode,  Prev: Math accents,  Up: Math formulas
+File: latex2e.info,  Node: Over- or under math,  Next: Spacing in math mode,  Prev: Math accents,  Up: Math formulas
 
-16.5 Over- and Underlining
-==========================
+16.5 Over- or under math
+========================
 
-LaTeX provides commands for making overlines or underlines, or putting
-braces over or under some material.
+LaTeX provides commands for putting lines, braces, and arrows over or
+under math material.
 
-‘\underline{TEXT}’
-     Underline TEXT.  Works inside math mode, and outside.  The line is
+‘\underline{MATH}’
+     Underline MATH.  For example: ‘\underline{x+y}’.  The line is
      always completely below the text, taking account of descenders, so
      in ‘\(\underline{y}\)’ the line is lower than in
-     ‘\(\underline{x}\)’.  This command is fragile (*note \protect::).
+     ‘\(\underline{x}\)’.  As of approximately 2019, this command and
+     others in this section are robust; before that, they were fragile
+     (*note \protect::).
 
-     Note that the package ‘ulem’ does text mode underlining and allows
-     line breaking as well as a number of other features.  See the
-     documentation on CTAN. See also *note \hrulefill & \dotfill:: for
-     producing a line, for such things as a signature.
+     The package ‘ulem’ (<https://ctan.org/pkg/uelem>) does text mode
+     underlining and allows line breaking as well as a number of other
+     features.  See also *note \hrulefill & \dotfill:: for producing a
+     line for such things as a signature or placeholder.
 
-‘\overline{TEXT}’
-     Put a horizontal line over TEXT.  Works inside math mode, and
-     outside.  For example, ‘\overline{x+y}’.  Note that this differs
-     from the command ‘\bar’ (*note Math accents::).
+‘\overline{MATH}’
+     Put a horizontal line over MATH.  For example: ‘\overline{x+y}’.
+     This differs from the accent command ‘\bar’ (*note Math accents::).
 
 ‘\underbrace{MATH}’
-     Put a brace under MATH.  For example, this
-     ‘(1-\underbrace{1/2)+(1/2}-1/3)’ emphasizes the telescoping part.
-     Attach text to the brace by using the subscript command, ‘_’, or
-     superscript, ‘^’, as here.
+     Put a brace under MATH.  For example:
+     ‘(1-\underbrace{1/2)+(1/2}-1/3)’.
 
+     You can attach text to the brace as a subscript (‘_’) or
+     superscript (‘^’) as here:
+
           \begin{displaymath}
             1+1/2+\underbrace{1/3+1/4}_{>1/2}+
                  \underbrace{1/5+1/6+1/7+1/8}_{>1/2}+\cdots
@@ -11276,15 +11737,20 @@
      unconnected to the underbrace.
 
 ‘\overbrace{MATH}’
-     Put a brace over MATH, as with
-     ‘\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}’.  See also
-     ‘\underbrace’.
+     Put a brace over MATH.  For example:
+     ‘\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}’.
 
-   The package ‘mathtools’ adds an over- and underbrace, as well as some
-improvements on the braces.  See the documentation on CTAN.
+‘\overrightarrow{MATH}’
+     Put a right arrow over MATH.  For example: ‘\overrightarrow{x+y}’.
 
+‘\overleftarrow{MATH}’
+     Put a left arrow over MATH.  For example: ‘\overleftarrow{a+b}’.
+
+   The package ‘mathtools’ (<https://ctan.org/pkg/mathtools>) adds an
+over- and underbracket, as well as some improvements on the braces.
+
 
-File: latex2e.info,  Node: Spacing in math mode,  Next: Math styles,  Prev: Over- and Underlining,  Up: Math formulas
+File: latex2e.info,  Node: Spacing in math mode,  Next: Math styles,  Prev: Over- or under math,  Up: Math formulas
 
 16.6 Spacing in math mode
 =========================
@@ -11293,7 +11759,7 @@
 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 occasionally 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:
 
@@ -11417,15 +11883,15 @@
 \hphantom::).
 
    While most often used in mathematics, the ‘\smash’ command can appear
-in other contexts.  However, it doesn’t change into horizontal mode.  So
+in other contexts.  However, it doesn't change into horizontal mode.  So
 if it starts a paragraph then you should first put a ‘\leavevmode’, as
 in the bottom line below.
 
-     xxx xxx xxx
+     Text above.
 
-     \smash{yyy}  % no paragraph indent
+     \smash{smashed, no indent}  % no paragraph indent
 
-     \leavevmode\smash{zzz}  % usual paragraph indent
+     \leavevmode\smash{smashed, with indent}  % usual paragraph indent
 
    The package ‘mathtools’ has operators that provide even finer control
 over smashing a subformula box.
@@ -11492,7 +11958,7 @@
 command from the package ‘amsmath’.
 
    While most often used in mathematics, these three can appear in other
-contexts.  However, they don’t cause LaTeX to change into horizontal
+contexts.  However, they don't cause LaTeX to change into horizontal
 mode.  So if one of these starts a paragraph then you should prefix it
 with ‘\leavevmode’.
 
@@ -11527,12 +11993,12 @@
 16.7 Math styles
 ================
 
-TeX’s rules for typesetting a formula depend on the context.  For
+TeX's rules for typesetting a formula depend on the context.  For
 example, inside a displayed equation, the input ‘\sum_{0\leq
 i<n}k^m=\frac{n^{m+1}}{m+1}+\mbox{lower order terms}’ will give output
 with the summation index centered below the summation symbol.  But if
 that input is inline then the summation index is off to the right rather
-than below, so it won’t push the lines apart.  Similarly, in a displayed
+than below, so it won't push the lines apart.  Similarly, in a displayed
 context, the symbols in the numerator and denominator will be larger
 than for an inline context, and in display math subscripts and
 superscripts are further apart then they are in inline math.
@@ -11554,7 +12020,7 @@
 declaration of ‘\displaystyle’, or ‘\textstyle’, or ‘\scriptstyle’, or
 ‘\scriptscriptstyle’.
 
-   In this example, the ‘Arithmetic’ line’s fraction will look
+   In this example, the ‘Arithmetic’ line's fraction will look
 scrunched.
 
      \begin{tabular}{r|cc}
@@ -11565,7 +12031,7 @@
                         &$\displaystyle a\cdot\frac{1-b^n}{1-b}$  \\
      \end{tabular}
 
-But because of the ‘\displaystyle’ declaration, the ‘Geometric’ line’s
+But because of the ‘\displaystyle’ declaration, the ‘Geometric’ line's
 fraction will be easy to read, with characters the same size as in the
 rest of the line.
 
@@ -11599,7 +12065,7 @@
 ====================
 
 LaTeX contains a wide variety of mathematics facilities.  Here are some
-that don’t fit into other categories.
+that don't fit into other categories.
 
 * Menu:
 
@@ -11719,13 +12185,13 @@
 
      “LR mode” (for left-to-right mode; in plain TeX this is called
      “restricted horizontal mode”) is in effect when LaTeX starts making
-     a box with an ‘\mbox’ command.  As in paragraph mode, LaTeX’s
+     a box with an ‘\mbox’ command.  As in paragraph mode, LaTeX's
      output is a string of words with spaces between them.  Unlike in
      paragraph mode, in LR mode LaTeX never starts a new line, it just
      keeps going from left to right.  (Although LaTeX will not complain
      that the LR box is too long, when it is finished and next tries to
      put that box into a line, it might well complain that the finished
-     LR box won’t fit there.)
+     LR box won't fit there.)
 
    • “Math mode” is when LaTeX is generating an inline mathematical
      formula.
@@ -11808,6 +12274,7 @@
 * \pagenumbering::      Set the style used for page numbers.
 * \pagestyle::		Change the headings/footings style.
 * \thispagestyle::      Change the headings/footings style for this page.
+* \thepage::            Changing page number representation everywhere.
 
 
 File: latex2e.info,  Node: \maketitle,  Next: \pagenumbering,  Up: Page styles
@@ -11854,14 +12321,14 @@
 ‘\author{NAME1 \and NAME2 \and ...}’
      Required.  Declare the document author or authors.  The argument is
      a list of authors separated by ‘\and’ commands.  To separate lines
-     within a single author’s entry, for instance to give the author’s
+     within a single author's entry, for instance to give the author's
      institution or address, use a double backslash, ‘\\’.  If you omit
      the ‘\author’ declaration then you get ‘LaTeX Warning: No \author
      given’.
 
 ‘\date{TEXT}’
-     Optional.  Declare TEXT to be the document’s date.  The TEXT
-     doesn’t need to be in a date format; it can be any text at all.  If
+     Optional.  Declare TEXT to be the document's date.  The TEXT
+     doesn't need to be in a date format; it can be any text at all.  If
      you omit ‘\date’ then LaTeX uses the current date (*note \today::).
      To have no date, instead use ‘\date{}’.
 
@@ -11868,9 +12335,9 @@
 ‘\thanks{TEXT}’
      Optional.  Produce a footnote.  You can use it in the author
      information for acknowledgements as illustrated above, but you can
-     also use it in the title, or any place a footnote mark makes sense.
-     It can be any text at all so you can use it for any purpose, such
-     as to print an email address.
+     also use it in the title, or anywhere that a footnote mark makes
+     sense.  It can be any text at all so you can use it for any
+     purpose, such as to print an email address.
 
 ‘\title{TEXT}’
      Required.  Declare TEXT to be the title of the document.  Get line
@@ -11878,11 +12345,11 @@
      ‘\title’ declaration then the ‘\maketitle’ command yields error
      ‘LaTeX Error: No \title given’.
 
-   To make your own title page, see *note titlepage::.  You can either
+   To make your own title page, *note titlepage::.  You can either
 create this as a one-off or you can include it as part of a renewed
-‘\maketitle’ command.  (Many publishers will provide a class to use in
+‘\maketitle’ command.  Many publishers will provide a class to use in
 place of ‘article’ that formats the title according to their house
-requirements.)
+requirements.
 
 
 File: latex2e.info,  Node: \pagenumbering,  Next: \pagestyle,  Prev: \maketitle,  Up: Page styles
@@ -11900,15 +12367,8 @@
 so its effect is not stopped by an end of group such as a closing brace
 or an end of environment.
 
-   In this example, before the ‘Main’ section the pages are numbered
-‘a’, etc.  Starting on the page containing the ‘\pagenumbering’ call in
-that section, the pages are numbered ‘1’, etc.
+   By default, LaTeX numbers pages starting at 1, using Arabic numerals.
 
-     \begin{document}\pagenumbering{alph}
-       ...
-     \section{Main}\pagenumbering{arabic}
-       ...
-
    The argument NUMBER-STYLE is one of the following (see also *note
 \alph \Alph \arabic \roman \Roman \fnsymbol::).
 
@@ -11930,21 +12390,36 @@
      you get ‘LaTeX Error: Counter too large’.
 
 ‘gobble’
-     LaTeX does not output a page number, although it does get reset.
-     References to that page also are blank.  (This does not work with
-     the popular package ‘hyperref’ so to have the page number not
-     appear you may want to instead use ‘\pagestyle{empty}’ or
-     ‘\thispagestyle{empty}’.)
+     no page number is output, though the number is still reset.
+     References to that page also are blank.
 
-   Traditionally, if a document has front matter—preface, table of
-contents, etc.—then it is numbered with lowercase Roman numerals.  The
-main matter of a document uses arabic.  *Note \frontmatter & \mainmatter
-& \backmatter::.
+     This setting does not work with the popular package ‘hyperref’, so
+     to omit page numbers you may want to instead use
+     ‘\pagestyle{empty}’ or ‘\thispagestyle{empty}’.
 
-   If you want to change where the page number appears on the page,
-see *note \pagestyle::.  If you want to change the value of the page
-number, then you manipulate the ‘page’ counter (*note Counters::).
+   If you want to typeset the page number in some other way, or change
+where the page number appears on the page, see *note \pagestyle:: (in
+short: use the ‘fancyhdr’ package).  The list above of LaTeX's built-in
+numbering styles cannot be extended.
 
+   Traditionally, if a document has front matter--preface, table of
+contents, etc.--then it is numbered with lowercase Roman numerals.  The
+main matter of a document uses arabic.  LaTeX implements this, by
+providing explicit commands for the different parts (*note \frontmatter
+& \mainmatter & \backmatter::).
+
+   As an explicit example, before the ‘Main’ section the pages are
+numbered ‘a’, etc.  Starting on the page containing the ‘\pagenumbering’
+call in that section, the pages are numbered ‘1’, etc.
+
+     \begin{document}\pagenumbering{alph}
+       ...
+     \section{Main}\pagenumbering{arabic}
+       ...
+
+   If you want to change the value of the page number, then you
+manipulate the ‘page’ counter (*note Counters::).
+
 
 File: latex2e.info,  Node: \pagestyle,  Next: \thispagestyle,  Prev: \pagenumbering,  Up: Page styles
 
@@ -11958,10 +12433,11 @@
    Declaration that specifies how the page headers and footers are
 typeset, from the current page onwards.
 
-   A discussion with an example is below.  Note first that the package
+   A discussion with an example is below.  First, however: the package
 ‘fancyhdr’ is now the standard way to manipulate headers and footers.
 New documents that need to do anything other than one of the standard
-options below should use this package.  See its documentation on CTAN.
+options below should use this package.  See its documentation
+(<https://ctan.org/pkg/fancyhdr>).
 
    Values for STYLE:
 
@@ -11980,10 +12456,10 @@
      Custom headers, specified via the ‘\markboth’ or the ‘\markright’
      commands.
 
-   Some discussion of the motivation for LaTeX’s mechanism will help you
+   Some discussion of the motivation for LaTeX's mechanism will help you
 work with the options ‘headings’ or ‘myheadings’.  The document source
 below produces an article, two-sided, with the pagestyle ‘headings’.  On
-this document’s left hand pages, LaTeX wants (in addition to the page
+this document's left hand pages, LaTeX wants (in addition to the page
 number) the title of the current section.  On its right hand pages LaTeX
 wants the title of the current subsection.  When it makes up a page,
 LaTeX gets this information from the commands ‘\leftmark’ and
@@ -12034,7 +12510,7 @@
      Sets the right hand page heading, leaving the left unchanged.
 
 
-File: latex2e.info,  Node: \thispagestyle,  Prev: \pagestyle,  Up: Page styles
+File: latex2e.info,  Node: \thispagestyle,  Next: \thepage,  Prev: \pagestyle,  Up: Page styles
 
 18.4 ‘\thispagestyle’
 =====================
@@ -12065,6 +12541,32 @@
 immediately follows the second ‘\chapter’.
 
 
+File: latex2e.info,  Node: \thepage,  Prev: \thispagestyle,  Up: Page styles
+
+18.5 ‘\thepage’
+===============
+
+If you want to change the appearance of page numbers only in the page
+headers, for example by adding an ornament, typesetting in small caps,
+etc., then the ‘fancyhdr’ package, as mentioned in a previous section,
+is the best approach.
+
+   On the other hand, you may want to change how page numbers are
+denoted everywhere, including the table of contents and
+cross-references, as well as the page headers.  In this case, you should
+redefine ‘\thepage’, which is the command LaTeX uses for the
+representation of page numbers.
+
+   However, ‘\thepage’ should do any typesetting or other complicated
+maneuvers, but merely expand to the intended page number representation.
+The results of a complicated redefinition of ‘\thepage’ are not
+predictable, but LaTeX's report of page numbers in diagnostic messages,
+at least, will become unusable.
+
+   There is some discussion of this issue at
+<https://tex.stackexchange.com/questions/687258>.
+
+
 File: latex2e.info,  Node: Spaces,  Next: Boxes,  Prev: Page styles,  Up: Top
 
 19 Spaces
@@ -12148,8 +12650,8 @@
      \noindent\makebox[\linewidth][r]{Name:\hspace{1in}}
 
    The ‘*’-form inserts horizontal space that is non-discardable.  More
-precisely, when TeX breaks a paragraph into lines any white space—glues
-and kerns—that come at a line break are discarded.  The ‘*’-form avoids
+precisely, when TeX breaks a paragraph into lines any white space--glues
+and kerns--that come at a line break are discarded.  The ‘*’-form avoids
 that (technically, it adds a non-discardable invisible item in front of
 the space).
 
@@ -12173,7 +12675,7 @@
      \end{center}
 
 Because the argument to each ‘\hspace’ has ‘minus 0.25cm’, each can
-shrink a little if the three figures are too wide.  But each space won’t
+shrink a little if the three figures are too wide.  But each space won't
 shrink more than 0.25cm (*note Lengths::).
 
 
@@ -12210,7 +12712,7 @@
        \caption{Comparison of two graphs} \label{fig:twographs}
      \end{figure}
 
-Note the ‘\hspace*’’s where the space could otherwise be dropped.
+Note the ‘\hspace*’'s where the space could otherwise be dropped.
 
 
 File: latex2e.info,  Node: \hss,  Next: \spacefactor,  Prev: \hfill,  Up: Spaces
@@ -12227,7 +12729,7 @@
 should reach first for the ‘\makebox’ command to get the effects of
 ‘\hss’ (*note \mbox & \makebox::).
 
-   Here, the first line’s ‘\hss’ makes the Z stick out to the right,
+   Here, the first line's ‘\hss’ makes the Z stick out to the right,
 overwriting the Y. In the second line the Z sticks out to the left,
 overwriting the X.
 
@@ -12247,13 +12749,13 @@
 
      \spacefactor=INTEGER
 
-   Influence LaTeX’s glue stretch and shrink behavior.  Most user-level
-documents do not use this command.
+   Influence LaTeX's stretching and shrinking of glue.  Few user-level
+documents need to use this.
 
    While LaTeX is laying out the material, it may stretch or shrink the
 gaps between words.  (This space is not a character; it is called the
-“interword glue”; *note \hspace::).  The ‘\spacefactor’ command (from
-Plain TeX) allows you to, for instance, have the space after a period
+“interword glue”; *note \hspace::).  The ‘\spacefactor’ parameter (a TeX
+primitive) allows you to, for instance, have the space after a period
 stretch more than the space after a word-ending letter.
 
    After LaTeX places each character, or rule or other box, it sets a
@@ -12263,24 +12765,25 @@
 the glue can stretch more and shrink less.  Normally, the space factor
 is 1000.  This value is in effect following most characters, and any
 non-character box or math formula.  But it is 3000 after a period,
-exclamation mark, or question mark, it is 2000 after a colon, 1500 after
-a semicolon, 1250 after a comma, and 0 after a right parenthesis or
+exclamation mark, or question mark, 2000 after a colon, 1500 after a
+semicolon, 1250 after a comma, and 0 after a right parenthesis or
 bracket, or closing double quote or single quote.  Finally, it is 999
 after a capital letter.
 
-   If the space factor F is 1000 then the glue gap will be the font’s
+   If the space factor F is 1000 then the glue gap will be the font's
 normal space value (for Computer Modern Roman 10 point this is
-3.3333 points).  Otherwise, if the space factor F is greater than 2000
-then TeX adds the font’s extra space value (for Computer Modern Roman 10
-point this is 1.11111 points), and then the font’s normal stretch value
-is multiplied by f /1000 and the normal shrink value is multiplied by
+3.3333pt).  Otherwise, if the space factor F is greater than 2000 then
+TeX adds the font's extra space value (for Computer Modern Roman 10
+point this is 1.11111pt), and then the font's normal stretch value is
+multiplied by f /1000 and the normal shrink value is multiplied by
 1000/f (for Computer Modern Roman 10 point these are 1.66666 and
-1.11111 points).
+1.11111pt).
 
    For example, consider the period ending ‘A man's best friend is his
-dog.’ After it, TeX puts in a fixed extra space, and also allows the
+dog.’.  After it, TeX puts in a fixed extra space, and also allows the
 glue to stretch 3 times as much and shrink 1/3 as much, as the glue
-after ‘friend’, which does not end in a period.
+after ‘friend’ or any of the other words, since they are not followed by
+punctuation.
 
    The rules for space factors are even more complex because they play
 additional roles.  In practice, there are two consequences.  First, if a
@@ -12288,19 +12791,19 @@
 bracket, or right single or double quote then the spacing effect of that
 period carries through those characters (that is, the following glue
 will have increased stretch and shrink).  Second, if punctuation comes
-after a capital letter then its effect is not in place so you get an
-ordinary space.  This second case also affects abbreviations that do not
-end in a capital letter (*note \@::).
+after a capital letter then the normal effect of the period is does not
+happen, so you get an ordinary space.  This second case also affects
+abbreviations that do not end in a capital letter (*note \@::).
 
    You can only use ‘\spacefactor’ in paragraph mode or LR mode (*note
 Modes::).  You can see the current value with ‘\the\spacefactor’ or
 ‘\showthe\spacefactor’.
 
-   (Comment, not really related to ‘\spacefactor’: if you get errors
-like ‘You can't use `\spacefactor' in vertical mode’, or ‘You can't use
-`\spacefactor' in math mode.’, or ‘Improper \spacefactor’ then you have
-probably tried to redefine an internal command.  *Note \makeatletter &
-\makeatother::.)
+   Finally, not especially related to ‘\spacefactor’ itself: if you get
+errors like ‘You can't use `\spacefactor' in vertical mode’, or ‘You
+can't use `\spacefactor' in math mode.’, or ‘Improper \spacefactor’ then
+you have probably tried to redefine an internal command.  *Note
+\makeatletter & \makeatother::.
 
 * Menu:
 
@@ -12318,22 +12821,19 @@
 
      CAPITAL-LETTER\@.
 
-   Treat a period as sentence-ending, where LaTeX would otherwise think
-it is part of an abbreviation.  LaTeX thinks that a period ends an
-abbreviation if the period comes after a capital letter, and otherwise
-thinks the period ends the sentence.  By default, in justifying a line
-LaTeX adjusts the space after a sentence-ending period (or a question
-mark, exclamation point, comma, or colon) more than it adjusts the space
-between words (*note \spacefactor::).
+   Treat a period (or other punctuation) as sentence-ending, where LaTeX
+would otherwise think it is part of an abbreviation.  LaTeX thinks that
+a period ends an abbreviation if the period comes after a capital
+letter, and otherwise thinks the period ends the sentence.
 
    This example shows the two cases to remember.
 
      The songs \textit{Red Guitar}, etc.\ are by Loudon Wainwright~III\@.
 
-The second period ends the sentence, despite that it is preceded by a
-capital.  We tell LaTeX that it ends the sentence by putting ‘\@’ before
-it.  The first period ends the abbreviation ‘etc.’ but not the sentence.
-The backslash-space, ‘\ ’, produces a mid-sentence space.
+The first period ends the abbreviation ‘etc.’ but not the sentence.  The
+backslash-space, ‘\ ’, produces a mid-sentence space.  The second period
+ends the sentence, despite it being preceded by a capital letter.  We
+tell LaTeX that it ends the sentence by putting ‘\@’ before it.
 
    So: if you have a capital letter followed by a period that ends the
 sentence, then put ‘\@’ before the period.  This holds even if there is
@@ -12346,16 +12846,22 @@
 
 will have correct inter-sentence spacing after the period.
 
-   The ‘\@’ command is only for a text mode.  If you use it outside of a
-text mode then you get ‘You can't use `\spacefactor' in vertical mode’
-(*note Modes::).
+   The ‘\@’ command is only for text modes.  If you use it outside of a
+text mode then you get the error ‘You can't use `\spacefactor' in
+vertical mode’ (*note Modes::).
 
-   Comment: the converse case is a period ending an abbreviation whose
-last letter is not a capital letter, and that abbreviation is not the
-last word in the sentence.  For that case follow the period with a
+   All the above applies equally to question marks and exclamation
+points as periods, since all are sentence-ending punctuation, and LaTeX
+increases the space after each in the same way, when they end a
+sentence.  LaTeX also increases spacing after colon, semicolon, and
+comma characters (*note \spacefactor::).
+
+   In addition: the converse case is a period (or other punctuation)
+that does not end a sentence.  For that case, follow the period with a
 backslash-space, (‘\ ’), or a tie, (‘~’), or ‘\@’.  Examples are ‘Nat.\
 Acad.\ Science’, and ‘Mr.~Bean’, and ‘(manure, etc.\@) for sale’ (note
-in the last one that the ‘\@’ comes before the closing parenthesis).
+in the last one that the ‘\@’ comes after the period but before the
+closing parenthesis).
 
 
 File: latex2e.info,  Node: \frenchspacing & \nonfrenchspacing,  Next: \normalsfcodes,  Prev: \@,  Up: \spacefactor
@@ -12368,19 +12874,22 @@
      \frenchspacing
      \nonfrenchspacing
 
-   The first declaration causes LaTeX to handle spacing between
-sentences in the same way as spacing between words in the middle of a
-sentence.  The second switches back to the default handling in which
-spacing between sentences stretches or shrinks more (*note
-\spacefactor::).
+   ‘\frenchspacing’ causes LaTeX to make spacing after all punctuation,
+including periods, be the same as the space between words in the middle
+of a sentence.  ‘\nonfrenchspacing’ switches back to the default
+handling in which spacing after most punctuation stretches or shrinks
+differently than a word space (*note \spacefactor::).
 
-   Some typographic traditions, including English, prefer to adjust the
-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
-treated equally.
+   In American English, the typesetting tradition is to adjust,
+typically increasing, the space after punctuation more than the space
+between words that are in the middle of a sentence.  Declaring
+‘\frenchspacing’ (the command is inherited from plain TeX) switches to
+the tradition that all spaces are treated equally.
 
+   If your LaTeX document specifies the language being used, for example
+with the ‘babel’ package, the necessary settings should be taken care of
+for you.
+
 
 File: latex2e.info,  Node: \normalsfcodes,  Prev: \frenchspacing & \nonfrenchspacing,  Up: \spacefactor
 
@@ -12401,16 +12910,15 @@
 ==========================
 
 This section refers to the command consisting of two characters, a
-backslash followed by a space.
-Synopsis:
+backslash followed by a space.  Synopsis:
 
-     \ 
+     \
 
    Produce a space.  By default it produces white space of length
 3.33333pt plus 1.66666pt minus 1.11111pt.
 
-   When you type one or more blanks between words, LaTeX produces white
-space.  But that is different than an explicit space.  This illustrates.
+   When you type one or more blanks between words, LaTeX produces
+whitespace that is different than an explicit space.  This illustrates:
 
      \begin{tabular}{rl}
      One blank:& makes some space \\
@@ -12441,9 +12949,9 @@
    Under normal circumstances, ‘\’<TAB> and ‘\’<NEWLINE> are equivalent
 to backslash-space, ‘\ ’.
 
-   Please also note that in order to allow source code indentation,
-under normal circumstances, TeX ignores leading blanks in a line.  So
-the following prints ‘one word’:
+   In order to allow source code indentation, under normal
+circumstances, TeX ignores leading blanks in a line.  So the following
+prints ‘one word’:
 
      one
       word
@@ -12454,8 +12962,8 @@
 
 File: latex2e.info,  Node: ~,  Next: \thinspace & \negthinspace,  Prev: \(SPACE),  Up: Spaces
 
-19.7 ‘~’
-========
+19.7 ‘~’, ‘\nobreakspace’
+=========================
 
 Synopsis:
 
@@ -12463,11 +12971,13 @@
 
    The “tie” character, ‘~’, produces a space between BEFORE and AFTER
 at which the line will not be broken.  By default the white space has
-length 3.33333pt plus 1.66666pt minus 1.11111pt (*note Lengths::).
+length 3.33333pt plus 1.66666pt minus 1.11111pt (*note Lengths::).  The
+command ‘\nobreakspace’ and the Unicode input character U+00A0 (also in
+many 8-bit encodings) are synonyms.
 
    Note that the word ‘tie’ has this meaning in the TeX/Texinfo
-community; this differs from the typographic term “tie”, which is a
-diacritic in the shape of an arc, called a “tie-after” accent in ‘The
+community; this differs from the typographic term "tie", which is a
+diacritic in the shape of an arc, called a "tie-after" accent in ‘The
 TeXbook’.
 
    Here LaTeX will not break the line between the final two words:
@@ -12477,14 +12987,14 @@
 In addition, despite the period, LaTeX does not use the end-of-sentence
 spacing (*note \@::).
 
-   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 ‘\mbox’ (*note \mbox & \makebox::).
+   Ties prevent a line break 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 ‘\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’.
+   Exactly where ties should be used is something of a matter of taste,
+sometimes alarmingly dogmatic taste, among readers.  Nevertheless, here
+are some usage models, many of them from ‘The TeXbook’.
 
    • Between an enumerator label and number, such as in references:
      ‘Chapter~12’, or ‘Theorem~\ref{th:Wilsons}’, or
@@ -12514,8 +13024,8 @@
    • Between symbols in series: ‘$1$,~$2$, or~$3$’ or ‘$1$,~$2$,
      \ldots,~$n$’.
 
-   • Between a person’s given names and between multiple surnames:
-     ‘Donald~E. Knuth’, or ‘Luis~I. Trabb~Pardo’, or ‘Charles~XII’—but
+   • 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’.
 
@@ -12574,7 +13084,7 @@
 
 because the italic letter f leans far to the right.
 
-   If AFTER-CHARACTER is a period or comma then don’t insert an italic
+   If AFTER-CHARACTER is a period or comma then don't insert an 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
@@ -12624,10 +13134,10 @@
 
      \noindent John Aubrey, RN \dotfill{} Melbury Lodge
 
-   To make the rule or dots go to the line’s end use ‘\null’ at the
+   To make the rule or dots go to the line's end use ‘\null’ at the
 start or end.
 
-   To change the rule’s thickness, copy the definition and adjust it, as
+   To change the rule's thickness, copy the definition and adjust it, as
 here
 
      \renewcommand{\hrulefill}{%
@@ -12667,7 +13177,7 @@
 These commands are fragile (*note \protect::).
 
    Here the skip suggests the passage of time (from The Golden Ocean by
-O’Brian).
+O'Brian).
 
      Mr Saumarez would have something rude to say to him, no doubt: he
      was at home again, and it was delightful.
@@ -12756,7 +13266,7 @@
 
    This example has four lists.  In the first there is a much bigger gap
 between items 2 and 3 than there is between items 1 and 2.  The second
-list fixes that with a ‘\strut’ at the end of its first item’s second
+list fixes that with a ‘\strut’ at the end of its first item's second
 line.
 
      \setlength{\fboxsep}{0pt}
@@ -12789,7 +13299,7 @@
      \end{enumerate}
      \end{minipage}%
 
-The final two lists use ‘\fbox’ to show what’s happening.  The first
+The final two lists use ‘\fbox’ to show what's happening.  The first
 item ‘\parbox’ of the third list goes only to the bottom of its second
 ‘test’, which happens not have any characters that descend below the
 baseline.  The fourth list adds the strut that gives the needed extra
@@ -12798,7 +13308,7 @@
    The ‘\strut’ command is often useful in graphics, such as in ‘TikZ’
 or ‘Asymptote’.  For instance, you may have a command such as
 ‘\graphnode{NODE-NAME}’ that fits a circle around NODE-NAME.  However,
-unless you are careful the NODE-NAME’s ‘x’ and ‘y’ will produce
+unless you are careful the NODE-NAME's ‘x’ and ‘y’ will produce
 different-diameter circles because the characters are different sizes.
 A careful ‘\graphnode’ might insert a ‘\strut’, then NODE-NAME, and then
 draw the circle.
@@ -12816,7 +13326,7 @@
      \end{tabular}
 
 (Although the line-ending double backslash command has an available
-optional argument to change the corresponding baseline skip, that won’t
+optional argument to change the corresponding baseline skip, that won't
 solve this issue.  Changing the first double backslash to something like
 ‘\\[2.5ex]’ will put more room between the header line and the ‘\hline’
 rule, and the integral would still hit the rule.)
@@ -12833,7 +13343,7 @@
      \vspace*{LENGTH}
 
    Add the vertical space LENGTH.  The LENGTH can be positive, negative,
-or zero.  It is a rubber length—it may contain a ‘plus’ or ‘minus’
+or zero.  It is a rubber length--it may contain a ‘plus’ or ‘minus’
 component (*note Lengths::).
 
    This puts space between the two paragraphs.
@@ -12918,9 +13428,9 @@
      \addvspace{VERT-LENGTH}
 
    Add a vertical space of VERT-LENGTH.  However, if there are two or
-more ‘\addvspace’’s in a sequence then together they only add the space
+more ‘\addvspace’'s in a sequence then together they only add the space
 needed to make the natural length equal to the maximum of the
-VERT-LENGTH’s in that sequence.  This command is fragile (*note
+VERT-LENGTH's in that sequence.  This command is fragile (*note
 \protect::).  The VERT-LENGTH is a rubber length (*note Lengths::).
 
    This example illustrates.  The ‘picture’ draws a scale over which to
@@ -12944,14 +13454,14 @@
 
 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 that
-multiple vertical spaces do not accumulate, but instead that only the
-largest one is used.
+‘\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.
 
    LaTeX uses this command to adjust the vertical space above or below
 an environment that starts a new paragraph.  For instance, a ‘theorem’
 environment begins and ends with ‘\addvspace’ so that two consecutive
-‘theorem’’s are separated by one vertical space, not two.
+‘theorem’'s are separated by one vertical space, not two.
 
    A error ‘Something's wrong--perhaps a missing \item’ pointing to an
 ‘\addvspace’ means that you were not in vertical mode when you hit this
@@ -12959,7 +13469,7 @@
 ‘\par’ command (*note \par::), as in the above example.
 
 
-File: latex2e.info,  Node: Boxes,  Next: Color,  Prev: Spaces,  Up: Top
+File: latex2e.info,  Node: Boxes,  Next: Graphics,  Prev: Spaces,  Up: Top
 
 20 Boxes
 ********
@@ -13005,12 +13515,12 @@
 
    The first two command invocations shown, ‘\mbox’ and ‘\makebox’, are
 roughly the same.  They create a box just wide enough to contain the
-TEXT.  (They are like plain TeX’s ‘\hbox’.)
+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
 width of the box.  For one thing, TEXT can be too small; this creates a
-full-line box
+full-line box:
 
      \makebox[\linewidth]{Chapter Exam}
 
@@ -13019,7 +13529,7 @@
 
    In the WIDTH argument you can use the following lengths that refer to
 the dimension of the box that LaTeX gets on typesetting TEXT: ‘\depth’,
-‘\height’, ‘\width’, ‘\totalheight’ (this is the box’s height plus its
+‘\height’, ‘\width’, ‘\totalheight’ (this is the box's height plus its
 depth).  For example, to make a box with the text stretched to double
 the natural size you can say this.
 
@@ -13139,7 +13649,7 @@
    *Note Colored boxes::, for colors other than black and white.
 
    The ‘picture’ environment has a version of the ‘\framebox’ command
-where the units depend on ‘picture’’s ‘\unitlength’ (*note \framebox
+where the units depend on ‘picture’'s ‘\unitlength’ (*note \framebox
 (picture)::).
 
 
@@ -13167,7 +13677,7 @@
      \end{picture}
 
    The CONTENTS are processed in a text mode (*note Modes::) so LaTeX
-will break lines to make a paragraph.  But it won’t make multiple
+will break lines to make a paragraph.  But it won't make multiple
 paragraphs; for that, use a ‘minipage’ environment (*note minipage::).
 
    The options for ‘\parbox’ (except for CONTENTS) are the same as those
@@ -13228,7 +13738,7 @@
    In the arguments DISTANCE, HEIGHT, and DEPTH you can use the
 following lengths that refer to the dimension of the box that LaTeX gets
 on typesetting TEXT: ‘\depth’, ‘\height’, ‘\width’, ‘\totalheight’ (this
-is the box’s height plus its depth).
+is the box's height plus its depth).
 
    This will align two graphics on their top (*note Graphics::).
 
@@ -13287,7 +13797,7 @@
 
    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
+LaTeX doesn't give you an error but it ignores what you want: if you
 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.
@@ -13304,7 +13814,7 @@
        ...
      \usebox{\areg}
 
-   As an example of the efficiency of reusing a register’s contents,
+   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.
 
@@ -13377,302 +13887,9 @@
 robust (*note \protect::).
 
 
-File: latex2e.info,  Node: Color,  Next: Graphics,  Prev: Boxes,  Up: Top
+File: latex2e.info,  Node: Graphics,  Next: Color,  Prev: Boxes,  Up: Top
 
-21 Color
-********
-
-You can add color to text, rules, etc.  You can also have color in a box
-or on an entire page and write text on top of it.
-
-   Color support comes as an additional package.  So put
-‘\usepackage{color}’ in your document preamble to use the commands
-described here.
-
-   Many other packages also supplement LaTeX’s color abilities.
-Particularly worth mentioning is ‘xcolor’, which is widely used and
-significantly extends the capabilities described here, including adding
-‘HTML’ and ‘Hsb’ color models.
-
-* Menu:
-
-* Color package options::       Options when you load the standard package.
-* Color models::                How colors are represented.
-* Commands for color::          The available commands.
-
-
-File: latex2e.info,  Node: Color package options,  Next: Color models,  Up: Color
-
-21.1 ‘color’ package options
-============================
-
-Synopsis (must be in the document preamble):
-
-     \usepackage[COMMA-SEPARATED OPTION LIST]{color}
-
-   When you load the ‘color’ package there are two kinds of available
-options.
-
-   The first specifies the “printer driver”.  LaTeX doesn’t contain
-information about different output systems but instead depends on
-information stored in a file.  Normally you should not specify the
-driver option in the document, and instead rely on your system’s
-default.  One advantage of this is that it makes the document portable
-across systems.  For completeness we include a list of the drivers.  The
-currently relevant ones are: ‘dvipdfmx’, ‘dvips’, ‘dvisvgm’, ‘luatex’,
-‘pdftex’, ‘xetex’.  The two ‘xdvi’ and ‘oztex’ are essentially aliases
-for ‘dvips’ (and ‘xdvi’ is monochrome).  Ones that should not be used
-for new systems are: ‘dvipdf’, ‘dvipdfm’, ‘dviwin’, ‘dvipsone’, ‘emtex’,
-‘pctexps’, ‘pctexwin’, ‘pctexhp’, ‘pctex32’, ‘truetex’, ‘tcidvi’, ‘vtex’
-(and ‘dviwindo’ is an alias for ‘dvipsone’).
-
-   The second kind of options, beyond the drivers, are below.
-
-‘monochrome’
-     Disable the color commands, so that they do not generate errors but
-     do not generate color either.
-
-‘dvipsnames’
-     Make available a list of 68 color names that are often used,
-     particularly in legacy documents.  These color names were
-     originally provided by the ‘dvips’ driver, giving the option name.
-
-‘nodvipsnames’
-     Do not load that list of color names, saving LaTeX a tiny amount of
-     memory space.
-
-
-File: latex2e.info,  Node: Color models,  Next: Commands for color,  Prev: Color package options,  Up: Color
-
-21.2 Color models
-=================
-
-A “color model” is a way of representing colors.  LaTeX’s capabilities
-depend on the printer driver.  However, the ‘pdftex’, ‘xetex’, and
-‘luatex’ printer drivers are today by far the most commonly used.  The
-models below work for those drivers.  All but one of these is also
-supported by essentially all other printer drivers used today.
-
-   Note that color combination can be additive or subtractive.  Additive
-mixes colors of light, so that for instance combining full intensities
-of red, green, and blue produces white.  Subtractive mixes pigments,
-such as with inks, so that combining full intensity of cyan, magenta,
-and yellow makes black.
-
-‘cmyk’
-     A comma-separated list with four real numbers between 0 and 1,
-     inclusive.  The first number is the intensity of cyan, the second
-     is magenta, and the others are yellow and black.  A number value of
-     0 means minimal intensity, while a 1 is for full intensity.  This
-     model is often used in color printing.  It is a subtractive model.
-
-‘gray’
-     A single real number between 0 and 1, inclusive.  The colors are
-     shades of grey.  The number 0 produces black while 1 gives white.
-
-‘rgb’
-     A comma-separated list with three real numbers between 0 and 1,
-     inclusive.  The first number is the intensity of the red component,
-     the second is green, and the third the blue.  A number value of 0
-     means that none of that component is added in, while a 1 means full
-     intensity.  This is an additive model.
-
-‘RGB’
-     (‘pdftex’, ‘xetex’, ‘luatex’ drivers) A comma-separated list with
-     three integers between 0 and 255, inclusive.  This model is a
-     convenience for using ‘rgb’ since outside of LaTeX colors are often
-     described in a red-green-blue model using numbers in this range.
-     The values entered here are converted to the ‘rgb’ model by
-     dividing by 255.
-
-‘named’
-     Colors are accessed by name, such as ‘PrussianBlue’.  The list of
-     names depends on the driver, but all support the names ‘black’,
-     ‘blue’, ‘cyan’, ‘green’, ‘magenta’, ‘red’, ‘white’, and ‘yellow’
-     (See the ‘dvipsnames’ option in *note Color package options::).
-
-
-File: latex2e.info,  Node: Commands for color,  Prev: Color models,  Up: Color
-
-21.3 Commands for color
-=======================
-
-These are the commands available with the ‘color’ package.
-
-* Menu:
-
-* Define colors::            Give a color a name.
-* Colored text::             Text or rules in color.
-* Colored boxes::            A box of color, to write over.
-* Colored pages::            A whole page colored.
-
-
-File: latex2e.info,  Node: Define colors,  Next: Colored text,  Up: Commands for color
-
-21.3.1 Define colors
---------------------
-
-Synopsis:
-
-     \definecolor{NAME}{MODEL}{SPECIFICATION}
-
-   Give the name NAME to the color.  For example, after this
-
-     \definecolor{silver}{rgb}{0.75,0.75,0.74}
-
-you can use that color name with ‘Hi ho, \textcolor{silver}{Silver}!’.
-
-   This example gives the color a more abstract name, so it could change
-and not be misleading.
-
-     \definecolor{logocolor}{RGB}{145,92,131}    % RGB needs pdflatex
-     \newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
-
-   Often a document’s colors are defined in the preamble, or in the
-class or style, rather than in the document body.
-
-
-File: latex2e.info,  Node: Colored text,  Next: Colored boxes,  Prev: Define colors,  Up: Commands for color
-
-21.3.2 Colored text
--------------------
-
-Synopses:
-
-     \textcolor{NAME}{...}
-     \textcolor[COLOR MODEL]{COLOR SPECIFICATION}{...}
-
-or
-
-     \color{NAME}
-     \color[COLOR MODEL]{COLOR SPECIFICATION}
-
-   The affected text gets the color.  This line
-
-     \textcolor{magenta}{My name is Ozymandias, King of Kings;}
-     Look on my works, ye Mighty, and despair!
-
-causes the first half to be in magenta while the rest is in black.  You
-can use a color declared with ‘\definecolor’ in exactly the same way
-that we just used the builtin color ‘magenta’.
-
-     \definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0}
-     I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}.
-
-   The two ‘\textcolor’ and ‘\color’ differ in that the first is a
-command form, enclosing the text to be colored as an argument.  Often
-this form is more convenient, or at least more explicit.  The second
-form is a declaration, as in ‘The moon is made of {\color{green} green}
-cheese’, so it is in effect until the end of the current group or
-environment.  This is sometimes useful when writing macros or as below
-where it colors everything inside the ‘center’ environment, including
-the vertical and horizontal lines.
-
-     \begin{center} \color{blue}
-       \begin{tabular}{l|r}
-         UL &UR \\ \hline
-         LL &LR
-       \end{tabular}
-     \end{center}
-
-   You can use color in equations.  A document might have this
-definition in the preamble
-
-     \definecolor{highlightcolor}{RGB}{225,15,0}
-
-and then contain this equation.
-
-     \begin{equation}
-       \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a)
-     \end{equation}
-
-   Typically the colors used in a document are declared in a class or
-style but sometimes you want a one-off.  Those are the second forms in
-the synopses.
-
-     Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
-     {\color[rgb]{0.72,0.60,0.37}Gold} for the team.
-
-   The format of COLOR SPECIFICATION depends on the color model (*note
-Color models::).  For instance, while ‘rgb’ takes three numbers, ‘gray’
-takes only one.
-
-     The selection was \textcolor[gray]{0.5}{grayed out}.
-
-   Colors inside colors do not combine.  Thus
-
-     \textcolor{green}{kind of \textcolor{blue}{blue}}
-
-has a final word that is blue, not a combination of blue and green.
-
-
-File: latex2e.info,  Node: Colored boxes,  Next: Colored pages,  Prev: Colored text,  Up: Commands for color
-
-21.3.3 Colored boxes
---------------------
-
-Synopses:
-
-     \colorbox{NAME}{...}
-     \colorbox[MODEL NAME]{BOX BACKGROUND COLOR}{...}
-
-or
-
-     \fcolorbox{FRAME COLOR}{BOX BACKGROUND COLOR}{...}
-     \fcolorbox[MODEL NAME]{FRAME COLOR}{BOX BACKGROUND COLOR}{...}
-
-   Make a box with the stated background color.  The ‘\fcolorbox’
-command puts a frame around the box.  For instance this
-
-     Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}}
-
-makes a cyan-colored box that is five centimeters long and gets its
-depth and height from the ‘\strut’ (so the depth is ‘-.3\baselineskip’
-and the height is ‘\baselineskip’).  This puts white text on a blue
-background.
-
-     \colorbox{blue}{\textcolor{white}{Welcome to the machine.}}
-
-   The ‘\fcolorbox’ commands use the same parameters as ‘\fbox’ (*note
-\fbox & \framebox::), ‘\fboxrule’ and ‘\fboxsep’, to set the thickness
-of the rule and the boundary between the box interior and the
-surrounding rule.  LaTeX’s defaults are ‘0.4pt’ and ‘3pt’, respectively.
-
-   This example changes the thickness of the border to 0.8 points.  Note
-that it is surrounded by curly braces so that the change ends at the end
-of the second line.
-
-     {\setlength{\fboxrule}{0.8pt}
-     \fcolorbox{black}{red}{Under no circumstances turn this knob.}}
-
-
-File: latex2e.info,  Node: Colored pages,  Prev: Colored boxes,  Up: Commands for color
-
-21.3.4 Colored pages
---------------------
-
-Synopses:
-
-     \pagecolor{NAME}
-     \pagecolor[COLOR MODEL]{COLOR SPECIFICATION}
-     \nopagecolor
-
-   The first two set the background of the page, and all subsequent
-pages, to the color.  For an explanation of the specification in the
-second form *note Colored text::.  The third returns the background to
-normal, which is a transparent background.  (If that is not supported
-use ‘\pagecolor{white}’, although that will make a white background
-rather than the default transparent background.)
-
-      ...
-     \pagecolor{cyan}
-      ...
-     \nopagecolor
-
-
-File: latex2e.info,  Node: Graphics,  Next: Special insertions,  Prev: Color,  Up: Top
-
-22 Graphics
+21 Graphics
 ***********
 
 You can use graphics such as PNG or PDF files in your LaTeX document.
@@ -13718,7 +13935,7 @@
 
 File: latex2e.info,  Node: Graphics package options,  Next: Graphics package configuration,  Up: Graphics
 
-22.1 ‘graphics’ package options
+21.1 ‘graphics’ package options
 ===============================
 
 Synopsis (must be in the document preamble):
@@ -13738,7 +13955,7 @@
    The first is that LaTeX does not contain information about different
 output systems but instead depends on information stored in a “printer
 driver” file.  Normally you should not specify the driver option in the
-document, and instead rely on your system’s default.  One advantage of
+document, and instead rely on your system's default.  One advantage of
 this is that it makes the document portable across systems.
 
    For completeness here is a list of the drivers.  The currently
@@ -13785,7 +14002,7 @@
 
 File: latex2e.info,  Node: Graphics package configuration,  Next: Commands for graphics,  Prev: Graphics package options,  Up: Graphics
 
-22.2 ‘graphics’ package configuration
+21.2 ‘graphics’ package configuration
 =====================================
 
 These commands configure the way LaTeX searches the file system for the
@@ -13795,7 +14012,7 @@
 dependent.  In this document we cover GNU/Linux, Macintosh, and Windows,
 as those systems are typically configured.  For other situations consult
 the documentation in ‘grfguide.pdf’, or the LaTeX source, or your TeX
-distribution’s documentation.
+distribution's documentation.
 
 * Menu:
 
@@ -13806,7 +14023,7 @@
 
 File: latex2e.info,  Node: \graphicspath,  Next: \DeclareGraphicsExtensions,  Up: Graphics package configuration
 
-22.2.1 ‘\graphicspath’
+21.2.1 ‘\graphicspath’
 ----------------------
 
 Synopsis:
@@ -13826,9 +14043,9 @@
        ...
      \graphicspath{ {pix/} {../pix/} }
 
-   The ‘\graphicspath’ declaration is optional.  If you don’t include it
-then LaTeX’s default is to search all of the places that it usually
-looks for a file (it uses LaTeX’s ‘\input at path’).  In particular, in
+   The ‘\graphicspath’ declaration is optional.  If you don't include it
+then LaTeX's default is to search all of the places that it usually
+looks for a file (it uses LaTeX's ‘\input at path’).  In particular, in
 this case one of the places it looks is the current directory.
 
    Enclose each directory name in curly braces; for example, above it
@@ -13872,7 +14089,7 @@
 
 File: latex2e.info,  Node: \DeclareGraphicsExtensions,  Next: \DeclareGraphicsRule,  Prev: \graphicspath,  Up: Graphics package configuration
 
-22.2.2 ‘\DeclareGraphicsExtensions’
+21.2.2 ‘\DeclareGraphicsExtensions’
 -----------------------------------
 
 Synopses:
@@ -13917,7 +14134,7 @@
 
 File: latex2e.info,  Node: \DeclareGraphicsRule,  Prev: \DeclareGraphicsExtensions,  Up: Graphics package configuration
 
-22.2.3 ‘\DeclareGraphicsRule’
+21.2.3 ‘\DeclareGraphicsRule’
 -----------------------------
 
 Synopsis:
@@ -13993,7 +14210,7 @@
 
 File: latex2e.info,  Node: Commands for graphics,  Prev: Graphics package configuration,  Up: Graphics
 
-22.3 Commands for graphics
+21.3 Commands for graphics
 ==========================
 
 These are the commands available with the ‘graphics’ and ‘graphicx’
@@ -14009,7 +14226,7 @@
 
 File: latex2e.info,  Node: \includegraphics,  Next: \rotatebox,  Up: Commands for graphics
 
-22.3.1 ‘\includegraphics’
+21.3.1 ‘\includegraphics’
 -------------------------
 
 Synopses for ‘graphics’ package:
@@ -14106,7 +14323,7 @@
 TeX dimensions (*note Units of length::).  If the units are omitted they
 default to ‘bp’.  In this case, the lower left corner of the image is
 assumed to be at (0,0).  If two optional arguments are present then the
-leading one is ‘[LLX,LLY]’, specifying the coordinates of the image’s
+leading one is ‘[LLX,LLY]’, specifying the coordinates of the image's
 lower left.  Thus, ‘\includegraphics[1in,0.618in]{...}’ calls for the
 graphic to be placed so it is 1 inch wide and 0.618 inches tall and so
 its origin is at (0,0).
@@ -14129,7 +14346,7 @@
 
    Note that a graphic is placed by LaTeX into a box, which is
 traditionally referred to as its “bounding box” (distinct from the
-PostScript BoundingBox described below).  The graphic’s printed area may
+PostScript BoundingBox described below).  The graphic's printed area may
 go beyond this box, or sit inside this box, but when LaTeX makes up a
 page it puts together boxes and this is the box allocated for the
 graphic.
@@ -14187,7 +14404,7 @@
      left, ‘r’ for right, ‘b’ for bottom, ‘c’ for center, ‘t’ for top,
      and ‘B’ for baseline.  Thus, entering the command
      ‘\includegraphics[angle=180,origin=c]{moon}’ will turn the picture
-     upside down about that picture’s center, while the command
+     upside down about that picture's center, while the command
      ‘\includegraphics[angle=180,origin=lB]{LeBateau}’ will turn its
      picture upside down about its left baseline.  (The character ‘c’
      gives the horizontal center in ‘bc’ or ‘tc’, but gives the vertical
@@ -14236,7 +14453,7 @@
      to which the contents of the page are to be clipped when displayed.
      The BleedBox is the region to which the contents of the page should
      be clipped in production.  The TrimBox is the intended dimensions
-     of the finished page.  The ArtBox is the extent of the page’s
+     of the finished page.  The ArtBox is the extent of the page's
      meaningful content.  The driver will set the image size based on
      CropBox if present, otherwise it will not use one of the others,
      with a driver-defined order of preference.  MediaBox is always
@@ -14266,7 +14483,7 @@
 graphic files, which have a size specified with a line ‘%%BoundingBox’
 that appears in the file.  It has four values, giving the lower x
 coordinate, lower y coordinate, upper x coordinate, and upper y
-coordinate.  The units are PostScript points, equivalent to TeX’s big
+coordinate.  The units are PostScript points, equivalent to TeX's big
 points, 1/72 inch.  For example, if an ‘.eps’ file has the line
 ‘%%BoundingBox 10 20 40 80’ then its natural size is 30/72 inch wide by
 60/72 inch tall.
@@ -14298,13 +14515,13 @@
      then LaTeX will look for ‘%%HiResBoundingBox’ lines instead of
      ‘%%BoundingBox’ lines.  (The ‘BoundingBox’ lines use only natural
      numbers while the ‘HiResBoundingBox’ lines use decimals; both use
-     units equivalent to TeX’s big points, 1/72 inch.)  To override a
+     units equivalent to TeX's big points, 1/72 inch.)  To override a
      prior setting of ‘true’, you can set it to ‘false’.
 
-   These following options allow a user to override LaTeX’s method of
+   These following options allow a user to override LaTeX's method of
 choosing the graphic type based on the filename extension.  An example
-is that ‘\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}’ will read
-the file ‘lion.xxx’ as though it were ‘lion.png’.  For more on these,
+is that ‘\includegraphics[type=png,ext=.xyz,read=.xyz]{lion}’ will read
+the file ‘lion.xyz’ as though it were ‘lion.png’.  For more on these,
 *note \DeclareGraphicsRule::.
 
 ‘type’
@@ -14327,7 +14544,7 @@
 
 File: latex2e.info,  Node: \rotatebox,  Next: \scalebox,  Prev: \includegraphics,  Up: Commands for graphics
 
-22.3.2 ‘\rotatebox’
+21.3.2 ‘\rotatebox’
 -------------------
 
 Synopsis if you use the ‘graphics’ package:
@@ -14370,7 +14587,7 @@
 ‘x’ and ‘y’ options (*note \includegraphics::).
 
 ‘origin’
-     The point of the MATERIAL’s box about which the rotation happens.
+     The point of the MATERIAL's box about which the rotation happens.
      Possible value is any string containing one or two of: ‘l’ for
      left, ‘r’ for right, ‘b’ for bottom, ‘c’ for center, ‘t’ for top,
      and ‘B’ for baseline.  Thus, the first line here
@@ -14387,7 +14604,7 @@
 ‘x, y’
      Specify an arbitrary point of rotation with ‘\rotatebox[x=TeX
      DIMENSION,y=TeX DIMENSION]{...}’ (*note Units of length::).  These
-     give the offset from the box’s reference point.
+     give the offset from the box's reference point.
 
 ‘units’
      This key allows you to change the default of degrees
@@ -14398,7 +14615,7 @@
 
 File: latex2e.info,  Node: \scalebox,  Next: \resizebox,  Prev: \rotatebox,  Up: Commands for graphics
 
-22.3.3 ‘\scalebox’
+21.3.3 ‘\scalebox’
 ------------------
 
 Synopses:
@@ -14433,7 +14650,7 @@
 
 File: latex2e.info,  Node: \resizebox,  Prev: \scalebox,  Up: Commands for graphics
 
-22.3.4 ‘\resizebox’
+21.3.4 ‘\resizebox’
 -------------------
 
 Synopses:
@@ -14451,7 +14668,7 @@
 
      \resizebox{0.5in}{!}{\includegraphics{lion}}
 
-   The unstarred form ‘\resizebox’ takes VERTICAL LENGTH to be the box’s
+   The unstarred form ‘\resizebox’ takes VERTICAL LENGTH to be the box's
 height while the starred form ‘\resizebox*’ takes it to be height+depth.
 For instance, make the text have a height+depth of a quarter-inch with
 ‘\resizebox*{!}{0.25in}{\parbox{3.5in}{This box has both height and
@@ -14463,8 +14680,301 @@
 inches}’.
 
 
-File: latex2e.info,  Node: Special insertions,  Next: Splitting the input,  Prev: Graphics,  Up: Top
+File: latex2e.info,  Node: Color,  Next: Special insertions,  Prev: Graphics,  Up: Top
 
+22 Color
+********
+
+You can add color to text, rules, etc.  You can also have color in a box
+or on an entire page and write text on top of it.
+
+   Color support comes as an additional package.  So put
+‘\usepackage{color}’ in your document preamble to use the commands
+described here.
+
+   Many other packages also supplement LaTeX's color abilities.
+Particularly worth mentioning is ‘xcolor’, which is widely used and
+significantly extends the capabilities described here, including adding
+‘HTML’ and ‘Hsb’ color models.
+
+* Menu:
+
+* Color package options::       Options when you load the standard package.
+* Color models::                How colors are represented.
+* Commands for color::          The available commands.
+
+
+File: latex2e.info,  Node: Color package options,  Next: Color models,  Up: Color
+
+22.1 ‘color’ package options
+============================
+
+Synopsis (must be in the document preamble):
+
+     \usepackage[COMMA-SEPARATED OPTION LIST]{color}
+
+   When you load the ‘color’ package there are two kinds of available
+options.
+
+   The first specifies the “printer driver”.  LaTeX doesn't contain
+information about different output systems but instead depends on
+information stored in a file.  Normally you should not specify the
+driver option in the document, and instead rely on your system's
+default.  One advantage of this is that it makes the document portable
+across systems.  For completeness we include a list of the drivers.  The
+currently relevant ones are: ‘dvipdfmx’, ‘dvips’, ‘dvisvgm’, ‘luatex’,
+‘pdftex’, ‘xetex’.  The two ‘xdvi’ and ‘oztex’ are essentially aliases
+for ‘dvips’ (and ‘xdvi’ is monochrome).  Ones that should not be used
+for new systems are: ‘dvipdf’, ‘dvipdfm’, ‘dviwin’, ‘dvipsone’, ‘emtex’,
+‘pctexps’, ‘pctexwin’, ‘pctexhp’, ‘pctex32’, ‘truetex’, ‘tcidvi’, ‘vtex’
+(and ‘dviwindo’ is an alias for ‘dvipsone’).
+
+   The second kind of options, beyond the drivers, are below.
+
+‘monochrome’
+     Disable the color commands, so that they do not generate errors but
+     do not generate color either.
+
+‘dvipsnames’
+     Make available a list of 68 color names that are often used,
+     particularly in legacy documents.  These color names were
+     originally provided by the ‘dvips’ driver, giving the option name.
+
+‘nodvipsnames’
+     Do not load that list of color names, saving LaTeX a tiny amount of
+     memory space.
+
+
+File: latex2e.info,  Node: Color models,  Next: Commands for color,  Prev: Color package options,  Up: Color
+
+22.2 Color models
+=================
+
+A “color model” is a way of representing colors.  LaTeX's capabilities
+depend on the printer driver.  However, the ‘pdftex’, ‘xetex’, and
+‘luatex’ printer drivers are today by far the most commonly used.  The
+models below work for those drivers.  All but one of these is also
+supported by essentially all other printer drivers used today.
+
+   Note that color combination can be additive or subtractive.  Additive
+mixes colors of light, so that for instance combining full intensities
+of red, green, and blue produces white.  Subtractive mixes pigments,
+such as with inks, so that combining full intensity of cyan, magenta,
+and yellow makes black.
+
+‘cmyk’
+     A comma-separated list with four real numbers between 0 and 1,
+     inclusive.  The first number is the intensity of cyan, the second
+     is magenta, and the others are yellow and black.  A number value of
+     0 means minimal intensity, while a 1 is for full intensity.  This
+     model is often used in color printing.  It is a subtractive model.
+
+‘gray’
+     A single real number between 0 and 1, inclusive.  The colors are
+     shades of grey.  The number 0 produces black while 1 gives white.
+
+‘rgb’
+     A comma-separated list with three real numbers between 0 and 1,
+     inclusive.  The first number is the intensity of the red component,
+     the second is green, and the third the blue.  A number value of 0
+     means that none of that component is added in, while a 1 means full
+     intensity.  This is an additive model.
+
+‘RGB’
+     (‘pdftex’, ‘xetex’, ‘luatex’ drivers) A comma-separated list with
+     three integers between 0 and 255, inclusive.  This model is a
+     convenience for using ‘rgb’ since outside of LaTeX colors are often
+     described in a red-green-blue model using numbers in this range.
+     The values entered here are converted to the ‘rgb’ model by
+     dividing by 255.
+
+‘named’
+     Colors are accessed by name, such as ‘PrussianBlue’.  The list of
+     names depends on the driver, but all support the names ‘black’,
+     ‘blue’, ‘cyan’, ‘green’, ‘magenta’, ‘red’, ‘white’, and ‘yellow’
+     (See the ‘dvipsnames’ option in *note Color package options::).
+
+
+File: latex2e.info,  Node: Commands for color,  Prev: Color models,  Up: Color
+
+22.3 Commands for color
+=======================
+
+These are the commands available with the ‘color’ package.
+
+* Menu:
+
+* Define colors::            Give a color a name.
+* Colored text::             Text or rules in color.
+* Colored boxes::            A box of color, to write over.
+* Colored pages::            A whole page colored.
+
+
+File: latex2e.info,  Node: Define colors,  Next: Colored text,  Up: Commands for color
+
+22.3.1 Define colors
+--------------------
+
+Synopsis:
+
+     \definecolor{NAME}{MODEL}{SPECIFICATION}
+
+   Give the name NAME to the color.  For example, after this
+
+     \definecolor{silver}{rgb}{0.75,0.75,0.74}
+
+you can use that color name with ‘Hi ho, \textcolor{silver}{Silver}!’.
+
+   This example gives the color a more abstract name, so it could change
+and not be misleading.
+
+     \definecolor{logocolor}{RGB}{145,92,131}    % RGB needs pdflatex
+     \newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
+
+   Often a document's colors are defined in the preamble, or in the
+class or style, rather than in the document body.
+
+
+File: latex2e.info,  Node: Colored text,  Next: Colored boxes,  Prev: Define colors,  Up: Commands for color
+
+22.3.2 Colored text
+-------------------
+
+Synopses:
+
+     \textcolor{NAME}{...}
+     \textcolor[COLOR MODEL]{COLOR SPECIFICATION}{...}
+
+or
+
+     \color{NAME}
+     \color[COLOR MODEL]{COLOR SPECIFICATION}
+
+   The affected text gets the color.  This line
+
+     \textcolor{magenta}{My name is Ozymandias, King of Kings;}
+     Look on my works, ye Mighty, and despair!
+
+causes the first half to be in magenta while the rest is in black.  You
+can use a color declared with ‘\definecolor’ in exactly the same way
+that we just used the builtin color ‘magenta’.
+
+     \definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0}
+     I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}.
+
+   The two ‘\textcolor’ and ‘\color’ differ in that the first is a
+command form, enclosing the text to be colored as an argument.  Often
+this form is more convenient, or at least more explicit.  The second
+form is a declaration, as in ‘The moon is made of {\color{green} green}
+cheese’, so it is in effect until the end of the current group or
+environment.  This is sometimes useful when writing macros or as below
+where it colors everything inside the ‘center’ environment, including
+the vertical and horizontal lines.
+
+     \begin{center} \color{blue}
+       \begin{tabular}{l|r}
+         UL &UR \\ \hline
+         LL &LR
+       \end{tabular}
+     \end{center}
+
+   You can use color in equations.  A document might have this
+definition in the preamble
+
+     \definecolor{highlightcolor}{RGB}{225,15,0}
+
+and then contain this equation.
+
+     \begin{equation}
+       \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a)
+     \end{equation}
+
+   Typically the colors used in a document are declared in a class or
+style but sometimes you want a one-off.  Those are the second forms in
+the synopses.
+
+     Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
+     {\color[rgb]{0.72,0.60,0.37}Gold} for the team.
+
+   The format of COLOR SPECIFICATION depends on the color model (*note
+Color models::).  For instance, while ‘rgb’ takes three numbers, ‘gray’
+takes only one.
+
+     The selection was \textcolor[gray]{0.5}{grayed out}.
+
+   Colors inside colors do not combine.  Thus
+
+     \textcolor{green}{kind of \textcolor{blue}{blue}}
+
+has a final word that is blue, not a combination of blue and green.
+
+
+File: latex2e.info,  Node: Colored boxes,  Next: Colored pages,  Prev: Colored text,  Up: Commands for color
+
+22.3.3 Colored boxes
+--------------------
+
+Synopses:
+
+     \colorbox{NAME}{...}
+     \colorbox[MODEL NAME]{BOX BACKGROUND COLOR}{...}
+
+or
+
+     \fcolorbox{FRAME COLOR}{BOX BACKGROUND COLOR}{...}
+     \fcolorbox[MODEL NAME]{FRAME COLOR}{BOX BACKGROUND COLOR}{...}
+
+   Make a box with the stated background color.  The ‘\fcolorbox’
+command puts a frame around the box.  For instance this
+
+     Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}}
+
+makes a cyan-colored box that is five centimeters long and gets its
+depth and height from the ‘\strut’ (so the depth is ‘-.3\baselineskip’
+and the height is ‘\baselineskip’).  This puts white text on a blue
+background.
+
+     \colorbox{blue}{\textcolor{white}{Welcome to the machine.}}
+
+   The ‘\fcolorbox’ commands use the same parameters as ‘\fbox’ (*note
+\fbox & \framebox::), ‘\fboxrule’ and ‘\fboxsep’, to set the thickness
+of the rule and the boundary between the box interior and the
+surrounding rule.  LaTeX's defaults are ‘0.4pt’ and ‘3pt’, respectively.
+
+   This example changes the thickness of the border to 0.8 points.  Note
+that it is surrounded by curly braces so that the change ends at the end
+of the second line.
+
+     {\setlength{\fboxrule}{0.8pt}
+     \fcolorbox{black}{red}{Under no circumstances turn this knob.}}
+
+
+File: latex2e.info,  Node: Colored pages,  Prev: Colored boxes,  Up: Commands for color
+
+22.3.4 Colored pages
+--------------------
+
+Synopses:
+
+     \pagecolor{NAME}
+     \pagecolor[COLOR MODEL]{COLOR SPECIFICATION}
+     \nopagecolor
+
+   The first two set the background of the page, and all subsequent
+pages, to the color.  For an explanation of the specification in the
+second form *note Colored text::.  The third returns the background to
+normal, which is a transparent background.  (If that is not supported
+use ‘\pagecolor{white}’, although that will make a white background
+rather than the default transparent background.)
+
+      ...
+     \pagecolor{cyan}
+      ...
+     \nopagecolor
+
+
+File: latex2e.info,  Node: Special insertions,  Next: Splitting the input,  Prev: Color,  Up: Top
+
 23 Special insertions
 *********************
 
@@ -14473,7 +14983,7 @@
 
 * Menu:
 
-* Reserved characters::         Inserting ‘# $ % & { } _ ~ ^ \’
+* Printing special characters:: Inserting ‘# $ % & { } _ ~ ^ \’
 * Upper and lower case::        Make text upper or lower case.
 * Symbols by font position::    Inserting font symbols by number.
 * Text symbols::                Inserting other non-letter symbols in text.
@@ -14481,25 +14991,26 @@
 * 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.
+* \today::                      Inserting today's date.
 
 
-File: latex2e.info,  Node: Reserved characters,  Next: Upper and lower case,  Up: Special insertions
+File: latex2e.info,  Node: Printing special characters,  Next: Upper and lower case,  Up: Special insertions
 
-23.1 Reserved characters
-========================
+23.1 Printing special characters
+================================
 
-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”.  They are all discussed
-elsewhere in this manual.
+LaTeX sets aside a few characters for special purposes; they are called
+reserved characters or special characters.  Here they are:
 
      # $ % & { } _ ~ ^ \
 
+   The meaning of all the special characters is given elsewhere in this
+manual (*note Reserved characters::).
+
    If you want a reserved character to be printed as itself, in the text
 body font, for all but the final three characters in that list simply
-put a backslash ‘\’ in front of the character.  Thus, typing ‘\$1.23’
-will produce ‘$1.23’ in your output.
+put a ‘\’ in front of the character.  Thus, typing ‘\$1.23’ will produce
+‘$1.23’ in your output.
 
    As to the last three characters, to get a tilde in the text body font
 use ‘\~{}’ (omitting the curly braces would result in the next character
@@ -14507,17 +15018,17 @@
 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 ‘\\’ in the example is only there to
-split the lines in the output).
+   To produce the reserved characters in a typewriter font, use
+‘\verb!!’ as below (the ‘\newline’ in the example is there only to split
+the lines in the output).
 
      \begin{center}
-       \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
+       \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \newline
        \verb!# $ % & { } _ ~ ^ \!
      \end{center}
 
 
-File: latex2e.info,  Node: Upper and lower case,  Next: Symbols by font position,  Prev: Reserved characters,  Up: Special insertions
+File: latex2e.info,  Node: Upper and lower case,  Next: Symbols by font position,  Prev: Printing special characters,  Up: Special insertions
 
 23.2 Upper and lower case
 =========================
@@ -14531,7 +15042,7 @@
 
    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
+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
@@ -14567,8 +15078,8 @@
    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,
+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.
 
@@ -14616,12 +15127,16 @@
 ‘\LaTeXe’
      The LaTeX2e logo.
 
+‘\guillemetleft («)’
+‘\guillemetright (»)’
 ‘\guillemotleft («)’
 ‘\guillemotright (»)’
 ‘\guilsinglleft (‹)’
 ‘\guilsinglright (›)’
      «, », ‹, › Double and single angle quotation marks, commonly used
-     in French.
+     in French.  The commands ‘@guillemotleft’ and ‘@guillemotright’ are
+     synonyms for ‘@guillemet...’; these are misspellings inherited from
+     Adobe.  (Guillemots are seabirds; guillemets are French quotes.)
 
 ‘\ldots’
 ‘\textellipsis’
@@ -14631,7 +15146,7 @@
      description for additional general information.
 
 ‘\lq’
-     ‘ Left (opening) quote.
+     ' Left (opening) quote.
 
 ‘\P’
 ‘\textparagraph’
@@ -14646,7 +15161,7 @@
      „ and ‚ Double and single quotation marks on the baseline.
 
 ‘\rq’
-     ’ Right (closing) quote.
+     ' Right (closing) quote.
 
 ‘\S’
 ‘\textsection’
@@ -14714,13 +15229,13 @@
      $ Dollar sign.
 
 ‘\textemdash (or ‘---’)’
-     — 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
+     -- 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’
 
@@ -14737,8 +15252,8 @@
      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.
+     available in the current font, or writes the usual "Missing
+     character" warning to the log file.
 
 ‘\textgreater’
      > Greater than symbol.
@@ -14771,16 +15286,16 @@
      ¿  Upside down question mark.
 
 ‘\textquotedblleft (or ‘``’)’
-     “ Double left quote.
+     " Double left quote.
 
 ‘\textquotedblright (or ‘''’)’
-     ” Double right quote.
+     " Double right quote.
 
 ‘\textquoteleft (or ‘`’)’
-     ‘ Single left quote.
+     ' Single left quote.
 
 ‘\textquoteright (or ‘'’)’
-     ’ Single right quote.
+     ' Single right quote.
 
 ‘\textquotesingle’
      ', Straight single quote.  (From TS1 encoding.)
@@ -14796,13 +15311,13 @@
      →, Right arrow.
 
 ‘\textthreequartersemdash’
-     ﹘, “Three-quarters” em-dash, between en-dash and em-dash.
+     ﹘, "Three-quarters" em-dash, between en-dash and em-dash.
 
 ‘\texttrademark’
      ™ Trademark symbol.
 
 ‘\texttwelveudash’
-     ﹘, “Two-thirds” em-dash, between en-dash and em-dash.
+     ﹘, "Two-thirds" em-dash, between en-dash and em-dash.
 
 ‘\textunderscore’
      _ Underscore.
@@ -14816,7 +15331,7 @@
 23.5 Accents
 ============
 
-LaTeX has wide support for many of the world’s scripts and languages,
+LaTeX has wide support for many of the world's scripts and languages,
 provided through the core ‘babel’ package, which supports pdfLaTeX,
 XeLaTeX and LuaLaTeX.  The ‘polyglossia’ package provides similar
 support with the latter two engines.
@@ -14963,7 +15478,7 @@
 23.6 Additional Latin letters
 =============================
 
-Here are the basic LaTeX commands for inserting letters beyond A–Z that
+Here are the basic LaTeX commands for inserting letters beyond A-Z that
 extend the Latin alphabet, used primarily in languages other than
 English.
 
@@ -15027,51 +15542,46 @@
 
      \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.
+   Declare the input file's text encoding to be ENCODING-NAME.  (For
+basic background, *note Input encodings::).  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
+   The ‘inputenc’ package tells LaTeX 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}
 
+   The most common values for ENCODING-NAME are: ‘ascii’, ‘latin1’,
+‘latin2’, ‘latin3’, ‘latin4’, ‘latin5’, ‘latin9’, ‘latin10’, ‘utf8’.
+
    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’.
+engines::); with ‘xelatex’ or ‘lualatex’, declaring a non-UTF-8 encoding
+with ‘inputenc’, such as ‘latin1’, 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.
+that uses a different encoding than the input file.  The simplest
+solution is often to replace the non-UTF-8 character with a UTF-8 or
+LaTeX equivalent.
 
-   In some documents, such as a collection of journal articles from a
+   If you need to process a non-UTF-8 document with LuaTeX, you can use
+the ‘luainputenc’ package (<https://ctan.org/pkg/luainputenc>).  With
+XeTeX, the ‘\XeTeXinputencoding’ and ‘\XeTeXdefaultencoding’ primitives
+can be used (for an explanation and examples, see
+<https://tex.stackexchange.com/questions/324948>).
+
+   It's also possible to re-encode a document from an 8-bit encoding to
+UTF-8 outside of TeX, using system utilities.  For example, ‘recode
+latin1..utf8’ or ‘iconv -f latin1 -t utf8’.
+
+   In a few 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’.
+necessary.  You can use the command ‘\inputencoding{ENCODING-NAME}’ for
+this.
 
 
 File: latex2e.info,  Node: \rule,  Next: \today,  Prev: inputenc package,  Up: Special insertions
@@ -15087,7 +15597,7 @@
    Produce a “rule”, a filled-in rectangle.
 
    This example produces a rectangular blob, sometimes called a Halmos
-symbol, or just “qed”, often used to mark the end of a proof:
+symbol, or just "qed", often used to mark the end of a proof:
 
      \newcommand{\qedsymbol}{\rule{0.4em}{2ex}}
 
@@ -15121,7 +15631,7 @@
 
      \today
 
-   Produce today’s date in the format ‘MONTH DD, YYYY’.  An example of a
+   Produce today's date in the format ‘MONTH DD, YYYY’.  An example of a
 date in that format is ‘July 4, 1976’.
 
    Multilingual packages such as ‘babel’ or ‘polyglossia’, or classes
@@ -15211,7 +15721,7 @@
 after ‘\endinput’ will not be included.  This command is optional; if
 ‘filename.tex’ has no ‘\endinput’ then LaTeX will read all of the file.
 
-   For example, suppose that a document’s root file has ‘\input{chap1}’
+   For example, suppose that a document's root file has ‘\input{chap1}’
 and this is ‘chap1.tex’.
 
      \chapter{One}
@@ -15259,7 +15769,7 @@
    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.
+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’.
@@ -15288,7 +15798,7 @@
 files appear in the document but also generates the auxiliary files
 ‘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
+references::).  If you now comment out ‘\includeonly’'s lines with
 ‘preamble’ and ‘amendments’ and run LaTeX again then the resulting
 document shows only the material from ‘articles.tex’, not the material
 from ‘preamble.tex’ or ‘amendments.tex’.  Nonetheless, all of the
@@ -15423,7 +15933,7 @@
 commands ‘\chapter’, etc.
 
    This example illustrates the first command, ‘\tableofcontents’.
-LaTeX will produce a table of contents on the book’s first page.
+LaTeX will produce a table of contents on the book's first page.
 
      \documentclass{book}
      % \setcounter{tocdepth}{1}
@@ -15480,7 +15990,7 @@
 ‘\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
+   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
@@ -15656,7 +16166,7 @@
 
      \addcontentsline{toc}{setcion}{\protect\textbf{Appendices}}
 
-then you don’t get an error but the formatting in the table of contents
+then you don't get an error but the formatting in the table of contents
 will not make sense.
 
 
@@ -15935,7 +16445,7 @@
 \protect::).
 
    For example, as described in *note Indexes::, one way to get an index
-from what’s below is to compile the document with ‘pdflatex test’, then
+from what's below is to compile the document with ‘pdflatex test’, then
 process the index entries with ‘makeindex test’, and then compile again
 with ‘pdflatex test’.
 
@@ -16138,7 +16648,7 @@
 
 ‘item_x1’
      What is put between a level 0 item and a level 1 item in the case
-     that the level 0 item doesn’t have any page numbers (as in
+     that the level 0 item doesn't have any page numbers (as in
      ‘\index{aaa|see{bbb}}’).  Default: ‘"\n \\subitem "’.
 
 ‘item_12’
@@ -16147,7 +16657,7 @@
 
 ‘item_x2’
      What is put between a level 1 item and a level 2 item, if the
-     level 1 item doesn’t have page numbers.  Default: ‘"\n \\subsubitem
+     level 1 item doesn't have page numbers.  Default: ‘"\n \\subsubitem
      "’.
 
 ‘delim_0’
@@ -16171,7 +16681,7 @@
      range.  Default: ‘"--"’.
 
 ‘line_max’
-     An integer.  Maximum length of an index entry’s line in the output,
+     An integer.  Maximum length of an index entry's line in the output,
      beyond which the line wraps.  Default: ‘72’.
 
 ‘indent_space’
@@ -16422,10 +16932,10 @@
 
    Additional material may come after the ‘\closing’.  You can say who
 is receiving a copy of the letter with a command like ‘\cc{the Boss \\
-the Boss's Boss}’.  There’s a similar ‘\encl’ command for a list of
+the Boss's Boss}’.  There's a similar ‘\encl’ command for a list of
 enclosures.  And, you can add a postscript with ‘\ps’.
 
-   LaTeX’s default is to indent the sender name and the closing above it
+   LaTeX's default is to indent the sender name and the closing above it
 by a length of ‘\longindentation’.  By default this is ‘0.5\textwidth’.
 To make them flush left, put ‘\setlength{\longindentation}{0em}’ in your
 preamble.
@@ -16455,17 +16965,17 @@
 
 * Menu:
 
-* \address::                       Sender’s return address.
+* \address::                       Sender's return address.
 * \cc::                            Carbon copy list.
 * \closing::                       Saying goodbye.
 * \encl::                          List of enclosed material.
-* \location::                      Sender’s organizational location.
+* \location::                      Sender's organizational location.
 * \makelabels::                    Make address labels.
-* \name::                          Sender’s name, for the return address.
+* \name::                          Sender's name, for the return address.
 * \opening::                       Saying hello.
 * \ps::                            Adding a postscript.
-* \signature::                     Sender’s signature.
-* \telephone::                     Sender’s phone number.
+* \signature::                     Sender's signature.
+* \telephone::                     Sender's phone number.
 
 
 File: latex2e.info,  Node: \address,  Next: \cc,  Up: Letters
@@ -16524,7 +17034,7 @@
 
      \closing{TEXT}
 
-   Produce the letter’s closing.  This is optional, but usual.  It
+   Produce the letter's closing.  This is optional, but usual.  It
 appears at the end of a letter, above a handwritten signature.  For
 example:
 
@@ -16631,7 +17141,7 @@
 
      \name{NAME}
 
-   Optional.  Sender’s name, used for printing on the envelope together
+   Optional.  Sender's name, used for printing on the envelope together
 with the return address.
 
 
@@ -16675,7 +17185,7 @@
      \signature{FIRST LINE \\
                  ... }
 
-   The sender’s name.  This command is optional, although its inclusion
+   The sender's name.  This command is optional, although its inclusion
 is usual.
 
    The argument text appears at the end of the letter, after the
@@ -16685,7 +17195,7 @@
      \signature{J Fred Muggs \\
                 White House}
 
-   LaTeX’s default for the vertical space from the ‘\closing’ text down
+   LaTeX's default for the vertical space from the ‘\closing’ text down
 to the ‘\signature’ text is ‘6\medskipamount’, which is six times
 ‘\medskipamount’ (where ‘\medskipamount’ is equal to a ‘\parskip’, which
 in turn is defined by default here to 0.7em).
@@ -16712,7 +17222,7 @@
 
      \telephone{NUMBER}
 
-   The sender’s telephone number.  This is typically in the preamble,
+   The sender's telephone number.  This is typically in the preamble,
 where it applies to all letters.  This only appears if the ‘firstpage’
 pagestyle is selected.  If so, it appears on the lower right of the
 page.
@@ -16790,7 +17300,7 @@
 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
+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
@@ -16800,7 +17310,7 @@
 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
+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’.
 
@@ -16908,7 +17418,7 @@
 ‘\renewcommand’ (among others) are replaced by their definitions before
 being printed.
 
-   LaTeX’s usual rules for treating multiple spaces as a single space
+   LaTeX's usual rules for treating multiple spaces as a single space
 and ignoring spaces after a command name apply to ‘msg’.  Use the
 command ‘\space’ to get a single space, independent of surrounding
 spaces.  Use ‘^^J’ to get a newline.  Get a percent character with
@@ -16988,7 +17498,7 @@
      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
+     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.
 
@@ -16998,7 +17508,7 @@
      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’:
+a control sequence ‘\triplex’ which we've defined to be the text ‘XYZ’:
 
      \newwrite\jhfile
      \openout\jhfile=test.jh
@@ -17009,7 +17519,7 @@
 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
+‘\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
@@ -17141,7 +17651,7 @@
      \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.
+runs the command and LaTeX's execution is blocked until that finishes.
 
    This sequence (on Unix)
 
@@ -17307,7 +17817,7 @@
      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::.
 
@@ -17395,8 +17905,8 @@
      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.  (*note
-Jobname::.)
+called ‘main.pdf’ and the second would overwrite the first (*note
+Jobname::).
 
    In this example we use the command line to select which parts of a
 document to include.  For a book named ‘mybook.tex’ and structured like
@@ -17442,7 +17952,7 @@
 
    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).
+(*note Command line input:: for a practical example).
 
    The final possibility is ‘texput’, which is the final fallback
 default if no other name is available to TeX.  That is, if no ‘-jobname’
@@ -17473,8 +17983,8 @@
    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
+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
@@ -17649,7 +18159,7 @@
 ‘\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 with ‘\input’.)
+You don't get the cross-reference benefit with ‘\input’.)
 
 \documentclass[titlepage]{book}
 \usepackage{makeidx}\makeindex
@@ -17698,17 +18208,9 @@
  [index ]
 * Menu:
 
-* $ inline math:                         math.                (line  12)
-* $$...$$ plain TeX display math:        displaymath.         (line  32)
-* & (for table cells):                   tabular.             (line  32)
-* * prompt:                              Recovering from errors.
-                                                              (line  23)
-* *, to \nocite all keys:                Using BibTeX.        (line  61)
-* *-form of environment commands:        \newenvironment & \renewenvironment.
-                                                              (line  27)
-* *-form of sectioning commands:         Sectioning.          (line  31)
-* *-form, defining new commands:         \newcommand & \renewcommand.
-                                                              (line  28)
+* _ character, meaning of:               Special characters.  (line  30)
+* _ subscript:                           Subscripts & superscripts.
+                                                              (line   6)
 * --disable-write18 command-line option: Command line options.
                                                               (line  61)
 * --enable-write18 command-line option:  Command line options.
@@ -17734,6 +18236,8 @@
 * --version command-line option:         Command line options.
                                                               (line  18)
 * -1, write stream number:               \write.              (line  30)
+* : (for math):                          Colon character & \colon.
+                                                              (line   6)
 * .aux file:                             Output files.        (line  33)
 * .aux file and BibTeX commands:         BibTeX error messages.
                                                               (line   6)
@@ -17760,43 +18264,85 @@
 * .toc file <1>:                         Table of contents etc..
                                                               (line   6)
 * .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.
-                                                              (line  14)
-* 12pt option:                           Document class options.
-                                                              (line  14)
-* : (for math):                          Colon character & \colon.
-                                                              (line   6)
+* .xdv file:                             TeX engines.         (line  43)
 * [...] (for optional arguments):        LaTeX command syntax.
                                                               (line   6)
+* { character, meaning of:               Special characters.  (line  15)
+* {...} (for required arguments):        LaTeX command syntax.
+                                                              (line   6)
+* } character, meaning of:               Special characters.  (line  15)
+* * prompt:                              Recovering from errors.
+                                                              (line  23)
+* *-form of environment commands:        \newenvironment & \renewenvironment.
+                                                              (line  27)
+* *-form of sectioning commands:         Sectioning.          (line  31)
+* *-form, defining new commands:         \newcommand & \renewcommand.
+                                                              (line  28)
+* *, to \nocite all keys:                Using BibTeX.        (line  61)
+* /bin/sh, used by \write18:             \write18.            (line  60)
 * \  (backslash-space):                  \(SPACE).            (line   6)
 * \ character starting commands:         LaTeX command syntax.
                                                               (line   6)
+* \ character, meaning of:               Special characters.  (line  11)
+* \_:                                    Printing special characters.
+                                                              (line  14)
+* \-:                                    tabbing.             (line  83)
+* \- (hyphenation):                      \- (hyphenation).    (line   6)
+* \,:                                    Spacing in math mode.
+                                                              (line  47)
+* \;:                                    Spacing in math mode.
+                                                              (line  23)
+* \::                                    Spacing in math mode.
+                                                              (line  36)
 * \!:                                    Spacing in math mode.
                                                               (line  61)
-* \" (umlaut accent):                    Accents.             (line  25)
-* \#:                                    Reserved characters. (line  13)
-* \$:                                    Reserved characters. (line  13)
-* \%:                                    Reserved characters. (line  13)
-* \&:                                    Reserved characters. (line  13)
+* \. (dot-over accent):                  Accents.             (line  32)
 * \' (acute accent):                     Accents.             (line  29)
 * \' (tabbing):                          tabbing.             (line  87)
+* \" (umlaut accent):                    Accents.             (line  25)
 * \(...\) inline math:                   math.                (line  12)
+* \[...\] display math:                  displaymath.         (line  26)
+* \{:                                    Printing special characters.
+                                                              (line  14)
+* \}:                                    Printing special characters.
+                                                              (line  14)
+* \@:                                    \@.                  (line   6)
+* \@auxout:                              \write.              (line  45)
+* \@beginparpenalty:                     list.                (line 261)
+* \@dottedtocline:                       \@dottedtocline.     (line   6)
+* \@endparpenalty:                       list.                (line 269)
+* \@fnsymbol:                            \footnote.           (line  25)
+* \@ifstar:                              \@ifstar.            (line   6)
+* \@itempenalty:                         list.                (line 265)
+* \@mainaux:                             \write.              (line  45)
+* \@startsection:                        \@startsection.      (line   6)
 * \*:                                    \*.                  (line   6)
+* \/:                                    \/.                  (line   6)
+* \\ (for \author):                      \maketitle.          (line  43)
+* \\ (for \shortstack objects):          \shortstack.         (line  35)
+* \\ (for \title):                       \maketitle.          (line  64)
+* \\ (for center):                       center.              (line  16)
+* \\ (for eqnarray):                     eqnarray.            (line  29)
+* \\ (for flushleft):                    flushleft.           (line  14)
+* \\ (for flushright):                   flushright.          (line  12)
+* \\ (for letters):                      Letters.             (line  48)
+* \\ (for tabular):                      tabular.             (line  36)
+* \\ (for verse):                        verse.               (line  21)
+* \\ (force line break):                 \\.                  (line   6)
+* \\ (tabbing):                          tabbing.             (line  66)
+* \\* (for eqnarray):                    eqnarray.            (line  35)
+* \&:                                    Printing special characters.
+                                                              (line  14)
+* \#:                                    Printing special characters.
+                                                              (line  14)
+* \%:                                    Printing special characters.
+                                                              (line  14)
+* \` (grave accent):                     Accents.             (line  44)
+* \` (tabbing):                          tabbing.             (line  93)
+* \^:                                    Printing special characters.
+                                                              (line  19)
+* \^ (circumflex accent):                Accents.             (line  40)
 * \+:                                    tabbing.             (line  79)
-* \,:                                    Spacing in math mode.
-                                                              (line  47)
-* \-:                                    tabbing.             (line  83)
-* \- (hyphenation):                      \- (hyphenation).    (line   6)
-* \. (dot-over accent):                  Accents.             (line  32)
-* \/:                                    \/.                  (line   6)
-* \::                                    Spacing in math mode.
-                                                              (line  36)
-* \;:                                    Spacing in math mode.
-                                                              (line  23)
 * \<:                                    tabbing.             (line  75)
 * \= (macron accent):                    Accents.             (line  36)
 * \= (tabbing):                          tabbing.             (line  69)
@@ -17804,18 +18350,15 @@
 * \> <1>:                                Spacing in math mode.
                                                               (line  36)
 * \> (tabbing):                          tabbing.             (line  72)
-* \@:                                    \@.                  (line   6)
-* \@auxout:                              \write.              (line  45)
-* \@beginparpenalty:                     list.                (line 243)
-* \@dottedtocline:                       \@dottedtocline.     (line   6)
-* \@endparpenalty:                       list.                (line 251)
-* \@fnsymbol:                            \footnote.           (line  24)
-* \@ifstar:                              \@ifstar.            (line   6)
-* \@itempenalty:                         list.                (line 247)
-* \@mainaux:                             \write.              (line  45)
-* \@startsection:                        \@startsection.      (line   6)
+* \|:                                    Math symbols.        (line  18)
+* \~:                                    Printing special characters.
+                                                              (line  19)
+* \~ (tilde accent):                     Accents.             (line  48)
+* \$:                                    Printing special characters.
+                                                              (line  14)
 * \a (tabbing):                          tabbing.             (line 102)
 * \a' (acute accent in tabbing):         tabbing.             (line 103)
+* \a` (grave accent in tabbing):         tabbing.             (line 103)
 * \a= (macron accent in tabbing):        tabbing.             (line 103)
 * \aa (å):                               Additional Latin letters.
                                                               (line  12)
@@ -17835,11 +18378,11 @@
                                                               (line  16)
 * \aleph:                                Math symbols.        (line  21)
 * \Alph example:                         enumerate.           (line  61)
-* \alpha:                                Math symbols.        (line  24)
 * \alph{COUNTER}:                        \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  14)
 * \Alph{COUNTER}:                        \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  19)
+* \alpha:                                Math symbols.        (line  24)
 * \alsoname:                             \index.              (line  58)
 * \amalg:                                Math symbols.        (line  27)
 * \and (for \author):                    \maketitle.          (line  43)
@@ -17858,15 +18401,16 @@
 * \ast:                                  Math symbols.        (line  37)
 * \asymp:                                Math symbols.        (line  44)
 * \AtBeginDocument:                      \AtBeginDocument.    (line   6)
-* \AtBeginDvi:                           Class and package commands.
-                                                              (line   9)
+* \AtBeginDvi:                           \AtBeginDvi & \AtEndDvi.
+                                                              (line   6)
 * \AtEndDocument:                        \AtEndDocument.      (line   6)
-* \AtEndOfClass:                         Class and package commands.
-                                                              (line  14)
-* \AtEndOfPackage:                       Class and package commands.
-                                                              (line  14)
+* \AtEndDvi:                             \AtBeginDvi & \AtEndDvi.
+                                                              (line   6)
+* \AtEndOfClass:                         \AtEndOfClass & \AtEndOfPackage.
+                                                              (line   6)
+* \AtEndOfPackage:                       \AtEndOfClass & \AtEndOfPackage.
+                                                              (line   6)
 * \author{NAME1 \and NAME2 \and ...}:    \maketitle.          (line  42)
-* \a` (grave accent in tabbing):         tabbing.             (line 103)
 * \b (bar-under accent):                 Accents.             (line  51)
 * \backmatter:                           \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
@@ -17956,10 +18500,7 @@
 * \chapter:                              Sectioning.          (line   6)
 * \chapter <1>:                          \chapter.            (line   6)
 * \check:                                Math accents.        (line  19)
-* \CheckCommand:                         Class and package commands.
-                                                              (line  21)
-* \CheckCommand*:                        Class and package commands.
-                                                              (line  21)
+* \CheckCommand:                         \CheckCommand.       (line   6)
 * \chi:                                  Math symbols.        (line 117)
 * \circ:                                 Math symbols.        (line 120)
 * \circle:                               \circle.             (line   6)
@@ -17968,16 +18509,16 @@
 * \cite:                                 \cite.               (line   6)
 * \cite and internal \citation:          BibTeX error messages.
                                                               (line  23)
-* \ClassError:                           Class and package commands.
-                                                              (line  41)
-* \ClassInfo:                            Class and package commands.
-                                                              (line  41)
-* \ClassInfoNoLine:                      Class and package commands.
-                                                              (line  41)
-* \ClassWarning:                         Class and package commands.
-                                                              (line  41)
-* \ClassWarningNoLine:                   Class and package commands.
-                                                              (line  41)
+* \ClassError:                           \ClassError and \PackageError and others.
+                                                              (line  13)
+* \ClassInfo:                            \ClassError and \PackageError and others.
+                                                              (line  13)
+* \ClassInfoNoLine:                      \ClassError and \PackageError and others.
+                                                              (line  13)
+* \ClassWarning:                         \ClassError and \PackageError and others.
+                                                              (line  13)
+* \ClassWarningNoLine:                   \ClassError and \PackageError and others.
+                                                              (line  13)
 * \cleardoublepage:                      \clearpage & \cleardoublepage.
                                                               (line   6)
 * \clearpage:                            \clearpage & \cleardoublepage.
@@ -18016,10 +18557,11 @@
 * \cosh:                                 Math functions.      (line  27)
 * \cot:                                  Math functions.      (line  30)
 * \coth:                                 Math functions.      (line  33)
+* \cprotect:                             \protect.            (line  51)
+* \cprotEnv:                             \protect.            (line  57)
 * \csc:                                  Math functions.      (line  36)
 * \cup:                                  Math symbols.        (line 139)
-* \CurrentOption:                        Class and package commands.
-                                                              (line  60)
+* \CurrentOption:                        \CurrentOption.      (line   6)
 * \d (dot-under accent):                 Accents.             (line  65)
 * \dag:                                  Text symbols.        (line  17)
 * \dagger:                               Math symbols.        (line 143)
@@ -18043,14 +18585,9 @@
                                                               (line   6)
 * \DeclareGraphicsRule:                  \DeclareGraphicsRule.
                                                               (line   6)
-* \DeclareOption:                        Class and package commands.
-                                                              (line  66)
-* \DeclareOption*:                       Class and package commands.
-                                                              (line  66)
-* \DeclareRobustCommand:                 Class and package commands.
-                                                              (line  96)
-* \DeclareRobustCommand*:                Class and package commands.
-                                                              (line  96)
+* \DeclareOption:                        \DeclareOption.      (line   6)
+* \DeclareRobustCommand:                 \DeclareRobustCommand.
+                                                              (line   6)
 * \DeclareTextAccent:                    \DeclareTextAccent.  (line   6)
 * \DeclareTextAccent <1>:                \DeclareTextAccentDefault.
                                                               (line   6)
@@ -18092,6 +18629,7 @@
                                                               (line  26)
 * \documentclass:                        Document classes.    (line   6)
 * \documentclass, and texput jobname:    Jobname.             (line  32)
+* \DocumentMetadata:                     \DocumentMetadata.   (line   6)
 * \dot:                                  Math accents.        (line  25)
 * \doteq:                                Math symbols.        (line 173)
 * \dotfill:                              \hrulefill & \dotfill.
@@ -18098,7 +18636,7 @@
                                                               (line   6)
 * \dots:                                 Dots.                (line  26)
 * \dots <1>:                             Dots.                (line  49)
-* \dots <2>:                             Text symbols.        (line  38)
+* \dots <2>:                             Text symbols.        (line  42)
 * \dotsb:                                Dots.                (line  49)
 * \dotsc:                                Dots.                (line  49)
 * \dotsi:                                Dots.                (line  49)
@@ -18105,6 +18643,7 @@
 * \doublerulesep:                        tabular.             (line 168)
 * \downarrow:                            Math symbols.        (line 177)
 * \Downarrow:                            Math symbols.        (line 181)
+* \ds at OPTION:                            \ExecuteOptions.     (line  10)
 * \ell:                                  Math symbols.        (line 185)
 * \emph:                                 Font styles.         (line  60)
 * \emptyset:                             Math symbols.        (line 188)
@@ -18122,13 +18661,12 @@
 * \equiv:                                Math symbols.        (line 197)
 * \eta:                                  Math symbols.        (line 200)
 * \evensidemargin:                       Document class options.
-                                                              (line  84)
+                                                              (line  87)
 * \evensidemargin <1>:                   Page layout parameters.
                                                               (line  67)
 * \evensidemargin <2>:                   Page layout parameters.
                                                               (line  68)
-* \ExecuteOptions:                       Class and package commands.
-                                                              (line 172)
+* \ExecuteOptions:                       \ExecuteOptions.     (line   6)
 * \exists:                               Math symbols.        (line 203)
 * \exp:                                  Math functions.      (line  48)
 * \externaldocument:                     xr package.          (line   6)
@@ -18147,7 +18685,7 @@
 * \floatsep:                             Floats.              (line 114)
 * \floatsep <1>:                         Floats.              (line 115)
 * \flushbottom:                          \flushbottom.        (line   6)
-* \fnsymbol, and footnotes:              \footnote.           (line  24)
+* \fnsymbol, and footnotes:              \footnote.           (line  25)
 * \fnsymbol{COUNTER}:                    \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  37)
 * \fontdimen1:                           \/.                  (line  40)
@@ -18163,8 +18701,8 @@
                                                               (line 101)
 * \footnote:                             \footnote.           (line   6)
 * \footnotemark:                         \footnotemark.       (line   6)
-* \footnoterule:                         \footnote.           (line  34)
-* \footnotesep:                          \footnote.           (line  46)
+* \footnoterule:                         \footnote.           (line  35)
+* \footnotesep:                          \footnote.           (line  51)
 * \footnotesize:                         Font sizes.          (line  11)
 * \footnotetext:                         \footnotetext.       (line   6)
 * \footskip:                             Page layout parameters.
@@ -18193,10 +18731,12 @@
 * \graphicspath:                         \graphicspath.       (line   6)
 * \graphpaper:                           \graphpaper.         (line   6)
 * \grave:                                Math accents.        (line  28)
-* \guillemotleft («):                    Text symbols.        (line  29)
-* \guillemotright (»):                   Text symbols.        (line  30)
-* \guilsinglleft (‹):                    Text symbols.        (line  31)
-* \guilsinglright (›):                   Text symbols.        (line  32)
+* \guillemetleft («):                    Text symbols.        (line  29)
+* \guillemetright (»):                   Text symbols.        (line  30)
+* \guillemotleft («):                    Text symbols.        (line  31)
+* \guillemotright (»):                   Text symbols.        (line  32)
+* \guilsinglleft (‹):                    Text symbols.        (line  33)
+* \guilsinglright (›):                   Text symbols.        (line  34)
 * \H (Hungarian umlaut accent):          Accents.             (line  69)
 * \hat:                                  Math accents.        (line  31)
 * \hbar:                                 Math symbols.        (line 235)
@@ -18230,8 +18770,8 @@
 * \i (dotless i):                        Accents.             (line  19)
 * \IfBeginWith* macro from xstring:      Jobname.             (line  53)
 * \iff:                                  Math symbols.        (line 247)
-* \IfFileExists:                         Class and package commands.
-                                                              (line 128)
+* \IfFileExists:                         \IfFileExists & \InputIfFileExists.
+                                                              (line   6)
 * \ignorespaces:                         \ignorespaces & \ignorespacesafterend.
                                                               (line   6)
 * \ignorespacesafterend:                 \ignorespaces & \ignorespacesafterend.
@@ -18259,9 +18799,9 @@
 * \inf:                                  Math functions.      (line  57)
 * \infty:                                Math symbols.        (line 262)
 * \input:                                \input.              (line   6)
-* \inputencoding:                        inputenc package.    (line  50)
-* \InputIfFileExists:                    Class and package commands.
-                                                              (line 128)
+* \inputencoding:                        inputenc package.    (line  46)
+* \InputIfFileExists:                    \IfFileExists & \InputIfFileExists.
+                                                              (line   6)
 * \int:                                  Math symbols.        (line 265)
 * \intextsep:                            Floats.              (line 118)
 * \intextsep <1>:                        Floats.              (line 119)
@@ -18318,7 +18858,7 @@
 * \lbrack:                               Math symbols.        (line 298)
 * \lceil:                                Math symbols.        (line 301)
 * \ldots:                                Dots.                (line  24)
-* \ldots <1>:                            Text symbols.        (line  36)
+* \ldots <1>:                            Text symbols.        (line  40)
 * \le:                                   Math symbols.        (line 305)
 * \leadsto:                              Math symbols.        (line 308)
 * \left:                                 \left & \right.      (line   6)
@@ -18370,13 +18910,14 @@
 * \ll:                                   Math symbols.        (line 348)
 * \ln:                                   Math functions.      (line  75)
 * \lnot:                                 Math symbols.        (line 351)
-* \LoadClass:                            Class and package commands.
-                                                              (line 148)
-* \LoadClassWithOptions:                 Class and package commands.
-                                                              (line 148)
+* \LoadClass:                            \LoadClass & \LoadClassWithOptions.
+                                                              (line   6)
+* \LoadClassWithOptions:                 \LoadClass & \LoadClassWithOptions.
+                                                              (line   6)
 * \location:                             \location.           (line   6)
 * \log:                                  Math functions.      (line  78)
-* \long:                                 \newcommand & \renewcommand.
+* \long command, checking for:           \CheckCommand.       (line   6)
+* \long, not defining a command as:      \newcommand & \renewcommand.
                                                               (line  28)
 * \longleftarrow:                        Math symbols.        (line 354)
 * \longleftrightarrow:                   Math symbols.        (line 358)
@@ -18383,7 +18924,7 @@
 * \longmapsto:                           Math symbols.        (line 362)
 * \longrightarrow:                       Math symbols.        (line 366)
 * \lor:                                  Math symbols.        (line 370)
-* \lq:                                   Text symbols.        (line  43)
+* \lq:                                   Text symbols.        (line  47)
 * \mainmatter:                           \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * \makeatother:                          \makeatletter & \makeatother.
@@ -18415,8 +18956,8 @@
                                                               (line  41)
 * \marginsep <1>:                        Page layout parameters.
                                                               (line  43)
-* \markboth{LEFT-HEAD}{RIGHT-HEAD}:      \pagestyle.          (line  76)
-* \markright{RIGHT-HEAD}:                \pagestyle.          (line  85)
+* \markboth{LEFT-HEAD}{RIGHT-HEAD}:      \pagestyle.          (line  77)
+* \markright{RIGHT-HEAD}:                \pagestyle.          (line  86)
 * \mathbf:                               Font styles.         (line 111)
 * \mathcal:                              Font styles.         (line 127)
 * \mathdollar:                           Math symbols.        (line 834)
@@ -18446,6 +18987,8 @@
 * \medspace:                             Spacing in math mode.
                                                               (line  36)
 * \message:                              \message.            (line   6)
+* \MessageBreak, and message text:       \ClassError and \PackageError and others.
+                                                              (line  31)
 * \mho:                                  Math symbols.        (line 378)
 * \mid:                                  Math symbols.        (line 381)
 * \min:                                  Math functions.      (line  84)
@@ -18461,8 +19004,7 @@
 * \natural:                              Math symbols.        (line 404)
 * \ne:                                   Math symbols.        (line 407)
 * \nearrow:                              Math symbols.        (line 410)
-* \NeedsTeXFormat:                       Class and package commands.
-                                                              (line 182)
+* \NeedsTeXFormat:                       \NeedsTeXFormat.     (line   6)
 * \neg:                                  Math symbols.        (line 413)
 * \negmedspace:                          Spacing in math mode.
                                                               (line  42)
@@ -18484,6 +19026,8 @@
 * \newline:                              \newline.            (line   6)
 * \<NEWLINE>:                            \(SPACE).            (line   6)
 * \newpage:                              \newpage.            (line   6)
+* \newrobustcmd (etoolbox package):      \DeclareRobustCommand.
+                                                              (line  32)
 * \newsavebox:                           \newsavebox.         (line   6)
 * \newtheorem:                           \newtheorem.         (line   6)
 * \newtie:                               Accents.             (line  83)
@@ -18493,10 +19037,11 @@
 * \NG:                                   Additional Latin letters.
                                                               (line  40)
 * \ni:                                   Math symbols.        (line 420)
+* \nobreakspace:                         ~.                   (line  10)
 * \nocite:                               \nocite.             (line   6)
+* \nocite {*}, for all keys:             Using BibTeX.        (line  61)
 * \nocite and internal \citation:        BibTeX error messages.
                                                               (line  23)
-* \nocite {*}, for all keys:             Using BibTeX.        (line  61)
 * \nocorr:                               Font styles.         (line  22)
 * \nocorrlist:                           Font styles.         (line  22)
 * \nofiles:                              \nofiles.            (line   6)
@@ -18524,7 +19069,7 @@
 * \obeycr:                               \obeycr & \restorecr.
                                                               (line   6)
 * \oddsidemargin:                        Document class options.
-                                                              (line  84)
+                                                              (line  87)
 * \oddsidemargin <1>:                    Page layout parameters.
                                                               (line  66)
 * \oddsidemargin <2>:                    Page layout parameters.
@@ -18544,27 +19089,26 @@
 * \opening:                              \opening.            (line   6)
 * \openout:                              \openin & \openout.  (line   6)
 * \oplus:                                Math symbols.        (line 458)
-* \OptionNotUsed:                        Class and package commands.
-                                                              (line 200)
+* \OptionNotUsed:                        \OptionNotUsed.      (line   6)
 * \oslash:                               Math symbols.        (line 462)
 * \otimes:                               Math symbols.        (line 465)
 * \oval:                                 \oval.               (line   6)
-* \overbrace{MATH}:                      Over- and Underlining.
-                                                              (line  39)
-* \overline{TEXT}:                       Over- and Underlining.
+* \overbrace{MATH}:                      Over- or under math. (line  41)
+* \overleftarrow{MATH}:                  Over- or under math. (line  48)
+* \overline{MATH}:                       Over- or under math. (line  22)
+* \overrightarrow{MATH}:                 Over- or under math. (line  45)
+* \owns:                                 Math symbols.        (line 469)
+* \P:                                    Text symbols.        (line  50)
+* \PackageError:                         \ClassError and \PackageError and others.
                                                               (line  20)
-* \owns:                                 Math symbols.        (line 469)
-* \P:                                    Text symbols.        (line  46)
-* \PackageError:                         Class and package commands.
-                                                              (line  41)
-* \PackageInfo:                          Class and package commands.
-                                                              (line  41)
-* \PackageInfoNoLine:                    Class and package commands.
-                                                              (line  41)
-* \PackageWarning:                       Class and package commands.
-                                                              (line  41)
-* \PackageWarningNoLine:                 Class and package commands.
-                                                              (line  41)
+* \PackageInfo:                          \ClassError and \PackageError and others.
+                                                              (line  20)
+* \PackageInfoNoLine:                    \ClassError and \PackageError and others.
+                                                              (line  20)
+* \PackageWarning:                       \ClassError and \PackageError and others.
+                                                              (line  20)
+* \PackageWarningNoLine:                 \ClassError and \PackageError and others.
+                                                              (line  20)
 * \pagebreak:                            \pagebreak & \nopagebreak.
                                                               (line   6)
 * \pagenumbering:                        \pagenumbering.      (line   6)
@@ -18596,14 +19140,16 @@
 * \part <1>:                             \part.               (line   6)
 * \partial:                              Math symbols.        (line 476)
 * \partopsep:                            list.                (line 157)
-* \PassOptionsToClass:                   Class and package commands.
-                                                              (line 206)
-* \PassOptionsToPackage:                 Class and package commands.
-                                                              (line 206)
+* \PassOptionsToClass:                   \PassOptionsToClass & \PassOptionsToPackage.
+                                                              (line   6)
+* \PassOptionsToClass, ignoring:         \LoadClass & \LoadClassWithOptions.
+                                                              (line  27)
+* \PassOptionsToPackage:                 \PassOptionsToClass & \PassOptionsToPackage.
+                                                              (line   6)
 * \pdfpageheight:                        Document class options.
-                                                              (line  40)
+                                                              (line  43)
 * \pdfpagewidth:                         Document class options.
-                                                              (line  40)
+                                                              (line  43)
 * \perp:                                 Math symbols.        (line 479)
 * \phantom:                              \phantom & \vphantom & \hphantom.
                                                               (line   6)
@@ -18615,7 +19161,7 @@
 * \pmod:                                 Math functions.      (line  87)
 * \poptabs:                              tabbing.             (line 113)
 * \poptabs <1>:                          tabbing.             (line 114)
-* \pounds:                               Text symbols.        (line  50)
+* \pounds:                               Text symbols.        (line  54)
 * \Pr:                                   Math functions.      (line  90)
 * \prec:                                 Math symbols.        (line 500)
 * \preceq:                               Math symbols.        (line 503)
@@ -18625,21 +19171,21 @@
 * \printglossaries:                      Glossaries.          (line   6)
 * \printglossaries <1>:                  Glossaries.          (line  43)
 * \printindex:                           \printindex.         (line   6)
-* \ProcessOptions:                       Class and package commands.
-                                                              (line 243)
-* \ProcessOptions*:                      Class and package commands.
-                                                              (line 243)
+* \ProcessOptions:                       \ProcessOptions.     (line   6)
 * \prod:                                 Math symbols.        (line 516)
 * \propto:                               Math symbols.        (line 519)
 * \protect:                              \protect.            (line   6)
+* \protect, and message text:            \ClassError and \PackageError and others.
+                                                              (line  31)
 * \protected at write:                      \write.              (line  70)
 * \providecommand:                       \providecommand.     (line   6)
-* \ProvidesClass:                        Class and package commands.
-                                                              (line 281)
-* \ProvidesFile:                         Class and package commands.
-                                                              (line 314)
-* \ProvidesPackage:                      Class and package commands.
-                                                              (line 281)
+* \providerobustcmd (etoolbox package):  \DeclareRobustCommand.
+                                                              (line  32)
+* \ProvidesClass:                        \ProvidesClass & \ProvidesPackage.
+                                                              (line   6)
+* \ProvidesFile:                         \ProvidesFile.       (line   6)
+* \ProvidesPackage:                      \ProvidesClass & \ProvidesPackage.
+                                                              (line   6)
 * \ProvideTextCommand:                   \DeclareTextCommand & \ProvideTextCommand.
                                                               (line   6)
 * \ProvideTextCommandDefault:            \DeclareTextCommandDefault & \ProvideTextCommandDefault.
@@ -18658,8 +19204,8 @@
                                                               (line  69)
 * \quad <1>:                             \enspace & \quad & \qquad.
                                                               (line   6)
-* \quotedblbase („):                     Text symbols.        (line  54)
-* \quotesinglbase (‚):                   Text symbols.        (line  55)
+* \quotedblbase („):                     Text symbols.        (line  58)
+* \quotesinglbase (‚):                   Text symbols.        (line  59)
 * \r (ring accent):                      Accents.             (line  77)
 * \raggedbottom:                         \raggedbottom.       (line   6)
 * \raggedleft:                           \raggedleft.         (line   6)
@@ -18679,11 +19225,13 @@
                                                               (line   6)
 * \renewenvironment:                     \newenvironment & \renewenvironment.
                                                               (line   6)
-* \RequirePackage:                       Class and package commands.
-                                                              (line 323)
+* \renewrobustcmd (etoolbox package):    \DeclareRobustCommand.
+                                                              (line  32)
+* \RequirePackage:                       \RequirePackage & \RequirePackageWithOptions.
+                                                              (line   6)
 * \RequirePackage, and texput jobname:   Jobname.             (line  32)
-* \RequirePackageWithOptions:            Class and package commands.
-                                                              (line 323)
+* \RequirePackageWithOptions:            \RequirePackage & \RequirePackageWithOptions.
+                                                              (line   6)
 * \resizebox:                            \resizebox.          (line   6)
 * \restorecr:                            \obeycr & \restorecr.
                                                               (line   6)
@@ -18707,9 +19255,9 @@
 * \Roman{COUNTER}:                       \alph \Alph \arabic \roman \Roman \fnsymbol.
                                                               (line  32)
 * \rotatebox:                            \rotatebox.          (line   6)
-* \rq:                                   Text symbols.        (line  58)
+* \rq:                                   Text symbols.        (line  62)
 * \rule:                                 \rule.               (line   6)
-* \S:                                    Text symbols.        (line  61)
+* \S:                                    Text symbols.        (line  65)
 * \samepage:                             \pagebreak & \nopagebreak.
                                                               (line  44)
 * \savebox:                              \sbox & \savebox.    (line   6)
@@ -18747,6 +19295,7 @@
 * \sin:                                  Math functions.      (line  96)
 * \sinh:                                 Math functions.      (line  99)
 * \sl:                                   Font styles.         (line  93)
+* \slash:                                \slash.              (line   6)
 * \sloppy:                               \fussy & \sloppy.    (line   6)
 * \slshape:                              Font styles.         (line  46)
 * \small:                                Font sizes.          (line  11)
@@ -18766,6 +19315,8 @@
                                                               (line  88)
 * \space <1>:                            \input.              (line  32)
 * \space <2>:                            \typeout.            (line  22)
+* \space, and message text:              \ClassError and \PackageError and others.
+                                                              (line  31)
 * \spacefactor:                          \spacefactor.        (line  10)
 * \spadesuit:                            Math symbols.        (line 619)
 * \sqcap:                                Math symbols.        (line 622)
@@ -18824,77 +19375,78 @@
 * \tanh:                                 Math functions.      (line 108)
 * \tau:                                  Math symbols.        (line 685)
 * \telephone:                            \telephone.          (line   6)
-* \TeX:                                  Text symbols.        (line  65)
-* \textascendercompwordmark:             Text symbols.        (line 110)
-* \textasciicircum:                      Text symbols.        (line  68)
-* \textasciitilde:                       Text symbols.        (line  71)
-* \textasteriskcentered:                 Text symbols.        (line  74)
-* \textbackslash:                        Reserved characters. (line  18)
-* \textbackslash <1>:                    Text symbols.        (line  77)
-* \textbar:                              Text symbols.        (line  85)
-* \textbardbl:                           Text symbols.        (line  88)
+* \TeX:                                  Text symbols.        (line  69)
+* \textascendercompwordmark:             Text symbols.        (line 114)
+* \textasciicircum:                      Text symbols.        (line  72)
+* \textasciitilde:                       Text symbols.        (line  75)
+* \textasteriskcentered:                 Text symbols.        (line  78)
+* \textbackslash:                        Printing special characters.
+                                                              (line  19)
+* \textbackslash <1>:                    Text symbols.        (line  81)
+* \textbar:                              Text symbols.        (line  89)
+* \textbardbl:                           Text symbols.        (line  92)
 * \textbf:                               Font styles.         (line  40)
-* \textbigcircle:                        Text symbols.        (line  91)
-* \textbraceleft:                        Text symbols.        (line  94)
-* \textbraceright:                       Text symbols.        (line  98)
-* \textbullet:                           Text symbols.        (line 102)
-* \textcapitalcompwordmark:              Text symbols.        (line 109)
-* \textcircled{LETTER}:                  Text symbols.        (line 105)
-* \textcompwordmark:                     Text symbols.        (line 108)
+* \textbigcircle:                        Text symbols.        (line  95)
+* \textbraceleft:                        Text symbols.        (line  98)
+* \textbraceright:                       Text symbols.        (line 102)
+* \textbullet:                           Text symbols.        (line 106)
+* \textcapitalcompwordmark:              Text symbols.        (line 113)
+* \textcircled{LETTER}:                  Text symbols.        (line 109)
+* \textcompwordmark:                     Text symbols.        (line 112)
 * \textcopyright:                        Text symbols.        (line  14)
-* \textdagger:                           Text symbols.        (line 117)
-* \textdaggerdbl:                        Text symbols.        (line 120)
-* \textdollar (or \$):                   Text symbols.        (line 123)
-* \textellipsis:                         Text symbols.        (line  37)
-* \textemdash (or ---):                  Text symbols.        (line 126)
-* \textendash (or --):                   Text symbols.        (line 132)
-* \texteuro:                             Text symbols.        (line 135)
-* \textexclamdown (or !`):               Text symbols.        (line 143)
-* \textfiguredash:                       Text symbols.        (line 146)
+* \textdagger:                           Text symbols.        (line 121)
+* \textdaggerdbl:                        Text symbols.        (line 124)
+* \textdollar (or \$):                   Text symbols.        (line 127)
+* \textellipsis:                         Text symbols.        (line  41)
+* \textemdash (or ---):                  Text symbols.        (line 130)
+* \textendash (or --):                   Text symbols.        (line 136)
+* \texteuro:                             Text symbols.        (line 139)
+* \textexclamdown (or !`):               Text symbols.        (line 147)
+* \textfiguredash:                       Text symbols.        (line 150)
 * \textfloatsep:                         Floats.              (line 123)
 * \textfloatsep <1>:                     Floats.              (line 124)
 * \textfraction:                         Floats.              (line 102)
 * \textfraction <1>:                     Floats.              (line 103)
-* \textgreater:                          Text symbols.        (line 153)
+* \textgreater:                          Text symbols.        (line 157)
 * \textheight:                           Page layout parameters.
                                                               (line  91)
 * \textheight <1>:                       Page layout parameters.
                                                               (line  92)
-* \texthorizontalbar:                    Text symbols.        (line 156)
+* \texthorizontalbar:                    Text symbols.        (line 160)
 * \textit:                               Font styles.         (line  34)
-* \textleftarrow:                        Text symbols.        (line 164)
-* \textless:                             Text symbols.        (line 161)
+* \textleftarrow:                        Text symbols.        (line 168)
+* \textless:                             Text symbols.        (line 165)
 * \textmd:                               Font styles.         (line  37)
-* \textnonbreakinghyphen:                Text symbols.        (line 167)
+* \textnonbreakinghyphen:                Text symbols.        (line 171)
 * \textnormal:                           Font styles.         (line  58)
-* \textordfeminine:                      Text symbols.        (line 173)
-* \textordmasculine:                     Text symbols.        (line 174)
-* \textparagraph:                        Text symbols.        (line  47)
-* \textperiodcentered:                   Text symbols.        (line 177)
-* \textquestiondown (or ?`):             Text symbols.        (line 180)
-* \textquotedblleft (or ``):             Text symbols.        (line 183)
-* \textquotedblright (or ''):            Text symbols.        (line 186)
-* \textquoteleft (or `):                 Text symbols.        (line 189)
-* \textquoteright (or '):                Text symbols.        (line 192)
-* \textquotesingle:                      Text symbols.        (line 195)
-* \textquotestraightbase:                Text symbols.        (line 198)
-* \textquotestraightdblbase:             Text symbols.        (line 199)
-* \textregistered:                       Text symbols.        (line 202)
-* \textrightarrow:                       Text symbols.        (line 205)
+* \textordfeminine:                      Text symbols.        (line 177)
+* \textordmasculine:                     Text symbols.        (line 178)
+* \textparagraph:                        Text symbols.        (line  51)
+* \textperiodcentered:                   Text symbols.        (line 181)
+* \textquestiondown (or ?`):             Text symbols.        (line 184)
+* \textquotedblleft (or ``):             Text symbols.        (line 187)
+* \textquotedblright (or ''):            Text symbols.        (line 190)
+* \textquoteleft (or `):                 Text symbols.        (line 193)
+* \textquoteright (or '):                Text symbols.        (line 196)
+* \textquotesingle:                      Text symbols.        (line 199)
+* \textquotestraightbase:                Text symbols.        (line 202)
+* \textquotestraightdblbase:             Text symbols.        (line 203)
+* \textregistered:                       Text symbols.        (line 206)
+* \textrightarrow:                       Text symbols.        (line 209)
 * \textrm:                               Font styles.         (line  31)
 * \textsc:                               Font styles.         (line  52)
-* \textsection:                          Text symbols.        (line  62)
+* \textsection:                          Text symbols.        (line  66)
 * \textsf:                               Font styles.         (line  49)
 * \textsl:                               Font styles.         (line  46)
-* \textsterling:                         Text symbols.        (line  51)
+* \textsterling:                         Text symbols.        (line  55)
 * \textstyle:                            Math styles.         (line  29)
-* \textthreequartersemdash:              Text symbols.        (line 208)
-* \texttrademark:                        Text symbols.        (line 211)
+* \textthreequartersemdash:              Text symbols.        (line 212)
+* \texttrademark:                        Text symbols.        (line 215)
 * \texttt:                               Font styles.         (line  55)
-* \texttwelveudash:                      Text symbols.        (line 214)
-* \textunderscore:                       Text symbols.        (line 217)
+* \texttwelveudash:                      Text symbols.        (line 218)
+* \textunderscore:                       Text symbols.        (line 221)
 * \textup:                               Font styles.         (line  43)
-* \textvisiblespace:                     Text symbols.        (line 220)
+* \textvisiblespace:                     Text symbols.        (line 224)
 * \textwidth:                            Page layout parameters.
                                                               (line  99)
 * \textwidth <1>:                        Page layout parameters.
@@ -18904,6 +19456,7 @@
 * \TH (Þ):                               Additional Latin letters.
                                                               (line  56)
 * \thanks{TEXT}:                         \maketitle.          (line  56)
+* \thepage:                              \thepage.            (line   6)
 * \theta:                                Math symbols.        (line 688)
 * \thicklines:                           \thicklines.         (line   6)
 * \thickspace:                           Spacing in math mode.
@@ -18944,10 +19497,8 @@
 * \unboldmath <1>:                       \boldmath & \unboldmath.
                                                               (line  14)
 * \underbar:                             Accents.             (line  53)
-* \underbrace{MATH}:                     Over- and Underlining.
-                                                              (line  25)
-* \underline{TEXT}:                      Over- and Underlining.
-                                                              (line   9)
+* \underbrace{MATH}:                     Over- or under math. (line  26)
+* \underline{MATH}:                      Over- or under math. (line   9)
 * \unitlength:                           picture.             (line  28)
 * \unlhd:                                Math symbols.        (line 718)
 * \unrhd:                                Math symbols.        (line 724)
@@ -18964,7 +19515,7 @@
 * \usecounter:                           \usecounter.         (line   6)
 * \usefont:                              Low-level font commands.
                                                               (line 126)
-* \usepackage:                           Additional packages. (line   6)
+* \usepackage:                           \usepackage.         (line   6)
 * \UseTextAccent:                        \UseTextSymbol & \UseTextAccent.
                                                               (line   6)
 * \UseTextSymbol:                        \UseTextSymbol & \UseTextAccent.
@@ -18985,6 +19536,7 @@
 * \vector:                               \vector.             (line   6)
 * \vee:                                  Math symbols.        (line 798)
 * \verb:                                 \verb.               (line   6)
+* \verb, as fragile command:             \protect.            (line  39)
 * \Vert:                                 Math symbols.        (line 802)
 * \vert:                                 Math symbols.        (line 806)
 * \vfill:                                \vfill.              (line   6)
@@ -19005,6 +19557,8 @@
 * \write18:                              \write18.            (line   6)
 * \write18, enabling:                    Command line options.
                                                               (line  61)
+* \XeTeXdefaultencoding:                 inputenc package.    (line  36)
+* \XeTeXinputencoding:                   inputenc package.    (line  36)
 * \Xi:                                   Math symbols.        (line 822)
 * \xi:                                   Math symbols.        (line 825)
 * \xspace:                               xspace package.      (line   6)
@@ -19011,42 +19565,29 @@
 * \year:                                 \day & \month & \year.
                                                               (line   6)
 * \zeta:                                 Math symbols.        (line 828)
-* \[...\] display math:                  displaymath.         (line  26)
-* \\ (for center):                       center.              (line  16)
-* \\ (for eqnarray):                     eqnarray.            (line  29)
-* \\ (for flushleft):                    flushleft.           (line  14)
-* \\ (for flushright):                   flushright.          (line  12)
-* \\ (for letters):                      Letters.             (line  48)
-* \\ (for tabular):                      tabular.             (line  36)
-* \\ (for verse):                        verse.               (line  21)
-* \\ (for \author):                      \maketitle.          (line  43)
-* \\ (for \shortstack objects):          \shortstack.         (line  35)
-* \\ (for \title):                       \maketitle.          (line  64)
-* \\ (force line break):                 \\.                  (line   6)
-* \\ (tabbing):                          tabbing.             (line  66)
-* \\* (for eqnarray):                    eqnarray.            (line  35)
-* \^:                                    Reserved characters. (line  18)
-* \^ (circumflex accent):                Accents.             (line  40)
-* \_:                                    Reserved characters. (line  13)
-* \` (grave accent):                     Accents.             (line  44)
-* \` (tabbing):                          tabbing.             (line  93)
-* \{:                                    Reserved characters. (line  13)
-* \|:                                    Math symbols.        (line  18)
-* \}:                                    Reserved characters. (line  13)
-* \~:                                    Reserved characters. (line  18)
-* \~ (tilde accent):                     Accents.             (line  48)
+* & (for table cells):                   tabular.             (line  32)
+* & character, meaning of:               Special characters.  (line  26)
+* # character, meaning of:               Special characters.  (line  36)
+* % character, meaning of:               Special characters.  (line  19)
+* ^ character, meaning of:               Special characters.  (line  30)
 * ^ superscript:                         Subscripts & superscripts.
                                                               (line   6)
 * ^^J, in \write:                        \write.              (line  94)
-* _ subscript:                           Subscripts & superscripts.
-                                                              (line   6)
-* {...} (for required arguments):        LaTeX command syntax.
-                                                              (line   6)
 * ~:                                     ~.                   (line   6)
+* ~ character, meaning of:               Special characters.  (line  40)
+* $ character, meaning of:               Special characters.  (line  23)
+* $ inline math:                         math.                (line  12)
+* $$...$$ plain TeX display math:        displaymath.         (line  32)
+* 10pt option:                           Document class options.
+                                                              (line  17)
+* 11pt option:                           Document class options.
+                                                              (line  17)
+* 12pt option:                           Document class options.
+                                                              (line  17)
 * a4paper option:                        Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * a5paper option:                        Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * abstract environment:                  abstract.            (line   6)
 * abstract package:                      abstract.            (line  27)
 * abstracts:                             abstract.            (line   6)
@@ -19063,12 +19604,13 @@
 * accents, defining <5>:                 \DeclareTextSymbolDefault.
                                                               (line   6)
 * accents, mathematical:                 Math accents.        (line   6)
+* accessibility:                         \DocumentMetadata.   (line   6)
 * accessing any character of a font:     Symbols by font position.
                                                               (line   6)
 * acronyms, list of:                     Glossaries.          (line   6)
 * acute accent:                          Accents.             (line  29)
 * acute accent, math:                    Math accents.        (line  11)
-* additional packages, loading:          Additional packages. (line   6)
+* additional packages, loading:          \usepackage.         (line   6)
 * adjustbox package:                     Boxes.               (line   9)
 * ae ligature:                           Additional Latin letters.
                                                               (line  16)
@@ -19076,6 +19618,8 @@
 * align environment, from amsmath:       eqnarray.            (line   6)
 * aligning equations:                    eqnarray.            (line   6)
 * alignment via tabbing:                 tabbing.             (line   6)
+* alphabetic presentation forms Unicode block: Ligatures.     (line  62)
+* ampersand character, meaning of:       Special characters.  (line  26)
 * amscd package:                         Arrows.              (line  41)
 * amsfonts package:                      Math formulas.       (line  61)
 * amsfonts package <1>:                  Arrows.              (line   6)
@@ -19107,20 +19651,20 @@
 * appendix:                              \appendix.           (line   6)
 * appendix package:                      \appendix.           (line  30)
 * arguments, optional, defining and using: \newcommand & \renewcommand.
-                                                              (line  49)
+                                                              (line  50)
 * aring:                                 Additional Latin letters.
                                                               (line  12)
 * array environment:                     array.               (line   6)
 * array package:                         array.               (line  74)
 * arrays, math:                          array.               (line   6)
-* arrow, left, in text:                  Text symbols.        (line 165)
-* arrow, right, in text:                 Text symbols.        (line 206)
+* arrow, left, in text:                  Text symbols.        (line 169)
+* arrow, right, in text:                 Text symbols.        (line 210)
 * arrows:                                Arrows.              (line   6)
 * article class:                         Document classes.    (line  11)
-* ascender height:                       Text symbols.        (line 111)
-* ASCII circumflex, in text:             Text symbols.        (line  69)
-* ASCII tilde, in text:                  Text symbols.        (line  72)
-* asterisk, centered, in text:           Text symbols.        (line  75)
+* ascender height:                       Text symbols.        (line 115)
+* ASCII circumflex, in text:             Text symbols.        (line  73)
+* ASCII tilde, in text:                  Text symbols.        (line  76)
+* asterisk, centered, in text:           Text symbols.        (line  79)
 * Asymptote package:                     \line.               (line  35)
 * Asymptote package <1>:                 \strut.              (line  62)
 * Asymptote package <2>:                 \mbox & \makebox.    (line  73)
@@ -19127,10 +19671,12 @@
 * Asymptote package <3>:                 \write18.            (line  13)
 * at clause, in font definitions:        \newfont.            (line  19)
 * at-sign:                               \@.                  (line   6)
+* atenddvi package:                      \AtBeginDvi & \AtEndDvi.
+                                                              (line  16)
 * author, for titlepage:                 \maketitle.          (line  43)
 * auxiliary file:                        Output files.        (line  33)
 * b5paper option:                        Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * babel package:                         \chapter.            (line  71)
 * babel package <1>:                     thebibliography.     (line  53)
 * babel package <2>:                     Accents.             (line   6)
@@ -19141,13 +19687,14 @@
 * back matter of a book:                 \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * background, colored:                   Colored pages.       (line   6)
-* backslash, in text:                    Text symbols.        (line  78)
+* backslash, in text:                    Text symbols.        (line  82)
+* backslash, meaning of:                 Special characters.  (line  11)
 * badness:                               Page breaking.       (line  11)
-* bar, double vertical, in text:         Text symbols.        (line  89)
-* bar, vertical, in text:                Text symbols.        (line  86)
 * bar-over accent:                       Accents.             (line  36)
 * bar-over accent, math:                 Math accents.        (line  14)
 * bar-under accent:                      Accents.             (line  51)
+* bar, double vertical, in text:         Text symbols.        (line  93)
+* bar, vertical, in text:                Text symbols.        (line  90)
 * basics of LaTeX:                       Overview.            (line   6)
 * batchmode:                             Command line options.
                                                               (line  27)
@@ -19155,21 +19702,21 @@
 * beamer template and class:             beamer template.     (line   6)
 * beginning of document hook:            \AtBeginDocument.    (line   6)
 * bibliography format, open:             Document class options.
-                                                              (line  67)
+                                                              (line  70)
 * bibliography, creating (automatically): Using BibTeX.       (line   6)
 * bibliography, creating (manually):     thebibliography.     (line   6)
 * BibTeX error messages:                 BibTeX error messages.
                                                               (line   6)
 * bibTeX, using:                         Using BibTeX.        (line   6)
-* big circle symbols, in text:           Text symbols.        (line  92)
+* big circle symbols, in text:           Text symbols.        (line  96)
 * big point:                             Units of length.     (line  20)
 * bigfoot package:                       Footnotes of footnotes.
                                                               (line   6)
 * black boxes, omitting:                 Document class options.
-                                                              (line  53)
+                                                              (line  56)
 * blackboard bold:                       Blackboard bold.     (line   6)
 * blanks, after control sequences:       \newcommand & \renewcommand.
-                                                              (line  87)
+                                                              (line  88)
 * bm package:                            bm.                  (line   6)
 * bold font:                             Font styles.         (line  76)
 * bold math:                             Font styles.         (line 129)
@@ -19196,9 +19743,10 @@
 * box, use saved box:                    \usebox.             (line   6)
 * boxes:                                 Boxes.               (line   6)
 * bp:                                    Units of length.     (line  19)
-* brace, left, in text:                  Text symbols.        (line  95)
-* brace, right, in text:                 Text symbols.        (line  99)
+* brace, left, in text:                  Text symbols.        (line  99)
+* brace, right, in text:                 Text symbols.        (line 103)
 * braces:                                Delimiters.          (line   6)
+* braces, meaning of:                    Special characters.  (line  15)
 * brackets:                              Delimiters.          (line   6)
 * breaking lines:                        Line breaking.       (line   6)
 * breaking pages:                        Page breaking.       (line   6)
@@ -19208,13 +19756,14 @@
 * bug reporting:                         About this document. (line  24)
 * bullet lists:                          itemize.             (line   6)
 * bullet symbol:                         Math symbols.        (line 108)
-* bullet, in text:                       Text symbols.        (line 103)
+* bullet, in text:                       Text symbols.        (line 107)
 * bulleted lists:                        itemize.             (line   6)
 * calligraphic fonts:                    Calligraphic.        (line   6)
 * calligraphic letters for math:         Font styles.         (line  79)
-* cap height:                            Text symbols.        (line 111)
+* cap height:                            Text symbols.        (line 115)
 * caption package:                       \caption.            (line  72)
 * captions:                              \caption.            (line   6)
+* caret character, meaning of:           Special characters.  (line  30)
 * caron accent:                          Accents.             (line  93)
 * catcode:                               \makeatletter & \makeatother.
                                                               (line  18)
@@ -19224,10 +19773,10 @@
 * cc list, in letters:                   \cc.                 (line   6)
 * cedilla accent:                        Accents.             (line  61)
 * center environment:                    center.              (line   6)
-* centered asterisk, in text:            Text symbols.        (line  75)
+* centered asterisk, in text:            Text symbols.        (line  79)
 * centered equations:                    Document class options.
-                                                              (line  57)
-* centered period, in text:              Text symbols.        (line 178)
+                                                              (line  60)
+* centered period, in text:              Text symbols.        (line 182)
 * centering text, declaration for:       \centering.          (line   6)
 * centering text, environment for:       center.              (line   6)
 * centimeter:                            Units of length.     (line  27)
@@ -19238,7 +19787,7 @@
 * chapter counter:                       Counters.            (line  15)
 * character category code:               \makeatletter & \makeatother.
                                                               (line  18)
-* character encoding:                    inputenc package.    (line  15)
+* character encoding:                    Input encodings.     (line   6)
 * character, invisible:                  \phantom & \vphantom & \hphantom.
                                                               (line   6)
 * character, invisible <1>:              \mathstrut.          (line   6)
@@ -19247,43 +19796,46 @@
                                                               (line   6)
 * characters, non-English:               Additional Latin letters.
                                                               (line   6)
-* characters, reserved:                  Reserved characters. (line   6)
-* characters, special:                   Reserved characters. (line   6)
 * check accent:                          Accents.             (line  93)
 * check accent, math:                    Math accents.        (line  20)
 * cicero:                                Units of length.     (line  33)
-* circle symbol, big, in text:           Text symbols.        (line  92)
-* circled letter, in text:               Text symbols.        (line 106)
+* circle symbol, big, in text:           Text symbols.        (line  96)
+* circled letter, in text:               Text symbols.        (line 110)
 * circumflex accent:                     Accents.             (line  40)
 * circumflex accent, math:               Math accents.        (line  32)
-* circumflex, ASCII, in text:            Text symbols.        (line  69)
+* circumflex, ASCII, in text:            Text symbols.        (line  73)
 * citation key:                          \bibitem.            (line  15)
 * class and package commands:            Class and package commands.
                                                               (line   6)
-* class and package difference:          Class and package construction.
-                                                              (line  15)
+* class and package difference:          Class and package creation.
+                                                              (line  11)
 * class and package structure:           Class and package structure.
                                                               (line   6)
 * class file example:                    Class and package structure.
-                                                              (line  39)
+                                                              (line  31)
 * class file layout:                     Class and package structure.
                                                               (line   6)
+* Class Guide, document:                 Class and package structure.
+                                                              (line  45)
 * class options:                         Document class options.
                                                               (line   6)
 * class options <1>:                     Class and package structure.
                                                               (line   6)
-* class options <2>:                     Class and package commands.
-                                                              (line  66)
+* class options <2>:                     \DeclareOption.      (line   6)
+* class writing tutorial document:       Class and package structure.
+                                                              (line  45)
 * classes of documents:                  Document classes.    (line   6)
 * cleveref package:                      Cross references.    (line  38)
 * cleveref package <1>:                  \ref.                (line  29)
-* cleveref package <2>:                  \footnotemark.       (line  48)
+* cleveref package <2>:                  \footnotemark.       (line  38)
 * CLI:                                   Command line interface.
                                                               (line   6)
 * clock option to slides class:          Document class options.
-                                                              (line  99)
+                                                              (line 102)
 * closing letters:                       \closing.            (line   6)
-* closing quote:                         Text symbols.        (line  59)
+* closing quote:                         Text symbols.        (line  63)
+* clsguide document:                     Class and package structure.
+                                                              (line  45)
 * cm:                                    Units of length.     (line  26)
 * cm-super package:                      fontenc package.     (line  36)
 * cmd.exe, used by \write18:             \write18.            (line  60)
@@ -19312,7 +19864,7 @@
 * commands, defining new ones:           \newcommand & \renewcommand.
                                                               (line   6)
 * commands, defining new ones <1>:       \providecommand.     (line   6)
-* commands, document class:              Class and package construction.
+* commands, document class:              Class and package creation.
                                                               (line   6)
 * commands, graphics package:            Commands for graphics.
                                                               (line   6)
@@ -19323,16 +19875,19 @@
                                                               (line   6)
 * commands, run from LaTeX:              \write18.            (line   6)
 * commands, star-variants:               \@ifstar.            (line   6)
-* composite word mark, in text:          Text symbols.        (line 111)
+* composite word mark, in text:          Text symbols.        (line 115)
 * comprehensive package:                 Math symbols.        (line   6)
 * computer programs, typesetting:        verbatim.            (line   6)
 * configuration, graphics package:       Graphics package configuration.
                                                               (line   6)
+* conflict between package options:      \PassOptionsToClass & \PassOptionsToPackage.
+                                                              (line  15)
 * contents file:                         Output files.        (line  43)
 * control sequences:                     Control sequences.   (line   6)
 * control symbol, defined:               Control sequences.   (line  17)
 * control word, defined:                 Control sequences.   (line  13)
 * copyright symbol:                      Text symbols.        (line  15)
+* Cork encoding:                         fontenc package.     (line  57)
 * counters, a list of:                   Counters.            (line   6)
 * counters, defining new:                \newcounter.         (line   6)
 * counters, getting value of:            \value.              (line   6)
@@ -19340,7 +19895,8 @@
                                                               (line   6)
 * counters, setting:                     \setcounter.         (line   6)
 * cprotect package:                      verbatim.            (line  25)
-* cprotect package <1>:                  \verb.               (line  45)
+* cprotect package <1>:                  \verb.               (line  42)
+* cprotect package <2>:                  \protect.            (line  51)
 * creating pictures:                     picture.             (line   6)
 * creating tables:                       table.               (line   6)
 * credit footnote:                       \maketitle.          (line  57)
@@ -19349,17 +19905,20 @@
 * cross referencing with page number:    \pageref.            (line   6)
 * cross referencing, across documents:   xr package.          (line   6)
 * cross referencing, symbolic:           \ref.                (line   6)
+* cross-references, page numbers in:     \thepage.            (line  11)
 * CTAN:                                  CTAN.                (line   6)
 * curly braces:                          Delimiters.          (line   6)
-* currency, dollar:                      Text symbols.        (line 124)
-* currency, euro:                        Text symbols.        (line 136)
-* dagger, double, in text:               Text symbols.        (line 121)
+* curly braces, meaning of:              Special characters.  (line  15)
+* currency, dollar:                      Text symbols.        (line 128)
+* currency, euro:                        Text symbols.        (line 140)
+* dagger, double, in text:               Text symbols.        (line 125)
 * dagger, in text:                       Text symbols.        (line  18)
-* dagger, in text <1>:                   Text symbols.        (line 118)
+* dagger, in text <1>:                   Text symbols.        (line 122)
 * DANTE e.V.:                            CTAN.                (line  20)
 * datatool package:                      \read.               (line  31)
+* date of format, requiring:             \NeedsTeXFormat.     (line   6)
 * date, for titlepage:                   \maketitle.          (line  51)
-* date, today’s:                         \today.              (line   6)
+* date, today's:                         \today.              (line   6)
 * datetime package:                      \today.              (line  27)
 * dbltopnumber:                          Floats.              (line 134)
 * dbltopnumber <1>:                      Floats.              (line 135)
@@ -19367,6 +19926,7 @@
 * dd:                                    Units of length.     (line  29)
 * declaration form of font size commands: Font sizes.         (line  24)
 * declaration form of font style commands: Font styles.       (line   8)
+* default option processing:             \DeclareOption.      (line  18)
 * define color:                          Define colors.       (line   6)
 * defining a new command:                \newcommand & \renewcommand.
                                                               (line   6)
@@ -19377,13 +19937,13 @@
 * 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 109)
 * delim_1:                               makeindex.           (line 113)
 * delim_2:                               makeindex.           (line 117)
 * delim_n:                               makeindex.           (line 121)
 * delim_r:                               makeindex.           (line 125)
+* delimiters:                            Delimiters.          (line   6)
+* delimiters, paired:                    \left & \right.      (line   6)
 * description:                           \newglossaryentry.   (line  46)
 * description environment:               description.         (line   6)
 * description lists, creating:           description.         (line   6)
@@ -19390,8 +19950,8 @@
 * design size, in font definitions:      \newfont.            (line  19)
 * didot point:                           Units of length.     (line  30)
 * dieresis accent:                       Accents.             (line  25)
-* difference between class and package:  Class and package construction.
-                                                              (line  15)
+* difference between class and package:  Class and package creation.
+                                                              (line  11)
 * dimen plain TeX:                       Lengths.             (line   9)
 * directory listings, from system:       \write18.            (line  65)
 * discretionary breaks, multiplication:  \*.                  (line   6)
@@ -19404,7 +19964,7 @@
                                                               (line   6)
 * displaymath environment:               displaymath.         (line   6)
 * displaymath environment <1>:           Math formulas.       (line   6)
-* document class commands:               Class and package construction.
+* document class commands:               Class and package creation.
                                                               (line   6)
 * document class options:                Document class options.
                                                               (line   6)
@@ -19413,7 +19973,9 @@
 * document environment:                  document.            (line   6)
 * document root name:                    Jobname.             (line   6)
 * document templates:                    Document templates.  (line   6)
-* dollar sign:                           Text symbols.        (line 124)
+* documentmetadata-support-doc document: \DocumentMetadata.   (line  16)
+* dollar sign:                           Text symbols.        (line 128)
+* dollar sign character, meaning of:     Special characters.  (line  23)
 * dot accent:                            Accents.             (line  32)
 * dot over accent, math:                 Math accents.        (line  26)
 * dot-over accent:                       Accents.             (line  32)
@@ -19423,41 +19985,46 @@
 * dotless j:                             Accents.             (line  19)
 * dotless j, math:                       Math symbols.        (line 275)
 * dots:                                  Dots.                (line   6)
-* double angle quotation marks:          Text symbols.        (line  33)
+* double angle quotation marks:          Text symbols.        (line  35)
 * double dagger, in text:                Text symbols.        (line  21)
-* double dagger, in text <1>:            Text symbols.        (line 121)
+* double dagger, in text <1>:            Text symbols.        (line 125)
 * double dot accent, math:               Math accents.        (line  23)
-* double guillemets:                     Text symbols.        (line  33)
-* double left quote:                     Text symbols.        (line 184)
-* double low-9 quotation mark:           Text symbols.        (line  56)
-* double quote, straight base:           Text symbols.        (line 200)
-* double right quote:                    Text symbols.        (line 187)
+* double guillemets:                     Text symbols.        (line  35)
+* double left quote:                     Text symbols.        (line 188)
+* double low-9 quotation mark:           Text symbols.        (line  60)
+* double quotation marks, as ligatures:  Ligatures.           (line  22)
+* double quote, straight base:           Text symbols.        (line 204)
+* double right quote:                    Text symbols.        (line 191)
 * double spacing:                        \baselineskip & \baselinestretch.
                                                               (line   6)
-* double vertical bar, in text:          Text symbols.        (line  89)
+* double vertical bar, in text:          Text symbols.        (line  93)
 * doublestruck:                          Blackboard bold.     (line   6)
 * draft option:                          Document class options.
-                                                              (line  49)
-* dvilualatex-dev:                       TeX engines.         (line  63)
+                                                              (line  52)
+* dvilualatex-dev:                       TeX engines.         (line  70)
 * dvipdfmx command:                      Output files.        (line  10)
 * dvips command:                         Output files.        (line  10)
 * dvitype command:                       Output files.        (line  10)
-* e-dash:                                Text symbols.        (line 133)
+* e-dash:                                Text symbols.        (line 137)
 * e-TeX:                                 TeX engines.         (line  16)
+* e-TeX, and robust commands:            \DeclareRobustCommand.
+                                                              (line  32)
 * ellipses:                              Dots.                (line   6)
-* ellipsis:                              Text symbols.        (line  39)
+* ellipsis:                              Text symbols.        (line  43)
 * ellipsis, in Unicode (U+2026):         Dots.                (line  66)
 * ellipsis, traditional (three periods): Dots.                (line  66)
-* em:                                    Units of length.     (line  46)
-* em <1>:                                Units of length.     (line  45)
-* em-dash:                               Text symbols.        (line 127)
-* em-dash, three-quarters:               Text symbols.        (line 209)
-* em-dash, two-thirds:                   Text symbols.        (line 215)
+* em:                                    Units of length.     (line  45)
+* em <1>:                                Units of length.     (line  46)
+* em-dash:                               Text symbols.        (line 131)
+* em-dash, as ligature:                  Ligatures.           (line  22)
+* em-dash, three-quarters:               Text symbols.        (line 213)
+* em-dash, two-thirds:                   Text symbols.        (line 219)
 * emphasis:                              Font styles.         (line  60)
+* en-dash, as ligature:                  Ligatures.           (line  22)
 * enclosure list:                        \encl.               (line   6)
 * encoding, font:                        \DeclareFontEncoding.
                                                               (line   6)
-* encoding, of input files:              inputenc package.    (line  15)
+* encodings, input:                      Input encodings.     (line   6)
 * end matter of a book:                  \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * end of document hook:                  \AtEndDocument.      (line   6)
@@ -19469,7 +20036,7 @@
 * enumii counter:                        Counters.            (line  15)
 * enumiii counter:                       Counters.            (line  15)
 * enumitem package:                      itemize.             (line  66)
-* enumitem package <1>:                  list.                (line 255)
+* enumitem package <1>:                  list.                (line 273)
 * enumiv counter:                        Counters.            (line  15)
 * environment:                           Starting and ending. (line  25)
 * environment form of font size commands: Font sizes.         (line  47)
@@ -19521,12 +20088,12 @@
 * equation environment <1>:              Math formulas.       (line   6)
 * equation number, cross referencing:    \ref.                (line   6)
 * equation numbers, left vs. right:      Document class options.
-                                                              (line  63)
+                                                              (line  66)
 * equation numbers, omitting:            eqnarray.            (line  39)
 * equations, aligning:                   eqnarray.            (line   6)
 * equations, environment for:            equation.            (line   6)
 * equations, flush left vs. centered:    Document class options.
-                                                              (line  57)
+                                                              (line  60)
 * error messages, from BibTeX:           BibTeX error messages.
                                                               (line   6)
 * errorstopmode:                         Command line options.
@@ -19533,21 +20100,24 @@
                                                               (line  27)
 * es-zet German letter:                  Additional Latin letters.
                                                               (line  52)
+* escaping special characters:           Printing special characters.
+                                                              (line   6)
 * 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 136)
-* eurosym package:                       Text symbols.        (line 136)
-* eurosym package <1>:                   Text symbols.        (line 137)
-* ex:                                    Units of length.     (line  42)
-* ex <1>:                                Units of length.     (line  41)
-* exclamation point, upside-down:        Text symbols.        (line 144)
+* etoolbox package:                      \DeclareRobustCommand.
+                                                              (line  32)
+* euro symbol:                           Text symbols.        (line 140)
+* eurosym package:                       Text symbols.        (line 140)
+* eurosym package <1>:                   Text symbols.        (line 141)
+* ex:                                    Units of length.     (line  41)
+* ex <1>:                                Units of length.     (line  42)
+* exclamation point, upside-down:        Text symbols.        (line 148)
+* exclamation points, ending a sentence: \@.                  (line  39)
 * executivepaper option:                 Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * expl3 package:                         LaTeX command syntax.
-                                                              (line  35)
+                                                              (line  36)
 * expl3 package <1>:                     Upper and lower case.
                                                               (line  48)
 * exponent:                              Subscripts & superscripts.
@@ -19557,6 +20127,7 @@
                                                               (line   6)
 * external commands:                     \write18.            (line   6)
 * external files, writing:               filecontents.        (line   6)
+* f-ligatures:                           Ligatures.           (line  22)
 * fallback jobname:                      Jobname.             (line  27)
 * families, of fonts:                    Low-level font commands.
                                                               (line  21)
@@ -19564,9 +20135,9 @@
 * fancyhdr package <1>:                  \pagestyle.          (line  13)
 * fancyvrb package:                      tabbing.             (line 146)
 * fancyvrb package <1>:                  verbatim.            (line  41)
-* feminine ordinal symbol:               Text symbols.        (line 175)
+* feminine ordinal symbol:               Text symbols.        (line 179)
 * figure counter:                        Counters.            (line  15)
-* figure dash character:                 Text symbols.        (line 147)
+* figure dash character:                 Text symbols.        (line 151)
 * figure environment:                    figure.              (line   6)
 * figure number, cross referencing:      \ref.                (line   6)
 * figures, footnotes in:                 minipage.            (line 107)
@@ -19581,16 +20152,16 @@
 * filename for current job:              Command line options.
                                                               (line  43)
 * final option:                          Document class options.
-                                                              (line  49)
-* first-latex-doc document:              About this document. (line  36)
+                                                              (line  52)
+* first-latex-doc document:              About this document. (line  37)
 * fixed-width font:                      Font styles.         (line  97)
 * flafter package:                       Floats.              (line  82)
 * fleqn option:                          Document class options.
-                                                              (line  49)
+                                                              (line  52)
 * float package:                         Floats.              (line  52)
 * float page:                            Floats.              (line  58)
 * flush left equations:                  Document class options.
-                                                              (line  57)
+                                                              (line  60)
 * flushing floats and starting a page:   \clearpage & \cleardoublepage.
                                                               (line   6)
 * flushleft environment:                 flushleft.           (line   6)
@@ -19621,7 +20192,7 @@
                                                               (line   6)
 * footnote counter:                      Counters.            (line  15)
 * footnote number, cross referencing:    \ref.                (line   6)
-* footnote parameters:                   \footnote.           (line  34)
+* footnote parameters:                   \footnote.           (line  35)
 * footnote, in a table:                  Footnotes in a table.
                                                               (line   6)
 * footnote, in section headings:         Footnotes in section headings.
@@ -19630,10 +20201,11 @@
                                                               (line   6)
 * footnotes in figures:                  minipage.            (line 107)
 * footnotes, creating:                   Footnotes.           (line   6)
-* footnotes, in a minipage:              \footnote.           (line  62)
-* footnotes, symbols instead of numbers: \footnote.           (line  24)
+* footnotes, in a minipage:              \footnote.           (line  67)
+* footnotes, symbols instead of numbers: \footnote.           (line  25)
 * force option for filecontents:         filecontents.        (line  31)
 * format files, TeX:                     TeX engines.         (line   6)
+* format, requiring:                     \NeedsTeXFormat.     (line   6)
 * formulas, environment for:             equation.            (line   6)
 * formulas, math:                        Math formulas.       (line   6)
 * forward reference:                     Cross references.    (line  27)
@@ -19643,17 +20215,16 @@
 * frame rule width:                      \fbox & \framebox.   (line  38)
 * frame, line width:                     \fbox & \framebox.   (line  38)
 * frame, separation from contents:       \fbox & \framebox.   (line  43)
-* French quotation marks:                Text symbols.        (line  33)
+* French quotation marks:                Text symbols.        (line  35)
 * front matter of a book:                \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * functions, math:                       Math functions.      (line   6)
 * geometry package:                      Document class options.
-                                                              (line  40)
-* geometry package <1>:                  Document class options.
-                                                              (line  44)
+                                                              (line  43)
 * global options:                        Document class options.
                                                               (line   6)
-* global options <1>:                    Additional packages. (line  15)
+* global options <1>:                    \usepackage.         (line  25)
+* global options <2>:                    \ProcessOptions.     (line  15)
 * glossaries:                            Glossaries.          (line   6)
 * glossary:                              Glossaries.          (line   6)
 * glossary, entries:                     \newglossaryentry.   (line   6)
@@ -19680,25 +20251,32 @@
 * 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 154)
+* greater than symbol, in text:          Text symbols.        (line 158)
 * greek letters:                         Math symbols.        (line   6)
 * Greek letters:                         Greek letters.       (line   6)
 * grfext package:                        \DeclareGraphicsExtensions.
                                                               (line  39)
+* group_skip:                            makeindex.           (line  58)
 * group, and environments:               Environments.        (line  18)
-* group_skip:                            makeindex.           (line  58)
+* guillemots, birds:                     Text symbols.        (line  35)
 * hacek accent:                          Accents.             (line  93)
+* háček accent, math:                    Math accents.        (line  20)
 * Halmos symbol:                         \rule.               (line  13)
 * hard space:                            ~.                   (line   6)
+* hash character (#), meaning of:        Special characters.  (line  36)
 * hat accent:                            Accents.             (line  40)
 * hat accent, math:                      Math accents.        (line  32)
+* hat character, meaning of:             Special characters.  (line  30)
 * header style:                          \pagestyle.          (line   6)
 * header, parameters for:                Page layout parameters.
                                                               (line   6)
 * hello, world:                          Starting and ending. (line   6)
 * here, putting floats:                  Floats.              (line  52)
+* hilatex:                               TeX engines.         (line  55)
+* HINT format:                           TeX engines.         (line  56)
+* HiTeX:                                 TeX engines.         (line  56)
 * home page for manual:                  About this document. (line   6)
-* horizontal bar character:              Text symbols.        (line 157)
+* horizontal bar character:              Text symbols.        (line 161)
 * horizontal paragraph indentation:      \parindent & \parskip.
                                                               (line   6)
 * horizontal space:                      \hss.                (line   6)
@@ -19706,17 +20284,16 @@
 * horizontal spacing:                    \phantom & \vphantom & \hphantom.
                                                               (line   6)
 * hungarian umlaut accent:               Accents.             (line  69)
-* hyperref package:                      \footnotemark.       (line  48)
-* hyperref package <1>:                  \footnotemark.       (line  57)
-* hyperref package <2>:                  \pagenumbering.      (line  46)
+* hyperref package:                      \footnotemark.       (line  38)
+* hyperref package <1>:                  \footnotemark.       (line  47)
+* hyperref package <2>:                  \pagenumbering.      (line  42)
 * hyperref package <3>:                  \contentsline.       (line  37)
 * hyperref package <4>:                  Command line input.  (line  14)
-* hyphen character, non-breaking:        Text symbols.        (line 168)
+* hyphen character, non-breaking:        Text symbols.        (line 172)
 * 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.
@@ -19730,6 +20307,8 @@
 * in:                                    Units of length.     (line  16)
 * inch:                                  Units of length.     (line  17)
 * including graphics:                    \includegraphics.    (line   6)
+* indent_length:                         makeindex.           (line 137)
+* indent_space:                          makeindex.           (line 133)
 * indent, forcing:                       \indent & \noindent. (line   6)
 * indentation of paragraphs, in minipage: minipage.           (line 103)
 * indentfirst package:                   \part.               (line  50)
@@ -19739,10 +20318,8 @@
 * indentfirst package <4>:               \subsubsection & \paragraph & \subparagraph.
                                                               (line  59)
 * indentfirst package <5>:               \indent & \noindent. (line  48)
-* indent_length:                         makeindex.           (line 137)
-* indent_space:                          makeindex.           (line 133)
+* index entries, 'see' and 'see also':   \index.              (line  58)
 * index entries, subentries:             \index.              (line  26)
-* index entries, ‘see’ and ‘see also’:   \index.              (line  58)
 * index entry:                           \index.              (line   6)
 * index package:                         \index.              (line 103)
 * index, multiple:                       Indexes.             (line  51)
@@ -19757,6 +20334,7 @@
 * infinite vertical stretch:             \vfill.              (line   6)
 * inline formulas:                       math.                (line   6)
 * inner paragraph mode:                  Modes.               (line  51)
+* input encodings:                       Input encodings.     (line   6)
 * input file:                            Splitting the input. (line   6)
 * input, on command line:                Command line input.  (line   6)
 * input/output:                          Input/output.        (line   6)
@@ -19769,12 +20347,13 @@
 * interline space:                       \baselineskip & \baselinestretch.
                                                               (line   6)
 * internal vertical mode:                Modes.               (line  41)
+* inverted exclamation mark, as ligature: Ligatures.          (line  22)
+* inverted question mark, as ligature:   Ligatures.           (line  22)
 * invisible character:                   \phantom & \vphantom & \hphantom.
                                                               (line   6)
 * invisible character <1>:               \mathstrut.          (line   6)
 * italic correction:                     \/.                  (line   6)
 * italic font:                           Font styles.         (line  82)
-* itemize environment:                   itemize.             (line   6)
 * item_0:                                makeindex.           (line  82)
 * item_01:                               makeindex.           (line  91)
 * item_1:                                makeindex.           (line  85)
@@ -19782,6 +20361,7 @@
 * item_2:                                makeindex.           (line  88)
 * item_x1:                               makeindex.           (line  95)
 * item_x2:                               makeindex.           (line 104)
+* itemize environment:                   itemize.             (line   6)
 * jobname:                               Command line options.
                                                               (line  43)
 * jobname <1>:                           Jobname.             (line   6)
@@ -19795,9 +20375,9 @@
 * Lamport TeX:                           Overview.            (line  27)
 * Lamport, Leslie:                       Overview.            (line   6)
 * landscape option:                      Document class options.
-                                                              (line  49)
+                                                              (line  52)
 * landscape orientation:                 Document class options.
-                                                              (line  60)
+                                                              (line  63)
 * latex:                                 TeX engines.         (line  14)
 * latex command:                         Output files.        (line  10)
 * LaTeX format (.fmt) files:             TeX engines.         (line   6)
@@ -19805,11 +20385,12 @@
 * LaTeX overview:                        Overview.            (line   6)
 * 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)
+* latex-dev:                             TeX engines.         (line  71)
+* latex-doc-ptr document:                About this document. (line  34)
+* latex-lab package:                     \DocumentMetadata.   (line  16)
 * LaTeX2e logo:                          Text symbols.        (line  27)
 * LaTeX3 syntax:                         LaTeX command syntax.
-                                                              (line  35)
+                                                              (line  36)
 * <latexrefman at tug.org> email address:   About this document. (line  20)
 * latexsym package:                      Arrows.              (line   6)
 * Latin letters, additional:             Additional Latin letters.
@@ -19820,26 +20401,27 @@
 * 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 165)
-* left brace, in text:                   Text symbols.        (line  95)
-* left quote:                            Text symbols.        (line  44)
-* left quote, double:                    Text symbols.        (line 184)
-* left quote, single:                    Text symbols.        (line 190)
+* left angle quotation marks:            Text symbols.        (line  35)
+* left arrow, in text:                   Text symbols.        (line 169)
+* left brace, in text:                   Text symbols.        (line  99)
+* left brace, meaning of:                Special characters.  (line  15)
+* left quote:                            Text symbols.        (line  48)
+* left quote, double:                    Text symbols.        (line 188)
+* left quote, single:                    Text symbols.        (line 194)
 * left-hand equation numbers:            Document class options.
-                                                              (line  63)
+                                                              (line  66)
 * left-justifying text:                  \raggedright.        (line   6)
 * left-justifying text, environment for: flushleft.           (line   6)
 * left-to-right mode:                    Modes.               (line  18)
 * legalpaper option:                     Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * lengths, adding to:                    \addtolength.        (line   6)
 * lengths, allocating new:               \newlength.          (line   6)
 * lengths, defining and using:           Lengths.             (line   6)
 * lengths, setting:                      \setlength.          (line   6)
 * leqno option:                          Document class options.
-                                                              (line  49)
-* less than symbol, in text:             Text symbols.        (line 162)
+                                                              (line  52)
+* less than symbol, in text:             Text symbols.        (line 166)
 * lethead_flag:                          makeindex.           (line  65)
 * lethead_prefix:                        makeindex.           (line  74)
 * lethead_suffix:                        makeindex.           (line  78)
@@ -19846,7 +20428,7 @@
 * letter class:                          Document classes.    (line  11)
 * letter environment:                    letter.              (line   6)
 * letterpaper option:                    Document class options.
-                                                              (line  19)
+                                                              (line  22)
 * letters, accented:                     Accents.             (line   6)
 * letters, additional Latin:             Additional Latin letters.
                                                               (line   6)
@@ -19853,6 +20435,7 @@
 * letters, ending:                       \closing.            (line   6)
 * letters, starting:                     \opening.            (line   6)
 * letters, writing:                      Letters.             (line   6)
+* ligatures:                             Ligatures.           (line   6)
 * line break, forcing:                   \\.                  (line   6)
 * line breaking:                         Line breaking.       (line   6)
 * line breaks, changing:                 \fussy & \sloppy.    (line   6)
@@ -19861,8 +20444,8 @@
 * line breaks, multiplication discretionary: \*.              (line   6)
 * line breaks, preventing:               \linebreak & \nolinebreak.
                                                               (line   6)
+* line_max:                              makeindex.           (line 129)
 * lines in tables:                       tabular.             (line   6)
-* line_max:                              makeindex.           (line 129)
 * lining numerals:                       Font styles.         (line 133)
 * lining text up in tables:              tabular.             (line   6)
 * lining text up using tab stops:        tabbing.             (line   6)
@@ -19872,21 +20455,20 @@
 * list of tables file:                   Output files.        (line  43)
 * listings package:                      tabbing.             (line 146)
 * listings package <1>:                  verbatim.            (line  35)
-* 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)
+* loading additional packages:           \usepackage.         (line   6)
+* local options:                         \ProcessOptions.     (line  15)
 * locale information, from system:       \write18.            (line  65)
 * log file:                              Output files.        (line  28)
 * log file, writing to:                  \write.              (line  30)
 * logo, LaTeX:                           Text symbols.        (line  24)
 * logo, LaTeX2e:                         Text symbols.        (line  27)
-* logo, TeX:                             Text symbols.        (line  66)
-* long command:                          Class and package commands.
-                                                              (line  23)
-* low-9 quotation marks, single and double: Text symbols.     (line  56)
+* logo, TeX:                             Text symbols.        (line  70)
+* long command:                          \CheckCommand.       (line   6)
+* low-9 quotation marks, single and double: Text symbols.     (line  60)
 * low-level font commands:               Low-level font commands.
                                                               (line   6)
 * lowercase:                             Upper and lower case.
@@ -19894,10 +20476,11 @@
 * LR box:                                picture.             (line  93)
 * LR mode:                               Modes.               (line  18)
 * lrbox:                                 lrbox.               (line   6)
-* lshort document:                       About this document. (line  39)
-* lualatex:                              TeX engines.         (line  32)
-* lualatex-dev:                          TeX engines.         (line  65)
-* LuaTeX:                                TeX engines.         (line  33)
+* lshort document:                       About this document. (line  40)
+* luainputenc package:                   inputenc package.    (line  36)
+* lualatex:                              TeX engines.         (line  33)
+* lualatex-dev:                          TeX engines.         (line  72)
+* LuaTeX:                                TeX engines.         (line  34)
 * LuaTeX, 256 output streams in:         \write.              (line  42)
 * m-width:                               Units of length.     (line  46)
 * macron accent:                         Accents.             (line  36)
@@ -19916,7 +20499,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 175)
+* masculine ordinal symbol:              Text symbols.        (line 179)
 * matching brackets:                     \left & \right.      (line   6)
 * matching parentheses:                  \left & \right.      (line   6)
 * math accents:                          Math accents.        (line   6)
@@ -19942,11 +20525,12 @@
 * mathtools package:                     Math formulas.       (line  61)
 * mathtools package <1>:                 Delimiters.          (line  41)
 * mathtools package <2>:                 \left & \right.      (line  30)
-* mathtools package <3>:                 Over- and Underlining.
-                                                              (line  44)
+* mathtools package <3>:                 Over- or under math. (line  51)
 * mathtools package <4>:                 \smash.              (line  60)
 * mathtools package <5>:                 \phantom & \vphantom & \hphantom.
                                                               (line  48)
+* meaning of special characters:         Special characters.  (line   6)
+* metadata, adding:                      \DocumentMetadata.   (line   6)
 * MetaPost package:                      \line.               (line  35)
 * mfirstuc package:                      Upper and lower case.
                                                               (line  45)
@@ -19957,13 +20541,13 @@
 * minipage, creating a:                  minipage.            (line   6)
 * minted package:                        tabbing.             (line 146)
 * minted package <1>:                    verbatim.            (line  35)
-* minted package <2>:                    \verb.               (line  42)
 * mirrors of CTAN:                       CTAN.                (line  25)
 * mm:                                    Units of length.     (line  23)
+* mobile output:                         TeX engines.         (line  56)
 * modes:                                 Modes.               (line   6)
 * monospace font:                        Font styles.         (line  97)
-* moving arguments:                      \protect.            (line  19)
-* mpfootnote counter:                    \footnote.           (line  62)
+* moving arguments:                      \protect.            (line  16)
+* mpfootnote counter:                    \footnote.           (line  67)
 * mpfootnote counter <1>:                Counters.            (line  15)
 * mu:                                    Units of length.     (line  52)
 * mu, math unit:                         Units of length.     (line  53)
@@ -19977,12 +20561,11 @@
 * NBSP:                                  ~.                   (line   6)
 * nested \include, not allowed:          \include & \includeonly.
                                                               (line 106)
-* new class commands:                    Class and package construction.
+* new class commands:                    Class and package creation.
                                                               (line   6)
-* new command, checking:                 Class and package commands.
-                                                              (line  21)
-* new command, definition:               Class and package commands.
-                                                              (line  96)
+* new command, checking definition of:   \CheckCommand.       (line   6)
+* new command, definition:               \DeclareRobustCommand.
+                                                              (line   6)
 * new commands, defining:                \newcommand & \renewcommand.
                                                               (line   6)
 * new commands, defining <1>:            \providecommand.     (line   6)
@@ -19992,17 +20575,20 @@
 * new line, starting (paragraph mode):   \newline.            (line   6)
 * new page, starting:                    \newpage.            (line   6)
 * newline, in \write:                    \write.              (line  94)
+* no-break space, Unicode U+00A0:        ~.                   (line  10)
 * noheader option for filecontents:      filecontents.        (line  34)
-* non-breaking hyphen character:         Text symbols.        (line 168)
+* non-breaking hyphen character:         Text symbols.        (line 172)
 * non-English characters:                Additional Latin letters.
                                                               (line   6)
+* non-sentence-ending punctuation:       \@.                  (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)
+                                                              (line  52)
 * null delimiter:                        \left & \right.      (line   6)
+* number sign character (#), meaning of: Special characters.  (line  36)
 * numbered items, specifying counter:    \usecounter.         (line   6)
 * numerals, old-style:                   Font styles.         (line 133)
 * oblique font:                          Font styles.         (line  94)
@@ -20012,23 +20598,26 @@
 * old-style numerals:                    Font styles.         (line 133)
 * one-column output:                     \onecolumn.          (line   6)
 * onecolumn option:                      Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * oneside option:                        Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * open a file:                           \openin & \openout.  (line   6)
 * openany option:                        Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * openbib option:                        Document class options.
-                                                              (line  49)
-* opening quote:                         Text symbols.        (line  44)
+                                                              (line  52)
+* opening quote:                         Text symbols.        (line  48)
 * openright option:                      Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * OpenType fonts:                        TeX engines.         (line   6)
 * operating system information:          \write18.            (line  65)
+* option clash:                          \PassOptionsToClass & \PassOptionsToPackage.
+                                                              (line  15)
+* option processing by default:          \DeclareOption.      (line  18)
+* option, currently being processed:     \CurrentOption.      (line   6)
 * optional arguments, defining and using: \newcommand & \renewcommand.
-                                                              (line  49)
-* options, class:                        Class and package commands.
-                                                              (line  66)
+                                                              (line  50)
+* options, class:                        \DeclareOption.      (line   6)
 * options, color package:                Color package options.
                                                               (line   6)
 * options, command line:                 Command line options.
@@ -20037,32 +20626,35 @@
                                                               (line   6)
 * options, document class <1>:           Class and package structure.
                                                               (line   6)
-* options, global:                       Additional packages. (line  15)
+* options, global:                       \usepackage.         (line  25)
+* options, global and local:             \ProcessOptions.     (line  15)
 * options, graphics package:             Graphics package options.
                                                               (line   6)
+* options, list of unused:               \OptionNotUsed.      (line   6)
 * options, package:                      Class and package structure.
                                                               (line   6)
-* options, package <1>:                  Class and package commands.
-                                                              (line  66)
-* ordinals, feminine and masculine:      Text symbols.        (line 175)
+* options, package <1>:                  \DeclareOption.      (line   6)
+* options, processing:                   \ProcessOptions.     (line   6)
+* ordinals, feminine and masculine:      Text symbols.        (line 179)
 * oslash:                                Additional Latin letters.
                                                               (line  44)
 * OT1:                                   fontenc package.     (line   6)
+* OT1 encoding:                          fontenc package.     (line  50)
 * outer paragraph mode:                  Modes.               (line  51)
 * 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)
+* overlining:                            Over- or under math. (line   6)
 * overview of LaTeX:                     Overview.            (line   6)
 * overwrite option for filecontents:     filecontents.        (line  31)
+* package and class commands:            Class and package commands.
+                                                              (line   6)
 * package file layout:                   Class and package structure.
                                                               (line   6)
 * package options:                       Class and package structure.
                                                               (line   6)
-* package options <1>:                   Class and package commands.
-                                                              (line  66)
+* package options <1>:                   \DeclareOption.      (line   6)
 * package, abstract:                     abstract.            (line  27)
 * package, adjustbox:                    Boxes.               (line   9)
 * package, algorithm2e:                  tabbing.             (line 146)
@@ -20098,6 +20690,8 @@
 * package, Asymptote <1>:                \strut.              (line  62)
 * package, Asymptote <2>:                \mbox & \makebox.    (line  73)
 * package, Asymptote <3>:                \write18.            (line  13)
+* package, atenddvi:                     \AtBeginDvi & \AtEndDvi.
+                                                              (line  16)
 * package, babel:                        \chapter.            (line  71)
 * package, babel <1>:                    thebibliography.     (line  53)
 * package, babel <2>:                    Accents.             (line   6)
@@ -20112,23 +20706,24 @@
 * package, caption:                      \caption.            (line  72)
 * package, cleveref:                     Cross references.    (line  38)
 * package, cleveref <1>:                 \ref.                (line  29)
-* package, cleveref <2>:                 \footnotemark.       (line  48)
+* package, cleveref <2>:                 \footnotemark.       (line  38)
 * package, cm-super:                     fontenc package.     (line  36)
 * package, comprehensive:                Math symbols.        (line   6)
 * package, cprotect:                     verbatim.            (line  25)
-* package, cprotect <1>:                 \verb.               (line  45)
+* package, cprotect <1>:                 \verb.               (line  42)
+* package, cprotect <2>:                 \protect.            (line  51)
 * package, datatool:                     \read.               (line  31)
 * package, datetime:                     \today.              (line  27)
 * package, dcolumn:                      array.               (line  74)
 * package, enumitem:                     itemize.             (line  66)
-* package, enumitem <1>:                 list.                (line 255)
+* package, enumitem <1>:                 list.                (line 273)
 * package, envlab:                       \makelabels.         (line  55)
-* package, etoolbox:                     Class and package commands.
-                                                              (line 110)
-* package, eurosym:                      Text symbols.        (line 136)
-* package, eurosym <1>:                  Text symbols.        (line 137)
+* package, etoolbox:                     \DeclareRobustCommand.
+                                                              (line  32)
+* package, eurosym:                      Text symbols.        (line 140)
+* package, eurosym <1>:                  Text symbols.        (line 141)
 * package, expl3:                        LaTeX command syntax.
-                                                              (line  35)
+                                                              (line  36)
 * package, expl3 <1>:                    Upper and lower case.
                                                               (line  48)
 * package, fancyhdr:                     Page styles.         (line  12)
@@ -20140,15 +20735,13 @@
 * package, fontspec:                     fontenc package.     (line  17)
 * package, fontspec <1>:                 OpenType bold math.  (line   6)
 * package, geometry:                     Document class options.
-                                                              (line  40)
-* package, geometry <1>:                 Document class options.
-                                                              (line  44)
+                                                              (line  43)
 * 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  46)
+* package, hyperref:                     \footnotemark.       (line  38)
+* package, hyperref <1>:                 \footnotemark.       (line  47)
+* package, hyperref <2>:                 \pagenumbering.      (line  42)
 * package, hyperref <3>:                 \contentsline.       (line  37)
 * package, hyperref <4>:                 Command line input.  (line  14)
 * package, indentfirst:                  \part.               (line  50)
@@ -20159,11 +20752,12 @@
                                                               (line  59)
 * package, indentfirst <5>:              \indent & \noindent. (line  48)
 * package, index:                        \index.              (line 103)
+* package, latex-lab:                    \DocumentMetadata.   (line  16)
 * package, latexsym:                     Arrows.              (line   6)
 * package, listings:                     tabbing.             (line 146)
 * package, listings <1>:                 verbatim.            (line  35)
-* package, listings <2>:                 \verb.               (line  42)
 * package, lmodern:                      fontenc package.     (line  36)
+* package, luainputenc:                  inputenc package.    (line  36)
 * package, macros2e:                     \makeatletter & \makeatother.
                                                               (line  38)
 * package, makeidx:                      \printindex.         (line  12)
@@ -20170,8 +20764,7 @@
 * package, mathtools:                    Math formulas.       (line  61)
 * package, mathtools <1>:                Delimiters.          (line  41)
 * package, mathtools <2>:                \left & \right.      (line  30)
-* package, mathtools <3>:                Over- and Underlining.
-                                                              (line  44)
+* package, mathtools <3>:                Over- or under math. (line  51)
 * package, mathtools <4>:                \smash.              (line  60)
 * package, mathtools <5>:                \phantom & \vphantom & \hphantom.
                                                               (line  48)
@@ -20182,7 +20775,6 @@
                                                               (line  62)
 * package, minted:                       tabbing.             (line 146)
 * package, minted <1>:                   verbatim.            (line  35)
-* package, minted <2>:                   \verb.               (line  42)
 * package, multind:                      Indexes.             (line  51)
 * package, pict2e:                       \line.               (line  35)
 * package, polyglossia:                  Accents.             (line   6)
@@ -20196,7 +20788,7 @@
 * package, shellesc:                     \write18.            (line  71)
 * package, showidx:                      Indexes.             (line  51)
 * package, siunitx:                      minipage.            (line 137)
-* package, siunitx <1>:                  ~.                   (line  42)
+* package, siunitx <1>:                  ~.                   (line  44)
 * package, suffix:                       \@ifstar.            (line  64)
 * package, tablefootnote:                Footnotes in a table.
                                                               (line  53)
@@ -20220,8 +20812,7 @@
 * package, tocloft:                      Table of contents etc..
                                                               (line 110)
 * package, tocloft <1>:                  \contentsline.       (line  34)
-* package, ulem:                         Over- and Underlining.
-                                                              (line  15)
+* package, ulem:                         Over- or under math. (line  17)
 * package, unicode-math:                 OpenType bold math.  (line  20)
 * package, unicode-math <1>:             Dots.                (line  59)
 * package, unicode-math <2>:             Greek letters.       (line  37)
@@ -20228,13 +20819,13 @@
 * package, url:                          \verb.               (line  39)
 * package, verbatimbox:                  verbatim.            (line  41)
 * package, xparse:                       LaTeX command syntax.
-                                                              (line  35)
+                                                              (line  36)
 * package, xparse <1>:                   \@ifstar.            (line  64)
 * package, xr:                           xr package.          (line   6)
 * package, xr-hyper:                     xr package.          (line   6)
 * package, xspace:                       xspace package.      (line   6)
 * package, xstring:                      Jobname.             (line  53)
-* packages, loading additional:          Additional packages. (line   6)
+* packages, loading additional:          \usepackage.         (line   6)
 * page break, forcing:                   \pagebreak & \nopagebreak.
                                                               (line   6)
 * page break, preventing:                \pagebreak & \nopagebreak.
@@ -20243,12 +20834,13 @@
 * page counter:                          Counters.            (line  15)
 * page layout parameters:                Page layout parameters.
                                                               (line   6)
+* page number representation:            \thepage.            (line  11)
 * page number, cross referencing:        \pageref.            (line   6)
 * page numbering style:                  \pagenumbering.      (line   6)
 * page style, this page:                 \thispagestyle.      (line   6)
 * page styles:                           Page styles.         (line   6)
+* page_precedence:                       makeindex.           (line 142)
 * page, colored:                         Colored pages.       (line   6)
-* page_precedence:                       makeindex.           (line 142)
 * paired delimiters:                     \left & \right.      (line   6)
 * paragraph:                             Sectioning.          (line   6)
 * paragraph <1>:                         \subsubsection & \paragraph & \subparagraph.
@@ -20262,17 +20854,18 @@
                                                               (line   6)
 * paragraph mode:                        Modes.               (line  12)
 * paragraph mode <1>:                    \parbox.             (line   6)
-* paragraph symbol:                      Text symbols.        (line  48)
+* paragraph symbol:                      Text symbols.        (line  52)
 * paragraph, ending:                     \par.                (line   6)
 * paragraph, in a box:                   \parbox.             (line   6)
 * paragraphs:                            Making paragraphs.   (line   6)
-* parameters, for footnotes:             \footnote.           (line  34)
+* parameters, for footnotes:             \footnote.           (line  35)
 * parameters, page layout:               Page layout parameters.
                                                               (line   6)
 * parameters, substituting:              \newcommand & \renewcommand.
-                                                              (line  81)
+                                                              (line  82)
 * parent directories, cannot write to:   \write and security. (line  22)
 * parentheses:                           Delimiters.          (line   6)
+* parentheses and ends of sentences:     \@.                  (line  24)
 * part:                                  Sectioning.          (line   6)
 * part <1>:                              \part.               (line   6)
 * part counter:                          Counters.            (line  15)
@@ -20279,13 +20872,15 @@
 * pattern, current tab stops, tabbing:   tabbing.             (line  51)
 * pc:                                    Units of length.     (line  13)
 * PDF graphic files:                     \includegraphics.    (line   6)
+* PDF, tagged:                           \DocumentMetadata.   (line   6)
 * pdflatex:                              TeX engines.         (line  15)
 * pdflatex command:                      Output files.        (line  20)
-* pdflatex-dev:                          TeX engines.         (line  66)
+* pdflatex-dev:                          TeX engines.         (line  73)
 * pdfTeX:                                Output files.        (line  20)
 * pdfTeX engine:                         TeX engines.         (line  16)
+* percent character, meaning of:         Special characters.  (line  19)
 * period, abbreviation-ending:           \@.                  (line   6)
-* period, centered, in text:             Text symbols.        (line 178)
+* period, centered, in text:             Text symbols.        (line 182)
 * period, sentence-ending:               \@.                  (line   6)
 * period, spacing after:                 \@.                  (line   6)
 * pica:                                  Units of length.     (line  14)
@@ -20292,10 +20887,10 @@
 * pict2e package:                        \line.               (line  35)
 * picture environment:                   picture.             (line   6)
 * pictures, creating:                    picture.             (line   6)
-* pilcrow:                               Text symbols.        (line  48)
+* pilcrow:                               Text symbols.        (line  52)
 * placement of floats:                   Floats.              (line  31)
-* platex:                                TeX engines.         (line  54)
-* platex-dev:                            TeX engines.         (line  67)
+* platex:                                TeX engines.         (line  61)
+* platex-dev:                            TeX engines.         (line  74)
 * plural:                                \newglossaryentry.   (line  51)
 * PNG files:                             \includegraphics.    (line   6)
 * poetry, an environment for:            verse.               (line   6)
@@ -20308,32 +20903,39 @@
                                                               (line 123)
 * polyglossia package <3>:               \index.              (line  58)
 * portrait orientation:                  Document class options.
-                                                              (line  60)
+                                                              (line  63)
 * position, in picture:                  picture.             (line  64)
 * postamble:                             makeindex.           (line  54)
 * PostScript point:                      Units of length.     (line  20)
 * postscript, in letters:                \ps.                 (line   6)
-* pounds symbol:                         Text symbols.        (line  52)
+* pounds symbol:                         Text symbols.        (line  56)
 * preamble:                              makeindex.           (line  50)
 * preamble, defined:                     Starting and ending. (line  22)
-* prerelease testing:                    TeX engines.         (line  70)
+* prerelease testing:                    TeX engines.         (line  77)
+* printing special characters:           Printing special characters.
+                                                              (line   6)
+* processing options:                    \ProcessOptions.     (line   6)
 * prompt, *:                             Recovering from errors.
                                                               (line  23)
 * pronunciation:                         Overview.            (line  27)
 * PSTricks package:                      \line.               (line  35)
 * pt:                                    Units of length.     (line   9)
+* punctuation, sentence-ending:          \@.                  (line   6)
 * quad:                                  Spacing in math mode.
                                                               (line  69)
-* question mark, upside-down:            Text symbols.        (line 181)
+* question mark, upside-down:            Text symbols.        (line 185)
+* question marks, ending a sentence:     \@.                  (line  39)
 * quotation environment:                 quotation & quote.   (line   6)
-* quotation marks, French:               Text symbols.        (line  33)
+* quotation marks, as ligatures:         Ligatures.           (line  22)
+* quotation marks, French:               Text symbols.        (line  35)
 * quote environment:                     quotation & quote.   (line   6)
-* quote, single straight:                Text symbols.        (line 196)
-* quote, straight base:                  Text symbols.        (line 200)
+* quote, single straight:                Text symbols.        (line 200)
+* quote, straight base:                  Text symbols.        (line 204)
 * quoted text with paragraph indentation, displaying: quotation & quote.
                                                               (line   6)
 * quoted text without paragraph indentation, displaying: quotation & quote.
                                                               (line   6)
+* quotes and ends of sentences:          \@.                  (line  24)
 * radical:                               \sqrt.               (line   6)
 * ragged left text:                      \raggedleft.         (line   6)
 * ragged left text, environment for:     flushright.          (line   6)
@@ -20346,29 +20948,35 @@
                                                               (line   6)
 * reference, forward:                    Cross references.    (line  27)
 * references, resolving forward:         Output files.        (line  33)
-* registered symbol:                     Text symbols.        (line 203)
+* registered symbol:                     Text symbols.        (line 207)
 * relation, text above:                  \stackrel.           (line   6)
-* release candidates:                    TeX engines.         (line  70)
+* release candidates:                    TeX engines.         (line  77)
 * remarks in the margin:                 Marginal notes.      (line   6)
 * report class:                          Document classes.    (line  11)
 * reporting bugs:                        About this document. (line  24)
-* reserved characters:                   Reserved characters. (line   6)
+* reserved characters, meaning of:       Special characters.  (line   6)
+* reserved characters, printing:         Printing special characters.
+                                                              (line   6)
 * resizing:                              \scalebox.           (line   6)
 * resizing <1>:                          \resizebox.          (line   6)
 * restricted shell access:               \write18.            (line  53)
-* right angle quotation marks:           Text symbols.        (line  33)
-* right arrow, in text:                  Text symbols.        (line 206)
-* right brace, in text:                  Text symbols.        (line  99)
-* right quote:                           Text symbols.        (line  59)
-* right quote, double:                   Text symbols.        (line 187)
-* right quote, single:                   Text symbols.        (line 193)
+* right angle quotation marks:           Text symbols.        (line  35)
+* right arrow, in text:                  Text symbols.        (line 210)
+* right brace, in text:                  Text symbols.        (line 103)
+* right brace, meaning of:               Special characters.  (line  15)
+* right parentheses/quotes, and spacing: \@.                  (line  24)
+* right quote:                           Text symbols.        (line  63)
+* right quote, double:                   Text symbols.        (line 191)
+* right quote, single:                   Text symbols.        (line 197)
 * right-hand equation numbers:           Document class options.
-                                                              (line  63)
+                                                              (line  66)
 * right-justifying text:                 \raggedleft.         (line   6)
 * right-justifying text, environment for: flushright.         (line   6)
 * rigid lengths:                         Lengths.             (line   9)
 * ring accent:                           Accents.             (line  77)
 * ring accent, math:                     Math accents.        (line  35)
+* robust command, defining:              \DeclareRobustCommand.
+                                                              (line   6)
 * robust commands:                       \protect.            (line   6)
 * roman font:                            Font styles.         (line  85)
 * root file:                             Splitting the input. (line  10)
@@ -20402,7 +21010,7 @@
 * section counter:                       Counters.            (line  15)
 * section number, cross referencing:     \ref.                (line   6)
 * section numbers, printing:             Sectioning.          (line  71)
-* section symbol:                        Text symbols.        (line  63)
+* section symbol:                        Text symbols.        (line  67)
 * section, redefining:                   \@startsection.      (line   6)
 * sectioning commands:                   Sectioning.          (line   6)
 * sectioning, part:                      \part.               (line   6)
@@ -20409,6 +21017,7 @@
 * security and \write:                   \write and security. (line   6)
 * see and see also index entries:        \index.              (line  58)
 * self-contained sources:                filecontents.        (line  42)
+* sentence-ending punctuation:           \@.                  (line   6)
 * series, of fonts:                      Low-level font commands.
                                                               (line  48)
 * setspace package:                      \baselineskip & \baselinestretch.
@@ -20417,6 +21026,7 @@
 * sh, used by \write18:                  \write18.            (line  60)
 * shapes, of fonts:                      Low-level font commands.
                                                               (line  88)
+* sharp character (#), meaning of:       Special characters.  (line  36)
 * sharp S letters:                       Additional Latin letters.
                                                               (line  52)
 * shell access:                          \write18.            (line   6)
@@ -20426,18 +21036,19 @@
 * shellesc package:                      \write18.            (line  71)
 * showidx package:                       Indexes.             (line  51)
 * simulating typed text:                 verbatim.            (line   6)
-* single angle quotation marks:          Text symbols.        (line  33)
-* single guillemets:                     Text symbols.        (line  33)
-* single left quote:                     Text symbols.        (line 190)
-* single low-9 quotation mark:           Text symbols.        (line  56)
-* single quote, straight:                Text symbols.        (line 196)
-* single right quote:                    Text symbols.        (line 193)
+* single angle quotation marks:          Text symbols.        (line  35)
+* single guillemets:                     Text symbols.        (line  35)
+* single left quote:                     Text symbols.        (line 194)
+* single low-9 quotation mark:           Text symbols.        (line  60)
+* single quote, straight:                Text symbols.        (line 200)
+* single right quote:                    Text symbols.        (line 197)
 * siunitx package:                       minipage.            (line 137)
-* siunitx package <1>:                   ~.                   (line  42)
+* siunitx package <1>:                   ~.                   (line  44)
 * 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  94)
+* slash character, breakable:            \slash.              (line   6)
 * slides class:                          Document classes.    (line  11)
 * sloppypar environment:                 sloppypar.           (line   6)
 * sloppypar environment <1>:             sloppypar.           (line   6)
@@ -20448,6 +21059,7 @@
 * sp:                                    Units of length.     (line  35)
 * space between lines:                   \baselineskip & \baselinestretch.
                                                               (line   6)
+* space factor:                          \spacefactor.        (line  10)
 * space, inserting horizontal:           \hss.                (line   6)
 * space, inserting vertical:             \addvspace.          (line   6)
 * space, negative thin:                  \thinspace & \negthinspace.
@@ -20468,10 +21080,14 @@
 * spacing, math mode:                    \phantom & \vphantom & \hphantom.
                                                               (line   6)
 * spacing, math mode <1>:                \mathstrut.          (line   6)
-* Spanish ordinals, feminine and masculine: Text symbols.     (line 175)
-* special characters:                    Reserved characters. (line   6)
-* special characters <1>:                Additional Latin letters.
+* Spanish exclamation mark, as ligature: Ligatures.           (line  22)
+* Spanish ordinals, feminine and masculine: Text symbols.     (line 179)
+* Spanish question mark, as ligature:    Ligatures.           (line  22)
+* special characters:                    Additional Latin letters.
                                                               (line   6)
+* special characters, meaning of:        Special characters.  (line   6)
+* special characters, printing:          Printing special characters.
+                                                              (line   6)
 * special insertions:                    Special insertions.  (line   6)
 * specifier, float placement:            Floats.              (line  31)
 * splitting the input file:              Splitting the input. (line   6)
@@ -20486,14 +21102,14 @@
 * starting and ending:                   Starting and ending. (line   6)
 * starting on a right-hand page:         \clearpage & \cleardoublepage.
                                                               (line   6)
-* sterling symbol:                       Text symbols.        (line  52)
-* straight double quote, base:           Text symbols.        (line 200)
-* straight quote, base:                  Text symbols.        (line 200)
-* straight single quote:                 Text symbols.        (line 196)
+* sterling symbol:                       Text symbols.        (line  56)
+* straight double quote, base:           Text symbols.        (line 204)
+* straight quote, base:                  Text symbols.        (line 204)
+* straight single quote:                 Text symbols.        (line 200)
 * stretch, infinite horizontal:          \hfill.              (line   6)
 * stretch, infinite vertical:            \vfill.              (line   6)
 * stretch, omitting vertical:            \raggedbottom.       (line   6)
-* strut:                                 \footnote.           (line  47)
+* strut:                                 \footnote.           (line  52)
 * strut <1>:                             \strut.              (line   6)
 * strut, math:                           \mathstrut.          (line   6)
 * styles of text:                        Font styles.         (line   6)
@@ -20523,6 +21139,7 @@
 * system commands, run from LaTeX:       \write18.            (line   6)
 * system information:                    \write18.            (line  65)
 * T1:                                    fontenc package.     (line   6)
+* T1 encoding:                           fontenc package.     (line  57)
 * tab stops, using:                      tabbing.             (line   6)
 * tabbing environment:                   tabbing.             (line   6)
 * table counter:                         Counters.            (line  15)
@@ -20536,11 +21153,13 @@
                                                               (line   6)
 * table of contents, creating:           Table of contents etc..
                                                               (line   6)
+* table of contents, page numbers in:    \thepage.            (line  11)
 * table of contents, sectioning numbers printed: Sectioning.  (line  82)
 * tablefootnote package:                 Footnotes in a table.
                                                               (line  53)
 * tables, creating:                      table.               (line   6)
 * tabular environment:                   tabular.             (line   6)
+* tagged PDF:                            \DocumentMetadata.   (line   6)
 * template (simple), article:            article template.    (line   6)
 * template, beamer:                      beamer template.     (line   6)
 * template, book:                        book template.       (line   6)
@@ -20550,7 +21169,7 @@
 * 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  66)
+* TeX logo:                              Text symbols.        (line  70)
 * texosquery package:                    \write18.            (line  65)
 * texput, jobname default:               Jobname.             (line  27)
 * text style:                            Math styles.         (line  21)
@@ -20582,7 +21201,7 @@
                                                               (line   6)
 * thorn, Icelandic letter:               Additional Latin letters.
                                                               (line  56)
-* three-quarters em-dash:                Text symbols.        (line 209)
+* three-quarters em-dash:                Text symbols.        (line 213)
 * tie:                                   ~.                   (line   6)
 * tie-after accent:                      Accents.             (line  83)
 * TikZ package:                          \line.               (line  35)
@@ -20591,14 +21210,15 @@
 * 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  72)
+* tilde character, meaning of:           Special characters.  (line  40)
+* tilde, ASCII, in text:                 Text symbols.        (line  76)
 * title page, separate or run-in:        Document class options.
-                                                              (line  71)
+                                                              (line  74)
 * title pages, creating:                 titlepage.           (line   6)
 * title, for titlepage:                  \maketitle.          (line  64)
 * titlepage environment:                 titlepage.           (line   6)
 * titlepage option:                      Document class options.
-                                                              (line  49)
+                                                              (line  52)
 * titles, making:                        \maketitle.          (line   6)
 * titlesec package:                      Sectioning.          (line  60)
 * titlesec package <1>:                  \part.               (line  54)
@@ -20614,7 +21234,7 @@
 * tocloft package:                       Table of contents etc..
                                                               (line 110)
 * tocloft package <1>:                   \contentsline.       (line  34)
-* today’s date:                          \today.              (line   6)
+* today's date:                          \today.              (line   6)
 * tombstone:                             \rule.               (line  13)
 * topmargin:                             Page layout parameters.
                                                               (line 125)
@@ -20622,16 +21242,17 @@
 * topnumber <1>:                         Floats.              (line 139)
 * totalnumber:                           Floats.              (line 142)
 * totalnumber <1>:                       Floats.              (line 143)
-* trademark symbol:                      Text symbols.        (line 212)
+* trademark symbol:                      Text symbols.        (line 216)
 * transcript file:                       Output files.        (line  28)
 * TrueType fonts:                        TeX engines.         (line   6)
+* TS1 (text companion) encoding:         fontenc package.     (line  63)
 * TS1 encoding:                          Text symbols.        (line   6)
 * two-column output:                     \twocolumn.          (line   6)
-* two-thirds em-dash:                    Text symbols.        (line 215)
+* two-thirds em-dash:                    Text symbols.        (line 219)
 * twocolumn option:                      Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * twoside option:                        Document class options.
-                                                              (line  78)
+                                                              (line  81)
 * type styles:                           Font styles.         (line   6)
 * typed text, simulating:                verbatim.            (line   6)
 * typeface sizes:                        Font sizes.          (line   6)
@@ -20638,15 +21259,14 @@
 * typefaces:                             Fonts.               (line   6)
 * typewriter font:                       Font styles.         (line  97)
 * typewriter labels in lists:            description.         (line  36)
-* ulem package:                          Over- and Underlining.
-                                                              (line  15)
+* ulem package:                          Over- or under math. (line  17)
 * 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 218)
-* Unicode:                               inputenc package.    (line  15)
+* underlining:                           Over- or under math. (line   6)
+* underscore character, meaning of:      Special characters.  (line  30)
+* underscore, in text:                   Text symbols.        (line 222)
+* Unicode:                               Input encodings.     (line  12)
 * Unicode input, native:                 TeX engines.         (line   6)
 * unicode-math package:                  OpenType bold math.  (line  20)
 * unicode-math package <1>:              Dots.                (line  59)
@@ -20654,8 +21274,10 @@
 * units, of length:                      Units of length.     (line   6)
 * 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)
+* Unused global option warning, handling: \DeclareOption.     (line  18)
+* unused options, adding to list:        \OptionNotUsed.      (line   6)
+* uplatex:                               TeX engines.         (line  62)
+* uplatex-dev:                           TeX engines.         (line  75)
 * uppercase:                             Upper and lower case.
                                                               (line   6)
 * url package:                           \verb.               (line  39)
@@ -20670,8 +21292,9 @@
 * verbatim text, inline:                 \verb.               (line   6)
 * verbatimbox package:                   verbatim.            (line  41)
 * verse environment:                     verse.               (line   6)
-* vertical bar, double, in text:         Text symbols.        (line  89)
-* vertical bar, in text:                 Text symbols.        (line  86)
+* version of format, requiring:          \NeedsTeXFormat.     (line   6)
+* vertical bar, double, in text:         Text symbols.        (line  93)
+* vertical bar, in text:                 Text symbols.        (line  90)
 * vertical mode:                         Modes.               (line  36)
 * vertical space:                        \vspace.             (line   6)
 * vertical space <1>:                    \addvspace.          (line   6)
@@ -20682,7 +21305,7 @@
 * 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 221)
+* visible space symbol, in text:         Text symbols.        (line 225)
 * weights, of fonts:                     Low-level font commands.
                                                               (line  58)
 * whatsit item:                          \write.              (line  65)
@@ -20697,14 +21320,14 @@
 * writing letters:                       Letters.             (line   6)
 * x-height:                              Units of length.     (line  42)
 * xdvi command:                          Output files.        (line  10)
-* xdvipdfmx:                             TeX engines.         (line  42)
-* xelatex:                               TeX engines.         (line  41)
-* xelatex-dev:                           TeX engines.         (line  69)
-* XeTeX:                                 TeX engines.         (line  42)
+* xdvipdfmx:                             TeX engines.         (line  43)
+* xelatex:                               TeX engines.         (line  42)
+* xelatex-dev:                           TeX engines.         (line  76)
+* XeTeX:                                 TeX engines.         (line  43)
 * xindex program:                        makeindex.           (line 159)
 * xindy program:                         makeindex.           (line 152)
 * xparse package:                        LaTeX command syntax.
-                                                              (line  35)
+                                                              (line  36)
 * xparse package <1>:                    \@ifstar.            (line  64)
 * xr package:                            xr package.          (line   6)
 * xr-hyper package:                      xr package.          (line   6)
@@ -20714,635 +21337,688 @@
 
 
 Tag Table:
-Node: Top1879
-Node: About this document3690
-Node: Overview5438
-Node: Starting and ending7240
-Ref: Starting & ending7375
-Node: Output files8600
-Ref: output files dvi8893
-Ref: output files pdf9441
-Ref: output files log9774
-Ref: output files aux9975
-Node: TeX engines10966
-Ref: tex engines latex11518
-Ref: tex engines lualatex12395
-Ref: tex engines xelatex12878
-Node: LaTeX command syntax14934
-Node: Environment16919
-Node: CTAN18178
-Node: Document classes19646
-Ref: document classes article20092
-Ref: document classes book20184
-Ref: document classes letter20373
-Ref: document classes report20453
-Ref: document classes slides20617
-Node: Document class options21074
-Node: Additional packages24372
-Node: Class and package construction25019
-Node: Class and package structure26505
-Node: Class and package commands28866
-Node: Fonts47177
-Ref: Typefaces47280
-Node: fontenc package49250
-Node: \DeclareFontEncoding53640
-Node: \DeclareTextAccent55108
-Node: \DeclareTextAccentDefault56059
-Node: \DeclareTextCommand & \ProvideTextCommand57166
-Ref: \DeclareTextCommand57471
-Ref: \ProvideTextCommand57471
-Node: \DeclareTextCommandDefault & \ProvideTextCommandDefault59478
-Ref: \DeclareTextCommandDefault59809
-Ref: \ProvideTextCommandDefault59809
-Node: \DeclareTextComposite60822
-Node: \DeclareTextCompositeCommand61939
-Node: \DeclareTextSymbol62653
-Node: \DeclareTextSymbolDefault63790
-Node: \LastDeclaredEncoding64778
-Node: \UseTextSymbol & \UseTextAccent65414
-Ref: \UseTextSymbol65623
-Ref: \UseTextAccent65623
-Node: Font styles66652
-Ref: \nocorrlist67592
-Ref: \nocorr67592
-Ref: \mathversion70347
-Ref: \oldstylenums70517
-Node: Font sizes71090
-Node: Low-level font commands74093
-Ref: low level font commands fontencoding74377
-Ref: low level font commands fontfamily74947
-Ref: low level font commands fontseries75794
-Ref: low level font commands fontshape77050
-Ref: low level font commands fontsize77395
-Ref: low level font commands linespread78000
-Ref: low level font commands selectfont78297
-Ref: low level font commands usefont78639
-Node: Layout78906
-Node: \onecolumn79480
-Node: \twocolumn79847
-Ref: twocolumn columnsep80482
-Ref: twocolumn columnseprule80734
-Ref: twocolumn columnwidth81042
-Ref: twocolumn dbltopfraction81657
-Ref: twocolumn dblfloatpagefraction82669
-Ref: twocolumn dblfloatsep82921
-Ref: twocolumn dbltextfloatsep83254
-Ref: twocolumn dbltopnumber83442
-Node: \flushbottom84401
-Node: \raggedbottom85572
-Node: Page layout parameters86114
-Ref: page layout parameters columnsep86355
-Ref: page layout parameters columnseprule86355
-Ref: page layout parameters columnwidth86355
-Ref: page layout parameters headheight86617
-Ref: page layout parameters headsep86804
-Ref: page layout parameters footskip87144
-Ref: page layout parameters linewidth87510
-Ref: page layout parameters marginparpush87901
-Ref: page layout parameters marginsep87901
-Ref: page layout parameters marginparwidth87901
-Ref: page layout parameters oddsidemargin89027
-Ref: page layout parameters evensidemargin89027
-Ref: page layout parameters paperheight89616
-Ref: page layout parameters paperwidth89850
-Ref: page layout parameters textheight90082
-Ref: page layout parameters textwidth90503
-Ref: page layout parameters hsize91509
-Ref: page layout parameters topmargin91714
-Ref: page layout parameters topskip92036
-Node: \baselineskip & \baselinestretch92256
-Ref: \baselineskip92469
-Ref: \baselinestretch92469
-Node: Floats97648
-Ref: floats bottomfraction102144
-Ref: floats floatpagefraction102279
-Ref: floats textfraction102398
-Ref: floats topfraction102608
-Ref: floats floatsep102872
-Ref: floats intextsep102990
-Ref: floats textfloatsep103217
-Ref: floats bottomnumber103493
-Ref: floats dbltopnumber103605
-Ref: floats topnumber103728
-Ref: floats totalnumber103836
-Node: \caption104461
-Node: Sectioning107287
-Ref: sectioning secnumdepth110546
-Ref: Sectioning/secnumdepth110546
-Ref: sectioning tocdepth111222
-Ref: Sectioning/tocdepth111222
-Node: \part112288
-Node: \chapter114522
-Node: \section118377
-Node: \subsection121716
-Node: \subsubsection & \paragraph & \subparagraph124498
-Ref: \subsubsection124744
-Ref: \paragraph124744
-Ref: \subparagraph124744
-Node: \appendix127231
-Node: \frontmatter & \mainmatter & \backmatter128616
-Ref: \frontmatter128856
-Ref: \mainmatter128856
-Ref: \backmatter128856
-Node: \@startsection130061
-Ref: startsection name131614
-Ref: \@startsection/name131614
-Ref: startsection level132094
-Ref: \@startsection/level132094
-Ref: startsection indent133007
-Ref: \@startsection/indent133007
-Ref: startsection beforeskip133278
-Ref: \@startsection/beforeskip133278
-Ref: startsection afterskip134831
-Ref: \@startsection/afterskip134831
-Ref: startsection style136188
-Ref: \@startsection/style136188
-Node: Cross references140031
-Node: \label142266
-Node: \pageref144158
-Node: \ref144968
-Node: xr package146007
-Node: Environments147880
-Node: abstract149898
-Node: array151515
-Node: center154540
-Node: \centering156313
-Node: description157886
-Node: displaymath160153
-Node: document161905
-Node: \AtBeginDocument162343
-Node: \AtEndDocument162975
-Node: enumerate163631
-Ref: enumerate enumi165592
-Ref: enumerate enumii165592
-Ref: enumerate enumiii165592
-Ref: enumerate enumiv165592
-Ref: enumerate labelenumi166006
-Ref: enumerate labelenumii166006
-Ref: enumerate labelenumiii166006
-Ref: enumerate labelenumiv166006
-Node: eqnarray166557
-Node: equation168609
-Node: figure169301
-Node: filecontents171534
-Node: flushleft173487
-Node: \raggedright174526
-Node: flushright175757
-Node: \raggedleft176601
-Node: itemize177506
-Ref: itemize labelitemi179098
-Ref: itemize labelitemii179098
-Ref: itemize labelitemiii179098
-Ref: itemize labelitemiv179098
-Ref: itemize leftmargin179791
-Ref: itemize leftmargini179791
-Ref: itemize leftmarginii179791
-Ref: itemize leftmarginiii179791
-Ref: itemize leftmarginiv179791
-Ref: itemize leftmarginv179791
-Ref: itemize leftmarginvi179791
-Node: letter181329
-Node: list181571
-Ref: list makelabel184090
-Ref: list itemindent185527
-Ref: list itemsep185676
-Ref: list labelsep186411
-Ref: list labelwidth186596
-Ref: list leftmargin187689
-Ref: list listparindent188608
-Ref: list parsep188855
-Ref: list partopsep189377
-Ref: list rightmargin190237
-Ref: list topsep190430
-Ref: list beginparpenalty194144
-Ref: list itempenalty194251
-Ref: list endparpenalty194363
-Node: \item195246
-Node: trivlist196524
-Node: math198102
-Node: minipage198424
-Node: picture204169
-Node: \put210547
-Node: \multiput211128
-Node: \qbezier211871
-Node: \graphpaper213376
-Node: \line214184
-Node: \linethickness216185
-Node: \thinlines216662
-Node: \thicklines217077
-Node: \circle217466
-Node: \oval218028
-Node: \shortstack219083
-Node: \vector220851
-Node: \makebox (picture)221784
-Node: \framebox (picture)223010
-Node: \frame224511
-Node: \dashbox224952
-Node: quotation & quote226113
-Ref: quotation226275
-Ref: quote226275
-Node: tabbing227037
-Node: table233230
-Node: tabular235341
-Ref: \extracolsep239383
-Ref: tabular arrayrulewidth241924
-Ref: tabular arraystrech242196
-Ref: tabular doublerulesep242437
-Ref: tabular tabcolsep242585
-Node: \multicolumn243118
-Node: \vline247137
-Node: \cline248594
-Node: \hline249324
-Node: thebibliography250034
-Node: \bibitem252615
-Node: \cite255001
-Node: \nocite256917
-Node: Using BibTeX257433
-Node: BibTeX error messages259883
-Node: theorem260840
-Node: titlepage261782
-Node: verbatim263077
-Node: \verb264950
-Node: verse267128
-Node: Line breaking268365
-Node: \\269731
-Node: \obeycr & \restorecr272263
-Ref: \obeycr272429
-Ref: \restorecr272429
-Node: \newline273108
-Node: \- (hyphenation)274197
-Node: \discretionary275861
-Node: \fussy & \sloppy276776
-Ref: \fussy276946
-Ref: \sloppy276946
-Node: sloppypar277615
-Node: \hyphenation278777
-Node: \linebreak & \nolinebreak279409
-Ref: \linebreak279583
-Ref: \nolinebreak279583
-Node: Page breaking280605
-Node: \clearpage & \cleardoublepage282647
-Ref: \clearpage282831
-Ref: \cleardoublepage282831
-Node: \newpage284317
-Node: \enlargethispage285661
-Node: \pagebreak & \nopagebreak286633
-Ref: \pagebreak286813
-Ref: \nopagebreak286813
-Node: Footnotes288648
-Node: \footnote289802
-Ref: footnote footnoterule291090
-Ref: footnote footnotesep291719
-Node: \footnotemark292847
-Node: \footnotetext295232
-Node: Footnotes in section headings295842
-Node: Footnotes in a table296687
-Node: Footnotes of footnotes299662
-Node: Definitions300366
-Node: \newcommand & \renewcommand301413
-Ref: \newcommand301596
-Ref: \renewcommand301596
-Node: Control sequences308007
-Node: \providecommand309474
-Node: \makeatletter & \makeatother310698
-Ref: \makeatletter310901
-Ref: \makeatother310901
-Node: \@ifstar312884
-Node: \newcounter316495
-Node: \newlength318267
-Node: \newsavebox319226
-Node: \newenvironment & \renewenvironment320217
-Ref: \newenvironment320440
-Ref: \renewenvironment320440
-Node: \newtheorem325673
-Node: \newfont329345
-Node: \protect330618
-Node: \ignorespaces & \ignorespacesafterend333112
-Ref: \ignorespaces333335
-Ref: \ignorespacesafterend333335
-Node: xspace package335924
-Node: Counters338198
-Node: \alph \Alph \arabic \roman \Roman \fnsymbol339939
-Node: \usecounter342708
-Node: \value343587
-Node: \setcounter344676
-Node: \addtocounter345290
-Node: \refstepcounter345752
-Node: \stepcounter346445
-Node: \day & \month & \year347018
-Ref: \day347185
-Ref: \month347185
-Ref: \year347185
-Node: Lengths347959
-Node: Units of length352683
-Ref: units of length pt352890
-Ref: units of length pc353011
-Ref: units of length in353038
-Ref: units of length bp353068
-Ref: units of length mm353203
-Ref: units of length cm353238
-Ref: units of length dd353270
-Ref: units of length cc353306
-Ref: units of length sp353335
-Ref: Lengths/ex353481
-Ref: units of length ex353481
-Ref: Lengths/em353632
-Ref: units of length em353632
-Ref: units of length mu353981
-Node: \setlength354518
-Node: \addtolength355660
-Node: \settodepth357135
-Node: \settoheight358155
-Node: \settowidth359189
-Node: \stretch360226
-Node: Expressions361440
-Node: Making paragraphs366478
-Node: \par368821
-Node: \indent & \noindent370951
-Ref: \indent371135
-Ref: \noindent371135
-Node: \parindent & \parskip372532
-Ref: \parindent372730
-Ref: \parskip372730
-Node: Marginal notes373931
-Ref: marginal notes marginparpush375365
-Ref: marginal notes marginparsep375555
-Ref: marginal notes marginparwidth375703
-Node: Math formulas376084
-Node: Subscripts & superscripts379178
-Ref: superscript379338
-Ref: subscript379338
-Node: Math symbols381471
-Node: Arrows406951
-Node: \boldmath & \unboldmath408275
-Ref: \boldmath408466
-Ref: \unboldmath408466
-Node: bm409576
-Node: OpenType bold math410328
-Node: Blackboard bold411766
-Node: Calligraphic412595
-Node: Delimiters413130
-Node: \left & \right415441
-Ref: \left415595
-Ref: \right415595
-Node: \bigl & \bigr etc.419602
-Ref: \bigl419764
-Ref: \bigr419764
-Node: Dots422460
-Ref: ellipses cdots422891
-Ref: ellipses ddots423044
-Ref: ellipses ldots423129
-Ref: ellipses vdots423549
-Node: Greek letters425675
-Node: Math functions427524
-Node: Math accents429373
-Node: Over- and Underlining430332
-Node: Spacing in math mode432231
-Ref: spacing in math mode thickspace433196
-Ref: spacing in math mode medspace433679
-Ref: Spacing in math mode/\thinspace434163
-Ref: spacing in math mode thinspace434163
-Ref: spacing in math mode negthinspace434660
-Ref: spacing in math mode quad435057
-Ref: spacing in math mode qquad435321
-Node: \smash435659
-Node: \phantom & \vphantom & \hphantom437930
-Ref: \phantom438159
-Ref: \vphantom438159
-Ref: \hphantom438159
-Node: \mathstrut440574
-Node: Math styles441576
-Node: Math miscellany444382
-Node: Colon character & \colon444881
-Ref: colon445054
-Node: \*445610
-Node: \frac446214
-Node: \sqrt446597
-Node: \stackrel447244
-Node: Modes447517
-Ref: modes paragraph mode447969
-Ref: modes lr mode448289
-Ref: modes math mode448908
-Ref: modes vertical mode449257
-Ref: modes internal vertical mode449479
-Ref: modes inner paragraph mode450022
-Ref: modes outer paragraph mode450022
-Node: \ensuremath450456
-Node: Page styles451169
-Node: \maketitle451929
-Node: \pagenumbering455082
-Node: \pagestyle457210
-Node: \thispagestyle460874
-Node: Spaces461852
-Node: \enspace & \quad & \qquad463172
-Ref: \enspace463344
-Ref: \quad463344
-Ref: \qquad463344
-Node: \hspace464111
-Node: \hfill466020
-Node: \hss467114
-Node: \spacefactor467834
-Node: \@471301
-Ref: \AT471425
-Node: \frenchspacing & \nonfrenchspacing473417
-Ref: \frenchspacing473535
-Ref: \nonfrenchspacing473636
-Node: \normalsfcodes474349
-Node: \(SPACE)474621
-Ref: Leading blanks476613
-Node: ~476946
-Node: \thinspace & \negthinspace479935
-Ref: \thinspace480107
-Ref: \negthinspace480107
-Node: \/481181
-Node: \hrulefill & \dotfill483193
-Ref: \hrulefill483383
-Ref: \dotfill483383
-Node: \bigskip & \medskip & \smallskip484569
-Ref: \bigskip484822
-Ref: \medskip484822
-Ref: \smallskip484822
-Ref: bigskip485401
-Ref: medskip485625
-Ref: smallskip485854
-Node: \bigbreak & \medbreak & \smallbreak486551
-Ref: \bigbreak486795
-Ref: \medbreak486795
-Ref: \smallbreak486795
-Node: \strut487580
-Node: \vspace490913
-Node: \vfill492507
-Node: \addvspace493459
-Node: Boxes495576
-Node: \mbox & \makebox496294
-Ref: \mbox496440
-Ref: \makebox496440
-Ref: mbox makebox depth497606
-Ref: mbox makebox height497606
-Ref: mbox makebox width497606
-Ref: mbox makebox totalheight497606
-Node: \fbox & \framebox499802
-Ref: \fbox499966
-Ref: \framebox499966
-Ref: fbox framebox fboxrule501149
-Ref: fbox framebox fboxsep501347
-Node: \parbox502487
-Node: \raisebox504851
-Ref: raisebox depth505828
-Ref: raisebox height505828
-Ref: raisebox width505828
-Ref: raisebox totalheight505828
-Node: \sbox & \savebox506559
-Ref: \sbox506711
-Ref: \savebox506711
-Node: lrbox509751
-Node: \usebox510665
-Node: Color511124
-Node: Color package options511941
-Node: Color models513715
-Ref: color models cmyk514530
-Ref: color models gray514897
-Ref: color models rgb515050
-Ref: color models RGB515391
-Ref: color models named515790
-Node: Commands for color516122
-Node: Define colors516541
-Node: Colored text517272
-Node: Colored boxes519707
-Node: Colored pages521138
-Node: Graphics521835
-Node: Graphics package options523981
-Node: Graphics package configuration526908
-Node: \graphicspath527720
-Node: \DeclareGraphicsExtensions530792
-Node: \DeclareGraphicsRule532646
-Node: Commands for graphics535924
-Node: \includegraphics536437
-Ref: includegraphics width541600
-Ref: includegraphics height542161
-Ref: includegraphics totalheight542583
-Ref: includegraphics keepaspectratio542851
-Ref: includegraphics viewport544643
-Ref: includegraphics trim545054
-Ref: includegraphics clip545522
-Ref: includegraphics page545794
-Ref: includegraphics pagebox545893
-Ref: includegraphics interpolate546784
-Ref: includegraphics quiet546997
-Ref: includegraphics draft547170
-Ref: includegraphics bb547997
-Ref: includegraphics bbllx548407
-Ref: includegraphics bblly548407
-Ref: includegraphics bburx548407
-Ref: includegraphics bbury548407
-Ref: includegraphics natwidth548553
-Ref: includegraphics natheight548553
-Ref: includegraphics hiresbb548751
-Ref: includegraphics type549561
-Ref: includegraphics ext549605
-Ref: includegraphics read549716
-Ref: includegraphics command549841
-Node: \rotatebox550099
-Node: \scalebox553061
-Node: \resizebox554169
-Node: Special insertions555409
-Node: Reserved characters556283
-Node: Upper and lower case557602
-Node: Symbols by font position560076
-Node: Text symbols560783
-Node: Accents566752
-Node: \accent569209
-Node: Additional Latin letters571067
-Ref: Non-English characters571249
-Node: inputenc package572370
-Ref: \inputencoding574646
-Node: \rule575022
-Node: \today576226
-Node: Splitting the input577216
-Node: \endinput578998
-Node: \include & \includeonly580355
-Ref: \include580543
-Ref: \includeonly580543
-Node: \input584840
-Node: Front/back matter586083
-Node: Table of contents etc.586416
-Node: \@dottedtocline592364
-Node: \addcontentsline594015
-Node: \addtocontents597204
-Node: \contentsline599497
-Node: \nofiles601387
-Node: \numberline602170
-Node: Indexes603398
-Node: Produce the index manually606288
-Node: \index607476
-Node: makeindex612917
-Ref: makeindex preamble614633
-Ref: makeindex postamble614787
-Ref: makeindex group skip614891
-Ref: makeindex letheadflag615251
-Ref: makeindex lethead prefix615728
-Ref: makeindex lethead suffix615888
-Ref: makeindex item 0616044
-Ref: makeindex item 1616132
-Ref: makeindex item 2616215
-Ref: makeindex item 01616301
-Ref: makeindex item x1616414
-Ref: makeindex item 12616633
-Ref: makeindex item x2616749
-Ref: makeindex delim 0616919
-Ref: makeindex delim 1617057
-Ref: makeindex delim 2617195
-Ref: makeindex delim n617329
-Ref: makeindex delim r617472
-Ref: makeindex line max617588
-Ref: makeindex indent space617733
-Ref: makeindex indent length617836
-Ref: makeindex page precedence618033
-Node: \printindex619114
-Node: Glossaries619603
-Node: \newglossaryentry621622
-Node: \gls623125
-Node: Letters623939
-Node: \address627655
-Node: \cc628482
-Node: \closing628936
-Node: \encl629256
-Node: \location629682
-Node: \makelabels629954
-Node: \name632331
-Node: \opening632578
-Node: \ps632867
-Node: \signature633164
-Node: \telephone634440
-Node: Input/output634815
-Node: \openin & \openout635545
-Ref: \openin635692
-Ref: \openout635692
-Ref: \closein635692
-Ref: \closeout635692
-Node: \read638413
-Node: \typein639640
-Node: \typeout640924
-Node: \write642014
-Node: \write and security646929
-Node: \message647885
-Node: \wlog649766
-Node: \write18650275
-Node: Command line interface653876
-Ref: Command line654040
-Node: Command line options656259
-Ref: interaction modes657306
-Ref: output directory658318
-Node: Command line input660093
-Node: Jobname662242
-Node: Recovering from errors665621
-Node: Document templates667097
-Node: beamer template667531
-Node: article template668181
-Node: book template668648
-Node: Larger book template669131
-Node: Index670715
-Ref: Command Index670801
+Node: Top1873
+Node: About this document3680
+Node: Overview5499
+Node: Starting and ending7434
+Ref: Starting & ending7569
+Node: Output files8789
+Ref: output files dvi9080
+Ref: output files pdf9628
+Ref: output files log9961
+Ref: output files aux10162
+Node: TeX engines11151
+Ref: tex engines latex11702
+Ref: tex engines lualatex12653
+Ref: tex engines xelatex13134
+Node: Input text15474
+Node: Input encodings15937
+Node: Ligatures17345
+Node: Special characters20141
+Ref: Reserved characters20326
+Node: LaTeX command syntax21530
+Node: Environment syntax23610
+Node: \DocumentMetadata24903
+Node: CTAN26273
+Node: Document classes27739
+Ref: \documentclass27866
+Ref: document classes article28202
+Ref: document classes book28294
+Ref: document classes letter28483
+Ref: document classes report28563
+Ref: document classes slides28727
+Node: Document class options29223
+Node: \usepackage32744
+Ref: Additional packages32958
+Node: Class and package creation33961
+Node: Class and package structure35424
+Node: Fonts37830
+Ref: Typefaces37933
+Node: fontenc package39903
+Node: \DeclareFontEncoding44298
+Node: \DeclareTextAccent45766
+Node: \DeclareTextAccentDefault46717
+Node: \DeclareTextCommand & \ProvideTextCommand47824
+Ref: \DeclareTextCommand48129
+Ref: \ProvideTextCommand48129
+Node: \DeclareTextCommandDefault & \ProvideTextCommandDefault50136
+Ref: \DeclareTextCommandDefault50467
+Ref: \ProvideTextCommandDefault50467
+Node: \DeclareTextComposite51480
+Node: \DeclareTextCompositeCommand52597
+Node: \DeclareTextSymbol53311
+Node: \DeclareTextSymbolDefault54448
+Node: \LastDeclaredEncoding55436
+Node: \UseTextSymbol & \UseTextAccent56072
+Ref: \UseTextSymbol56281
+Ref: \UseTextAccent56281
+Node: Font styles57310
+Ref: \nocorrlist58248
+Ref: \nocorr58248
+Ref: \mathversion61003
+Ref: \oldstylenums61173
+Node: Font sizes61736
+Node: Low-level font commands64735
+Ref: low level font commands fontencoding65019
+Ref: low level font commands fontfamily65587
+Ref: low level font commands fontseries66434
+Ref: low level font commands fontshape67690
+Ref: low level font commands fontsize68035
+Ref: low level font commands linespread68640
+Ref: low level font commands selectfont68937
+Ref: low level font commands usefont69279
+Node: Layout69546
+Node: \onecolumn70120
+Node: \twocolumn70487
+Ref: twocolumn columnsep71122
+Ref: twocolumn columnseprule71374
+Ref: twocolumn columnwidth71682
+Ref: twocolumn dbltopfraction72297
+Ref: twocolumn dblfloatpagefraction73309
+Ref: twocolumn dblfloatsep73559
+Ref: twocolumn dbltextfloatsep73892
+Ref: twocolumn dbltopnumber74080
+Node: \flushbottom75037
+Node: \raggedbottom76208
+Node: Page layout parameters76750
+Ref: page layout parameters columnsep76991
+Ref: page layout parameters columnseprule76991
+Ref: page layout parameters columnwidth76991
+Ref: page layout parameters headheight77253
+Ref: page layout parameters headsep77440
+Ref: page layout parameters footskip77780
+Ref: page layout parameters linewidth78146
+Ref: page layout parameters marginparpush78535
+Ref: page layout parameters marginsep78535
+Ref: page layout parameters marginparwidth78535
+Ref: page layout parameters oddsidemargin79661
+Ref: page layout parameters evensidemargin79661
+Ref: page layout parameters paperheight80246
+Ref: page layout parameters paperwidth80480
+Ref: page layout parameters textheight80712
+Ref: page layout parameters textwidth81133
+Ref: page layout parameters hsize82139
+Ref: page layout parameters topmargin82344
+Ref: page layout parameters topskip82666
+Node: \baselineskip & \baselinestretch82886
+Ref: \baselineskip83099
+Ref: \baselinestretch83099
+Node: Floats88262
+Ref: floats bottomfraction92744
+Ref: floats floatpagefraction92879
+Ref: floats textfraction92998
+Ref: floats topfraction93208
+Ref: floats floatsep93472
+Ref: floats intextsep93590
+Ref: floats textfloatsep93817
+Ref: floats bottomnumber94093
+Ref: floats dbltopnumber94205
+Ref: floats topnumber94328
+Ref: floats totalnumber94436
+Node: \caption95053
+Node: Sectioning97879
+Ref: sectioning secnumdepth101134
+Ref: Sectioning/secnumdepth101134
+Ref: sectioning tocdepth101808
+Ref: Sectioning/tocdepth101808
+Node: \part102872
+Node: \chapter105104
+Node: \section108957
+Node: \subsection112296
+Node: \subsubsection & \paragraph & \subparagraph115078
+Ref: \subsubsection115324
+Ref: \paragraph115324
+Ref: \subparagraph115324
+Node: \appendix117811
+Node: \frontmatter & \mainmatter & \backmatter119196
+Ref: \frontmatter119436
+Ref: \mainmatter119436
+Ref: \backmatter119436
+Node: \@startsection120637
+Ref: startsection name122182
+Ref: \@startsection/name122182
+Ref: startsection level122660
+Ref: \@startsection/level122660
+Ref: startsection indent123565
+Ref: \@startsection/indent123565
+Ref: startsection beforeskip123836
+Ref: \@startsection/beforeskip123836
+Ref: startsection afterskip125384
+Ref: \@startsection/afterskip125384
+Ref: startsection style126735
+Ref: \@startsection/style126735
+Node: Cross references130574
+Node: \label132803
+Node: \pageref134695
+Node: \ref135505
+Node: xr package136536
+Node: Environments138409
+Ref: Environment138540
+Node: abstract140428
+Node: array142045
+Node: center145066
+Node: \centering146835
+Node: description148404
+Node: displaymath150669
+Node: document152407
+Node: \AtBeginDocument152845
+Node: \AtEndDocument153477
+Node: enumerate154133
+Ref: enumerate enumi156092
+Ref: enumerate enumii156092
+Ref: enumerate enumiii156092
+Ref: enumerate enumiv156092
+Ref: enumerate labelenumi156506
+Ref: enumerate labelenumii156506
+Ref: enumerate labelenumiii156506
+Ref: enumerate labelenumiv156506
+Node: eqnarray157057
+Node: equation159105
+Node: figure159795
+Node: filecontents162024
+Node: flushleft163977
+Node: \raggedright165016
+Node: flushright166245
+Node: \raggedleft167089
+Node: itemize167963
+Ref: itemize labelitemi169553
+Ref: itemize labelitemii169553
+Ref: itemize labelitemiii169553
+Ref: itemize labelitemiv169553
+Ref: itemize leftmargin170246
+Ref: itemize leftmargini170246
+Ref: itemize leftmarginii170246
+Ref: itemize leftmarginiii170246
+Ref: itemize leftmarginiv170246
+Ref: itemize leftmarginv170246
+Ref: itemize leftmarginvi170246
+Node: letter171792
+Node: list172034
+Ref: list makelabel174553
+Ref: list itemindent175991
+Ref: list itemsep176140
+Ref: list labelsep176873
+Ref: list labelwidth177056
+Ref: list leftmargin178143
+Ref: list listparindent179060
+Ref: list parsep179303
+Ref: list partopsep179823
+Ref: list rightmargin180681
+Ref: list topsep180874
+Ref: list beginparpenalty184582
+Ref: list itempenalty184689
+Ref: list endparpenalty184801
+Node: \item185684
+Node: trivlist186962
+Node: math188538
+Node: minipage188860
+Node: picture194597
+Node: \put200963
+Node: \multiput201544
+Node: \qbezier202287
+Node: \graphpaper203788
+Node: \line204594
+Node: \linethickness206590
+Node: \thinlines207067
+Node: \thicklines207482
+Node: \circle207871
+Node: \oval208433
+Node: \shortstack209488
+Node: \vector211254
+Node: \makebox (picture)212186
+Node: \framebox (picture)213412
+Node: \frame214913
+Node: \dashbox215354
+Node: quotation & quote216513
+Ref: quotation216675
+Ref: quote216675
+Node: tabbing217437
+Node: table223624
+Node: tabular225735
+Ref: \extracolsep229771
+Ref: tabular arrayrulewidth232312
+Ref: tabular arraystrech232584
+Ref: tabular doublerulesep232825
+Ref: tabular tabcolsep232973
+Node: \multicolumn233506
+Node: \vline237515
+Node: \cline238962
+Node: \hline239692
+Node: thebibliography240398
+Node: \bibitem242977
+Node: \cite245363
+Node: \nocite247279
+Node: Using BibTeX247795
+Node: BibTeX error messages250239
+Node: theorem251196
+Node: titlepage252138
+Node: verbatim253433
+Node: \verb255453
+Node: verse257501
+Node: Line breaking258736
+Node: \\260159
+Node: \obeycr & \restorecr262685
+Ref: \obeycr262851
+Ref: \restorecr262851
+Node: \newline263528
+Node: \- (hyphenation)264617
+Node: \slash266273
+Node: \discretionary266817
+Node: \fussy & \sloppy267718
+Ref: \fussy267888
+Ref: \sloppy267888
+Node: sloppypar268557
+Node: \hyphenation269719
+Node: \linebreak & \nolinebreak270358
+Ref: \linebreak270532
+Ref: \nolinebreak270532
+Node: Page breaking271554
+Node: \clearpage & \cleardoublepage273590
+Ref: \clearpage273774
+Ref: \cleardoublepage273774
+Node: \newpage275256
+Node: \enlargethispage276598
+Node: \pagebreak & \nopagebreak277570
+Ref: \pagebreak277750
+Ref: \nopagebreak277750
+Node: Footnotes279532
+Node: \footnote280686
+Ref: footnote footnoterule282034
+Ref: footnote footnotesep282857
+Node: \footnotemark283983
+Node: \footnotetext286388
+Node: Footnotes in section headings286998
+Node: Footnotes in a table287844
+Node: Footnotes of footnotes290812
+Node: Definitions291514
+Node: \newcommand & \renewcommand292629
+Ref: \newcommand292812
+Ref: \renewcommand292812
+Node: Control sequences299249
+Node: \providecommand300715
+Node: \makeatletter & \makeatother301939
+Ref: \makeatletter302142
+Ref: \makeatother302142
+Node: \@ifstar304121
+Node: \newcounter307730
+Node: \newlength309502
+Node: \newsavebox310461
+Node: \newenvironment & \renewenvironment311452
+Ref: \newenvironment311675
+Ref: \renewenvironment311675
+Node: \newtheorem316904
+Node: \newfont320572
+Node: \protect321841
+Node: \ignorespaces & \ignorespacesafterend324752
+Ref: \ignorespaces324975
+Ref: \ignorespacesafterend324975
+Node: xspace package327564
+Node: Class and package commands329970
+Node: \AtBeginDvi & \AtEndDvi330716
+Ref: \AtBeginDvi330924
+Ref: \AtEndDvi330924
+Node: \AtEndOfClass & \AtEndOfPackage331408
+Ref: \AtEndOfClass331654
+Ref: \AtEndOfPackage331654
+Node: \CheckCommand332014
+Node: \ClassError and \PackageError and others332967
+Ref: \ClassError333231
+Ref: \ClassWarning333231
+Ref: \ClassWarningNoLine333231
+Ref: \ClassInfo333231
+Ref: \ClassInfoNoLine333231
+Ref: \PackageError333231
+Ref: \PackageWarning333231
+Ref: \PackageWarningNoLine333231
+Ref: \PackageInfo333231
+Ref: \PackageInfoNoLine333231
+Node: \CurrentOption334625
+Node: \DeclareOption334997
+Node: \DeclareRobustCommand336675
+Node: \ExecuteOptions339042
+Node: \IfFileExists & \InputIfFileExists339700
+Ref: \IfFileExists339968
+Ref: \InputIfFileExists339968
+Node: \LoadClass & \LoadClassWithOptions341276
+Ref: \LoadClass341546
+Ref: \LoadClassWithOptions341546
+Node: \NeedsTeXFormat342643
+Node: \OptionNotUsed343739
+Node: \PassOptionsToClass & \PassOptionsToPackage344106
+Ref: \PassOptionsToClass344383
+Ref: \PassOptionsToPackage344383
+Node: \ProcessOptions346210
+Node: \ProvidesClass & \ProvidesPackage348354
+Ref: \ProvidesClass348600
+Ref: \ProvidesPackage348600
+Node: \ProvidesFile350562
+Node: \RequirePackage & \RequirePackageWithOptions351277
+Ref: \RequirePackage351532
+Ref: \RequirePackageWithOptions351532
+Node: Counters353239
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol354976
+Node: \usecounter357703
+Node: \value358582
+Node: \setcounter359671
+Node: \addtocounter360283
+Node: \refstepcounter360745
+Node: \stepcounter361434
+Node: \day & \month & \year362003
+Ref: \day362170
+Ref: \month362170
+Ref: \year362170
+Node: Lengths362944
+Node: Units of length367669
+Ref: units of length pt367876
+Ref: units of length pc367997
+Ref: units of length in368024
+Ref: units of length bp368054
+Ref: units of length mm368189
+Ref: units of length cm368224
+Ref: units of length dd368256
+Ref: units of length cc368292
+Ref: units of length sp368321
+Ref: Lengths/ex368467
+Ref: units of length ex368467
+Ref: Lengths/em368618
+Ref: units of length em368618
+Ref: units of length mu368967
+Node: \setlength369504
+Node: \addtolength370644
+Node: \settodepth372119
+Node: \settoheight373139
+Node: \settowidth374173
+Node: \stretch375210
+Node: Expressions376424
+Node: Making paragraphs381458
+Node: \par383797
+Node: \indent & \noindent385927
+Ref: \indent386111
+Ref: \noindent386111
+Node: \parindent & \parskip387506
+Ref: \parindent387704
+Ref: \parskip387704
+Node: Marginal notes388903
+Ref: marginal notes marginparpush390335
+Ref: marginal notes marginparsep390525
+Ref: marginal notes marginparwidth390673
+Node: Math formulas391054
+Node: Subscripts & superscripts394158
+Ref: superscript394318
+Ref: subscript394318
+Node: Math symbols396443
+Node: Arrows421911
+Node: \boldmath & \unboldmath423235
+Ref: \boldmath423426
+Ref: \unboldmath423426
+Node: bm424536
+Node: OpenType bold math425288
+Node: Blackboard bold426720
+Node: Calligraphic427549
+Node: Delimiters428084
+Node: \left & \right430395
+Ref: \left430549
+Ref: \right430549
+Node: \bigl & \bigr etc.434550
+Ref: \bigl434712
+Ref: \bigr434712
+Node: Dots437408
+Ref: ellipses cdots437839
+Ref: ellipses ddots437992
+Ref: ellipses ldots438077
+Ref: ellipses vdots438497
+Node: Greek letters440617
+Node: Math functions442464
+Node: Math accents444313
+Node: Over- or under math445270
+Ref: Over- and Underlining445441
+Node: Spacing in math mode447338
+Ref: spacing in math mode thickspace448299
+Ref: spacing in math mode medspace448782
+Ref: Spacing in math mode/\thinspace449266
+Ref: spacing in math mode thinspace449266
+Ref: spacing in math mode negthinspace449763
+Ref: spacing in math mode quad450160
+Ref: spacing in math mode qquad450424
+Node: \smash450762
+Node: \phantom & \vphantom & \hphantom453063
+Ref: \phantom453292
+Ref: \vphantom453292
+Ref: \hphantom453292
+Node: \mathstrut455705
+Node: Math styles456707
+Node: Math miscellany459505
+Node: Colon character & \colon460002
+Ref: colon460175
+Node: \*460731
+Node: \frac461335
+Node: \sqrt461718
+Node: \stackrel462365
+Node: Modes462638
+Ref: modes paragraph mode463090
+Ref: modes lr mode463410
+Ref: modes math mode464025
+Ref: modes vertical mode464374
+Ref: modes internal vertical mode464596
+Ref: modes inner paragraph mode465139
+Ref: modes outer paragraph mode465139
+Node: \ensuremath465573
+Node: Page styles466286
+Node: \maketitle467118
+Node: \pagenumbering470262
+Node: \pagestyle472702
+Node: \thispagestyle476388
+Node: \thepage477383
+Node: Spaces478448
+Node: \enspace & \quad & \qquad479768
+Ref: \enspace479940
+Ref: \quad479940
+Ref: \qquad479940
+Node: \hspace480707
+Node: \hfill482612
+Node: \hss483704
+Node: \spacefactor484422
+Node: \@487929
+Ref: \AT488053
+Node: \frenchspacing & \nonfrenchspacing490134
+Ref: \frenchspacing490252
+Ref: \nonfrenchspacing490353
+Node: \normalsfcodes491242
+Node: \(SPACE)491514
+Ref: Leading blanks493499
+Node: ~493810
+Node: \thinspace & \negthinspace496956
+Ref: \thinspace497128
+Ref: \negthinspace497128
+Node: \/498202
+Node: \hrulefill & \dotfill500212
+Ref: \hrulefill500402
+Ref: \dotfill500402
+Node: \bigskip & \medskip & \smallskip501584
+Ref: \bigskip501837
+Ref: \medskip501837
+Ref: \smallskip501837
+Ref: bigskip502414
+Ref: medskip502638
+Ref: smallskip502867
+Node: \bigbreak & \medbreak & \smallbreak503564
+Ref: \bigbreak503808
+Ref: \medbreak503808
+Ref: \smallbreak503808
+Node: \strut504593
+Node: \vspace507918
+Node: \vfill509511
+Node: \addvspace510463
+Node: Boxes512573
+Node: \mbox & \makebox513294
+Ref: \mbox513440
+Ref: \makebox513440
+Ref: mbox makebox depth514605
+Ref: mbox makebox height514605
+Ref: mbox makebox width514605
+Ref: mbox makebox totalheight514605
+Node: \fbox & \framebox516799
+Ref: \fbox516963
+Ref: \framebox516963
+Ref: fbox framebox fboxrule518146
+Ref: fbox framebox fboxsep518344
+Node: \parbox519482
+Node: \raisebox521844
+Ref: raisebox depth522821
+Ref: raisebox height522821
+Ref: raisebox width522821
+Ref: raisebox totalheight522821
+Node: \sbox & \savebox523550
+Ref: \sbox523702
+Ref: \savebox523702
+Node: lrbox526738
+Node: \usebox527652
+Node: Graphics528111
+Node: Graphics package options530244
+Node: Graphics package configuration533169
+Node: \graphicspath533979
+Node: \DeclareGraphicsExtensions537045
+Node: \DeclareGraphicsRule538899
+Node: Commands for graphics542177
+Node: \includegraphics542690
+Ref: includegraphics width547849
+Ref: includegraphics height548410
+Ref: includegraphics totalheight548832
+Ref: includegraphics keepaspectratio549100
+Ref: includegraphics viewport550890
+Ref: includegraphics trim551301
+Ref: includegraphics clip551769
+Ref: includegraphics page552041
+Ref: includegraphics pagebox552140
+Ref: includegraphics interpolate553029
+Ref: includegraphics quiet553242
+Ref: includegraphics draft553415
+Ref: includegraphics bb554240
+Ref: includegraphics bbllx554650
+Ref: includegraphics bblly554650
+Ref: includegraphics bburx554650
+Ref: includegraphics bbury554650
+Ref: includegraphics natwidth554796
+Ref: includegraphics natheight554796
+Ref: includegraphics hiresbb554994
+Ref: includegraphics type555800
+Ref: includegraphics ext555844
+Ref: includegraphics read555955
+Ref: includegraphics command556080
+Node: \rotatebox556338
+Node: \scalebox559296
+Node: \resizebox560404
+Node: Color561642
+Node: Color package options562470
+Node: Color models564240
+Ref: color models cmyk565053
+Ref: color models gray565420
+Ref: color models rgb565573
+Ref: color models RGB565914
+Ref: color models named566313
+Node: Commands for color566645
+Node: Define colors567064
+Node: Colored text567793
+Node: Colored boxes570228
+Node: Colored pages571657
+Node: Special insertions572354
+Node: Printing special characters573223
+Node: Upper and lower case574552
+Node: Symbols by font position577026
+Node: Text symbols577733
+Node: Accents583932
+Node: \accent586387
+Node: Additional Latin letters588245
+Ref: Non-English characters588427
+Node: inputenc package589546
+Ref: \inputencoding591588
+Node: \rule591807
+Node: \today593007
+Node: Splitting the input593995
+Node: \endinput595777
+Node: \include & \includeonly597132
+Ref: \include597320
+Ref: \includeonly597320
+Node: \input601613
+Node: Front/back matter602856
+Node: Table of contents etc.603189
+Node: \@dottedtocline609133
+Node: \addcontentsline610784
+Node: \addtocontents613971
+Node: \contentsline616264
+Node: \nofiles618154
+Node: \numberline618937
+Node: Indexes620165
+Node: Produce the index manually623055
+Node: \index624243
+Node: makeindex629682
+Ref: makeindex preamble631398
+Ref: makeindex postamble631552
+Ref: makeindex group skip631656
+Ref: makeindex letheadflag632016
+Ref: makeindex lethead prefix632493
+Ref: makeindex lethead suffix632653
+Ref: makeindex item 0632809
+Ref: makeindex item 1632897
+Ref: makeindex item 2632980
+Ref: makeindex item 01633066
+Ref: makeindex item x1633179
+Ref: makeindex item 12633396
+Ref: makeindex item x2633512
+Ref: makeindex delim 0633680
+Ref: makeindex delim 1633818
+Ref: makeindex delim 2633956
+Ref: makeindex delim n634090
+Ref: makeindex delim r634233
+Ref: makeindex line max634349
+Ref: makeindex indent space634492
+Ref: makeindex indent length634595
+Ref: makeindex page precedence634792
+Node: \printindex635873
+Node: Glossaries636362
+Node: \newglossaryentry638381
+Node: \gls639884
+Node: Letters640698
+Node: \address644400
+Node: \cc645227
+Node: \closing645681
+Node: \encl645999
+Node: \location646425
+Node: \makelabels646697
+Node: \name649074
+Node: \opening649319
+Node: \ps649608
+Node: \signature649905
+Node: \telephone651177
+Node: Input/output651550
+Node: \openin & \openout652280
+Ref: \openin652427
+Ref: \openout652427
+Ref: \closein652427
+Ref: \closeout652427
+Node: \read655144
+Node: \typein656371
+Node: \typeout657655
+Node: \write658743
+Node: \write and security663650
+Node: \message664606
+Node: \wlog666487
+Node: \write18666996
+Node: Command line interface670595
+Ref: Command line670759
+Node: Command line options672978
+Ref: interaction modes674025
+Ref: output directory675035
+Node: Command line input676810
+Node: Jobname678957
+Node: Recovering from errors682337
+Node: Document templates683813
+Node: beamer template684247
+Node: article template684897
+Node: book template685364
+Node: Larger book template685847
+Node: Index687429
+Ref: Command Index687515
 
 End Tag Table
 

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/ChangeLog	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,10 +1,166 @@
+2024-05-12  Karl Berry  <karl at freefriends.org>
+
+	* May 2024 release to CTAN.
+
+	* latex2e.texi (fontenc package): tweak encoding text.
+	* ANNOUNCE.tmpl: tweak this too.
+
+2024-05-09  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\protect): update for current LaTeX; most commands
+	have been robust since October 2019. Mention the cprotect package.
+
+2024-05-06  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Input encodings): brief introduction to character
+	encodings.
+	(inputenc package): update handling of non-UTF-8 in LuaTeX and XeTeX.
+
+2024-05-06  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Over- or under math): mention \overrightarrow
+	and \overleftarrow. Also rename section, since these commands only
+	work with math. Report from Randolf Scholz, 5 Apr 2024 16:07:25.
+	* NEWS: mention this.
+
+	* common.texi (@mbox): make synonym for @hbox for use in @math
+	(aka @tex) examples.
+
+	* Makefile (t2html_menu): can be empty again as of makeinfo 7.1.
+	For 7.0, needed -c CHECK_NORMAL_MENU_STRUCTURE=1.
+
+2023-11-12  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\footnotemark): wording.
+	(Footnotes in section headings): missing period.
+
+2023-11-11  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Class and package commands): add @menu.
+	(\footnote) <\footnoterule): avoid overfull lines.
+
+2023-11-11  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e.texi (\footnote): Add ``@c xx'' comment suggesting
+	propagating improvement from the French version.
+	Grammar fix ``is'' -> ``are''.
+	Insert explanatory LaTeX comments to the \footnoterule
+	\renewcommand example, and star the \renewcommand.
+	(\footnotemark): Typo ``by-hand giving'' -> ``by hand-giving''.
+	Move the ``footnoteValueSaver'' counter example after the next
+	example in order not to interleave it in between two related examples.
+	(Footnotes in section headings): Add ``@c xx'' comment indicating
+	need for handling the \listoftable/\listoffigures case.
+
+2023-10-19  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (itemize): remove extra } in itemize* example.
+	Report from Stefan Pofahl, 18 Oct 2023 23:48:38.
+
+	* latex2e.texi: fix most menus per texinfo 7.1 warnings.
+
+2023-10-11  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Ligatures): new node.
+
+2023-10-04  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Special characters): new node.
+	(Reserved characters): rename to `Printing special characters'.
+
+2023-10-02  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (@TeX{} engines): add hilatex.
+	
+	* Makefile (disttree): new variable for brevity; use it.
+	(postwebclean): new target to automate cleanup after a web update.
+	(commitready): depend on easyurls so that this is the only target
+	that need be run for a web update.
+	Add @echo commands to help trace what's happening.
+	Remove trailing whitespace.
+
+2023-09-30  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Overview): give mailing list url.
+	(Environment): rename to Environment syntax.
+	(\DocumentMetadata): new node.
+	(Class and package structure): use ctan.org/pkg/clsguide.
+	(Class and package commands): move to Definitions chapter;
+	rewrite as separate sections.
+	(Graphics): move chapter to before Color.
+	Throughout: avoid xxx as example string, since we use xx
+	as the todo marker.
+
+2023-08-27  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\thepage): simplify, as it turns out that
+	TUGboat's attempted complicated redefinition does not work well.
+	
+	* Makefile (htmlopts): add -c CHECK_NORMAL_MENU_STRUCTURE=1
+	for makeinfo 7.0.3 to emit warnings about menu problems.
+	Should be re-enabled by default in the next release.
+
+2023-07-19  Karl Berry  <karl at freefriends.org>
+
+	* Makefile (svri): rename svrsplit; mention for post-web cleanup.
+
+2023-07-19  Jim Hefferon  <jhefferon at smcvt.edu>
+
+	* src/easyurls.py: skip _005cslash.html since it conflicts.
+	Add lower_case_flag.
+	* src/easyurls_test.py: update.
+
+2023-07-19  Karl Berry  <karl at freefriends.org>
+
+	* Makefile (check-dw): also ignore @c lines.
+
+	* latex2e.texi (~): also mention \nobreakspace and U+00A0 synonyms.
+	(They aren't, quite, ~ has a pair of empty braces after, but this
+	does not seem worth mentioning.)
+
+2023-07-16  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (Document class options): recommend the geometry
+	package, and note that \pdfpagewidth/height is engine-dependent.
+	Report from Seymour J Metz, 14 Jul 2023 17:38:07.
+	
+	* latex2e.texi (\thepage): new section, based on information
+	from Ulrike Fischer, https://tex.stackexchange.com/questions/687258.
+	* NEWS: mention this.
+
+2023-06-23  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\DeclareTextSymbol, Text symbols): guillemet not
+	guillemot.
+	
+	(\spacefactor, \@@, \frenchspacing & \nonfrenchspacing, \(SPACE)):
+	try to clarify that many punctuation characters are involved.
+
+2023-05-28  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (\slash): new node for this simple command.
+	(\pagebreak & \nopagebreak) <\samepage>: not obsolete.
+	(\pagenumbering): rearrange.
+
+2023-03-22  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (list): \setlength{\itemsep} was missing the \.
+	Report from Markus Kurtz, 22 Mar 2023 14:10:21.
+
+	* latex2e.texi (math): punctuation tweaks.
+
+2023-01-18  Karl Berry  <karl at freefriends.org>
+
+	* latex2e.texi (equation): second \begin should be \end.
+	Report from yukif at mac.com, 18 Jan 2023 16:04:02.
+
 2022-01-26  Karl Berry  <karl at freefriends.org>
 
 	January 2023 release to CTAN.
 	* NEWS: update.
 
-	* mirroring.html,
-	* writing.html: use https, $Date.
+	* Makefile (%.html): depend on latex2e.css, not %.css,
+	since there is no latex2e-es.css (and doesn't need to be).
 
 2023-01-14  Karl Berry  <karl at freefriends.org>
 

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/Makefile	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,4 +1,4 @@
-# $Id: Makefile 1142 2023-01-11 16:09:29Z karl $
+# $Id: Makefile 1173 2024-05-13 15:17:28Z karl $
 # Public domain.  Originally written 2006, Karl Berry.
 # Makefile for latexrefman.
 
@@ -29,17 +29,28 @@
 texi2txt = $(makeinfo) --plaintext --no-split
 texi2xml = $(makeinfo) --xml
 #
-htmlopts = --html $(html_css) $(t2html_top) $(t2html_home) $(html_pagewords)
+htmlopts = --html $(html_css) $(t2html_config)
 #
 html_css = --css-include=latex2e.css
 #
-# Nodes must be larger than this to get navigation panel at bottom of
-# page; default is 300.
-html_pagewords = -c WORDS_IN_PAGE=10000
+t2html_config = $(t2html_top) $(t2html_pagewords) $(t2html_menu) $(t2html_home)
 #
 # Go somewhere useful from Top:
 t2html_top = -c TOP_NODE_UP_URL=https://tug.org/texinfohtml/
 #
+# Nodes must be larger than this to get navigation panel at bottom of
+# page; default is 300.
+t2html_pagewords = -c WORDS_IN_PAGE=10000
+#
+# For makeinfo 7.0, needed this to get warnings about tree structure:
+#t2html_menu = -c CHECK_NORMAL_MENU_STRUCTURE=1
+# https://lists.gnu.org/archive/html/bug-texinfo/2024-01/msg00021.html
+# But as of 7.1, it is the default again (whew).
+t2html_menu =
+#
+# Incidentally, a tree transformation can generate missing menu entries:
+#   -c TREE_TRANSFORMATIONS=complete_tree_nodes_menus file.texi
+#
 # Put a link in the footer:
 t2html_home = -c PRE_BODY_CLOSE="<hr/><div class='referenceinfo'>\
 <a href='https://latexref.xyz/'>\
@@ -85,7 +96,7 @@
 
 # Sort of following the GNU sequence of clean targets.
 distclean clean mostlyclean:
-	rm -rf latex2e*.t2* latex2e-help-texinfo-tree*
+	rm -rf latex2e*.t2* $(distname)-tree*
 
 realclean maintainer-clean: distclean
 	rm -f $(addprefix latex2e*., pdf dvi $(mi_suffixes) $(xref_suffixes))
@@ -100,12 +111,14 @@
 figure_files = list.eps list.pdf list.png list.txt
 figure_source_files = asy/list.asy
 distname = latex2e-help-texinfo
+disttree = $(distname)-tree
 distzip = $(distname).zip
 #
-htmlsplit = $(distname)-tree
+htmlsplit = $(disttree)
 htmlsplitzip = $(htmlsplit).zip
 #
 dist: en es
+	@echo Making $@ ...
 	rm -rf $(distname)
 	mkdir $(distname) && cd $(distname) && ln -s ../* .
 	mkdir $(distname)/spanish && cd $(distname)/spanish && ln -s ../../* .
@@ -117,20 +130,22 @@
 $(addprefix $(distname)/latex2e-figures/,  $(figure_files)) \
 $(addprefix $(distname)/graphics/,  README $(figure_source_files))
 	rm -f $(htmlsplitzip)
-	cd $(htmlsplit) && zip -qr ../$(htmlsplitzip) latex2e 
+	cd $(htmlsplit) && zip -qr ../$(htmlsplitzip) latex2e
 	zip -q $(distzip) $(distname)
 	@ls -l $(distzip); unzip -l $(distzip)
 
 easyurls: htmlsplit dist
+	@echo Making $@ ...
 	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 \
+        && cp ../$(disttree).zip testdist \
+        && rm -rf latex2e && unzip -q testdist/$(distname)-tree \
         && $(easyurls_python) ./easyurls.py $(easyurls_opt) \
-        && zip -rq ../latex2e-help-texinfo-tree-easyurls.zip latex2e
+        && zip -rq ../$(disttree)-easyurls.zip latex2e
 
-easyurls_python = python3.6 # depends on bs4 (beautifulsoup4)
-easyurls_opt = --directory latex2e --action softlink --lower_case --rewrite_index --debug
+easyurls_python = python # depends on bs4 (beautifulsoup4)
+easyurls_debug = # --debug
+easyurls_opt = --directory latex2e --action softlink --lower_case --rewrite_index $(easyurls_debug)
 
 # To update web site, after basic build is ok (check-dw, spelling, etc.),
 # first undo temporary build results:
@@ -138,26 +153,32 @@
 #   make svrsplit  # revert generated split html
 # then update ChangeLog, etc.,
 # then svn commit the modified source files,
+# then make commitready, which runs:
+# 
+#	$(MAKE)
+#	$(MAKE) htmlsplit
+#	$(MAKE) dist
+#	$(MAKE) easyurls     # depends on htmlsplit and dist
+#	$(MAKE) commitready  # depends on easyurls;
+#			     # many files will have status !
+# and then:
+#   svn commit        # to commit regenerated files
 # then:
-#   make
-#   make htmlsplit
-#   make dist
-#   make easyurls     # depends htmlsplit and dist
-#   make commitready  # many files will have status ! 
-#   svn commit        # to commit regenerated files   
-# then:
-#   svn update     # restore easy url stubs
+#   svn -q update     # restore easy url stubs
 #   make svrsplit  # restore generated split html
 #
 # If uploading to CTAN:
-#   (update NEWS, write announcement)
+#   see file ./CTAN (update NEWS, write announcement, etc.)
 #   upload latex2e-help-texinfo.zip
 #
 # Clean up:
-#   rm -rf src/testdist src/latex2e
-#   rm -rf latex2e-help-texinfo   
-#   rm latex2e-help-texinfo-tree{,-easyurls}.zip   
-#   rm latex2e-help-texinfo.zip   
+postwebclean:
+	rm -rf src/testdist src/latex2e
+	rm -rf $(distname)
+	rm $(disttree).zip $(distname)-easyurls.zip
+	rm $(distname).zip
+	make svri
+	svn status
 
 # In Texinfo 7.0, the default output directory changed to foo_html.
 # Change it back.
@@ -165,14 +186,16 @@
 
 # Get many small .html files.
 htmlsplit: en
+	@echo Making $@ ...
 	rm -rf $(htmlsplit)
-	mkdir $(htmlsplit) && cd $(htmlsplit) && ln -s ../* .	
+	mkdir $(htmlsplit) && cd $(htmlsplit) && ln -s ../* .
 	cd $(htmlsplit) && $(makeinfo) $(html_split_opts) latex2e.texi
 	cd $(htmlsplit)/latex2e && ln -s ../../latex2e-figures .
 
 # Right before a commit, delete html files that are gone and add new ones.
 htmlsplitstatus = cd $(htmlsplit)/latex2e && svn status *.html
-commitready: htmlsplit
+commitready: easyurls
+	@echo Making $@ ...
 	$(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.
@@ -184,25 +207,28 @@
 # Remove \commandnames to reduce exception list, but not {args} or
 # [args], since they are often words.
 spell spell-en:
-	sed -e 's/\\[a-zA-Z]*//g' latex2e.texi \
+	sed -e 's/\\[a-zA-Z]*//g' -e 's/U+[0-9A-F]\{4\}//' latex2e.texi \
 	| aspell list --mode=texinfo --add-extra-dicts=`pwd`/aspell.en.pws \
         | sort -f -u
 
 # Check for doubled words.
-# http://www.math.utah.edu/~beebe/software/file-tools.html#dw
+# https://www.math.utah.edu/~beebe/software/file-tools.html#dw
 # 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/^@\(node\|item\|anchor\|.index\|.*section\) .*//' \
+	sed -e 's/^@\(c\|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,
-# and svn diff the source files.
+# Convenience targets for svn operations.
+svat:
+	svn status
+svup:
+	svn -q update
 svr:
 	svn revert $(addprefix latex2e*., $(all_suffixes))
 	svn status
-svrsplit:
+svri svrsplit:
 	svn revert --depth infinity $(htmlsplit)
 svd:
-	svn diff $(txt_files) *.texi
+	svn diff -x -p $(txt_files) *.texi

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/NEWS	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,11 +1,30 @@
-$Id: NEWS 1145 2023-01-15 16:23:59Z karl $
+$Id: NEWS 1170 2024-05-09 17:39:42Z karl $
 NEWS for latex2e.texi, aka the latex2e-help-texinfo package.
 Public domain.  Originally written 1995, Torsten Martinsen.
 
-French translation from Vincent Belaiche.
+French translation from Vincent Bela\"iche.
 Spanish translation from Nacho Pacheco.
 Updates are welcome.
 
+
 Notable changes in May 2024 release:
+
+Additions:
+* \DocumentMetadata for experimental tagging support.
+* \thepage for page number representation.
+* \nobreakspace and U+00A0 synonyms for ties.
+* The (simple) \slash command.
+* \overrightarrow and \overleftarrow.
+* List the standard ligatures in LaTeX (ff fi fl ffi ffl `` '' -- --- `! `?).
+* Describe LaTeX's special characters (\ @ @ % $ & _ ^ # ~}.
+* Briefly mention hilatex and the hitex engine (https://ctan.org/pkg/hitex).
+* Briefly describe input encodings and how to handle them.
+
+Changes:
+* Update the discussion of fragile commands at \protect; since October 2019,
+most commands have been robust. Mention the cprotect package.
+* The lengthy list of commands for class and package writers, from
+clsguide, now split into sections instead of being one long table.
+
 
 Notable changes in January 2023 release:
 
 Additions:

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	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/aspell.en.pws	2024-05-13 19:50:52 UTC (rev 71252)
@@ -290,3 +290,11 @@
 vitalism
 tablefootnote
 Infimum
+atenddvi
+envname
+un
+documentmetadata
+ffl
+underbracket
+iconv
+recode

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/common.texi	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,7 +1,8 @@
- at c $Id: common.texi 1089 2022-08-12 20:30:20Z vincentb1 $
+ at c $Id: common.texi 1168 2024-05-06 17:11:09Z karl $
 @c Public domain.
 @set LTXREFMAN_HOME_PAGE https://latexref.xyz
 @set LTXREFMAN_BUGS latexrefman@@tug.org
+
 @clear HAS-MATH 
 @iftex
 @set HAS-MATH
@@ -9,19 +10,30 @@
 \then\@c
 @end macro
 @end iftex
+ at c
 @ifnottex
 @macro iftexthenelse {then,else}
 \else\@c
 @end macro
 @end ifnottex
+
+ at c package reference.
 @macro package {packagename}
 @code{\packagename\}
 @end macro
- at c used to remove something form the spell checker
+
+ at c used to remove something from the spell checker.
 @macro identity {x}
 \x\
 @end macro
 
+ at c so we can use \mbox in @math/@tex blocks. Should never be used outside.
+ at iftex
+ at macro mbox {text}
+ at hbox{\text\}
+ at end macro
+ at end iftex
+
 @tex
 \globaldefs=1
 % lasyfont characters for Texinfo (latexsym package in LaTeX).

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.dbk	2024-05-13 19:50:52 UTC (rev 71252)
@@ -3,18 +3,18 @@
   <!ENTITY tex "TeX">
   <!ENTITY latex "LaTeX">
 ]>
-<book id="latex2e.dbk" lang="en">
+<book id="latex2e.dbk" lang="">
 <title>&latex;2e: An unofficial reference manual</title>
-<subtitle>January 2023</subtitle>
-<titleabbrev>&latex;2e unofficial reference manual (January 2023)</titleabbrev>
+<subtitle>May 2024</subtitle>
+<titleabbrev>&latex;2e unofficial reference manual (May 2024)</titleabbrev>
 <bookinfo><title>&latex;2e: An unofficial reference manual</title>
-<subtitle>January 2023</subtitle>
-<titleabbrev>&latex;2e unofficial reference manual (January 2023)</titleabbrev>
+<subtitle>May 2024</subtitle>
+<titleabbrev>&latex;2e unofficial reference manual (May 2024)</titleabbrev>
 <authorgroup>
 <collab><collabname><ulink url="https://latexref.xyz">https://latexref.xyz</ulink></collabname></collab>
 </authorgroup>
 <legalnotice><para>This document is an unofficial reference manual for &latex;, a
-document preparation system, version of January 2023.
+document preparation system, version of May 2024.
 </para>
 <para>This manual was originally translated from <filename>LATEX.HLP</filename> v1.0a in the
 VMS Help Library.  The pre-translation version was written by
@@ -83,6 +83,8 @@
 <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>.
+This is a public list; you can (un)subscribe, view the archives, etc.,
+at <ulink url="https://lists.tug.org/latexrefman">https://lists.tug.org/latexrefman</ulink>.
 </para>
 <para>This document is a reference, not a tutorial.  There is a vast array
 of other information available about &latex;, at all levels.  Here
@@ -101,8 +103,7 @@
 <para>A longer introduction to &latex;, translated to many languages.
 </para>
 </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.
+</term><listitem><para>Overview of getting started with &tex; and &latex;.
 </para>
 </listitem></varlistentry></variablelist>
 
@@ -128,11 +129,12 @@
 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>&latex; is implemented as a set of so-called “macros” (a &tex;
+<firstterm>format</firstterm>) 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 input document is marked up, that is, to mean the set of commands
@@ -156,7 +158,7 @@
 <indexterm role="cp"><primary>hello, world</primary></indexterm>
 
 <para>&latex; files have a simple global structure, with a standard beginning
-and ending.  This is a small example.
+and ending.  Here is a small example:
 </para>
 <screen>\documentclass{article}
 \begin{document}
@@ -167,10 +169,11 @@
 <literal>\end{document}</literal> line.
 </para>
 <indexterm role="cp"><primary>document class, defined</primary></indexterm>
-<para>Here, the ‘<literal>article</literal>’ is the <firstterm>document class</firstterm>.  It is implemented
-in a file <filename>article.cls</filename>.  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 <link linkend="Document-classes">Document classes</link>.
+<para>Here, the ‘<literal>article</literal>’ is the <firstterm>document class</firstterm>.  It is
+implemented in a file <filename>article.cls</filename>.  You can use any document
+class available on your system.  A few document classes are defined by
+&latex; itself, and a vast array of others are available.
+See <link linkend="Document-classes">Document classes</link>.
 </para>
 <indexterm role="cp"><primary>preamble, defined</primary></indexterm>
 <para>You can include other &latex; commands between the
@@ -177,11 +180,11 @@
 <literal>\documentclass</literal> and the <literal>\begin{document}</literal> commands.
 This area is called the <firstterm>preamble</firstterm>.
 </para>
-<para>The <literal>\begin{document}</literal>, <literal>\end{document}</literal> pair defines an
 <indexterm role="cp"><primary>environment</primary></indexterm>
-<firstterm>environment</firstterm>; the ‘<literal>document</literal>’ environment (and no others) is
-required in all &latex; documents (see <link linkend="document">document</link>).  &latex; make
-available to you many environments that are documented here
+<para>The <literal>\begin{document}</literal> … <literal>\end{document}</literal> pair
+defines an <firstterm>environment</firstterm>; the ‘<literal>document</literal>’ environment (and no
+others) is required in all &latex; documents (see <link linkend="document">document</link>).
+&latex; provides many environments that are documented here
 (see <link linkend="Environments">Environments</link>).  Many more are available to you from external
 packages, most importantly those available at CTAN (see <link linkend="CTAN">CTAN</link>).
 </para>
@@ -280,8 +283,8 @@
 <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
+<para>&latex; is a large set of commands (macros) 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>
@@ -308,7 +311,8 @@
 </para>
 <para>In other &tex; distributions, <command>latex</command> may invoke e-&tex;
 rather than pdf&tex;.  In any case, the e-&tex; extensions can be
-assumed to be available in &latex;.
+assumed to be available in &latex;, and a few extensions beyond
+e-&tex;, particularly for file manipulation.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>lualatex</primary></indexterm><literal>lualatex</literal>
 </term><listitem><indexterm role="cp"><primary>Lua&tex;</primary></indexterm>
@@ -336,6 +340,15 @@
 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>hilatex</primary></indexterm><literal>hilatex</literal>
+</term><listitem><indexterm role="cp"><primary>Hi&tex;</primary></indexterm>
+<indexterm role="cp"><primary>HINT format</primary></indexterm>
+<indexterm role="cp"><primary>mobile output</primary></indexterm>
+<para>If &latex; is invoked via the system command <command>hilatex</command>, the
+Hi&tex; engine is run (<ulink url="https://ctan.org/pkg/hitex">https://ctan.org/pkg/hitex</ulink>).  This
+program produces its own format, named HINT, designed especially for
+high-quality typesetting on mobile devices.
+</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
@@ -343,7 +356,7 @@
 <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:
+all of the above, except <literal>hitex</literal>:
 </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>
@@ -374,8 +387,215 @@
 <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>
+
 </sect1>
-<sect1 label="2.4" id="LaTeX-command-syntax">
+<sect1 label="2.4" id="Input-text">
+<title>Input text</title>
+
+<para>To a first approximation, most input characters in &latex; print as
+themselves. But there are exceptions, as discussed in the following
+sections.
+</para>
+
+
+<sect2 label="2.4.1" id="Input-encodings">
+<title>Input encodings</title>
+
+<indexterm role="cp"><primary>character encoding</primary></indexterm>
+<indexterm role="cp"><primary>input encodings</primary></indexterm>
+<indexterm role="cp"><primary>encodings, input</primary></indexterm>
+
+<para>The input to &tex; (or any computer program) ultimately consists of a
+sequence of bytes. (Nowadays, a byte is almost universally an
+eight-bit number, i.e., an integer between 0 and 255, inclusive.) The
+input encoding defines how to interpret that sequence of bytes, and
+thus how &latex; behaves.
+</para>
+<!-- UTF-8 -->
+<indexterm role="cp"><primary>Unicode</primary></indexterm>
+<para>Today, by far the most common way to encode text is with <firstterm>UTF-8</firstterm>, a
+so-called “Unicode Transformation Format” which specifies how to
+transform a sequence of 8-bit bytes to Unicode code points, which are
+defined independent of any particular representation. The Unicode
+encoding defines code points for virtually all characters used
+today in written text.
+</para>
+<para>When &tex; was created, Unicode and UTF-8 did not exist and the 7-bit
+ASCII encoding was by far the most widely used. So &tex; does not
+require Unicode for text input. UTF-8 is a superset of ASCII, so a
+pure 7-bit ASCII document is also UTF-8.
+</para>
+<para>Since 2018, the default input encoding for &latex; is UTF-8. 
+Some methods for handling documents written in some other encoding,
+such as ISO-8859-1 (Latin 1), are explained in <link linkend="inputenc-package">inputenc package</link>.
+</para>
+<para>You can easily find more about all these topics in any introductory
+computer text or online. For example, you might start at:
+<ulink url="https://en.wikipedia.org/wiki/Unicode">https://en.wikipedia.org/wiki/Unicode</ulink>.
+</para>
+</sect2>
+<sect2 label="2.4.2" id="Ligatures">
+<title>Ligatures</title>
+
+<indexterm role="cp"><primary>ligatures</primary></indexterm>
+
+<para>A <firstterm>ligature</firstterm> combines two or more letters (more generally,
+characters) into a single glyph.  For example, in Latin-based
+typography, the two letters ‘<literal>f</literal>’ and ‘<literal>i</literal>’ are often combined
+into the glyph ‘fi’.  
+</para>
+<para>&tex; supports ligatures automatically. To continue the example, if
+the input has the word ‘<literal>fine</literal>’, written as four separate ASCII
+characters, &tex; will output the word ‘fine’ (with the default
+fonts), with three typeset glyphs.
+</para>
+<para>In traditional &tex;, the available ligatures, if any, are defined by
+the current font.  &tex; also uses the ligature mechanism to produce
+a few typographical characters which were not available in any
+computer encoding when &tex; was invented.  In all, in the original
+Computer Modern fonts, the following input character sequences are
+defined to lead to ligatures:
+</para>
+<indexterm role="cp"><primary>f-ligatures</primary></indexterm>
+<indexterm role="cp"><primary>double quotation marks, as ligatures</primary></indexterm>
+<indexterm role="cp"><primary>quotation marks, as ligatures</primary></indexterm>
+<indexterm role="cp"><primary>en-dash, as ligature</primary></indexterm>
+<indexterm role="cp"><primary>em-dash, as ligature</primary></indexterm>
+<indexterm role="cp"><primary>inverted exclamation mark, as ligature</primary></indexterm>
+<indexterm role="cp"><primary>inverted question mark, as ligature</primary></indexterm>
+<indexterm role="cp"><primary>Spanish exclamation mark, as ligature</primary></indexterm>
+<indexterm role="cp"><primary>Spanish question mark, as ligature</primary></indexterm>
+
+<variablelist><varlistentry><term>‘<literal>ff</literal>’
+</term><listitem><para>ff (ff ligature, U+FB00)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>fi</literal>’
+</term><listitem><para>fi (fi ligature, U+FB01)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>fl</literal>’
+</term><listitem><para>fl (fl ligature, U+FB02)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>ffi</literal>’
+</term><listitem><para>ffi (ffi ligature, U+FB03)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>ffl</literal>’
+</term><listitem><para>ffl (ffl ligature, U+FB04)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>``</literal>’
+</term><listitem><para>“ (left double quotation mark, U+201C)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>''</literal>’
+</term><listitem><para>” (right double quotation mark, U+201D)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>--</literal>’
+</term><listitem><para>– (en-dash, U+2013)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>---</literal>’
+</term><listitem><para>— (em-dash, U+2014)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>!`</literal>’
+</term><listitem><para>!‘ (inverted exclamation mark, U+00A1)
+</para></listitem></varlistentry><varlistentry><term>‘<literal>?`</literal>’
+</term><listitem><para>?‘ (inverted question mark, U+00BF)
+</para></listitem></varlistentry></variablelist>
+<para>(For the f-ligatures above, the text in parentheses shows the
+individual characters, so in the typeset output you can easily see the
+difference between the ligature and the original character sequence.)
+</para>
+<para>Nowadays it’s usually possible to directly input the punctuation
+characters as Unicode characters, and &latex; supports that (see
+previous section).  But even today, it can still often be useful to
+use the ASCII ligature input form; for example, the difference between
+an en-dash and em-dash, as a single glyph, can be all but impossible
+to discern, but the difference between two and three ASCII hyphen
+characters is clear.  Similarly with quotation marks, in some fonts.
+</para>
+<para>Thus, even the engines with native support for UTF-8, namely Lua&tex;
+and Xe&tex;, also support the ASCII ligature input sequences by
+default, independent of the font used.  They also need to do so for
+compatibility.
+</para>
+<indexterm role="cp"><primary>alphabetic presentation forms Unicode block</primary></indexterm>
+<para>By the way, the f-ligatures are also available in Unicode (the
+“Alphabetic Presentation Forms” block starting at U+FB00), but it’s
+almost never desirable to use them as input characters, since in
+principle it should be up to the typesetter and the current font
+whether to use ligatures.  Also, in practice, using them will
+typically cause searches to fail, that is, a search for the two
+characters ‘<literal>fi</literal>’ will not be matched by the ligature ‘fi’ at
+U+FB01.
+</para>
+
+</sect2>
+<sect2 label="2.4.3" id="Special-characters">
+<title>Special characters: <literal>\ { } % $ & _ ^ # ~</literal></title>
+
+<anchor id="Reserved-characters"/><!-- old node name -->
+<indexterm role="cp"><primary>reserved characters, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>special characters, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>meaning of special characters</primary></indexterm>
+
+<para>Besides ligatures (see previous section), a few individual characters
+have special meaning to &latex;. They are called <firstterm>reserved
+characters</firstterm> or <firstterm>special characters</firstterm>.  Here they are:
+</para>
+<variablelist><varlistentry><term>‘<literal>\</literal>’
+</term><listitem><indexterm role="fn"><primary>\ character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>backslash, meaning of</primary></indexterm>
+<para>Introduces a command name, as seen throughout this manual.
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>{</literal>’
+</term><term>‘<literal>}</literal>’
+</term><listitem><indexterm role="fn"><primary>{ character, meaning of</primary></indexterm>
+<indexterm role="fn"><primary>} character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>left brace, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>right brace, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>braces, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>curly braces, meaning of</primary></indexterm>
+<para>Delimits a required argument to a command or a level of grouping, as
+seen throughout this manual.
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>%</literal>’
+</term><listitem><indexterm role="fn"><primary>% character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>percent character, meaning of</primary></indexterm>
+<para>Starts a comment: the ‘<literal>%</literal>’ and all remaining characters on the
+current line are ignored.
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>$</literal>’
+</term><listitem><indexterm role="fn"><primary>$ character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>dollar sign character, meaning of</primary></indexterm>
+<para>Starts and ends math mode (see <link linkend="Math-formulas">Math formulas</link>).
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>&</literal>’
+</term><listitem><indexterm role="fn"><primary>& character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>ampersand character, meaning of</primary></indexterm>
+<para>Separates cells in a table (see <link linkend="tabular">tabular</link>).
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>_</literal>’
+</term><term>‘<literal>^</literal>’
+</term><listitem><indexterm role="fn"><primary>_ character, meaning of</primary></indexterm>
+<indexterm role="fn"><primary>^ character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>underscore character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>hat character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>caret character, meaning of</primary></indexterm>
+<para>Introduce a subscript or superscript, respectively, in math
+(see <link linkend="Subscripts-_0026-superscripts">Subscripts & superscripts</link>); they produce an error outside
+math mode.  As a little-used special feature, two superscript
+characters in a row can introduce special notation for an arbitrary
+character.
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>#</literal>’
+</term><listitem><indexterm role="fn"><primary># character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>number sign character (<literal>#</literal>), meaning of</primary></indexterm>
+<indexterm role="cp"><primary>sharp character (<literal>#</literal>), meaning of</primary></indexterm>
+<indexterm role="cp"><primary>hash character (<literal>#</literal>), meaning of</primary></indexterm>
+<para>Stands for arguments in a macro definition (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand &
+\renewcommand</link>).
+</para>
+</listitem></varlistentry><varlistentry><term>‘<literal>~</literal>’
+</term><listitem><indexterm role="fn"><primary>~ character, meaning of</primary></indexterm>
+<indexterm role="cp"><primary>tilde character, meaning of</primary></indexterm>
+<para>Produces a nonbreakable interword space (see <link linkend="_007e">~</link>).
+</para>
+</listitem></varlistentry></variablelist>
+<para>See <link linkend="Printing-special-characters">Printing special characters</link>, for how to typeset these
+characters when you need them literally.
+</para>
+
+</sect2>
+</sect1>
+<sect1 label="2.5" id="LaTeX-command-syntax">
 <title>&latex; command syntax</title>
 
 <indexterm role="cp"><primary>command syntax</primary></indexterm>
@@ -386,10 +606,10 @@
 character, <literal>\</literal>.  The name itself then consists of either
 (a) a string of letters or (b) a single non-letter.
 </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 command names are lowercase, but in any event you must enter all
-commands in the same case as they are defined.
+<para>&latex; commands names are case sensitive; for example,
+<literal>\pagebreak</literal> differs from <literal>\Pagebreak</literal> (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.
 </para>
 <para>A command may be followed by zero, one, or more arguments. These
 arguments may be either required or optional.  Required arguments are
@@ -396,7 +616,8 @@
 contained in curly braces, <literal>{...}</literal>.  Optional arguments are
 contained in square brackets, <literal>[...]</literal>.  Generally, but not
 universally, if the command accepts an optional argument, it comes
-first, before any required arguments.
+first, before any required arguments; optional arguments could come
+after required arguments, or both before and after.
 </para>
 <para>Inside of an optional argument, to use the character close square
 bracket (<literal>]</literal>) hide it inside curly braces, as
@@ -405,10 +626,10 @@
 the first character of the following text be an open square bracket,
 hide it inside curly braces.
 </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
-to command.
+<para>&latex; has the convention that some commands have a <literal>*</literal> form
+that is closely related to the form without a <literal>*</literal>, such as
+<literal>\chapter</literal> and <literal>\chapter*</literal>.  The difference in behavior
+varies from command to command.
 </para>
 <para>This manual describes all accepted options and <literal>*</literal>-forms for the
 commands it covers (barring unintentional omissions, a.k.a. bugs).
@@ -423,12 +644,13 @@
 <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
+syntax. We won’t try to cover that in this document; see the related
 package documentation and other &latex; manuals.
 </para>
+
 </sect1>
-<sect1 label="2.5" id="Environment">
-<title>Environment</title>
+<sect1 label="2.6" id="Environment-syntax">
+<title>Environment syntax</title>
 
 <para>Synopsis:
 </para>
@@ -460,12 +682,53 @@
 required (it specifies the formatting of columns).
 </para>
 <screen>\begin{tabular}[t]{r|l}
-  ... rows of table ...
+  ... <replaceable>rows-of-table</replaceable> ...
 \end{tabular}
 </screen>
 
 </sect1>
-<sect1 label="2.6" id="CTAN">
+<sect1 label="2.7" id="_005cDocumentMetadata">
+<title><literal>\DocumentMetadata</literal>: Producing tagged PDF output</title>
+
+<indexterm role="fn"><primary>\DocumentMetadata</primary></indexterm>
+<indexterm role="cp"><primary>tagged PDF</primary></indexterm>
+<indexterm role="cp"><primary>PDF, tagged</primary></indexterm>
+<indexterm role="cp"><primary>metadata, adding</primary></indexterm>
+<indexterm role="cp"><primary>accessibility</primary></indexterm>
+
+<para>The <literal>\DocumentMetadata</literal> command was added to &latex; in 2022.
+It enables so-called “tagging” of the PDF output, aiding
+accessibility of the PDF.  It is supported best with Lua&latex;;
+pdf&latex; and Xe&latex; are supported as well as possible
+(see <link linkend="TeX-engines">&tex; engines</link>).
+</para>
+<para>It is unlike nearly any other command in &latex; in that it must
+occur before the <literal>\documentclass</literal> command that starts a &latex;
+document proper (see <link linkend="_005cdocumentclass">\documentclass</link>).  Therefore it must be
+called with <literal>\RequirePackage</literal> rather than <literal>\usepackage</literal>
+(see <link linkend="_005cRequirePackage">\RequirePackage</link>).
+</para>
+<indexterm role="cp"><primary>package, <literal>latex-lab</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>latex-lab</literal> package</primary></indexterm>
+
+<indexterm role="fn"><primary>documentmetadata-support-doc document</primary></indexterm>
+<para>This support is still in development, so we will not try to list all 
+the possible settings. Please see the
+<literal>documentmetadata-support-doc</literal> document, part of the
+<literal>latex-lab</literal> package (<ulink url="https://ctan.org/pkg/latex-lab">https://ctan.org/pkg/latex-lab</ulink>). Here
+is a simple example which enables most tagging currently implemented:
+</para>
+<screen>\DocumentMetadata{testphase={phase-III,firstaid}}
+\documentclass{article}
+...
+</screen>
+<para>As you can see from the key name <literal>testphase</literal>, this is all still
+in an experimental phase. The &latex; developers strongly encourage
+users to give it a try and report problems, so it can be improved.
+</para>
+
+</sect1>
+<sect1 label="2.8" id="CTAN">
 <title>CTAN: The Comprehensive &tex; Archive Network</title>
 
 <indexterm role="cp"><primary>CTAN</primary></indexterm>
@@ -481,7 +744,7 @@
 a package that allows authors to format papers to that publisher’s
 specifications.
 </para>
-<para>In addition to the massive holdings, the <literal>ctan.org</literal> web site
+<para>In addition to its 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>
@@ -504,12 +767,13 @@
 <chapter label="3" id="Document-classes">
 <title>Document classes</title>
 
-<indexterm role="cp"><primary>document classes</primary></indexterm>
+<anchor id="_005cdocumentclass"/><indexterm role="cp"><primary>document classes</primary></indexterm>
 <indexterm role="cp"><primary>classes of documents</primary></indexterm>
 <indexterm role="fn"><primary>\documentclass</primary></indexterm>
 
-<para>The document’s overall class is defined with this command, which is
-normally the first command in a &latex; source file.
+<para>The document’s overall class is defined with the <literal>\documentclass</literal>
+command, which is normally the first command in a &latex; source
+file.
 </para>
 <screen>\documentclass[<replaceable>options</replaceable>]{<replaceable>class</replaceable>}
 </screen>
@@ -519,8 +783,8 @@
 <indexterm role="fn"><primary>letter class</primary></indexterm>
 <indexterm role="fn"><primary>slides class</primary></indexterm>
 <para>The following document <replaceable>class</replaceable> names are built into &latex;.
-(Many other document classes are available as separate packages;
-see <link linkend="Overview">Overview</link>.)
+Many other document classes are available as separate packages
+(see <link linkend="Overview">Overview</link>).
 </para>
 <variablelist><varlistentry><term><literal>article</literal>
 </term><listitem><anchor id="document-classes-article"/><para>For a journal article, a presentation, and miscellaneous general use.
@@ -540,7 +804,7 @@
 </para>
 </listitem></varlistentry><varlistentry><term><literal>slides</literal>
 </term><listitem><anchor id="document-classes-slides"/><para>For slide presentations—rarely used nowadays. The
-<literal>beamer</literal> package is perhaps the most prevalent
+<literal>beamer</literal> package is perhaps the most prevalent replacement
 (<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>
@@ -563,6 +827,10 @@
 </para>
 <screen>\documentclass[<replaceable>option1</replaceable>,<replaceable>option2</replaceable>,...]{<replaceable>class</replaceable>}
 </screen>
+<para>&latex; automatically passes options specified for
+<literal>\documentclass</literal> on to any other loaded classes that can handle
+them.
+</para>
 <para>Here is the list of the standard class options.
 </para>
 <indexterm role="fn"><primary>10pt option</primary></indexterm>
@@ -569,7 +837,7 @@
 <indexterm role="fn"><primary>11pt option</primary></indexterm>
 <indexterm role="fn"><primary>12pt option</primary></indexterm>
 <para>All of the standard classes except <literal>slides</literal> accept the following
-options for selecting the typeface size (default is <literal>10pt</literal>):
+options for selecting the typeface size; the default is <literal>10pt</literal>:
 </para>
 <screen>10pt  11pt  12pt
 </screen>
@@ -580,7 +848,7 @@
 <indexterm role="fn"><primary>legalpaper option</primary></indexterm>
 <indexterm role="fn"><primary>letterpaper option</primary></indexterm>
 <para>All of the standard classes accept these options for selecting the paper
-size (these show height by width):
+size (dimensions are listed height by width):
 </para>
 <variablelist><varlistentry><term><literal>a4paper</literal>
 </term><listitem><para>210 by 297mm (about 8.25 by 11.75 inches)
@@ -607,15 +875,13 @@
 
 <para>When using one of the engines pdf&latex;, Lua&latex;, or Xe&latex;
 (see <link linkend="TeX-engines">&tex; engines</link>), options other than <literal>letterpaper</literal> set
-the print area but you must also set the physical paper size.  One way
-to do that is to put <literal>\pdfpagewidth=\paperwidth</literal> and
-<literal>\pdfpageheight=\paperheight</literal> in your document’s preamble.
-<indexterm role="cp"><primary>package, <literal>geometry</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>geometry</literal> package</primary></indexterm>
+the print area but you must also set the physical paper size. Usually,
+the <literal>geometry</literal> package is the best way to do that; it
+provides flexible ways of setting the print area and physical page size.
+Otherwise, setting the paper size is engine-dependent.  For example,
+with pdf&latex;, you could include <literal>\pdfpagewidth=\paperwidth</literal> and
+<literal>\pdfpageheight=\paperheight</literal> in the preamble.
 </para>
-<para>The <literal>geometry</literal> package provides flexible ways of setting the print
-area and physical page size.
-</para>
 <indexterm role="fn"><primary>draft option</primary></indexterm>
 <indexterm role="fn"><primary>final option</primary></indexterm>
 <indexterm role="fn"><primary>fleqn option</primary></indexterm>
@@ -699,32 +965,44 @@
 </para>
 
 </sect1>
-<sect1 label="3.2" id="Additional-packages">
-<title>Additional packages</title>
+<sect1 label="3.2" id="_005cusepackage">
+<title><literal>\usepackage</literal>: Additional packages</title>
 
+<anchor id="Additional-packages"/><!-- original node name -->
 <indexterm role="cp"><primary>loading additional packages</primary></indexterm>
 <indexterm role="cp"><primary>packages, loading additional</primary></indexterm>
 <indexterm role="cp"><primary>additional packages, loading</primary></indexterm>
 <indexterm role="fn"><primary>\usepackage</primary></indexterm>
-<para>Load a package <replaceable>pkg</replaceable>, with the package options given in the comma-separated
-list <replaceable>options</replaceable>, as here.
+<para>To load a package <replaceable>pkg</replaceable>, with the package options given in the
+comma-separated list <replaceable>options</replaceable>:
 </para>
-<screen>\usepackage[<replaceable>options</replaceable>]{<replaceable>pkg</replaceable>}.
+<screen>\usepackage[<replaceable>options</replaceable>]{<replaceable>pkg</replaceable>}[<replaceable>mindate</replaceable>]
 </screen>
 <para>To specify more than one package you can separate them with a comma,
 as in <literal>\usepackage{<replaceable>pkg1</replaceable>,<replaceable>pkg2</replaceable>,...}</literal>, or use multiple
 <literal>\usepackage</literal> commands.
 </para>
+<para>If the <replaceable>mindate</replaceable> optional argument is given, &latex; gives a
+warning if the loaded package has an earlier date, i.e., is too old.
+The <replaceable>mindate</replaceable> argument must be in the form <literal>YYYY/MM/DD</literal>.
+More info on this: <ulink url="https://tex.stackexchange.com/questions/47743">https://tex.stackexchange.com/questions/47743</ulink>.
+</para>
+<para><literal>\usepackage</literal> must be used in the document preamble, between the
+<literal>\documentclass</literal> declaration and the <literal>\begin{document}</literal>.
+Occasionally it is necessary to load packages before the
+<literal>\documentclass</literal>; see <literal>\RequirePackage</literal> for that
+(see <link linkend="_005cRequirePackage">\RequirePackage</link>).
+</para>
 <indexterm role="cp"><primary>global options</primary></indexterm>
 <indexterm role="cp"><primary>options, global</primary></indexterm>
-<para>Any options given in the <literal>\documentclass</literal> command that are unknown
-to the selected document class are passed on to the packages loaded with
-<literal>\usepackage</literal>.
+<para>Any options given in the global <literal>\documentclass</literal> command that are
+unknown to the selected document class are passed on to the packages
+loaded with <literal>\usepackage</literal>.
 </para>
 
 </sect1>
-<sect1 label="3.3" id="Class-and-package-construction">
-<title>Class and package construction</title>
+<sect1 label="3.3" id="Class-and-package-creation">
+<title>Class and package creation</title>
 
 <indexterm role="cp"><primary>document class commands</primary></indexterm>
 <indexterm role="cp"><primary>commands, document class</primary></indexterm>
@@ -736,27 +1014,29 @@
 <literal>smcmemo.cls</literal> and begin your documents with
 <literal>\documentclass{smcmemo}</literal>.
 </para>
-<para>What separates a package from a document class is that the commands in a
-package are useful across classes while those in a document class are
-specific to that class.  Thus, a command to set page headers is for a
-package while a command to make the page headers say <literal>Memo from the
-SMC Math Department</literal> is for a class.
 <indexterm role="cp"><primary>class and package difference</primary></indexterm>
 <indexterm role="cp"><primary>difference between class and package</primary></indexterm>
+<para>What separates a package from a document class is that the commands in
+a package are useful across classes while those in a document class
+are specific to that class.  Thus, a command to set page headers is
+for a package while a command to make the page headers be
+<literal>Memo from the SMC Math Department</literal> is for a class.
 </para>
-<para>Inside of a class or package file you can use the at-sign <literal>@</literal> as a
-character in command names without having to surround the code
-containing that command with <literal>\makeatletter</literal> and
-<literal>\makeatother</literal>.  See <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>. This allow
-you to create commands that users will not accidentally redefine.
-Another technique is to preface class- or package-specific commands with
-some string to prevent your class or package from interfering with
-others. For instance, the class <literal>smcmemo</literal> might have commands
+<para>Inside of a class or package definition you can use the at-sign
+<literal>@</literal> as a character in command names without having to surround
+the code containing that command with <literal>\makeatletter</literal> and
+<literal>\makeatother</literal> (see <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>).  This
+allows you to create commands that users will not accidentally
+redefine.
+</para>
+<para>It is also highly desirable to prefix class- or package-specific
+commands with your package name or similar string, to prevent your
+definitions from clashing with those from other packages. For
+instance, the class <literal>smcmemo</literal> might have commands
 <literal>\smc at tolist</literal>, <literal>\smc at fromlist</literal>, etc.
 </para>
 
 
-
 <sect2 label="3.3.1" id="Class-and-package-structure">
 <title>Class and package structure</title>
 
@@ -769,7 +1049,8 @@
 <indexterm role="cp"><primary>package options</primary></indexterm>
 
 <para>A class file or package file typically has four parts.  
-</para><orderedlist numeration="arabic"><listitem><para>In the <firstterm>identification part</firstterm>, the file says that it is a &latex;
+</para>
+<orderedlist numeration="arabic"><listitem><para>In the <firstterm>identification part</firstterm>, the file says that it is a &latex;
 package or class and describes itself, using the <literal>\NeedsTeXFormat</literal>
 and <literal>\ProvidesClass</literal> or <literal>\ProvidesPackage</literal> commands.
 </para>
@@ -793,6 +1074,7 @@
 usually does most of its work: declaring new variables, commands and
 fonts, and loading other files.
 </para></listitem></orderedlist>
+<indexterm role="cp"><primary>class file example</primary></indexterm>
 <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
 <filename>.tex</filename> file.
@@ -802,423 +1084,23 @@
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
 \ProcessOptions\relax
 \LoadClass{article}
-</screen><indexterm role="cp"><primary>class file example</primary></indexterm>
-
+</screen>
 <para>It identifies itself, handles the class options via the default of
 passing them all to the <literal>article</literal> class, and then loads the
 <literal>article</literal> class to provide the basis for this class’s code.
 </para>
+<indexterm role="fn"><primary>clsguide document</primary></indexterm>
+<indexterm role="cp"><primary>Class Guide, document</primary></indexterm>
+<indexterm role="cp"><primary>class writing tutorial document</primary></indexterm>
 <para>For more, see the official guide for class and package writers, the
-Class Guide, at
-<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>.
+Class Guide, at <ulink url="https://ctan.org/pkg/clsguide">https://ctan.org/pkg/clsguide</ulink> (much of the
+description here derives from this document), or the tutorial at
+<ulink url="https://tug.org/TUGboat/tb26-3/tb84heff.pdf">https://tug.org/TUGboat/tb26-3/tb84heff.pdf</ulink>.
 </para>
-
-</sect2>
-<sect2 label="3.3.2" id="Class-and-package-commands">
-<title>Class and package commands</title>
-<indexterm role="cp"><primary>class and package commands</primary></indexterm>
-<indexterm role="cp"><primary>commands, class and package</primary></indexterm>
-
-<para>These are the commands designed to help writers of classes or packages.
+<para>See <link linkend="Class-and-package-commands">Class and package commands</link>, for some of the commands
+specifically intended for class and package writers.
 </para>
-<variablelist><varlistentry><term><literal>\AtBeginDvi{specials}</literal>
-</term><listitem><indexterm role="fn"><primary>\AtBeginDvi</primary></indexterm>
-<para>Save in a box register things that are written to the <filename>.dvi</filename> file
-at the beginning of the shipout of the first page of the document.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\AtEndOfClass{<replaceable>code</replaceable>}</literal>
-</term><term><literal>\AtEndOfPackage{<replaceable>code</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\AtEndOfClass</primary></indexterm>
-<indexterm role="fn"><primary>\AtEndOfPackage</primary></indexterm>
-<para>Hook to insert <replaceable>code</replaceable> to be executed when &latex; finishes
-processing the current class or package.  You can use these hooks
-multiple times; the <literal>code</literal> will be executed in the order that you
-called it.  See also <link linkend="_005cAtBeginDocument">\AtBeginDocument</link>.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\CheckCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal>
-</term><term><literal>\CheckCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\CheckCommand</primary></indexterm>
-<indexterm role="fn"><primary>\CheckCommand*</primary></indexterm>
-<indexterm role="cp"><primary>new command, checking</primary></indexterm>
-<para>Like <literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) but does
-not define <replaceable>cmd</replaceable>; instead it checks that the current definition of
-<replaceable>cmd</replaceable> is exactly as given by <replaceable>definition</replaceable> and is or is not 
-<indexterm role="cp"><primary>long command</primary></indexterm>
-<firstterm>long</firstterm> as expected.  A long command is a command that accepts
-<literal>\par</literal> within an argument.  The <replaceable>cmd</replaceable> command is expected to be
-long with the unstarred version of <literal>\CheckCommand</literal>.  Raises an
-error when the check fails.  This allows you to check before you start
-redefining <literal>cmd</literal> yourself that no other package has already
-redefined this command.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\ClassError{<replaceable>class name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal>
-</term><term><literal>\ClassWarning{<replaceable>class name</replaceable>}{<replaceable>warning text</replaceable>}</literal>
-</term><term><literal>\ClassWarningNoLine{<replaceable>class name</replaceable>}{<replaceable>warning text</replaceable>}</literal>
-</term><term><literal>\ClassInfo{<replaceable>class name</replaceable>}{<replaceable>info text</replaceable>}</literal>
-</term><term><literal>\ClassInfoNoLine{<replaceable>class name</replaceable>}{<replaceable>info text</replaceable>}</literal>
-</term><term><literal>\PackageError{<replaceable>package name</replaceable>}{<replaceable>error text</replaceable>}{<replaceable>help text</replaceable>}</literal>
-</term><term><literal>\PackageWarning{<replaceable>package name</replaceable>}{<replaceable>warning text</replaceable>}</literal>
-</term><term><literal>\PackageWarningNoLine{<replaceable>package name</replaceable>}{<replaceable>warning text</replaceable>}</literal>
-</term><term><literal>\PackageInfo{<replaceable>package name</replaceable>}{<replaceable>info text</replaceable>}</literal>
-</term><term><literal>\PackageInfoNoLine{<replaceable>package name</replaceable>}{<replaceable>info text</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\ClassError</primary></indexterm>
-<indexterm role="fn"><primary>\PackageError</primary></indexterm>
-<indexterm role="fn"><primary>\ClassWarning</primary></indexterm>
-<indexterm role="fn"><primary>\PackageWarning</primary></indexterm>
-<indexterm role="fn"><primary>\ClassWarningNoLine</primary></indexterm>
-<indexterm role="fn"><primary>\PackageWarningNoLine</primary></indexterm>
-<indexterm role="fn"><primary>\ClassInfo</primary></indexterm>
-<indexterm role="fn"><primary>\PackageInfo</primary></indexterm>
-<indexterm role="fn"><primary>\ClassInfoNoLine</primary></indexterm>
-<indexterm role="fn"><primary>\PackageInfoNoLine</primary></indexterm>
-<para>Produce an error message, or warning or informational messages.
-</para>
-<para>For <literal>\ClassError</literal> and <literal>\PackageError</literal> the message is
-<replaceable>error text</replaceable>, followed by &tex;’s <literal>?</literal> error prompt. If the
-user then asks for help by typing <literal>h</literal>, they see the <replaceable>help
-text</replaceable>.
-</para>
-<para>The four warning commands are similar except that they write
-<replaceable>warning text</replaceable> on the screen with no error prompt.  The four info
-commands write <replaceable>info text</replaceable> only in the transcript file.  The
-<literal>NoLine</literal> versions do not show the number of the line generating the
-message, while the other versions do show that number.
-</para>
-<para>To format the messages, including the <replaceable>help text</replaceable>: use
-<literal>\protect</literal> to stop a command from expanding, get a line break with
-<literal>\MessageBreak</literal>, and get a space with <literal>\space</literal> when a space
-character does not allow it, like after a command.  Note that &latex;
-appends a period to the messages.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\CurrentOption</literal>
-</term><listitem><indexterm role="fn"><primary>\CurrentOption</primary></indexterm>
-<para>Expands to the name of the currently-being-processed option.  Can only
-be used within the <replaceable>code</replaceable> argument of either <literal>\DeclareOption</literal>
-or <literal>\DeclareOption*</literal>.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\DeclareOption{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}</literal>
-</term><term><literal>\DeclareOption*{<replaceable>code</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\DeclareOption</primary></indexterm>
-<indexterm role="fn"><primary>\DeclareOption*</primary></indexterm>
-<indexterm role="cp"><primary>class options</primary></indexterm>
-<indexterm role="cp"><primary>package options</primary></indexterm>
-<indexterm role="cp"><primary>options, class</primary></indexterm>
-<indexterm role="cp"><primary>options, package</primary></indexterm>
-<para>Make an option available to a user to invoke in their
-<literal>\documentclass</literal> command.  For example, the <literal>smcmemo</literal> class
-could have an option <literal>\documentclass[logo]{smcmemo}</literal> allowing
-users to put the institutional logo on the first page.  The class file
-must contain <literal>\DeclareOption{logo}{<replaceable>code</replaceable>}</literal> (and later,
-<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 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>
-<screen>\DeclareOption*{%
-\PassOptionsToClass{\CurrentOption}{article}%
-}
-</screen>
-<para>Another example is that the class <literal>smcmemo</literal> may allow users to keep
-lists of memo recipients in external files.  Then the user could invoke
-<literal>\documentclass[math]{smcmemo}</literal> and it will read the file
-<literal>math.memo</literal>.  This code handles the file if it exists and otherwise
-passes the option to the <literal>article</literal> class.
-</para>
-<screen>\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{%
-    \PassOptionsToClass{\CurrentOption}{article}}}
-</screen>
-</listitem></varlistentry><varlistentry><term><literal>\DeclareRobustCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal>
-</term></varlistentry><varlistentry><term><literal>* \DeclareRobustCommand*{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\DeclareRobustCommand</primary></indexterm>
-<indexterm role="fn"><primary>\DeclareRobustCommand*</primary></indexterm>
-<indexterm role="cp"><primary>new command, definition</primary></indexterm>
-<para>Like <literal>\newcommand</literal> and <literal>\newcommand*</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand &
-\renewcommand</link>) but these declare a robust command, even if some code
-within the <replaceable>definition</replaceable> is fragile.  (For a discussion of robust and
-fragile commands see <link linkend="_005cprotect">\protect</link>.) Use this command to define new
-robust commands or to redefine existing commands and make them
-robust. Unlike <literal>\newcommand</literal> these do not give an error if macro
-<replaceable>cmd</replaceable> already exists; instead, a log message is put into the
-transcript file if a command is redefined.
-</para>
-<para>Commands defined this way are a bit less efficient than those defined
-using <literal>\newcommand</literal> so unless the command’s data is fragile and the
-command is used within a moving argument, use <literal>\newcommand</literal>.
-</para>
-<indexterm role="cp"><primary>package, <literal>etoolbox</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>etoolbox</literal> package</primary></indexterm>
-<para>The <literal>etoolbox</literal> package offers the commands
-<literal>\newrobustcmd</literal>, <literal>\newrobustcmd*</literal>, as well as the commands
-<literal>\renewrobustcmd</literal>, <literal>\renewrobustcmd*</literal>, and the commands
-<literal>\providerobustcmd</literal>, and <literal>\providerobustcmd*</literal>.  These are
-similar to <literal>\newcommand</literal>, <literal>\newcommand*</literal>,
-<literal>\renewcommand</literal>, <literal>\renewcommand*</literal>, <literal>\providecommand</literal>, and
-<literal>\providecommand*</literal>, but define a robust <replaceable>cmd</replaceable> with two
-advantages as compared to <literal>\DeclareRobustCommand</literal>:
-</para><orderedlist numeration="arabic"><listitem><para>They use the low-level e-&tex; protection mechanism rather than the
-higher level &latex; <literal>\protect</literal> mechanism, so they do not incur
-the slight loss of performance mentioned above, and
-</para></listitem><listitem><para>They make the same distinction between <literal>\new…</literal>,
-<literal>\renew…</literal>, and <literal>\provide…</literal>, as the standard
-commands, so they do not just make a log message when you redefine
-<replaceable>cmd</replaceable> that already exists, in that case you need to use either
-<literal>\renew…</literal> or <literal>\provide…</literal> or you get an error.
-</para></listitem></orderedlist>
-</listitem></varlistentry><varlistentry><term><literal>\IfFileExists{<replaceable>filename</replaceable>}{<replaceable>true code</replaceable>}{<replaceable>false code</replaceable>}</literal>
-</term><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
-name</replaceable></filename> or <replaceable>false code</replaceable> otherwise.  In the first case it executing
-<replaceable>true code</replaceable> and then inputs the file.  Thus the command
-</para>
-<screen>\IfFileExists{img.pdf}{%
-  \includegraphics{img.pdf}}{\typeout{!! img.pdf not found}
-</screen>
-<para>will include the graphic <filename>img.pdf</filename> if it is found and otherwise
-give a warning.
-</para>
-<para>This command looks for the file in all search paths that &latex; uses,
-not only in the current directory.  To look only in the current
-directory do something like <literal>\IfFileExists{./filename}{<replaceable>true
-code</replaceable>}{<replaceable>false code</replaceable>}</literal>.  If you ask for a filename without a
-<literal>.tex</literal> extension then &latex; will first look for the file by
-appending the <literal>.tex</literal>; for more on how &latex; handles file
-extensions see <link linkend="_005cinput">\input</link>.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\LoadClass[<replaceable>options list</replaceable>]{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><term><literal>\LoadClassWithOptions{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><listitem><indexterm role="fn"><primary>\LoadClass</primary></indexterm>
-<indexterm role="fn"><primary>\LoadClassWithOptions</primary></indexterm>
-<para>Load a class, as with <literal>\documentclass[<replaceable>options
-list</replaceable>]{<replaceable>class name</replaceable>}[<replaceable>release info</replaceable>]</literal>.  An example is
-<literal>\LoadClass[twoside]{article}</literal>.
-</para>
-<para>The <replaceable>options list</replaceable>, if present, is a comma-separated list.  The
-<replaceable>release date</replaceable> is optional.  If present it must have the form
-<replaceable>YYYY/MM/DD</replaceable>.
-<!-- BTW, there are at-macros documented in macros2e.pdf to check the version -->
-<!-- and do some actions conditionnally on version later or not to some -->
-<!-- date. -->
-</para>
-<para>If you request a <replaceable>release date</replaceable> and the date of the package
-installed on your system is earlier, then you get a warning on the
-screen and in the log like this.
-</para>
-<screen>You have requested, on input line 4, version `2038/01/19' of
-document class article, but only version `2014/09/29 v1.4h
-Standard LaTeX document class' is available.
-</screen>
-<para>The command version <literal>\LoadClassWithOptions</literal> uses the list of
-options for the current class.  This means it ignores any options passed
-to it via <literal>\PassOptionsToClass</literal>.  This is a convenience command
-that lets you build classes on existing ones, such as the standard
-<literal>article</literal> class, without having to track which options were passed.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\ExecuteOptions{<replaceable>options-list</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\ExecuteOptions</primary></indexterm>
-<para>For each option <replaceable>option</replaceable> in the <replaceable>options-list</replaceable>, in order, this command
-executes the command <literal>\ds@<replaceable>option</replaceable></literal>.  If this command is not
-defined then that option is silently ignored.
-</para>
-<para>It can be used to provide a default option list before
-<literal>\ProcessOptions</literal>.  For example, if in a class file you want the
-default to be 11pt fonts then you could specify
-<literal>\ExecuteOptions{11pt}\ProcessOptions\relax</literal>.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\NeedsTeXFormat{<replaceable>format</replaceable>}[<replaceable>format date</replaceable>]</literal>
-</term><listitem><indexterm role="fn"><primary>\NeedsTeXFormat</primary></indexterm>
-<para>Specifies the format that this class must be run under.  Often issued
-as the first line of a class file, and most often used as:
-<literal>\NeedsTeXFormat{LaTeX2e}</literal>.  When a document using that class is
-processed, the format name given here must match the format that is
-actually being run (including that the <replaceable>format</replaceable> string is case
-sensitive).  If it does not match then execution stops with an error
-like ‘<literal>This file needs format `LaTeX2e' but this is `xxx'.</literal>’
-</para>
-<para>To specify a version of the format that you know to have certain
-features, include the optional <replaceable>format date</replaceable> on which those features
-were implemented.  If present it must be in the form <literal>YYYY/MM/DD</literal>.
-If the format version installed on your system is earlier than
-<replaceable>format date</replaceable> then you get a warning like this.
-</para>
-<screen>You have requested release `2038/01/20' of LaTeX, but only
-release `2016/02/01' is available.
-</screen>
-</listitem></varlistentry><varlistentry><term><literal>\OptionNotUsed</literal>
-</term><listitem><indexterm role="fn"><primary>\OptionNotUsed</primary></indexterm>
-<para>Adds the current option to the list of unused options.  Can only be used
-within the <replaceable>code</replaceable> argument of either <literal>\DeclareOption</literal> or
-<literal>\DeclareOption*</literal>.
-</para>
-<!-- I cannot reproduce this behavior as it is documented in clsguide. -->
-<!-- In the absence of a @code{\DeclareOption*} declaration, @LaTeX{} issues -->
-<!-- on the console a warning like @code{LaTeX Warning: Unused global -->
-<!-- option(s): [unusedoption].} with the list of not-used options when it -->
-<!-- reaches @code{\begin@{document@}}. -->
 
-</listitem></varlistentry><varlistentry><term><literal>\PassOptionsToClass{<replaceable>option list</replaceable>}{<replaceable>class name</replaceable>}</literal>
-</term><term><literal>\PassOptionsToPackage{<replaceable>option list</replaceable>}{<replaceable>package name</replaceable>}</literal>
-</term><listitem><indexterm role="fn"><primary>\PassOptionsToClass</primary></indexterm>
-<indexterm role="fn"><primary>\PassOptionsToPackage</primary></indexterm>
-<para>Adds the options in the comma-separated list <replaceable>option list</replaceable> to the
-options used by any future <literal>\RequirePackage</literal> or <literal>\usepackage</literal>
-command for package <replaceable>package name</replaceable> or the class <replaceable>class name</replaceable>.
-</para>
-<para>The reason for these commands is: you may load a package any number of
-times with no options but if you want options then you may only supply
-them when you first load the package.  Loading a package with options
-more than once will get you an error like <literal>Option clash for package
-foo.</literal> (&latex; throws an error even if there is no conflict between the
-options.)
-</para>
-<para>If your own code is bringing in a package twice then you can collapse
-that to once, for example replacing the two
-<literal>\RequirePackage[landscape]{geometry}</literal> and
-<literal>\RequirePackage[margins=1in]{geometry}</literal> with the single command
-<literal>\RequirePackage[landscape,margins=1in]{geometry}</literal>.
-</para>
-<para>However, imagine that you are loading <filename>firstpkg</filename> and inside that
-package it loads <filename>secondpkg</filename>, and you need the second package to be
-loaded with option <literal>draft</literal>.  Then before doing the first package
-you must queue up the options for the second package, like this.
-</para>
-<screen>\PassOptionsToPackage{draft}{secondpkg}
-\RequirePackage{firstpkg}
-</screen>
-<para>(If <literal>firstpkg.sty</literal> loads an option in conflict with what you want
-then you may have to alter its source.)
-</para>
-<para>These commands are useful for general users as well as class and package
-writers.  For instance, suppose a user wants to load the <literal>graphicx</literal>
-package with the option <literal>draft</literal> and also wants to use a class
-<literal>foo</literal> that loads the <literal>graphicx</literal> package, but without that
-option. The user could start their &latex; file with
-<literal>\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}</literal>.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\ProcessOptions</literal>
-</term><term><literal>\ProcessOptions*<replaceable>\@options</replaceable></literal>
-</term><listitem><indexterm role="fn"><primary>\ProcessOptions</primary></indexterm>
-<indexterm role="fn"><primary>\ProcessOptions*</primary></indexterm>
-<para>Execute the code for each option that the user has invoked.  Include it
-in the class file as <literal>\ProcessOptions\relax</literal> (because of the
-existence of the starred command).
-</para>
-<para>Options come in two types.  <firstterm>Local options</firstterm> have been specified for this
-particular package in the <replaceable>options</replaceable> argument of
-<literal>\PassOptionsToPackage{<replaceable>options</replaceable>}</literal>,
-<literal>\usepackage[<replaceable>options</replaceable>]</literal>, or
-<literal>\RequirePackage[<replaceable>options</replaceable>]</literal>.  <firstterm>Global options</firstterm> are those given
-by the class user in <literal>\documentclass[<replaceable>options</replaceable>]</literal> (If an option
-is specified both locally and globally then it is local.)
-</para>
-<para>When <literal>\ProcessOptions</literal> is called for a package <filename>pkg.sty</filename>, the
-following happens:
-</para><orderedlist numeration="arabic"><listitem><para>For each option <replaceable>option</replaceable> so far declared
-with <literal>\DeclareOption</literal>, it looks to see if that option is either a
-global or a local option for <literal>pkg</literal>. If so then it executes the
-declared code.  This is done in the order in which these options were
-given in <filename>pkg.sty</filename>.
-</para></listitem><listitem><para>For each remaining local option, it executes the command
-<literal>\ds@</literal><replaceable>option</replaceable> if it has been defined somewhere (other than by
-a <literal>\DeclareOption</literal>); otherwise, it executes the default option code
-given in <literal>\DeclareOption*</literal>. If no default option code has been
-declared then it gives an error message.  This is done in the order in
-which these options were specified.
-</para></listitem></orderedlist>
-<para>When <literal>\ProcessOptions</literal> is called for a class it works in the same
-way except that all options are local, and the default <replaceable>code</replaceable> for
-<literal>\DeclareOption*</literal> is <literal>\OptionNotUsed</literal> rather than an error.
-</para>
-<para>The starred version <literal>\ProcessOptions*</literal> executes the
-options in the order specified in the calling commands, rather than in
-the order of declaration in the class or package. For a package this
-means that the global options are processed first.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal>
-</term><term><literal>\ProvidesClass{<replaceable>class name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable> <replaceable>brief additional information</replaceable>]</literal>
-</term><term><literal>\ProvidesPackage{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><listitem><indexterm role="fn"><primary>\ProvidesClass</primary></indexterm>
-<indexterm role="fn"><primary>\ProvidesPackage</primary></indexterm>
-<para>Identifies the class or package, printing a message to the screen and
-the log file.
-</para>
-<para>When you load a class or package, for example with
-<literal>\documentclass{smcmemo}</literal> or <literal>\usepackage{test}</literal>, &latex;
-inputs a file.  If the name of the file does not match the class or
-package name declared in it then you get a warning.  Thus, if you invoke
-<literal>\documentclass{smcmemo}</literal>, and the file <filename>smcmemo.cls</filename> has
-the statement <literal>\ProvidesClass{xxx}</literal> then you get a warning like
-<literal>You have requested document class `smcmemo', but the document
-class provides 'xxx'.</literal>  This warning does not prevent &latex; from
-processing the rest of the class file normally.
-</para>
-<para>If you include the optional argument then you must include a date,
-before any spaces, of the form <literal>YYYY/MM/DD</literal>. The rest of the
-optional argument is free-form, although it traditionally identifies the
-class, and is written to the screen during compilation and to the log
-file.  Thus, if your file <filename>smcmemo.cls</filename> contains the line
-<literal>\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</literal> and
-your document’s first line is <literal>\documentclass{smcmemo}</literal> then you
-will see <literal>Document Class: smcmemo 2008/06/01 v1.0 SMC memo class</literal>.
-</para>
-<para>The date in the optional argument allows class and package users to ask
-to be warned if the version of the class or package is earlier than
-<replaceable>release date</replaceable>.  For instance, a user could enter
-<literal>\documentclass{smcmemo}[2018/10/12]</literal> or
-<literal>\usepackage{foo}[[2017/07/07]]</literal> to require a class or package
-with certain features by specifying that it must be released no earlier
-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>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>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>
-</listitem></varlistentry><varlistentry><term><literal>\RequirePackage[<replaceable>option list</replaceable>]{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><term><literal>\RequirePackageWithOptions{<replaceable>package name</replaceable>}[<replaceable>release date</replaceable>]</literal>
-</term><listitem><indexterm role="fn"><primary>\RequirePackage</primary></indexterm>
-<indexterm role="fn"><primary>\RequirePackageWithOptions</primary></indexterm>
-<para>Load a package, like the command <literal>\usepackage</literal> (see <link linkend="Additional-packages">Additional
-packages</link>). The &latex; development team strongly recommends use of
-these commands over Plain &tex;’s <literal>\input</literal>; see the Class
-Guide.  An example is
-<literal>\RequirePackage[landscape,margin=1in]{geometry}</literal>.
-</para>
-<para>The <replaceable>option list</replaceable>, if present, is a comma-separated list.  The
-<replaceable>release date</replaceable>, if present, must have the form <replaceable>YYYY/MM/DD</replaceable>.  If
-the release date of the package as installed on your system is earlier
-than <replaceable>release date</replaceable> then you get a warning like <literal>You have
-requested, on input line 9, version `2017/07/03' of package jhtest, but
-only version `2000/01/01' is available</literal>.
-</para>
-<para>The <literal>\RequirePackageWithOptions</literal> version uses the list of options
-for the current class.  This means it ignores any options passed to it
-via <literal>\PassOptionsToClass</literal>.  This is a convenience command to allow
-easily building classes on existing ones without having to track which
-options were passed.
-</para>
-<para>The difference between <literal>\usepackage</literal> and <literal>\RequirePackage</literal> is
-small.  The <literal>\usepackage</literal> command is intended for the document file
-while <literal>\RequirePackage</literal> is intended for package and class files.
-Thus, using <literal>\usepackage</literal> before the <literal>\documentclass</literal> command
-causes &latex; to give error like <literal>\usepackage before
-\documentclass</literal>, but you can use <literal>\RequirePackage</literal> there.
-</para></listitem></varlistentry></variablelist>
-
 </sect2>
 </sect1>
 </chapter>
@@ -1309,6 +1191,7 @@
 </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>
 
@@ -1323,21 +1206,26 @@
 <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>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.
+</term><listitem><indexterm role="cp"><primary>OT1 encoding</primary></indexterm>
+<para>The original 7-bit 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.
+</term><listitem><indexterm role="cp"><primary>T1 encoding</primary></indexterm>
+<indexterm role="cp"><primary>Cork encoding</primary></indexterm>
+<para>&tex; text extended.  Sometimes called the Cork encoding for the
+users group meeting where it was developed (1990).  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.
+</term><listitem><indexterm role="cp"><primary>TS1 (text companion) encoding</primary></indexterm>
+<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>.
@@ -1350,13 +1238,13 @@
 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>The &latex; team reserves 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
@@ -1642,9 +1530,9 @@
 <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>\DeclareTextSymbol{\guillemetleft}{T1}{19}
 </screen>
-<para>The command <literal>\DeclareTextCommand{\guillemotleft}{T1}{\char
+<para>The command <literal>\DeclareTextCommand{\guillemetleft}{T1}{\char
 19}</literal> has the same effect but is slower (see <link linkend="_005cDeclareTextCommand-_0026-_005cProvideTextCommand">\DeclareTextCommand &
 \ProvideTextCommand</link>).
 </para>
@@ -3633,7 +3521,7 @@
 
 </sect1>
 <sect1 label="6.8" id="_005c_0040startsection">
-<title><literal>\@startsection</literal>, typesetting sectional unit headings</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>
@@ -3645,15 +3533,15 @@
 <para>Used to help redefine the behavior of commands that start sectioning
 divisions such as <literal>\section</literal> or <literal>\subsection</literal>.
 </para>
-<para>Note that the <literal>titlesec</literal> package makes manipulation of sectioning
+<para>The <literal>titlesec</literal> package makes manipulation of sectioning
 easier.  Further, while most requirements for sectioning commands can be
 satisfied with <literal>\@startsection</literal>, some cannot.  For instance, in
 the standard &latex; <literal>book</literal> and <literal>report</literal> classes the commands
-<literal>\chapter</literal> and <literal>\report</literal> are not constructed in this way.  To
+<literal>\chapter</literal> and <literal>\report</literal> are not constructed using this.  To
 make such a command you may want to use the <literal>\secdef</literal> command.
 <!-- xx define, and make a cross reference to, secdef. -->
 </para>
-<para>Technically, <literal>\@startsection</literal> has the form
+<para>The <literal>\@startsection</literal> macro is used like this:
 </para>
 <screen>\@startsection{<replaceable>name</replaceable>}
   {<replaceable>level</replaceable>}
@@ -3672,7 +3560,7 @@
   {<replaceable>style</replaceable>}}
 </screen>
 <para>redefines <literal>\section</literal> while keeping its standard calling form
-<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (in which, for reminder,
+<literal>\section*[<replaceable>toctitle</replaceable>]{<replaceable>title</replaceable>}</literal> (in which, as a 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
@@ -3720,8 +3608,8 @@
 is inserted before this sectioning unit’s title.  This space will be
 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>
+header is not indented; if it is non-negative then the first paragraph
+is indented.  (Example: the negative of <literal>1pt plus 2pt minus 3pt</literal>
 is <literal>-1pt plus -2pt minus -3pt</literal>.)
 </para>
 <para>For example, if <replaceable>beforeskip</replaceable> is <literal>-3.5ex plus -1ex minus -0.2ex</literal>
@@ -4110,6 +3998,7 @@
 <indexterm role="cp"><primary>environments</primary></indexterm>
 <indexterm role="fn"><primary>\begin</primary></indexterm>
 <indexterm role="fn"><primary>\end</primary></indexterm>
+<anchor id="Environment"/><!-- old name -->
 
 <para>&latex; provides many environments for delimiting certain behavior.
 An environment begins with <literal>\begin</literal> and ends with <literal>\end</literal>,
@@ -4492,7 +4381,7 @@
 ways in that package for having math text broken across lines.
 </para>
 <indexterm role="fn"><primary>\[...\] display math</primary></indexterm>
-<para>The construct <literal>\[<replaceable>math</replaceable>\]</literal> is a synonym for the environment
+<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
@@ -4499,12 +4388,12 @@
 <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
+<para>The construct <literal>$$<replaceable>math</replaceable>$$</literal> from Plain &tex; is
+sometimes used as a synonym for &latex;’s <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.)
+consistency checks.
 </para>
 <para>The output from this example is centered and alone on its line. 
 </para>
@@ -4750,7 +4639,7 @@
 The equation number is generated using the <literal>equation</literal> counter.
 </para>
 <para>You should have no blank lines between <literal>\begin{equation}</literal> and
-<literal>\begin{equation}</literal>, or &latex; will tell you that there is a
+<literal>\end{equation}</literal>, or &latex; will tell you that there is a
 missing dollar sign.
 </para>
 <indexterm role="cp"><primary>package, <literal>amsmath</literal></primary></indexterm>
@@ -5047,13 +4936,12 @@
 </para>
 <para>Unlike the <literal>flushright</literal> environment, the <literal>\raggedleft</literal>
 command does not start a new paragraph; it only changes how &latex;
-formats paragraph units.  To affect a paragraph unit’s format, the
+formats paragraph units.  To affect a paragraph unit’s formatting, the
 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>,
-where one just have mutatis mutandis to replace <literal>\raggedright</literal> by
-<literal>\raggedleft</literal>.
+<para>See <link linkend="_005craggedright">\raggedright</link>, for an example related to this environment;
+just replace <literal>\raggedright</literal> there by <literal>\raggedleft</literal>.
 </para>
 
 </sect2>
@@ -5168,8 +5056,9 @@
 <screen>\newenvironment{itemize*}%
   {\begin{itemize}%
     \setlength{\itemsep}{0pt}%
-    \setlength{\parsep}{0pt}}%
-    \setlength{\parskip}{0pt}}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\parskip}{0pt}%
+  }%
   {\end{itemize}}
 </screen>
 
@@ -5272,7 +5161,7 @@
 the list.  Each is a length (see <link linkend="Lengths">Lengths</link>).  The vertical spaces are
 normally rubber lengths, with <literal>plus</literal> and <literal>minus</literal> components,
 to give &tex; flexibility in setting the page.  Change each with a
-command such as <literal>\setlength{itemsep}{2pt plus1pt minus1pt}</literal>.
+command such as <literal>\setlength{\itemsep}{2pt plus1pt minus1pt}</literal>.
 For some effects these lengths should be zero or negative.
 </para>
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\itemindent</primary></indexterm><literal>\itemindent</literal>
@@ -6659,14 +6548,16 @@
 </screen>
 <indexterm role="cp"><primary>package, <literal>algorithm2e</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>algorithm2e</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm>
+
 <indexterm role="cp"><primary>package, <literal>listings</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm>
+
 <indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm>
 
-<indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm>
-
 <para>This example is just for illustration of the environment.  To actually
 typeset computer code in typewriter like this, a verbatim environment
 (see <link linkend="verbatim">verbatim</link>) would normally be best.  For pretty-printed code,
@@ -7569,11 +7460,11 @@
 <indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm>
 
-<para>One common use of verbatim input is to typeset computer code.  There are
-packages that are an improvement the <literal>verbatim</literal> environment.  For
-instance, one improvement is to allow the verbatim inclusion of external
-files, or parts of those files.  Such packages include <literal>listings</literal>,
-and <literal>minted</literal>.
+<para>One common use of verbatim input is to typeset computer code.  Some
+packages offer many features not provided by the <literal>verbatim</literal>
+environment; two of the most popular are <literal>listings</literal> and
+<literal>minted</literal>.  For example, they are capable of pretty-printing,
+line numbering, and selecting parts of files for a continuing listing.
 </para>
 <indexterm role="cp"><primary>package, <literal>fancyvrb</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>fancyvrb</literal> package</primary></indexterm>
@@ -7584,7 +7475,10 @@
 <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 (see <link linkend="CTAN">CTAN</link>).
+<para>For a list of all the relevant packages, see CTAN (see <link linkend="CTAN">CTAN</link>),
+particularly the topics <literal>listing</literal>
+(<ulink url="https://ctan.org/topic/listing">https://ctan.org/topic/listing</ulink>) and <literal>verbatim</literal>
+(<ulink url="https://ctan.org/topic/verbatim">https://ctan.org/topic/verbatim</ulink>).
 </para>
 
 
@@ -7636,15 +7530,6 @@
 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>
-<indexterm role="cp"><primary><literal>listings</literal> package</primary></indexterm>
-
-<indexterm role="cp"><primary>package, <literal>minted</literal></primary></indexterm>
-<indexterm role="cp"><primary><literal>minted</literal> package</primary></indexterm>
-
-<para>For computer code there are many packages with advantages over
-<literal>\verb</literal>.  One is <literal>listings</literal>, another is <literal>minted</literal>.
-</para>
 <indexterm role="cp"><primary>package, <literal>cprotect</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>cprotect</literal> package</primary></indexterm>
 
@@ -7920,7 +7805,23 @@
 </para>
 
 </sect1>
-<sect1 label="9.5" id="_005cdiscretionary">
+<sect1 label="9.5" id="_005cslash">
+<title><literal>\slash</literal>: breakable ‘<literal>/</literal>’</title>
+
+<indexterm role="fn"><primary>\slash</primary></indexterm>
+<indexterm role="cp"><primary>slash character, breakable</primary></indexterm>
+
+<para>The <literal>\slash</literal> command produces a ‘<literal>/</literal>’ character and then a
+penalty of the same value as an explicit ‘<literal>-</literal>’ character
+(<literal>\exhyphenpenalty</literal>). This allows &tex; to break a line at the
+‘<literal>/</literal>’, similar to a hyphen. Hyphenation is allowed in the word part
+preceding the ‘<literal>/</literal>’, but not after. For example:
+</para>
+<screen>The input\slash output of the program is complicated.
+</screen>
+
+</sect1>
+<sect1 label="9.6" id="_005cdiscretionary">
 <title><literal>\discretionary</literal> (generalized hyphenation point)</title>
 <indexterm role="cp"><primary>hyphenation, discretionary</primary></indexterm>
 <indexterm role="cp"><primary>discretionary hyphenation</primary></indexterm>
@@ -7950,7 +7851,7 @@
 
 
 </sect1>
-<sect1 label="9.6" id="_005cfussy-_0026-_005csloppy">
+<sect1 label="9.7" id="_005cfussy-_0026-_005csloppy">
 <title><literal>\fussy</literal> & <literal>\sloppy</literal></title>
 
 <anchor id="_005cfussy"/><anchor id="_005csloppy"/><indexterm role="fn"><primary>\fussy</primary></indexterm>
@@ -7971,7 +7872,7 @@
 </para>
 
 
-<sect2 label="9.6.1" id="sloppypar">
+<sect2 label="9.7.1" id="sloppypar">
 <title><literal>sloppypar</literal></title>
 
 <indexterm role="fn"><primary>environment, <literal>sloppypar</literal></primary></indexterm>
@@ -8007,7 +7908,7 @@
 
 </sect2>
 </sect1>
-<sect1 label="9.7" id="_005chyphenation">
+<sect1 label="9.8" id="_005chyphenation">
 <title><literal>\hyphenation</literal></title>
 
 <indexterm role="fn"><primary>\hyphenation</primary></indexterm>
@@ -8019,7 +7920,7 @@
 </screen>
 <para>Declares allowed hyphenation points within the words in the list.  The
 words in that list are separated by spaces.  Show permitted points for
-hyphenation with a dash character, <literal>-</literal>.
+hyphenation with an ASCII dash character, <literal>-</literal>.
 </para>
 <para>Here is an example:
 </para>
@@ -8026,7 +7927,7 @@
 <screen>\hyphenation{hat-er il-lit-e-ra-ti tru-th-i-ness}
 </screen>
 <para>Use lowercase letters.  &tex; will only hyphenate if the word matches
-exactly, no inflections are tried.  Multiple <literal>\hyphenation</literal>
+exactly; no inflections are tried.  Multiple <literal>\hyphenation</literal>
 commands accumulate.
 </para>
 <!-- xx Re-align on LaTeX-fr which also mentions fontenc, and that -->
@@ -8035,7 +7936,7 @@
 
 
 </sect1>
-<sect1 label="9.8" id="_005clinebreak-_0026-_005cnolinebreak">
+<sect1 label="9.9" id="_005clinebreak-_0026-_005cnolinebreak">
 <title><literal>\linebreak</literal> & <literal>\nolinebreak</literal></title>
 
 <anchor id="_005clinebreak"/><anchor id="_005cnolinebreak"/><indexterm role="fn"><primary>\linebreak</primary></indexterm>
@@ -8287,11 +8188,10 @@
 </para>
 <indexterm role="fn"><primary>\samepage</primary></indexterm>
 <indexterm role="fn"><primary>samepage environment</primary></indexterm>
-<para>(There is an obsolete declaration <literal>\samepage</literal>, which tries to only
-allow a break between two paragraphs.  There is a related environment
-<literal>samepage</literal>, also obsolete.  Neither of these work reliably.  For
-more on keeping material on the same page, see the FAQ entry
-<ulink url="https://texfaq.org/FAQ-nopagebrk">https://texfaq.org/FAQ-nopagebrk</ulink>.)
+<para>A declaration <literal>\samepage</literal> and corresponding <literal>samepage</literal>
+environment try to only allow breaks between paragraphs. They are not
+perfectly reliable.  For more on keeping material on the same page,
+see the FAQ entry <ulink url="https://texfaq.org/FAQ-nopagebrk">https://texfaq.org/FAQ-nopagebrk</ulink>.)
 </para>
 
 </sect1>
@@ -8330,7 +8230,8 @@
 <screen>\footnote{<replaceable>text</replaceable>}
 \footnote[<replaceable>number</replaceable>]{<replaceable>text</replaceable>}
 </screen>
-<para>Place a footnote <replaceable>text</replaceable> at the bottom of the current page.
+<para>Place a footnote <replaceable>text</replaceable> at the bottom of the current page, with a
+footnote marker at the current position in the text.
 </para>
 <screen>There are over a thousand footnotes in Gibbon's 
 \textit{Decline and Fall of the Roman Empire}.\footnote{%
@@ -8362,12 +8263,16 @@
 <variablelist><varlistentry><term><indexterm role="fn"><primary>\footnoterule</primary></indexterm><literal>\footnoterule</literal>
 </term><listitem><anchor id="footnote-footnoterule"/><para>Produces the rule separating the main text on a page from the page’s
 footnotes.  Default dimensions in the standard document classes (except
-<literal>slides</literal>, where it does not appear) is: vertical thickness of
+<literal>slides</literal>, where it does not appear) are: vertical thickness of
 <literal>0.4pt</literal>, and horizontal size of <literal>0.4\columnwidth</literal> long.
 Change the rule with something like this.
 </para>
 <!-- Credit egreg: https://tex.stackexchange.com/a/21917 -->
-<screen>\renewcommand{\footnoterule}{% Kerns avoid vertical space
+<screen>% \footnoterule is expanded in vertical mode, thus \kern
+% commands ensure that no vertical space is created,
+% and the rule is separated vertically with 2pt
+% above the note text.
+\renewcommand*{\footnoterule}{%
   \kern -3pt                         % This -3 is negative
   \hrule width \textwidth height 1pt % of the sum of this 1
   \kern 2pt}                         % and this 2
@@ -8428,8 +8333,8 @@
 <para>If there are intervening footnotes then you must remember the value of
 the number of the common mark.  This example gives the same
 institutional affiliation to both the first and third authors
-(<literal>\thanks</literal> is a version of <literal>\footnote</literal>), by-hand giving the
-number of the footnote.
+(<literal>\thanks</literal> is a version of <literal>\footnote</literal>), by explicitly
+specifying the number of the footnote (‘<literal>1</literal>’).
 </para>
 <screen>\title{A Treatise on the Binomial Theorem}
 \author{J Moriarty\thanks{University of Leeds} 
@@ -8438,17 +8343,6 @@
 \begin{document}
 \maketitle
 </screen>
-<para>This uses a counter to remember the footnote number.  The third sentence
-is followed by the same footnote marker as the first.
-</para>
-<screen>\newcounter{footnoteValueSaver}
-All babies are illogical.\footnote{%
-  Lewis Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}}
-Nobody is despised who can manage a crocodile.\footnote{%
-  Captain Hook.}
-Illogical persons are despised.\footnotemark[\value{footnoteValueSaver}]
-Therefore, anyone who can manage a crocodile is not a baby.
-</screen>
 <indexterm role="cp"><primary>package, <literal>cleveref</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>cleveref</literal> package</primary></indexterm>
 
@@ -8470,6 +8364,17 @@
 
 <para>It will work with the package <literal>hyperref</literal>.
 </para>
+<para>This uses a counter to remember the footnote number.  The third sentence
+is followed by the same footnote marker as the first.
+</para>
+<screen>\newcounter{footnoteValueSaver}
+All babies are illogical.\footnote{%
+  Lewis Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}}
+Nobody is despised who can manage a crocodile.\footnote{%
+  Captain Hook.}
+Illogical persons are despised.\footnotemark[\value{footnoteValueSaver}]
+Therefore, anyone who can manage a crocodile is not a baby.
+</screen>
 
 </sect1>
 <sect1 label="11.3" id="_005cfootnotetext">
@@ -8507,7 +8412,9 @@
 section starts, as usual, but also at the bottom of the table of
 contents, where it is not likely to be desired.  The simplest way
 to have it not appear on the table of contents is to use the optional
-argument to <literal>\section</literal>
+argument to <literal>\section</literal>.
+<!-- xx Same issue with table/figure captions and -->
+<!-- \listoftable/\listoffigures, and same sort of fix can be used. -->
 </para>
 <screen>\section[Please]{Please\footnote{%
   Don't footnote in chapter and section headers!}}
@@ -8566,7 +8473,7 @@
       Little is known other than her death.}%
   \stepcounter{mpFootnoteValueSaver}%
     \footnotetext[\value{mpFootnoteValueSaver}]{%
-      Relationship is unresolved in XXI.}
+      Relationship is unresolved.}
 \end{center}
 </screen>
 <indexterm role="cp"><primary>package, <literal>tablefootnote</literal></primary></indexterm>
@@ -8647,7 +8554,7 @@
 \newcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>]{<replaceable>defn</replaceable>}
 \newcommand*{\<replaceable>cmd</replaceable>}[<replaceable>nargs</replaceable>][<replaceable>optargdefault</replaceable>]{<replaceable>defn</replaceable>}
 </screen>
-<para>or all the same possibilities with <literal>\renewcommand</literal> instead of
+<para>or the same six possibilities with <literal>\renewcommand</literal> instead of
 <literal>\newcommand</literal>:
 </para>
 <screen>\renewcommand{\<replaceable>cmd</replaceable>}{<replaceable>defn</replaceable>}
@@ -8657,17 +8564,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 <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>
-<indexterm role="fn"><primary>\long</primary></indexterm>
+<indexterm role="fn"><primary>\long, not defining a command as</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.
+multiple paragraphs of text (i.e., a <literal>\par</literal> token; 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 (examples follow):
 </para>
@@ -8823,8 +8729,8 @@
 <para>Just as the <literal>\relax</literal> command does nothing, the following input
 will simply print ‘<literal>Hello!</literal>’ :
 </para>
-<screen>Hel\relax <!-- /@w --> <!-- /@w --> <!-- /@w -->
- <!-- /@w --> <!-- /@w --> <!-- /@w -->lo!
+<screen>Hel\relax&#160;<!-- /@w -->&#160;<!-- /@w -->&#160;<!-- /@w -->
+&#160;<!-- /@w -->&#160;<!-- /@w -->&#160;<!-- /@w -->lo!
 </screen>
 <para>This is because blanks after <literal>\relax</literal>, including the newline, are
 ignored, and blanks at the beginning of a line are also ignored
@@ -8991,7 +8897,7 @@
 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
+<literal>\agentsecret&#160;*<!-- /@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>
@@ -9454,20 +9360,16 @@
 
 <para>All &latex; commands are either <firstterm>fragile</firstterm> or <firstterm>robust</firstterm>.  A
 fragile command can break when it is used in the argument to certain
-other commands.  Commands that contain data that &latex; writes to an
-auxiliary file and re-reads later are fragile.  This includes material
-that goes into a table of contents, list of figures, list of tables,
-etc.  Fragile commands also include line breaks, any command that has an
-optional argument, and many more. To prevent such commands from
-breaking, one solution is to preceded them with the command
-<literal>\protect</literal>.
+other commands, typically those that write material to the table of
+contents, the cross-reference file, etc.  To prevent fragile
+commands from causing errors, one solution is to precede them with the
+command <literal>\protect</literal>.
 </para>
 <para>For example, when &latex; runs the <literal>\section{<replaceable>section
 name</replaceable>}</literal> command it writes the <replaceable>section name</replaceable> text to the
 <filename>.aux</filename> auxiliary file, moving it there for use elsewhere in the
-document such as in the table of contents.  Any argument that is
-internally expanded by &latex; without typesetting it directly is
-referred to as a 
+document such as in the table of contents.  Such an argument that is
+used in multiple places is referred to as a
 <indexterm role="cp"><primary>moving arguments</primary></indexterm>
 <firstterm>moving argument</firstterm>.  A command is fragile if it can
 expand during this process into invalid &tex; code.  Some examples of
@@ -9477,34 +9379,52 @@
 <literal>array</literal> environments (see <link linkend="tabular">tabular</link>).
 </para>
 <para>If you get strange errors from commands used in moving arguments, try
-preceding it with <literal>\protect</literal>.  Every fragile commands must be
+preceding it with <literal>\protect</literal>.  Each fragile command must be
 protected with their own <literal>\protect</literal>.  
 </para>
 <para>Although usually a <literal>\protect</literal> command doesn’t hurt, length
-commands are robust and should not be preceded by a <literal>\protect</literal>
-command. Nor can a <literal>\protect</literal> command be used in the argument to
-<literal>\addtocounter</literal> or <literal>\setcounter</literal> command.
+commands such as <literal>\parindent</literal> should not be preceded by a
+<literal>\protect</literal> command (see <link linkend="Lengths">Lengths</link>. Nor can a <literal>\protect</literal>
+command be used in the argument to <literal>\addtocounter</literal> or
+<literal>\setcounter</literal> command (see <link linkend="_005csetcounter">\setcounter</link> and
+<link linkend="_005caddtocounter">\addtocounter</link>. These commands are already robust.
 </para>
-<para>In this example the <literal>\caption</literal> command gives a mysterious error
-about an extra curly brace.  Fix the problem by preceding each
-<literal>\raisebox</literal> command with <literal>\protect</literal>.
+<para>As of the October 2019 release of &latex;
+(<ulink url="https://www.latex-project.org/news/latex2e-news/ltnews30.pdf">https://www.latex-project.org/news/latex2e-news/ltnews30.pdf</ulink>),
+most commands that had been previously fragile were fixed to be
+robust. For example, any command taking an optional argument, such as
+<literal>\root</literal> or <literal>\raisebox</literal>, was fragile, but is now
+robust. Similarly, <literal>\(...\)</literal> math was fragile and is now robust
+(<literal>$...$</literal> has always been robust).
 </para>
+<indexterm role="fn"><primary>\verb, as fragile command</primary></indexterm>
+<para>Perhaps the most commonly used remaining fragile command is
+<literal>\verb</literal>; for example,
+</para>
 <screen>\begin{figure}
   ...
-  \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}}
+  \caption{This \verb|\command| causes an error.}
 \end{figure}
 </screen>
-<para>In the next example the <literal>\tableofcontents</literal> command gives an error
-because the <literal>\(..\)</literal> in the section title expands to illegal &tex;
-in the <filename>.toc</filename> file.  You can solve this by changing <literal>\(..\)</literal>
-to <literal>\protect\(..\protect\)</literal>.
+<para>Adding <literal>\protect</literal> does not help here. It’s usually feasible to
+rewrite the caption (or section heading or whatever) to use
+<literal>\texttt</literal>, often the simplest solution.
 </para>
-<screen>\begin{document}
-\tableofcontents
-...
-\section{Einstein's \( e=mc^2 \)}
-...
+<indexterm role="cp"><primary>package, <literal>cprotect</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>cprotect</literal> package</primary></indexterm>
+
+<indexterm role="fn"><primary>\cprotect</primary></indexterm>
+<para>Alternatively, to use <literal>\verb</literal>, you can apply the
+<literal>\cprotect</literal> command from <literal>cprotect</literal> package
+(<ulink url="https://ctan.org/pkg/cprotect">https://ctan.org/pkg/cprotect</ulink>) to the <literal>\caption</literal>:
+</para>
+<screen>\cprotect\caption{This \verb|\command| is ok with \verb|\cprotect|.}
 </screen>
+<indexterm role="fn"><primary>\cprotEnv</primary></indexterm>
+<para><literal>\cprotect</literal> also allows use of <literal>\begin...\end</literal> environments
+in moving arguments, where they are normally not allowed, via a
+similar prefix command <literal>\cprotEnv</literal>.
+</para>
 
 </sect1>
 <sect1 label="12.12" id="_005cignorespaces-_0026-_005cignorespacesafterend">
@@ -9591,7 +9511,7 @@
 
 </sect1>
 <sect1 label="12.13" id="xspace-package">
-<title>xspace package</title>
+<title><literal>xspace</literal> package</title>
 
 <indexterm role="fn"><primary>\xspace</primary></indexterm>
 <indexterm role="cp"><primary>package, <literal>xspace</literal></primary></indexterm>
@@ -9600,7 +9520,7 @@
 <indexterm role="cp"><primary>spaces, ignore around commands</primary></indexterm>
 <indexterm role="cp"><primary>commands, ignore spaces</primary></indexterm>
 
-<para>Synopsis:
+<para>This is an add-on package, not part of core &latex;. Synopsis:
 </para>
 <screen>\usepackage{xspace}
   ...
@@ -9610,15 +9530,15 @@
 adds a space unless the command is followed by certain punctuation
 characters.
 </para>
-<para>After a command control sequence that is a control word (see <link linkend="Control-sequences">Control
+<para>After a control sequence that is a control word (see <link linkend="Control-sequences">Control
 sequences</link>, as opposed to control symbols such as <literal>\$</literal>), &tex;
-gobbles blank characters.  Thus, in the first sentence below, the output
-has ‘<literal>Vermont</literal>’ placed snugly against the period, without any
-intervening space.
+gobbles blank characters.  Thus, in the first sentence below, the
+output has ‘<literal>Vermont</literal>’ placed snugly against the period, without
+any intervening space, despite the space in the input.
 </para>
 <screen>\newcommand{\VT}{Vermont}
 Our college is in \VT .
-The \VT{} summers are nice.
+\VT{} summers are nice.
 </screen>
 <para>But because of the gobbling, the second sentence needs the empty curly
 braces or else there would be no space separating ‘<literal>Vermont</literal>’ from
@@ -9637,10 +9557,10 @@
 </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> which adds
-<literal>\myfni</literal> and <literal>\myfnii</literal> to the list, and remove from that
-list as with <literal>\xspaceremoveexception{!}</literal>.
+and the commands <literal>\footnote</literal> or <literal>\footnotemark</literal>.  You can
+add to that list as with <literal>\xspaceaddexceptions{\myfni \myfnii}</literal>
+which adds <literal>\myfni</literal> and <literal>\myfnii</literal> to the list; and you
+can 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
@@ -9648,10 +9568,656 @@
 But it isn’t easy to predict when to enter empty 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 inserting the empty braces.
+error-prone than instead of always inserting the empty braces.
 </para>
 
 </sect1>
+<sect1 label="12.14" id="Class-and-package-commands">
+<title>Class and package commands</title>
+
+<indexterm role="cp"><primary>class and package commands</primary></indexterm>
+<indexterm role="cp"><primary>package and class commands</primary></indexterm>
+<indexterm role="cp"><primary>commands, class and package</primary></indexterm>
+
+<para>These are commands designed to help writers of classes or packages.
+</para>
+
+<sect2 label="12.14.1" id="_005cAtBeginDvi-_0026-_005cAtEndDvi">
+<title><literal>\AtBeginDvi</literal> & <literal>\AtEndDvi</literal></title>
+
+<anchor id="_005cAtBeginDvi"/><anchor id="_005cAtEndDvi"/><indexterm role="fn"><primary>\AtBeginDvi</primary></indexterm>
+<indexterm role="fn"><primary>\AtEndDvi</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\AtBeginDvi{<replaceable>code</replaceable>}
+\AtEndDvi{<replaceable>code</replaceable>}
+</screen>
+<para><literal>\AtBeginDvi</literal> saves, in a box register, <replaceable>code</replaceable> to be executed
+at the beginning of the shipout of the first page of the document.
+Despite the name, it applies to DVI, PDF, and XDV output.  It fills
+the <literal>shipout/firstpage</literal> hook; new code should use that hook
+directly.
+</para>
+<indexterm role="cp"><primary>package, <literal>atenddvi</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>atenddvi</literal> package</primary></indexterm>
+
+<para>Similarly, <literal>\AtEndDvi</literal> (previously available only with the
+<literal>atenddvi</literal> package) is code executed when finalizing the main
+output document.
+</para>
+
+</sect2>
+<sect2 label="12.14.2" id="_005cAtEndOfClass-_0026-_005cAtEndOfPackage">
+<title><literal>\AtEndOfClass</literal> & <literal>\AtEndOfPackage</literal></title>
+
+<anchor id="_005cAtEndOfClass"/><anchor id="_005cAtEndOfPackage"/><indexterm role="fn"><primary>\AtEndOfClass</primary></indexterm>
+<indexterm role="fn"><primary>\AtEndOfPackage</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\AtEndOfClass{<replaceable>code</replaceable>}
+\AtEndOfPackage{<replaceable>code</replaceable>}
+</screen>
+<para>Hooks to insert <replaceable>code</replaceable> to be executed when &latex; finishes
+processing the current class resp. package.  
+</para>
+<para>These hooks can be used multiple times; each <literal>code</literal> segment will
+be executed in the order called.  Many packages and classes use these
+commands.
+</para>
+<para>See also <link linkend="_005cAtBeginDocument">\AtBeginDocument</link>.
+</para>
+
+</sect2>
+<sect2 label="12.14.3" id="_005cCheckCommand">
+<title><literal>\CheckCommand</literal></title>
+
+<indexterm role="fn"><primary>\CheckCommand</primary></indexterm>
+<indexterm role="cp"><primary>new command, checking definition of</primary></indexterm>
+<indexterm role="cp"><primary>long command</primary></indexterm>
+<indexterm role="cp"><primary><literal>\long</literal> command, checking for</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\CheckCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}
+\CheckCommand* (same parameters)
+</screen>
+<para>Like <literal>\newcommand</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</link>) but does
+not define <replaceable>cmd</replaceable>; instead it checks that the current definition of
+<replaceable>cmd</replaceable> is exactly as given by <replaceable>definition</replaceable> and is or is not
+<firstterm><literal>\long</literal></firstterm> as expected.  A long command is a command that
+accepts <literal>\par</literal> within an argument.
+</para>
+<para>With the unstarred version of <literal>\CheckCommand</literal>, <replaceable>cmd</replaceable> is
+expected to be <literal>\long</literal>; with the starred version, <replaceable>cmd</replaceable> must
+not be <literal>\long</literal>
+</para>
+<para><literal>\CheckCommand</literal> raises an error when the check fails.  This
+allows you to check before you start redefining <literal>cmd</literal> yourself
+that no other package has already redefined this command.
+</para>
+
+</sect2>
+<sect2 label="12.14.4" id="_005cClassError-and-_005cPackageError-and-others">
+<title><literal>\ClassError</literal> and <literal>\PackageError</literal> and others</title>
+
+<anchor id="_005cClassError"/><anchor id="_005cClassWarning"/><anchor id="_005cClassWarningNoLine"/><anchor id="_005cClassInfo"/><anchor id="_005cClassInfoNoLine"/><anchor id="_005cPackageError"/><anchor id="_005cPackageWarning"/><anchor id="_005cPackageWarningNoLine"/><anchor id="_005cPackageInfo"/><anchor id="_005cPackageInfoNoLine"/>
+<para>Produce error, warning, and informational messages for classes:
+</para>
+<variablelist><varlistentry><term><literal>\ClassError{<replaceable>class name</replaceable>}{<replaceable>error-text</replaceable>}{<replaceable>help-text</replaceable>}</literal>
+</term><term><literal>\ClassWarning{<replaceable>class name</replaceable>}{<replaceable>warning-text</replaceable>}</literal>
+</term><term><literal>\ClassWarningNoLine{<replaceable>class name</replaceable>}{<replaceable>warning-text</replaceable>}</literal>
+</term><term><literal>\ClassInfo{<replaceable>class name</replaceable>}{<replaceable>info-text</replaceable>}</literal>
+</term><term><literal>\ClassInfoNoLine{<replaceable>class name</replaceable>}{<replaceable>info-text</replaceable>}</literal>
+</term><listitem><indexterm role="fn"><primary>\ClassError</primary></indexterm>
+<indexterm role="fn"><primary>\ClassWarning</primary></indexterm>
+<indexterm role="fn"><primary>\ClassWarningNoLine</primary></indexterm>
+<indexterm role="fn"><primary>\ClassInfo</primary></indexterm>
+<indexterm role="fn"><primary>\ClassInfoNoLine</primary></indexterm>
+</listitem></varlistentry></variablelist>
+<para>and the same for packages:
+</para><variablelist><varlistentry><term><literal>\PackageError{<replaceable>package name</replaceable>}{<replaceable>error-text</replaceable>}{<replaceable>help-text</replaceable>}</literal>
+</term><term><literal>\PackageWarning{<replaceable>package name</replaceable>}{<replaceable>warning-text</replaceable>}</literal>
+</term><term><literal>\PackageWarningNoLine{<replaceable>package name</replaceable>}{<replaceable>warning-text</replaceable>}</literal>
+</term><term><literal>\PackageInfo{<replaceable>package name</replaceable>}{<replaceable>info-text</replaceable>}</literal>
+</term><term><literal>\PackageInfoNoLine{<replaceable>package name</replaceable>}{<replaceable>info-text</replaceable>}</literal>
+</term><listitem><indexterm role="fn"><primary>\PackageError</primary></indexterm>
+<indexterm role="fn"><primary>\PackageWarning</primary></indexterm>
+<indexterm role="fn"><primary>\PackageWarningNoLine</primary></indexterm>
+<indexterm role="fn"><primary>\PackageInfo</primary></indexterm>
+<indexterm role="fn"><primary>\PackageInfoNoLine</primary></indexterm>
+</listitem></varlistentry></variablelist>
+<para>For <literal>\ClassError</literal> and <literal>\PackageError</literal> the message is
+<replaceable>error-text</replaceable>, followed by &tex;’s ‘<literal>?</literal>’ error prompt. If the
+user then asks for help by typing <literal>h</literal>, they see the <replaceable>help
+text</replaceable>.
+</para>
+<para>The four <literal>Warning</literal> commands are similar except that they write
+<replaceable>warning-text</replaceable> on the screen with no error prompt.  The four
+<literal>Info</literal> commands write <replaceable>info-text</replaceable> only in the transcript
+file.  The <literal>NoLine</literal> versions omit the number of the line
+generating the message, while the other versions do show that number.
+</para>
+<indexterm role="cp"><primary><literal>\protect</literal>, and message text</primary></indexterm>
+<indexterm role="cp"><primary><literal>\space</literal>, and message text</primary></indexterm>
+<indexterm role="cp"><primary><literal>\MessageBreak</literal>, and message text</primary></indexterm>
+<para>To format the messages, including the <replaceable>help-text</replaceable>: use
+<literal>\protect</literal> to stop a command from expanding, get a line break
+with <literal>\MessageBreak</literal>, and get a space with <literal>\space</literal> when a
+space character is ignore, most commonly after a command.
+</para>
+<para>&latex; appends a period to the messages.
+</para>
+
+</sect2>
+<sect2 label="12.14.5" id="_005cCurrentOption">
+<title><literal>\CurrentOption</literal></title>
+
+<indexterm role="fn"><primary>\CurrentOption</primary></indexterm>
+<indexterm role="cp"><primary>option, currently being processed</primary></indexterm>
+
+<para>Expands to the name of the option currently being processed.  This can
+only be used within the <replaceable>code</replaceable> argument of either
+<literal>\DeclareOption</literal> or <literal>\DeclareOption*</literal>.
+</para>
+
+</sect2>
+<sect2 label="12.14.6" id="_005cDeclareOption">
+<title><literal>\DeclareOption</literal></title>
+
+<indexterm role="fn"><primary>\DeclareOption</primary></indexterm>
+<indexterm role="cp"><primary>class options</primary></indexterm>
+<indexterm role="cp"><primary>package options</primary></indexterm>
+<indexterm role="cp"><primary>options, class</primary></indexterm>
+<indexterm role="cp"><primary>options, package</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareOption{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}
+\DeclareOption*{<replaceable>option</replaceable>}{<replaceable>code</replaceable>}
+</screen>
+<para>Define an option a user can include in their <literal>\documentclass</literal>
+command.  For example, a class <literal>smcmemo</literal> could have an option
+<literal>logo</literal> allowing users to put the institutional logo on the first
+page. The document would start with
+<literal>\documentclass[logo]{smcmemo}</literal>. To enable this, the class file
+must contain <literal>\DeclareOption{logo}{<replaceable>code</replaceable>}</literal> (and later,
+<literal>\ProcessOptions</literal>).
+</para>
+<indexterm role="cp"><primary>default option processing</primary></indexterm>
+<indexterm role="cp"><primary>option processing by default</primary></indexterm>
+<indexterm role="cp"><primary><literal>Unused global option</literal> warning, handling</primary></indexterm>
+<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>  This can be changed by using
+<literal>\DeclareOption*{<replaceable>code</replaceable>}</literal>, which executes <replaceable>code</replaceable> for
+any unknown option.
+</para>
+<para>For example, many classes extend an existing class, using code such as
+<literal>\LoadClass{article}</literal> (see <link linkend="_005cLoadClass">\LoadClass</link>). In this case, it
+makes sense to pass any otherwise-unknown options to the underlying
+class, like this:
+</para>
+<screen>\DeclareOption*{%
+  \PassOptionsToClass{\CurrentOption}{article}%
+}
+</screen>
+<para>As another example, our class <literal>smcmemo</literal> might allow users to keep
+lists of memo recipients in external files, so the user could invoke
+<literal>\documentclass[math]{smcmemo}</literal> and it will read the file
+<literal>math.memo</literal>.  This code inputs the file if it exists, while if it
+doesn’t, the option is passed to the <literal>article</literal> class:
+</para>
+<screen>\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}
+  {}{%
+  \PassOptionsToClass{\CurrentOption}{article}}}
+</screen>
+
+</sect2>
+<sect2 label="12.14.7" id="_005cDeclareRobustCommand">
+<title><literal>\DeclareRobustCommand</literal></title>
+
+<indexterm role="fn"><primary>\DeclareRobustCommand</primary></indexterm>
+<indexterm role="cp"><primary>new command, definition</primary></indexterm>
+<indexterm role="cp"><primary>robust command, defining</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\DeclareRobustCommand{<replaceable>cmd</replaceable>}[<replaceable>num</replaceable>][<replaceable>default</replaceable>]{<replaceable>definition</replaceable>}
+\DeclareRobustCommand* (same parameters
+</screen>
+<para><literal>\DeclareRobustCommand</literal> and its starred form are generally like
+<literal>\newcommand</literal> and <literal>\newcommand*</literal> (see <link linkend="_005cnewcommand-_0026-_005crenewcommand">\newcommand &
+\renewcommand</link>), with the addition that they define a so-called
+<firstterm>robust</firstterm> command, even if some code within the <replaceable>definition</replaceable> is
+fragile.  (For a discussion of robust and fragile commands,
+see <link linkend="_005cprotect">\protect</link>.)
+</para>
+<para>Also unlike <literal>\newcommand</literal>, these do not give an error if macro
+<replaceable>cmd</replaceable> already exists; instead, a log message is put into the
+transcript file if a command is redefined.  Thus,
+<literal>\DeclareRobustCommand</literal> can be used to define new robust commands
+or to redefine existing commands, making them robust.
+</para>
+<para>The starred form, <literal>\DeclareRobustCommand*</literal>, disallows the
+arguments from containing multiple paragraphs, just like the starred
+form of <literal>\newcommand</literal> and <literal>\renewcommand</literal>. The meaning of
+the arguments is the same.
+</para>
+<para>Commands defined this way are a bit less efficient than those defined
+using <literal>\newcommand</literal> so unless the command’s data is fragile and the
+command is used within a moving argument, use <literal>\newcommand</literal>.
+</para>
+<indexterm role="cp"><primary>package, <literal>etoolbox</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>etoolbox</literal> package</primary></indexterm>
+
+<indexterm role="cp"><primary>e-&tex;, and robust commands</primary></indexterm>
+<indexterm role="fn"><primary>\newrobustcmd (<literal>etoolbox</literal> package)</primary></indexterm>
+<indexterm role="fn"><primary>\renewrobustcmd (<literal>etoolbox</literal> package)</primary></indexterm>
+<indexterm role="fn"><primary>\providerobustcmd (<literal>etoolbox</literal> package)</primary></indexterm>
+
+<para>Related to this, the <literal>etoolbox</literal> package offers three commands
+and their starred forms: <literal>\newrobustcmd</literal>(<literal>*</literal>)
+<literal>\renewrobustcmd</literal>(<literal>*</literal>), and
+<literal>\providerobustcmd</literal>(<literal>*</literal>).  They are similar to
+<literal>\newcommand</literal>, <literal>\renewcommand</literal>, and <literal>\providecommand</literal>
+and their own starred forms, but define a robust <replaceable>cmd</replaceable>. They have
+two possible advantages compared to <literal>\DeclareRobustCommand</literal>:
+</para>
+<orderedlist numeration="arabic"><listitem><para>They use the low-level e-&tex; protection mechanism rather than the
+higher-level &latex; <literal>\protect</literal> mechanism, so they do not incur
+the slight loss of performance mentioned above, and
+</para>
+</listitem><listitem><para>They make the same distinction between <literal>\new…</literal>,
+<literal>\renew…</literal>, and <literal>\provide…</literal>, as the standard
+commands. That is, they do not just write a log message when you
+redefine <replaceable>cmd</replaceable> that already exists; you need to use either
+<literal>\renew…</literal> or <literal>\provide…</literal>, or you get an error.
+This may or may not be a benefit.
+</para></listitem></orderedlist>
+
+</sect2>
+<sect2 label="12.14.8" id="_005cExecuteOptions">
+<title><literal>\ExecuteOptions</literal></title>
+
+<indexterm role="fn"><primary>\ExecuteOptions</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\ExecuteOptions{<replaceable>option-list</replaceable>}
+</screen>
+<indexterm role="fn"><primary>\ds@<replaceable>option</replaceable></primary></indexterm>
+<para>For each option <replaceable>option</replaceable> in <replaceable>option-list</replaceable>, in order, this
+command executes the command <literal>\ds@<replaceable>option</replaceable></literal>.  If this
+command is not defined then that option is silently ignored.
+</para>
+<para>This can be used to provide a default option list before
+<literal>\ProcessOptions</literal>.  For example, if in a class file you want the
+default to be 11pt fonts then you could specify
+<literal>\ExecuteOptions{11pt}\ProcessOptions\relax</literal>.
+</para>
+
+</sect2>
+<sect2 label="12.14.9" id="_005cIfFileExists-_0026-_005cInputIfFileExists">
+<title><literal>\IfFileExists</literal> & <literal>\InputIfFileExists</literal></title>
+
+<anchor id="_005cIfFileExists"/><anchor id="_005cInputIfFileExists"/><indexterm role="fn"><primary>\IfFileExists</primary></indexterm>
+<indexterm role="fn"><primary>\InputIfFileExists</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\IfFileExists{<replaceable>filename</replaceable>}{<replaceable>true-code</replaceable>}{<replaceable>false-code</replaceable>}
+\InputIfFileExists{<replaceable>filename</replaceable>}{<replaceable>true-code</replaceable>}{<replaceable>false-code</replaceable>}
+</screen>
+<para><literal>\IfFileExists</literal> executes <replaceable>true-code</replaceable> if &latex; finds the
+file <filename><replaceable>filename</replaceable></filename> or <replaceable>false-code</replaceable> otherwise.  In the
+first case it executing <replaceable>true-code</replaceable> and then inputs the file.
+Thus the command
+</para>
+<screen>\IfFileExists{img.pdf}{%
+  \includegraphics{img.pdf}}
+  {\typeout{!! img.pdf not found}
+</screen>
+<para>will include the graphic <filename>img.pdf</filename> if it is found and otherwise
+give a warning.
+</para>
+<para>This command looks for the file in all search paths that &latex;
+uses, not only in the current directory.  To look only in the current
+directory do something like
+<literal>\IfFileExists{./<replaceable>filename</replaceable>}{<replaceable>true-code</replaceable>}{<replaceable>false-code</replaceable>}</literal>.
+If you ask for a filename without a <literal>.tex</literal> extension then
+&latex; will first look for the file by appending the <literal>.tex</literal>;
+for more on how &latex; handles file extensions see <link linkend="_005cinput">\input</link>.
+</para>
+<para><literal>\InputIfFileExists</literal> is similar, but, as the name states,
+automatically <literal>\input</literal>s <replaceable>filename</replaceable> if it exists.  The
+<replaceable>true-code</replaceable> is executed just before the <literal>\input</literal>; if the file
+doesn’t exist, the <replaceable>false-code</replaceable> is executed.  An example:
+</para>
+<screen>\InputIfFileExists{mypkg.cfg}
+  {\PackageInfo{Loading mypkg.cfg for configuration information}}
+  {\PackageInfo{No mypkg.cfg found}}
+</screen>
+
+</sect2>
+<sect2 label="12.14.10" id="_005cLoadClass-_0026-_005cLoadClassWithOptions">
+<title><literal>\LoadClass</literal> & <literal>\LoadClassWithOptions</literal></title>
+
+<anchor id="_005cLoadClass"/><anchor id="_005cLoadClassWithOptions"/><indexterm role="fn"><primary>\LoadClass</primary></indexterm>
+<indexterm role="fn"><primary>\LoadClassWithOptions</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\LoadClass[<replaceable>options-list</replaceable>]{<replaceable>class-name</replaceable>}[<replaceable>release-date</replaceable>]
+\LoadClassWithOptions{<replaceable>class-name</replaceable>}[<replaceable>release-date</replaceable>]
+</screen>
+<para>Load a class, as with
+<literal>\documentclass[<replaceable>options-list</replaceable>]{<replaceable>class-name</replaceable>}[<replaceable>release-date</replaceable>]</literal>.
+An example: <literal>\LoadClass[twoside]{article}</literal>.
+</para>
+<para>The <replaceable>options-list</replaceable>, if present, is a comma-separated list.  The
+<replaceable>release-date</replaceable> is also optional.  If present it must have the form
+<literal>YYYY/MM/DD</literal>.
+<!-- BTW, there are at-macros documented in macros2e.pdf to check the version -->
+<!-- and do some actions conditionnally on version later or not to some -->
+<!-- date. -->
+</para>
+<para>If you request <replaceable>release-date</replaceable> and the date of the package
+installed on your system is earlier, then you get a warning on the
+screen and in the log like this:
+</para>
+<screen>You have requested, on input line 4, version `2038/01/19' of
+document class article, but only version `2014/09/29 v1.4h
+Standard LaTeX document class' is available.
+</screen>
+<indexterm role="fn"><primary>\PassOptionsToClass, ignoring</primary></indexterm>
+<para>The command version <literal>\LoadClassWithOptions</literal> uses the list of
+options for the current class.  This means it ignores any options passed
+to it via <literal>\PassOptionsToClass</literal>.  This is a convenience command
+that lets you build classes on existing ones, such as the standard
+<literal>article</literal> class, without having to track which options were passed.
+</para>
+
+</sect2>
+<sect2 label="12.14.11" id="_005cNeedsTeXFormat">
+<title><literal>\NeedsTeXFormat</literal></title>
+
+<indexterm role="fn"><primary>\NeedsTeXFormat</primary></indexterm>
+<indexterm role="cp"><primary>format, requiring</primary></indexterm>
+<indexterm role="cp"><primary>version of format, requiring</primary></indexterm>
+<indexterm role="cp"><primary>date of format, requiring</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\NeedsTeXFormat{<replaceable>format</replaceable>}[<replaceable>format-date</replaceable>]
+</screen>
+<para>Specifies the format that this class must be run under.  Often issued
+as the first line of a class file, and most often used as:
+<literal>\NeedsTeXFormat{LaTeX2e}</literal>.  When a document using that class
+is processed, the format being run must exactly match the <replaceable>format</replaceable>
+name given, including case.  If it does not match then execution stops
+with an error like ‘<literal>This file needs format `LaTeX2e' but this is
+`plain'.</literal>’.
+</para>
+<para>To require a version of the format that you know to have certain
+features, include the optional <replaceable>format-date</replaceable> on which those
+features were implemented.  If present, it must be in the form
+<literal>YYYY/MM/DD</literal>.  If the format version installed on your system is
+earlier than <replaceable>format date</replaceable> then you get a warning like this.
+</para>
+<screen>You have requested release `2038/01/20' of LaTeX, but only
+release `2016/02/01' is available.
+</screen>
+
+</sect2>
+<sect2 label="12.14.12" id="_005cOptionNotUsed">
+<title><literal>\OptionNotUsed</literal></title>
+
+<indexterm role="fn"><primary>\OptionNotUsed</primary></indexterm>
+
+<indexterm role="cp"><primary>unused options, adding to list</primary></indexterm>
+<indexterm role="cp"><primary>options, list of unused</primary></indexterm>
+<para>Adds the current option to the list of unused options.  Can only be used
+within the <replaceable>code</replaceable> argument of either <literal>\DeclareOption</literal> or
+<literal>\DeclareOption*</literal>.
+</para>
+<!-- xx I cannot reproduce this behavior as it is documented in clsguide. -->
+<!-- In the absence of a @code{\DeclareOption*} declaration, @LaTeX{} issues -->
+<!-- on the console a warning like @code{LaTeX Warning: Unused global -->
+<!-- option(s): [unusedoption].} with the list of not-used options when it -->
+<!-- reaches @code{\begin@{document@}}. -->
+
+
+</sect2>
+<sect2 label="12.14.13" id="_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage">
+<title><literal>\PassOptionsToClass</literal> & <literal>\PassOptionsToPackage</literal></title>
+
+<anchor id="_005cPassOptionsToClass"/><anchor id="_005cPassOptionsToPackage"/><indexterm role="fn"><primary>\PassOptionsToClass</primary></indexterm>
+<indexterm role="fn"><primary>\PassOptionsToPackage</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\PassOptionsToClass{<replaceable>options</replaceable>}{<replaceable>clsname</replaceable>}
+\PassOptionsToPackage{<replaceable>option</replaceable>}{<replaceable>pkgname</replaceable>}
+</screen>
+<para>Adds the options in the comma-separated list <replaceable>options</replaceable> to the
+options used by any future <literal>\RequirePackage</literal> or
+<literal>\usepackage</literal> command for the class <replaceable>clsname</replaceable> or the package
+<replaceable>pkgname</replaceable>, respectively.
+</para>
+<indexterm role="cp"><primary>option clash</primary></indexterm>
+<indexterm role="cp"><primary>conflict between package options</primary></indexterm>
+<para>The reason for these commands is that although you may load a package
+any number of times with no options, if you can specify options only
+the first time you load the package.  Loading a package with options
+more than once will get you an error like <literal>Option clash for
+package foo.</literal>. &latex; throws an error even if there is no conflict
+between the options.
+</para>
+<para>If your own code is bringing in a package twice then you can combine
+the calls; for example, replacing the two
+</para>
+<screen>\RequirePackage[landscape]{geometry}
+\RequirePackage[margins=1in]{geometry}
+</screen>
+<para>with the single command
+</para>
+<screen>\RequirePackage[landscape,margins=1in]{geometry}
+</screen>
+<para>However, suppose you are loading <filename>firstpkg</filename> and inside that
+package it loads <filename>secondpkg</filename>, and you need <literal>secondpkg</literal> to be
+loaded with option <literal>draft</literal>.  Then before load the first package
+you must tell &latex; about the desired options for the second
+package, like this:
+</para>
+<screen>\PassOptionsToPackage{draft}{secondpkg}
+\RequirePackage{firstpkg}
+</screen>
+<para>If <literal>firstpkg.sty</literal> loads an option in conflict with what you want
+then you may have to alter its source, or yours.
+</para>
+<para>These commands are useful for general users as well as class and package
+writers.  For instance, suppose a user wants to load the <literal>graphicx</literal>
+package with the option <literal>draft</literal> and also wants to use a class
+<literal>foo</literal> that loads the <literal>graphicx</literal> package, but without that
+option. The user could start their &latex; file with
+<literal>\PassOptionsToPackage{draft}{graphicx} \documentclass{foo}</literal>.
+</para>
+
+</sect2>
+<sect2 label="12.14.14" id="_005cProcessOptions">
+<title><literal>\ProcessOptions</literal></title>
+
+<indexterm role="fn"><primary>\ProcessOptions</primary></indexterm>
+<indexterm role="cp"><primary>processing options</primary></indexterm>
+<indexterm role="cp"><primary>options, processing</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\ProcessOptions<replaceable>\@options</replaceable>
+\ProcessOptions*<replaceable>\@options</replaceable>
+</screen>
+<para>Execute the code for each option that the user has invoked.  Invoke it
+in the class file as <literal>\ProcessOptions\relax</literal> (because of the
+existence of the starred version, described below).
+</para>
+<indexterm role="cp"><primary>options, global and local</primary></indexterm>
+<indexterm role="cp"><primary>local options</primary></indexterm>
+<indexterm role="cp"><primary>global options</primary></indexterm>
+<para>Options come in two types.  <firstterm>Local options</firstterm> have been specified
+for this particular package in <literal>\usepackage[<replaceable>options</replaceable>]</literal>,
+<literal>\RequirePackage[<replaceable>options</replaceable>]</literal>, or the <replaceable>options</replaceable> argument
+of <literal>\PassOptionsToPackage{<replaceable>options</replaceable>}</literal>. <firstterm>Global options</firstterm>
+are those given by the class user in
+<literal>\documentclass[<replaceable>options</replaceable>]</literal>. If an option is specified both
+locally and globally then it is local.
+</para>
+<para>When <literal>\ProcessOptions</literal> is called for a package <filename>pkg.sty</filename>, the
+following happens:
+</para>
+<orderedlist numeration="arabic"><listitem><para>For each option <replaceable>option</replaceable> so far declared with
+<literal>\DeclareOption</literal>, <literal>\ProcessOptions</literal> looks to see if that
+option is either global or local for <literal>pkg</literal>. If so, then it
+executes the declared code.  This is done in the order in which these
+options were given in <filename>pkg.sty</filename>.
+</para>
+</listitem><listitem><para>For each remaining local option, it executes the command
+<literal>\ds@</literal><replaceable>option</replaceable> if it has been defined somewhere (other than by
+a <literal>\DeclareOption</literal>); otherwise, it executes the default option code
+given in <literal>\DeclareOption*</literal>. If no default option code has been
+declared then it gives an error message.  This is done in the order in
+which these options were specified.
+</para></listitem></orderedlist>
+<para>When <literal>\ProcessOptions</literal> is called for a class it works in the same
+way except that all options are local, and the default <replaceable>code</replaceable> for
+<literal>\DeclareOption*</literal> is <literal>\OptionNotUsed</literal> rather than an error.
+</para>
+<para>The starred version <literal>\ProcessOptions*</literal> executes the
+options in the order specified in the calling commands, rather than in
+the order of declaration in the class or package. For a package, this
+means that the global options are processed first.
+</para>
+
+</sect2>
+<sect2 label="12.14.15" id="_005cProvidesClass-_0026-_005cProvidesPackage">
+<title><literal>\ProvidesClass</literal> & <literal>\ProvidesPackage</literal></title>
+
+<anchor id="_005cProvidesClass"/><anchor id="_005cProvidesPackage"/><indexterm role="fn"><primary>\ProvidesClass</primary></indexterm>
+<indexterm role="fn"><primary>\ProvidesPackage</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\ProvidesClass{<replaceable>clsname</replaceable>}[<replaceable>release-date</replaceable> [<replaceable>info-text</replaceable>]]
+\ProvidesPackage{<replaceable>pkgname</replaceable>}[<replaceable>release-date</replaceable> [<replaceable>info-text</replaceable>]]
+</screen>
+<para>Identifies the class or package being defined, printing a message to
+the screen and the log file.
+</para>
+<para>When you load a class or package, for example with
+<literal>\documentclass{smcmemo}</literal> or <literal>\usepackage{test}</literal>,
+&latex; inputs a file (<filename>smcmemo.cls</filename> and <filename>test.sty</filename>,
+respectively).  If the name of the file does not match the class or
+package name declared in it then you get a warning.  Thus, if you
+invoke <literal>\documentclass{smcmemo}</literal>, and the file
+<filename>smcmemo.cls</filename> has the statement <literal>\ProvidesClass{foo}</literal> then
+you get a warning like <literal>You have requested document class
+`smcmemo', but the document class provides 'foo'.</literal>  This warning does
+not prevent &latex; from processing the rest of the class file
+normally.
+</para>
+<para>If you include the optional argument then you must include a date,
+before any spaces, of the form <literal>YYYY/MM/DD</literal>. The rest of the
+optional argument is free-form, although it traditionally identifies
+the class. It is written to the screen during compilation and to the
+log file.  Thus, if your file <filename>smcmemo.cls</filename> contains the line
+<literal>\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</literal> and
+your document’s first line is <literal>\documentclass{smcmemo}</literal> then
+you will see <literal>Document Class: smcmemo 2008/06/01 v1.0 SMC memo
+class</literal>.
+</para>
+<para>The date in the optional argument allows class and package users to
+ask to be warned if the version of the class or package is earlier
+than <replaceable>release date</replaceable>.  For instance, a user could enter
+<literal>\documentclass{smcmemo}[2018/10/12]</literal> or
+<literal>\usepackage{foo}[[2017/07/07]]</literal> to require a class or package
+with certain features by specifying that it must be released no
+earlier than the given date.  Perhaps more importantly, the date
+serves as documentation of the last release. (In practice, package
+users rarely include a date, and class users almost never do.)
+</para>
+
+</sect2>
+<sect2 label="12.14.16" id="_005cProvidesFile">
+<title><literal>\ProvidesFile</literal></title>
+
+<indexterm role="fn"><primary>\ProvidesFile</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\ProvidesFile{<replaceable>filename</replaceable>}[<replaceable>info-text</replaceable>]
+</screen>
+<para>Declare a file other than the main class and package files, such as a
+configuration or font definition file.  It writes the given
+information to the log file, essentially like <literal>\ProvidesClass</literal>
+and <literal>\ProvidesPackage</literal> (see the previous section).
+</para>
+<para>For example:
+</para>
+<screen>\ProvidesFile{smcmemo.cfg}[2017/10/12 config file for smcmemo.cls]
+</screen>
+<para>writes this into the log:
+</para>
+<screen>File: smcmemo.cfg 2017/10/12 config file for smcmemo.cls
+</screen>
+
+</sect2>
+<sect2 label="12.14.17" id="_005cRequirePackage-_0026-_005cRequirePackageWithOptions">
+<title><literal>\RequirePackage</literal> & <literal>\RequirePackageWithOptions</literal></title>
+
+<anchor id="_005cRequirePackage"/><anchor id="_005cRequirePackageWithOptions"/><indexterm role="fn"><primary>\RequirePackage</primary></indexterm>
+<indexterm role="fn"><primary>\RequirePackageWithOptions</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\RequirePackage[<replaceable>option-list</replaceable>]{<replaceable>pkgname</replaceable>}[<replaceable>release-date</replaceable>]
+\RequirePackageWithOptions{<replaceable>pkgname</replaceable>}[<replaceable>release-date</replaceable>]
+</screen>
+<para>Load a package, like the command <literal>\usepackage</literal> (see <link linkend="Additional-packages">Additional
+packages</link>). An example:
+
+<literal>\RequirePackage[landscape,margin=1in]{geometry}</literal>
+</para>
+<para>The initial optional argument <replaceable>option-list</replaceable>, if present, must be a
+comma-separated list.  The trailing optional argument
+<replaceable>release-date</replaceable>, if present, must have the form <literal>YYYY/MM/DD</literal>.
+If the release date of the package as installed on your system is
+earlier than <replaceable>release-date</replaceable> then you get a warning like ‘<literal>You
+have requested, on input line 9, version `2017/07/03' of package
+jhtest, but only version `2000/01/01' is available</literal>’.
+</para>
+<para>The <literal>\RequirePackageWithOptions</literal> variant uses the list of options
+for the current class.  This means it ignores any options passed to it
+via <literal>\PassOptionsToClass</literal>.  This is a convenience command to
+allow easily building classes on existing ones without having to track
+which options were passed.
+</para>
+<para>The difference between <literal>\usepackage</literal> and <literal>\RequirePackage</literal>
+is small.  The <literal>\usepackage</literal> command is intended to be used in
+documents, while <literal>\RequirePackage</literal> is intended for package and
+class files.  The most significant difference in practice is that
+<literal>\RequirePackage</literal> can be used in a document before the
+<literal>\documentclass</literal> command, while <literal>\usepackage</literal> gives an error
+there. The most common need for this nowadays is for the
+<literal>\DocumentMetadata</literal> command (see <link linkend="_005cDocumentMetadata">\DocumentMetadata</link>).
+</para>
+<para>The &latex; development team strongly recommends use of these and
+related commands over Plain &tex;’s <literal>\input</literal>; see the Class
+Guide (<ulink url="https://ctan.org/pkg/clsguide">https://ctan.org/pkg/clsguide</ulink>).
+</para>
+
+</sect2>
+</sect1>
 </chapter>
 <chapter label="13" id="Counters">
 <title>Counters</title>
@@ -9703,7 +10269,6 @@
 </para>
 
 
-
 <sect1 label="13.1" id="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">
 <title><literal>\alph \Alph \arabic \roman \Roman \fnsymbol</literal>: Printing counters</title>
 
@@ -9982,10 +10547,10 @@
 \newcommand{\showhbox}[2]{%
   \fboxsep=0pt\fbox{\hbox to #1{#2}}} 
 </screen>
-<para>This example uses those commands to show a black bar 100 points
-long between ‘<literal>XXX</literal>’ and ‘<literal>YYY</literal>’.  This length is rigid.
+<para>This next example uses those commands to show a black bar 100 points
+long between ‘<literal>ABC</literal>’ and ‘<literal>XYZ</literal>’.  This length is rigid.
 </para>
-<screen>XXX\showhbox{100pt}{\blackbar{100pt}}YYY
+<screen>ABC\showhbox{100pt}{\blackbar{100pt}}XYZ
 </screen>
 <para>As for rubber lengths, shrinking is simpler one: with <literal>1cm minus
 0.05cm</literal>, the natural length is 1cm but &tex; can shrink it down
@@ -9993,10 +10558,10 @@
 Thus, below the first one works fine, producing a space of
 98 points between the two bars.
 </para>
-<screen>XXX\showhbox{300pt}{%
+<screen>ABC\showhbox{300pt}{%
   \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY
 
-XXX\showhbox{300pt}{%
+ABC\showhbox{300pt}{%
   \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY
 </screen>
 <para>But the second one gets a warning like ‘<literal>Overfull \hbox (1.0pt too
@@ -10009,10 +10574,10 @@
 beyond the given amount, it will do it.  Here the first line is fine,
 producing a space of 110 points between the bars.
 </para>
-<screen>XXX\showhbox{300pt}{%
+<screen>ABC\showhbox{300pt}{%
   \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY
 
-XXX\showhbox{300pt}{%
+ABC\showhbox{300pt}{%
   \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY
 </screen>
 <para>In the second line &tex; needs a stretch of 10 points and only
@@ -10026,7 +10591,7 @@
 <para>If &tex; is setting two or more rubber lengths then it allocates the
 stretch or shrink in proportion.
 </para>
-<screen>XXX\showhbox{300pt}{%
+<screen>ABC\showhbox{300pt}{%
   \blackbar{100pt}%  left
   \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}%  middle
   \blackbar{100pt}}YYY  % right
@@ -10040,7 +10605,7 @@
 <para>The <literal>plus</literal> or <literal>minus</literal> component of a rubber length can contain
 a <firstterm>fill</firstterm> component, as in <literal>1in plus2fill</literal>.  This gives the
 length infinite stretchability or shrinkability so that &tex; could set
-it to any distance.  Here the two figures will be equal-spaced across
+it to any distance.  Here the two figures will be equally spaced across
 the page.
 </para>
 <screen>\begin{minipage}{\linewidth}
@@ -12637,42 +13202,43 @@
 </para>
 
 </sect1>
-<sect1 label="16.5" id="Over_002d-and-Underlining">
-<title>Over- and Underlining</title>
+<sect1 label="16.5" id="Over_002d-or-under-math">
+<title>Over- or under math</title>
 
+<anchor id="Over_002d-and-Underlining"/><!-- original node name -->
 <indexterm role="cp"><primary>overlining</primary></indexterm>
 <indexterm role="cp"><primary>underlining</primary></indexterm>
 
-<para>&latex; provides commands for making overlines or underlines, or
-putting braces over or under some material.
+<para>&latex; provides commands for putting lines, braces, and arrows over
+or under math material.
 </para>
-<variablelist>
-<varlistentry><term><indexterm role="fn"><primary>\underline{<replaceable>text</replaceable>}</primary></indexterm><literal>\underline{<replaceable>text</replaceable>}</literal>
-</term><listitem><para>Underline <replaceable>text</replaceable>.  Works inside math mode, and outside.
+<variablelist><varlistentry><term><indexterm role="fn"><primary>\underline{<replaceable>math</replaceable>}</primary></indexterm><literal>\underline{<replaceable>math</replaceable>}</literal>
+</term><listitem><para>Underline <replaceable>math</replaceable>. For example: <literal>\underline{x+y}</literal>.
 The line is always completely below the text, taking account of
 descenders, so in <literal>\(\underline{y}\)</literal> the line is lower than in
-<literal>\(\underline{x}\)</literal>.  This command is fragile (see <link linkend="_005cprotect">\protect</link>).
+<literal>\(\underline{x}\)</literal>.  As of approximately 2019, this command
+and others in this section are robust; before that, they were fragile
+(see <link linkend="_005cprotect">\protect</link>).
 </para>
 <indexterm role="cp"><primary>package, <literal>ulem</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>ulem</literal> package</primary></indexterm>
 
-<para>Note that the package <literal>ulem</literal> does text mode underlining and allows
-line breaking as well as a number of other features.  See the
-documentation on CTAN.  See also <link linkend="_005chrulefill-_0026-_005cdotfill">\hrulefill & \dotfill</link> for
-producing a line, for such things as a signature.
+<para>The package <literal>ulem</literal> (<ulink url="https://ctan.org/pkg/uelem">https://ctan.org/pkg/uelem</ulink>) does
+text mode underlining and allows line breaking as well as a number of
+other features.  See also <link linkend="_005chrulefill-_0026-_005cdotfill">\hrulefill & \dotfill</link> for
+producing a line for such things as a signature or placeholder.
 </para>        
-</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overline{<replaceable>text</replaceable>}</primary></indexterm><literal>\overline{<replaceable>text</replaceable>}</literal>
-</term><listitem><para>Put a horizontal line over <replaceable>text</replaceable>.  Works inside math mode, and
-outside.  For example, <literal>\overline{x+y}</literal>.
-Note that this differs from the command <literal>\bar</literal> (see <link linkend="Math-accents">Math
-accents</link>).
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overline{<replaceable>math</replaceable>}</primary></indexterm><literal>\overline{<replaceable>math</replaceable>}</literal>
+</term><listitem><para>Put a horizontal line over <replaceable>math</replaceable>. For example: <literal>\overline{x+y}</literal>.
+This differs from the accent command <literal>\bar</literal> (see <link linkend="Math-accents">Math accents</link>).
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\underbrace{<replaceable>math</replaceable>}</primary></indexterm><literal>\underbrace{<replaceable>math</replaceable>}</literal>
-</term><listitem><para>Put a brace under <replaceable>math</replaceable>. For example, this
-<literal>(1-\underbrace{1/2)+(1/2}-1/3)</literal> emphasizes the telescoping part.
-Attach text to the brace by using the subscript command, <literal>_</literal>, or
-superscript, <literal>^</literal>, as here.
+</term><listitem><para>Put a brace under <replaceable>math</replaceable>. For example:
+<literal>(1-\underbrace{1/2)+(1/2}-1/3)</literal>.
 </para>
+<para>You can attach text to the brace as a subscript (<literal>_</literal>) or
+superscript (<literal>^</literal>) as here:
+</para>
 <screen>\begin{displaymath}
   1+1/2+\underbrace{1/3+1/4}_{>1/2}+
        \underbrace{1/5+1/6+1/7+1/8}_{>1/2}+\cdots
@@ -12682,16 +13248,25 @@
 unconnected to the underbrace.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overbrace{<replaceable>math</replaceable>}</primary></indexterm><literal>\overbrace{<replaceable>math</replaceable>}</literal>
-</term><listitem><para>Put a brace over <replaceable>math</replaceable>, as with
-<literal>\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}</literal>.  See also
-<literal>\underbrace</literal>.
+</term><listitem><para>Put a brace over <replaceable>math</replaceable>. For example:
+
+<literal>\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}</literal>.
 </para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overrightarrow{<replaceable>math</replaceable>}</primary></indexterm><literal>\overrightarrow{<replaceable>math</replaceable>}</literal>
+</term><listitem><para>Put a right arrow over <replaceable>math</replaceable>. For example:
+<literal>\overrightarrow{x+y}</literal>.
+</para>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\overleftarrow{<replaceable>math</replaceable>}</primary></indexterm><literal>\overleftarrow{<replaceable>math</replaceable>}</literal>
+</term><listitem><para>Put a left arrow over <replaceable>math</replaceable>. For example:
+<literal>\overleftarrow{a+b}</literal>.
+</para>
 </listitem></varlistentry></variablelist>
 <indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm>
 
-<para>The package <literal>mathtools</literal> adds an over- and underbrace, as well as
-some improvements on the braces.  See the documentation on CTAN.
+<para>The package <literal>mathtools</literal> (<ulink url="https://ctan.org/pkg/mathtools">https://ctan.org/pkg/mathtools</ulink>)
+adds an over- and underbracket, as well as some improvements on the
+braces.
 </para>
 
 </sect1>
@@ -12850,11 +13425,11 @@
 mode.  So if it starts a paragraph then you should first put a
 <literal>\leavevmode</literal>, as in the bottom line below.
 </para>
-<screen>xxx xxx xxx
+<screen>Text above.
 
-\smash{yyy}  % no paragraph indent
+\smash{smashed, no indent}  % no paragraph indent
 
-\leavevmode\smash{zzz}  % usual paragraph indent
+\leavevmode\smash{smashed, with indent}  % usual paragraph indent
 </screen>
 <indexterm role="cp"><primary>package, <literal>mathtools</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>mathtools</literal> package</primary></indexterm>
@@ -13365,11 +13940,11 @@
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\thanks{<replaceable>text</replaceable>}</primary></indexterm><literal>\thanks{<replaceable>text</replaceable>}</literal>
 </term><listitem><indexterm role="cp"><primary>thanks, for titlepage</primary></indexterm>
 <indexterm role="cp"><primary>credit footnote</primary></indexterm>
-<para>Optional.  Produce a footnote.  You can use it in the author information
-for acknowledgements as illustrated above, but you can also use it in
-the title, or any place a footnote mark makes sense.  It can be any text
-at all so you can use it for any purpose, such as to print an email
-address.
+<para>Optional.  Produce a footnote.  You can use it in the author
+information for acknowledgements as illustrated above, but you can
+also use it in the title, or anywhere that a footnote mark makes
+sense.  It can be any text at all so you can use it for any purpose,
+such as to print an email address.
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\title{<replaceable>text</replaceable>}</primary></indexterm><literal>\title{<replaceable>text</replaceable>}</literal>
 </term><listitem><indexterm role="cp"><primary>title, for titlepage</primary></indexterm>
@@ -13380,11 +13955,11 @@
 yields error ‘<literal>LaTeX Error: No \title given</literal>’.
 </para>
 </listitem></varlistentry></variablelist>
-<para>To make your own title page, see <link linkend="titlepage">titlepage</link>. You can either
+<para>To make your own title page, see <link linkend="titlepage">titlepage</link>. You can either
 create this as a one-off or you can include it as part of a renewed
-<literal>\maketitle</literal> command.  (Many publishers will provide a class to use
+<literal>\maketitle</literal> command.  Many publishers will provide a class to use
 in place of <literal>article</literal> that formats the title according to their
-house requirements.)
+house requirements.
 </para>
 
 </sect1>
@@ -13404,18 +13979,11 @@
 so its effect is not stopped by an end of group such as a closing brace
 or an end of environment.
 </para>
-<para>In this example, before the ‘<literal>Main</literal>’ section the pages are numbered
-‘<literal>a</literal>’, etc.  Starting on the page containing the
-<literal>\pagenumbering</literal> call in that section, the pages are numbered
-‘<literal>1</literal>’, etc.
+<para>By default, &latex; numbers pages starting at 1, using Arabic
+numerals.
 </para>
-<screen>\begin{document}\pagenumbering{alph}
-  ...
-\section{Main}\pagenumbering{arabic}
-  ...
-</screen>
 <para>The argument <replaceable>number-style</replaceable> is one of the following (see
-also <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>).
+also <link linkend="_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol">\alph \Alph \arabic \roman \Roman \fnsymbol</link>).
 </para>
 <variablelist><varlistentry><term><literal>arabic</literal>
 </term><listitem><para>Arabic numerals: 1, 2, … 
@@ -13435,25 +14003,41 @@
 get ‘<literal>LaTeX Error: Counter too large</literal>’.
 </para>
 </listitem></varlistentry><varlistentry><term><literal>gobble</literal>
-</term><listitem><indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm>
+</term><listitem><para>no page number is output, though the number is still reset.
+References to that page also are blank.
+</para>
+<indexterm role="cp"><primary>package, <literal>hyperref</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>hyperref</literal> package</primary></indexterm>
-<para>&latex; does not output a page number, although it
-does get reset.  References to that page also are blank.  (This does not
-work with the popular package <literal>hyperref</literal> so to have the page number
-not appear you may want to instead use <literal>\pagestyle{empty}</literal> or
-<literal>\thispagestyle{empty}</literal>.)
+
+<para>This setting does not work with the popular package <literal>hyperref</literal>,
+so to omit page numbers you may want to instead use
+<literal>\pagestyle{empty}</literal> or <literal>\thispagestyle{empty}</literal>.
 </para>
 </listitem></varlistentry></variablelist>
+<para>If you want to typeset the page number in some other way, or change
+where the page number appears on the page, see <link linkend="_005cpagestyle">\pagestyle</link>
+(in short: use the <literal>fancyhdr</literal> package).  The list above of
+&latex;’s built-in numbering styles cannot be extended.
+</para>
 <para>Traditionally, if a document has front matter—preface, table of
-contents, etc.—then it is numbered with lowercase Roman numerals. The
-main matter of a document uses arabic.  See <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter
-& \backmatter</link>.
+contents, etc.—then it is numbered with lowercase Roman
+numerals. The main matter of a document uses arabic.  &latex;
+implements this, by providing explicit commands for the different parts
+(see <link linkend="_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter & \backmatter</link>).
 </para>
-<para>If you want to change where the page number appears on the page,
-see <link linkend="_005cpagestyle">\pagestyle</link>.  If you want to change the value of the page
-number, then you manipulate the <literal>page</literal> counter (see <link linkend="Counters">Counters</link>).
+<para>As an explicit example, before the ‘<literal>Main</literal>’ section the pages are
+numbered ‘<literal>a</literal>’, etc.  Starting on the page containing the
+<literal>\pagenumbering</literal> call in that section, the pages are numbered
+‘<literal>1</literal>’, etc.
 </para>
-
+<screen>\begin{document}\pagenumbering{alph}
+  ...
+\section{Main}\pagenumbering{arabic}
+  ...
+</screen>
+<para>If you want to change the value of the page number, then you
+manipulate the <literal>page</literal> counter (see <link linkend="Counters">Counters</link>).
+</para>
 </sect1>
 <sect1 label="18.3" id="_005cpagestyle">
 <title><literal>\pagestyle</literal></title>
@@ -13473,11 +14057,11 @@
 <indexterm role="cp"><primary>package, <literal>fancyhdr</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>fancyhdr</literal> package</primary></indexterm>
 
-<para>A discussion with an example is below.  Note first that the package
+<para>A discussion with an example is below.  First, however: the package
 <literal>fancyhdr</literal> is now the standard way to manipulate headers and
 footers.  New documents that need to do anything other than one of the
 standard options below should use this package.  See its documentation
-on CTAN.
+(<ulink url="https://ctan.org/pkg/fancyhdr">https://ctan.org/pkg/fancyhdr</ulink>).
 </para>
 <para>Values for <replaceable>style</replaceable>:
 </para>
@@ -13588,6 +14172,36 @@
 </para>
 
 </sect1>
+<sect1 label="18.5" id="_005cthepage">
+<title><literal>\thepage</literal></title>
+
+<indexterm role="fn"><primary>\thepage</primary></indexterm>
+
+<para>If you want to change the appearance of page numbers only in the page
+headers, for example by adding an ornament, typesetting in small caps,
+etc., then the <literal>fancyhdr</literal> package, as mentioned in a previous
+section, is the best approach.
+</para>
+<indexterm role="cp"><primary>page number representation</primary></indexterm>
+<indexterm role="cp"><primary>table of contents, page numbers in</primary></indexterm>
+<indexterm role="cp"><primary>cross-references, page numbers in</primary></indexterm>
+<para>On the other hand, you may want to change how page numbers are denoted
+everywhere, including the table of contents and cross-references, as
+well as the page headers.  In this case, you should redefine
+<literal>\thepage</literal>, which is the command &latex; uses for the
+representation of page numbers.
+</para>
+<para>However, <literal>\thepage</literal> should do any typesetting or other
+complicated maneuvers, but merely expand to the intended page number
+representation.  The results of a complicated redefinition of
+<literal>\thepage</literal> are not predictable, but &latex;’s report of page
+numbers in diagnostic messages, at least, will become unusable.
+</para>
+<para>There is some discussion of this issue at
+<ulink url="https://tex.stackexchange.com/questions/687258">https://tex.stackexchange.com/questions/687258</ulink>.
+</para>
+
+</sect1>
 </chapter>
 <chapter label="19" id="Spaces">
 <title>Spaces</title>
@@ -13764,13 +14378,14 @@
 <screen>\spacefactor=<replaceable>integer</replaceable>
 </screen>
 <indexterm role="fn"><primary>\spacefactor</primary></indexterm>
-<para>Influence &latex;’s glue stretch and shrink behavior.  Most user-level
-documents do not use this command.
+<indexterm role="cp"><primary>space factor</primary></indexterm>
+<para>Influence &latex;’s stretching and shrinking of glue.  Few user-level
+documents need to use this.
 </para>
 <para>While &latex; is laying out the material, it may stretch or shrink the
 gaps between words.  (This space is not a character; it is called the
-<firstterm>interword glue</firstterm>; see <link linkend="_005chspace">\hspace</link>).  The <literal>\spacefactor</literal> command
-(from Plain &tex;) allows you to, for instance, have the space
+<firstterm>interword glue</firstterm>; see <link linkend="_005chspace">\hspace</link>).  The <literal>\spacefactor</literal> parameter
+(a &tex; primitive) allows you to, for instance, have the space
 after a period stretch more than the space after a word-ending letter.
 </para>
 <para>After &latex; places each character, or rule or other box, it sets a
@@ -13780,7 +14395,7 @@
 that the glue can stretch more and shrink less.  Normally, the space
 factor is 1000. This value is in effect following most characters, and
 any non-character box or math formula.  But it is 3000 after a period,
-exclamation mark, or question mark, it is 2000 after a colon, 1500 after
+exclamation mark, or question mark, 2000 after a colon, 1500 after
 a semicolon, 1250 after a comma, and 0 after a right parenthesis or
 bracket, or closing double quote or single quote.  Finally, it is 999
 after a capital letter.
@@ -13787,41 +14402,42 @@
 </para>
 <para>If the space factor <replaceable>f</replaceable> is 1000 then the glue gap will be the
 font’s normal space value (for Computer Modern Roman 10 point this is
-3.3333 points).  Otherwise, if the space factor <replaceable>f</replaceable> is greater
+3.3333pt).  Otherwise, if the space factor <replaceable>f</replaceable> is greater
 than 2000 then &tex; adds the font’s extra space value (for Computer
-Modern Roman 10 point this is 1.11111 points), and then the font’s
+Modern Roman 10 point this is 1.11111pt), and then the font’s
 normal stretch value is multiplied by <inlineequation><mathphrase>f /1000</mathphrase></inlineequation> and the normal
 shrink value is multiplied by <inlineequation><mathphrase>1000/f</mathphrase></inlineequation> (for Computer Modern Roman
-10 point these are 1.66666 and 1.11111 points).
+10 point these are 1.66666 and 1.11111pt).
 </para>
-<para>For example, consider the period ending <literal>A man's best friend is his
-dog.</literal>  After it, &tex; puts in a fixed extra space, and also allows the
-glue to stretch 3 times as much and shrink 1/3 as much, as the glue
-after <literal>friend</literal>, which does not end in a period.
+<para>For example, consider the period ending ‘<literal>A man's best friend is
+his dog.</literal>’.  After it, &tex; puts in a fixed extra space, and also
+allows the glue to stretch 3 times as much and shrink 1/3 as much, as
+the glue after <literal>friend</literal> or any of the other words, since they are
+not followed by punctuation.
 </para>
 <para>The rules for space factors are even more complex because they play
-additional roles.  In practice, there are two consequences.  First, if a
-period or other punctuation is followed by a right parenthesis or
-bracket, or right single or double quote then the spacing effect of that
-period carries through those characters (that is, the following glue
-will have increased stretch and shrink).  Second, if
-punctuation comes after a capital letter then its effect is not in place
-so you get an ordinary space.  This second case also affects abbreviations
-that do not end in a capital letter (see <link linkend="_005c_0040">\@</link>).
+additional roles.  In practice, there are two consequences.  First, if
+a period or other punctuation is followed by a right parenthesis or
+bracket, or right single or double quote then the spacing effect of
+that period carries through those characters (that is, the following
+glue will have increased stretch and shrink).  Second, if punctuation
+comes after a capital letter then the normal effect of the period is
+does not happen, so you get an ordinary space.  This second case also
+affects abbreviations that do not end in a capital letter
+(see <link linkend="_005c_0040">\@</link>).
 </para>
 <para>You can only use <literal>\spacefactor</literal> in paragraph mode or LR mode
 (see <link linkend="Modes">Modes</link>).  You can see the current value with
 <literal>\the\spacefactor</literal> or <literal>\showthe\spacefactor</literal>.
 </para>
-<para>(Comment, not really related to <literal>\spacefactor</literal>: if you get errors
-like ‘<literal>You can't use `\spacefactor' in vertical mode</literal>’, or ‘<literal>You
-can't use `\spacefactor' in math mode.</literal>’, or ‘<literal>Improper \spacefactor</literal>’
-then you have probably tried to redefine an internal command.
-See <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>.)
+<para>Finally, not especially related to <literal>\spacefactor</literal> itself: if you
+get errors like ‘<literal>You can't use `\spacefactor' in vertical mode</literal>’,
+or ‘<literal>You can't use `\spacefactor' in math mode.</literal>’, or
+‘<literal>Improper \spacefactor</literal>’ then you have probably tried to redefine
+an internal command.  See <link linkend="_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</link>.
 </para>
 
 
-
 <sect2 label="19.5.1" id="_005c_0040">
 <title><literal>\@</literal></title>
 
@@ -13830,6 +14446,9 @@
 <indexterm role="cp"><primary>period, sentence-ending</primary></indexterm>
 <indexterm role="cp"><primary>period, abbreviation-ending</primary></indexterm>
 <indexterm role="cp"><primary>period, spacing after</primary></indexterm>
+<indexterm role="cp"><primary>sentence-ending punctuation</primary></indexterm>
+<indexterm role="cp"><primary>non-sentence-ending punctuation</primary></indexterm>
+<indexterm role="cp"><primary>punctuation, sentence-ending</primary></indexterm>
 <anchor id="_005cAT"/><!-- old name -->
 
 <para>Synopsis:
@@ -13836,24 +14455,25 @@
 </para>
 <screen><replaceable>capital-letter</replaceable>\@.    
 </screen>
-<para>Treat a period as sentence-ending, where &latex; would otherwise think
-it is part of an abbreviation.  &latex; thinks that a period ends an
-abbreviation if the period comes after a capital letter, and otherwise
-thinks the period ends the sentence.  By default, in justifying a line
-&latex; adjusts the space after a sentence-ending period (or a question
-mark, exclamation point, comma, or colon) more than it adjusts the space
-between words (see <link linkend="_005cspacefactor">\spacefactor</link>).
+<para>Treat a period (or other punctuation) as sentence-ending, where
+&latex; would otherwise think it is part of an abbreviation.
+&latex; thinks that a period ends an abbreviation if the period comes
+after a capital letter, and otherwise thinks the period ends the
+sentence.
 </para>
 <para>This example shows the two cases to remember.
 </para>
 <screen>The songs \textit{Red Guitar}, etc.\ are by Loudon Wainwright~III\@.
 </screen>
-<para>The second period ends the sentence, despite that it is preceded by a
-capital.  We tell &latex; that it ends the sentence by putting
-<literal>\@</literal> before it.  The first period ends the abbreviation
-‘<literal>etc.</literal>’ but not the sentence.  The backslash-space, <literal>\ </literal>,
-produces a mid-sentence space.
+<para>The first period ends the abbreviation ‘<literal>etc.</literal>’ but not the
+sentence.  The backslash-space, <literal>\ </literal>, produces a mid-sentence
+space.  The second period ends the sentence, despite it being preceded
+by a capital letter.  We tell &latex; that it ends the sentence by
+putting <literal>\@</literal> before it.
 </para>
+<indexterm role="cp"><primary>right parentheses/quotes, and spacing</primary></indexterm>
+<indexterm role="cp"><primary>parentheses and ends of sentences</primary></indexterm>
+<indexterm role="cp"><primary>quotes and ends of sentences</primary></indexterm>
 <para>So: if you have a capital letter followed by a period that ends the
 sentence, then put <literal>\@</literal> before the period.  This holds even if
 there is an intervening right parenthesis or bracket, or right single or
@@ -13865,17 +14485,24 @@
 </screen>
 <para>will have correct inter-sentence spacing after the period.
 </para>
-<para>The <literal>\@</literal> command is only for a text mode. If you use it outside of
-a text mode then you get ‘<literal>You can't use `\spacefactor' in vertical
-mode</literal>’ (see <link linkend="Modes">Modes</link>).
+<para>The <literal>\@</literal> command is only for text modes. If you use it outside
+of a text mode then you get the error ‘<literal>You can't use
+`\spacefactor' in vertical mode</literal>’ (see <link linkend="Modes">Modes</link>).
 </para>
-<para>Comment: the converse case is a period ending an abbreviation whose last
-letter is not a capital letter, and that abbreviation is not the last
-word in the sentence.  For that case follow the period with a
+<indexterm role="cp"><primary>question marks, ending a sentence</primary></indexterm>
+<indexterm role="cp"><primary>exclamation points, ending a sentence</primary></indexterm>
+<para>All the above applies equally to question marks and exclamation points
+as periods, since all are sentence-ending punctuation, and &latex;
+increases the space after each in the same way, when they end a
+sentence.  &latex; also increases spacing after colon, semicolon, and
+comma characters (see <link linkend="_005cspacefactor">\spacefactor</link>).
+</para>
+<para>In addition: the converse case is a period (or other punctuation) that
+does not end a sentence.  For that case, follow the period with a
 backslash-space, (<literal>\ </literal>), or a tie, (<literal>~</literal>), or <literal>\@</literal>.
 Examples are <literal>Nat.\ Acad.\ Science</literal>, and <literal>Mr.~Bean</literal>, and
 <literal>(manure, etc.\@) for sale</literal> (note in the last one that the
-<literal>\@</literal> comes before the closing parenthesis).
+<literal>\@</literal> comes after the period but before the closing parenthesis).
 </para>
 
 </sect2>
@@ -13892,19 +14519,22 @@
 <screen>\frenchspacing
 \nonfrenchspacing
 </screen>
-<para>The first declaration causes &latex; to handle spacing between
-sentences in the same way as spacing between words in the middle of a
-sentence.  The second switches back to the default handling in which
-spacing between sentences stretches or shrinks more
-(see <link linkend="_005cspacefactor">\spacefactor</link>).
+<para><literal>\frenchspacing</literal> causes &latex; to make spacing after all
+punctuation, including periods, be the same as the space between words
+in the middle of a sentence.  <literal>\nonfrenchspacing</literal> switches back
+to the default handling in which spacing after most punctuation stretches
+or shrinks differently than a word space (see <link linkend="_005cspacefactor">\spacefactor</link>).
 </para>
-<para>Some typographic traditions, including English, prefer to adjust the
-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
-spaces are treated equally.
+<para>In American English, the typesetting tradition is to adjust, typically
+increasing, the space after punctuation more than the space between
+words that are in the middle of a sentence.  Declaring
+<literal>\frenchspacing</literal> (the command is inherited from plain &tex;)
+switches to the tradition that all spaces are treated equally.
 </para>
+<para>If your &latex; document specifies the language being used, for
+example with the <literal>babel</literal> package, the necessary settings
+should be taken care of for you.
+</para>
 
 </sect2>
 <sect2 label="19.5.3" id="_005cnormalsfcodes">
@@ -13929,20 +14559,20 @@
 <indexterm role="cp"><primary>\<keycap>NEWLINE</keycap></primary></indexterm>
 <indexterm role="cp"><primary>\<keycap>SPACE</keycap></primary></indexterm>
 <indexterm role="cp"><primary>\<keycap>TAB</keycap></primary></indexterm>
-<indexterm role="fn"><primary>\ <!-- /@w --> (backslash-space)</primary></indexterm>
+<indexterm role="fn"><primary>\&#160;<!-- /@w --> (backslash-space)</primary></indexterm>
 <indexterm role="fn"><primary>\<keycap>SPACE</keycap></primary></indexterm>
 
 <para>This section refers to the command consisting of two characters, a
-backslash followed by a space.
-Synopsis:
+backslash followed by a space. Synopsis:
 </para>
-<screen>\ <!-- /@w -->
+<screen>\&#160;<!-- /@w -->
 </screen>
 <para>Produce a space. By default it produces white space of length
 3.33333pt plus 1.66666pt minus 1.11111pt.
 </para>
-<para>When you type one or more blanks between words, &latex; produces white
-space.  But that is different than an explicit space.  This illustrates.
+<para>When you type one or more blanks between words, &latex; produces
+whitespace that is different than an explicit space.  This
+illustrates:
 </para>
 <screen>\begin{tabular}{rl}
 One blank:& makes some space \\
@@ -13974,9 +14604,9 @@
 <para>Under normal circumstances, <literal>\</literal><keycap>TAB</keycap> and <literal>\</literal><keycap>NEWLINE</keycap>
 are equivalent to backslash-space, <literal>\ </literal>.
 </para>
-<anchor id="Leading-blanks"/><para>Please also note that in order to allow source code indentation, under
-normal circumstances, &tex; ignores leading blanks in a line. So the
-following prints ‘<literal>one word</literal>’:
+<anchor id="Leading-blanks"/><para>In order to allow source code indentation, under normal circumstances,
+&tex; ignores leading blanks in a line. So the following prints
+‘<literal>one word</literal>’:
 </para>
 <screen>one
  word
@@ -13991,7 +14621,7 @@
 
 </sect1>
 <sect1 label="19.7" id="_007e">
-<title><literal>~</literal></title>
+<title><literal>~</literal>, <literal>\nobreakspace</literal></title>
 
 <indexterm role="fn"><primary>~</primary></indexterm>
 <indexterm role="cp"><primary>tie</primary></indexterm>
@@ -14004,10 +14634,14 @@
 </para>
 <screen><replaceable>before</replaceable>~<replaceable>after</replaceable>
 </screen>
+<indexterm role="fn"><primary>\nobreakspace</primary></indexterm>
+<indexterm role="cp"><primary>no-break space, Unicode U+00A0</primary></indexterm>
 <para>The <firstterm>tie</firstterm> character, <literal>~</literal>, produces a space between <replaceable>before</replaceable> and
 <replaceable>after</replaceable> at which the line will not be broken. By default the white
 space has length 3.33333pt plus 1.66666pt minus
-1.11111pt (see <link linkend="Lengths">Lengths</link>).
+1.11111pt (see <link linkend="Lengths">Lengths</link>).  The command <literal>\nobreakspace</literal>
+and the Unicode input character U+00A0 (also in many 8-bit encodings)
+are synonyms.
 </para>
 <!-- This paragraph is not translated to French, as the French translation -->
 <!-- uses a term that means ``unbreakable''. -->
@@ -14023,14 +14657,14 @@
 <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. 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>Ties prevent a line break 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>Exactly where ties should be used is something of a matter 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 label and number, such as in references:
 <literal>Chapter~12</literal>, or <literal>Theorem~\ref{th:Wilsons}</literal>, or
@@ -14613,7 +15247,7 @@
 <para>In the third version the optional argument <replaceable>width</replaceable> specifies the
 width of the box.  Note that the space occupied by the text need not
 equal the width of the box.  For one thing, <replaceable>text</replaceable> can be too small;
-this creates a full-line box
+this creates a full-line box:
 </para>
 <screen>\makebox[\linewidth]{Chapter Exam}
 </screen>
@@ -15025,317 +15659,7 @@
 
 </sect1>
 </chapter>
-<chapter label="21" id="Color">
-<title>Color</title>
-
-<indexterm role="cp"><primary>color</primary></indexterm>
-
-<para>You can add color to text, rules, etc.  You can also have color in a box
-or on an entire page and write text on top of it.
-</para>
-<para>Color support comes as an additional package.  So put
-<literal>\usepackage{color}</literal> in your document preamble to use the
-commands described here.
-</para>
-<para>Many other packages also supplement &latex;’s color abilities.
-Particularly worth mentioning is <filename>xcolor</filename>, which is widely used and
-significantly extends the capabilities described here, including adding
-‘<literal>HTML</literal>’ and ‘<literal>Hsb</literal>’ color models.
-</para>
-
-
-<sect1 label="21.1" id="Color-package-options">
-<title><literal>color</literal> package options</title>
-
-<indexterm role="cp"><primary>color package options</primary></indexterm>
-<indexterm role="cp"><primary>options, color package</primary></indexterm>
-
-<para>Synopsis (must be in the document preamble):
-</para>
-<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{color}
-</screen>
-<para>When you load the <filename>color</filename> package there are two kinds of available
-options.
-</para>
-<para>The first specifies the <firstterm>printer driver</firstterm>.  &latex; doesn’t contain
-information about different output systems but instead depends on
-information stored in a file.  Normally you should not specify the
-driver option in the document, and instead rely on your system’s
-default. One advantage of this is that it makes the document portable
-across systems.  For completeness we include a list of the drivers.  The
-currently relevant ones are: <filename>dvipdfmx</filename>, <filename>dvips</filename>,
-<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>.  The two
-<filename>xdvi</filename> and <filename>oztex</filename> are essentially aliases for <filename>dvips</filename>
-(and <filename>xdvi</filename> is monochrome).  Ones that should not be used for new
-systems are: <filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>,
-<filename>dvipsone</filename>, <filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>,
-<filename>pctexhp</filename>, <filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>,
-<filename>vtex</filename> (and <filename>dviwindo</filename> is an alias for <filename>dvipsone</filename>).
-</para>
-<para>The second kind of options, beyond the drivers, are below.
-</para>
-<variablelist>
-<varlistentry><term><literal>monochrome</literal>
-</term><listitem><para>Disable the color commands, so that they do not generate errors but do
-not generate color either.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>dvipsnames</literal>
-</term><listitem><para>Make available a list of 68 color names that are often used,
-particularly in legacy documents.  These color names were originally
-provided by the <filename>dvips</filename> driver, giving the option name.
-</para>
-</listitem></varlistentry><varlistentry><term><literal>nodvipsnames</literal>
-</term><listitem><para>Do not load that list of color names, saving &latex; a tiny amount of
-memory space.
-</para>
-</listitem></varlistentry></variablelist>
-
-</sect1>
-<sect1 label="21.2" id="Color-models">
-<title>Color models</title>
-
-<indexterm role="cp"><primary>color models</primary></indexterm>
-
-<para>A <firstterm>color model</firstterm> is a way of representing colors.  &latex;’s
-capabilities depend on the printer driver.  However, the <filename>pdftex</filename>,
-<filename>xetex</filename>, and <filename>luatex</filename> printer drivers are today by far the
-most commonly used.  The models below work for those drivers.  All but
-one of these is also supported by essentially all other printer drivers
-used today.
-</para>
-<para>Note that color combination can be additive or subtractive.  Additive
-mixes colors of light, so that for instance combining full intensities
-of red, green, and blue produces white.  Subtractive mixes pigments,
-such as with inks, so that combining full intensity of cyan, magenta,
-and yellow makes black.
-</para>
-<variablelist><anchor id="color-models-cmyk"/><varlistentry><term><literal>cmyk</literal>
-</term><listitem><para>A comma-separated list with four real numbers between 0 and 1,
-inclusive.  The first number is the intensity of cyan, the second is
-magenta, and the others are yellow and black.  A number value of 0 means
-minimal intensity, while a 1 is for full intensity.  This model is often
-used in color printing.  It is a subtractive model.
-</para>
-<anchor id="color-models-gray"/></listitem></varlistentry><varlistentry><term><literal>gray</literal>
-</term><listitem><para>A single real number between 0 and 1, inclusive.  The colors are shades
-of grey.  The number 0 produces black while 1 gives white.
-</para>
-<anchor id="color-models-rgb"/></listitem></varlistentry><varlistentry><term><literal>rgb</literal>
-</term><listitem><para>A comma-separated list with three real numbers between 0 and 1,
-inclusive.  The first number is the intensity of the red component, the
-second is green, and the third the blue.  A number value of 0 means that
-none of that component is added in, while a 1 means full intensity.
-This is an additive model.
-</para>
-<anchor id="color-models-RGB"/></listitem></varlistentry><varlistentry><term><literal>RGB</literal>
-</term><listitem><para>(<filename>pdftex</filename>, <filename>xetex</filename>, <filename>luatex</filename> drivers) A comma-separated
-list with three integers between 0 and 255, inclusive.  This model is a
-convenience for using <literal>rgb</literal> since outside of &latex; colors are
-often described in a red-green-blue model using numbers in this range.
-The values entered here are converted to the <literal>rgb</literal> model by
-dividing by 255.
-</para>
-<anchor id="color-models-named"/></listitem></varlistentry><varlistentry><term><literal>named</literal>
-</term><listitem><para>Colors are accessed by name, such as ‘<literal>PrussianBlue</literal>’.  The list of
-names depends on the driver, but all support the names ‘<literal>black</literal>’,
-‘<literal>blue</literal>’, ‘<literal>cyan</literal>’, ‘<literal>green</literal>’, ‘<literal>magenta</literal>’, ‘<literal>red</literal>’,
-‘<literal>white</literal>’, and ‘<literal>yellow</literal>’ (See the <literal>dvipsnames</literal> option in
-<link linkend="Color-package-options">Color package options</link>).
-</para>
-</listitem></varlistentry></variablelist>
-
-</sect1>
-<sect1 label="21.3" id="Commands-for-color">
-<title>Commands for color</title>
-
-<indexterm role="cp"><primary>color package commands</primary></indexterm>
-
-<para>These are the commands available with the <filename>color</filename> package.
-</para>
-
-
-<sect2 label="21.3.1" id="Define-colors">
-<title>Define colors</title>
-
-<indexterm role="cp"><primary>color</primary></indexterm>
-<indexterm role="cp"><primary>define color</primary></indexterm>
-<indexterm role="cp"><primary>color, define</primary></indexterm>
-
-<para>Synopsis:
-</para>
-<screen>\definecolor{<replaceable>name</replaceable>}{<replaceable>model</replaceable>}{<replaceable>specification</replaceable>}
-</screen>
-<para>Give the name <replaceable>name</replaceable> to the color.  For example, after this
-</para>
-<screen>\definecolor{silver}{rgb}{0.75,0.75,0.74}
-</screen>
-<para>you can use that color name with <literal>Hi ho,
-\textcolor{silver}{Silver}!</literal>.
-</para>
-<para>This example gives the color a more abstract name, so it could change and
-not be misleading.
-</para>
-<screen>\definecolor{logocolor}{RGB}{145,92,131}    % RGB needs pdflatex
-\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
-</screen>
-<para>Often a document’s colors are defined in the preamble, or in the class
-or style, rather than in the document body.
-</para>
-
-</sect2>
-<sect2 label="21.3.2" id="Colored-text">
-<title>Colored text</title>
-
-<indexterm role="cp"><primary>color</primary></indexterm>
-<indexterm role="cp"><primary>colored text</primary></indexterm>
-
-<para>Synopses:
-</para>
-<screen>\textcolor{<replaceable>name</replaceable>}{...}
-\textcolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}{...}
-</screen>
-<para>or
-</para>
-<screen>\color{<replaceable>name</replaceable>}
-\color[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}
-</screen>
-<para>The affected text gets the color.  This line
-</para>
-<screen>\textcolor{magenta}{My name is Ozymandias, King of Kings;}
-Look on my works, ye Mighty, and despair!
-</screen>
-<para>causes the first half to be in magenta while the rest is in black.  You
-can use a color declared with <literal>\definecolor</literal> in exactly the same
-way that we just used the builtin color ‘<literal>magenta</literal>’.
-</para>
-<screen>\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0}
-I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}.
-</screen>
-<para>The two <literal>\textcolor</literal> and <literal>\color</literal> differ in that the first is
-a command form, enclosing the text to be colored as an argument.  Often
-this form is more convenient, or at least more explicit.  The second
-form is a declaration, as in <literal>The moon is made of {\color{green}
-green} cheese</literal>, so it is in effect until the end of the current group
-or environment.  This is sometimes useful when writing macros or as
-below where it colors everything inside the <literal>center</literal> environment,
-including the vertical and horizontal lines.
-</para>
-<screen>\begin{center} \color{blue}
-  \begin{tabular}{l|r}
-    UL &UR \\ \hline
-    LL &LR 
-  \end{tabular}
-\end{center}
-</screen>
-<para>You can use color in equations.  A document might have this definition
-in the preamble
-</para>
-<screen>\definecolor{highlightcolor}{RGB}{225,15,0}
-</screen>
-<para>and then contain this equation.
-</para>
-<screen>\begin{equation}
-  \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a)
-\end{equation}
-</screen>
-<para>Typically the colors used in a document are declared in a class or style
-but sometimes you want a one-off.  Those are the second forms in the
-synopses.
-</para>
-<screen>Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
-{\color[rgb]{0.72,0.60,0.37}Gold} for the team.
-</screen>
-<para>The format of <replaceable>color specification</replaceable> depends on the color model
-(see <link linkend="Color-models">Color models</link>).  For instance, while <literal>rgb</literal> takes three
-numbers, <literal>gray</literal> takes only one.
-</para>
-<screen>The selection was \textcolor[gray]{0.5}{grayed out}.
-</screen>
-<para>Colors inside colors do not combine.  Thus
-</para>
-<screen>\textcolor{green}{kind of \textcolor{blue}{blue}}
-</screen>
-<para>has a final word that is blue, not a combination of blue and green.
-</para>
-<!-- xx address coloring a line of a table? -->
-
-
-</sect2>
-<sect2 label="21.3.3" id="Colored-boxes">
-<title>Colored boxes</title>
-
-<indexterm role="cp"><primary>color</primary></indexterm>
-<indexterm role="cp"><primary>colored boxes</primary></indexterm>
-<indexterm role="cp"><primary>box, colored</primary></indexterm>
-
-<para>Synopses:
-</para>
-<screen>\colorbox{<replaceable>name</replaceable>}{...}
-\colorbox[<replaceable>model name</replaceable>]{<replaceable>box background color</replaceable>}{...}
-</screen>
-<para>or
-</para>
-<screen>\fcolorbox{<replaceable>frame color</replaceable>}{<replaceable>box background color</replaceable>}{...}
-\fcolorbox[<replaceable>model name</replaceable>]{<replaceable>frame color</replaceable>}{<replaceable>box background color</replaceable>}{...}
-</screen>
-<para>Make a box with the stated background color.  The <literal>\fcolorbox</literal>
-command puts a frame around the box.  For instance this
-</para>
-<screen>Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}}
-</screen>
-<para>makes a cyan-colored box that is five centimeters long and gets its
-depth and height from the <literal>\strut</literal> (so the depth is
-<literal>-.3\baselineskip</literal> and the height is <literal>\baselineskip</literal>).  This
-puts white text on a blue background.
-</para>
-<screen>\colorbox{blue}{\textcolor{white}{Welcome to the machine.}}
-</screen>
-<para>The <literal>\fcolorbox</literal> commands use the same parameters as <literal>\fbox</literal>
-(see <link linkend="_005cfbox-_0026-_005cframebox">\fbox & \framebox</link>), <literal>\fboxrule</literal> and <literal>\fboxsep</literal>, to
-set the thickness of the rule and the boundary between the box interior
-and the surrounding rule.  &latex;’s defaults are <literal>0.4pt</literal> and
-<literal>3pt</literal>, respectively.
-</para>
-<para>This example changes the thickness of the border to 0.8 points.  Note
-that it is surrounded by curly braces so that the change ends at the end
-of the second line.
-</para>
-<screen>{\setlength{\fboxrule}{0.8pt}
-\fcolorbox{black}{red}{Under no circumstances turn this knob.}}
-</screen>
-
-</sect2>
-<sect2 label="21.3.4" id="Colored-pages">
-<title>Colored pages</title>
-
-<indexterm role="cp"><primary>color</primary></indexterm>
-<indexterm role="cp"><primary>colored page</primary></indexterm>
-<indexterm role="cp"><primary>page, colored</primary></indexterm>
-<indexterm role="cp"><primary>background, colored</primary></indexterm>
-
-<para>Synopses:
-</para>
-<screen>\pagecolor{<replaceable>name</replaceable>}
-\pagecolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}
-\nopagecolor
-</screen>
-<para>The first two set the background of the page, and all subsequent pages,
-to the color.  For an explanation of the specification in the second
-form see <link linkend="Colored-text">Colored text</link>.  The third returns the background to normal,
-which is a transparent background.  (If that is not supported use
-<literal>\pagecolor{white}</literal>, although that will make a white background
-rather than the default transparent background.)
-</para>
-<screen> ...
-\pagecolor{cyan}
- ...
-\nopagecolor
-</screen>
-
-</sect2>
-</sect1>
-</chapter>
-<chapter label="22" id="Graphics">
+<chapter label="21" id="Graphics">
 <title>Graphics</title>
 
 <indexterm role="cp"><primary>graphics</primary></indexterm>
@@ -15378,7 +15702,7 @@
 </para>
 
 
-<sect1 label="22.1" id="Graphics-package-options">
+<sect1 label="21.1" id="Graphics-package-options">
 <title><literal>graphics</literal> package options</title>
 
 <indexterm role="cp"><primary>graphics package options</primary></indexterm>
@@ -15452,7 +15776,7 @@
 </listitem></varlistentry></variablelist>
 
 </sect1>
-<sect1 label="22.2" id="Graphics-package-configuration">
+<sect1 label="21.2" id="Graphics-package-configuration">
 <title><literal>graphics</literal> package configuration</title>
 
 <indexterm role="cp"><primary>graphics</primary></indexterm>
@@ -15470,7 +15794,7 @@
 </para>
 
 
-<sect2 label="22.2.1" id="_005cgraphicspath">
+<sect2 label="21.2.1" id="_005cgraphicspath">
 <title><literal>\graphicspath</literal></title>
 
 <indexterm role="fn"><primary>\graphicspath</primary></indexterm>
@@ -15541,7 +15865,7 @@
 </para>
 
 </sect2>
-<sect2 label="22.2.2" id="_005cDeclareGraphicsExtensions">
+<sect2 label="21.2.2" id="_005cDeclareGraphicsExtensions">
 <title><literal>\DeclareGraphicsExtensions</literal></title>
 
 <indexterm role="fn"><primary>\DeclareGraphicsExtensions</primary></indexterm>
@@ -15591,7 +15915,7 @@
 </para>
 
 </sect2>
-<sect2 label="22.2.3" id="_005cDeclareGraphicsRule">
+<sect2 label="21.2.3" id="_005cDeclareGraphicsRule">
 <title><literal>\DeclareGraphicsRule</literal></title>
 
 <indexterm role="fn"><primary>\DeclareGraphicsRule</primary></indexterm>
@@ -15667,7 +15991,7 @@
 </listitem></varlistentry></variablelist>
 </sect2>
 </sect1>
-<sect1 label="22.3" id="Commands-for-graphics">
+<sect1 label="21.3" id="Commands-for-graphics">
 <title>Commands for graphics</title>
 
 <indexterm role="cp"><primary>graphics package commands</primary></indexterm>
@@ -15678,7 +16002,7 @@
 </para>
 
 
-<sect2 label="22.3.1" id="_005cincludegraphics">
+<sect2 label="21.3.1" id="_005cincludegraphics">
 <title><literal>\includegraphics</literal></title>
 
 <indexterm role="cp"><primary>graphics</primary></indexterm>
@@ -15990,8 +16314,8 @@
 </listitem></varlistentry></variablelist>
 <para>These following options allow a user to override &latex;’s method of
 choosing the graphic type based on the filename extension.  An example
-is that <literal>\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}</literal>
-will read the file <filename>lion.xxx</filename> as though it were
+is that <literal>\includegraphics[type=png,ext=.xyz,read=.xyz]{lion}</literal>
+will read the file <filename>lion.xyz</filename> as though it were
 <filename>lion.png</filename>. For more on these, see <link linkend="_005cDeclareGraphicsRule">\DeclareGraphicsRule</link>.
 </para>
 <variablelist><anchor id="includegraphics-type"/><varlistentry><term><literal>type</literal>
@@ -16014,7 +16338,7 @@
 </listitem></varlistentry></variablelist>
 
 </sect2>
-<sect2 label="22.3.2" id="_005crotatebox">
+<sect2 label="21.3.2" id="_005crotatebox">
 <title><literal>\rotatebox</literal></title>
 
 <indexterm role="cp"><primary>rotation</primary></indexterm>
@@ -16092,7 +16416,7 @@
 </listitem></varlistentry></variablelist>
 
 </sect2>
-<sect2 label="22.3.3" id="_005cscalebox">
+<sect2 label="21.3.3" id="_005cscalebox">
 <title><literal>\scalebox</literal></title>
 
 <indexterm role="cp"><primary>graphics, scaling</primary></indexterm>
@@ -16135,7 +16459,7 @@
 </para>
 
 </sect2>
-<sect2 label="22.3.4" id="_005cresizebox">
+<sect2 label="21.3.4" id="_005cresizebox">
 <title><literal>\resizebox</literal></title>
 
 <indexterm role="cp"><primary>graphics, scaling</primary></indexterm>
@@ -16176,6 +16500,315 @@
 </sect2>
 </sect1>
 </chapter>
+<chapter label="22" id="Color">
+<title>Color</title>
+
+<indexterm role="cp"><primary>color</primary></indexterm>
+
+<para>You can add color to text, rules, etc.  You can also have color in a box
+or on an entire page and write text on top of it.
+</para>
+<para>Color support comes as an additional package.  So put
+<literal>\usepackage{color}</literal> in your document preamble to use the
+commands described here.
+</para>
+<para>Many other packages also supplement &latex;’s color abilities.
+Particularly worth mentioning is <filename>xcolor</filename>, which is widely used and
+significantly extends the capabilities described here, including adding
+‘<literal>HTML</literal>’ and ‘<literal>Hsb</literal>’ color models.
+</para>
+
+
+<sect1 label="22.1" id="Color-package-options">
+<title><literal>color</literal> package options</title>
+
+<indexterm role="cp"><primary>color package options</primary></indexterm>
+<indexterm role="cp"><primary>options, color package</primary></indexterm>
+
+<para>Synopsis (must be in the document preamble):
+</para>
+<screen>\usepackage[<replaceable>comma-separated option list</replaceable>]{color}
+</screen>
+<para>When you load the <filename>color</filename> package there are two kinds of available
+options.
+</para>
+<para>The first specifies the <firstterm>printer driver</firstterm>.  &latex; doesn’t contain
+information about different output systems but instead depends on
+information stored in a file.  Normally you should not specify the
+driver option in the document, and instead rely on your system’s
+default. One advantage of this is that it makes the document portable
+across systems.  For completeness we include a list of the drivers.  The
+currently relevant ones are: <filename>dvipdfmx</filename>, <filename>dvips</filename>,
+<filename>dvisvgm</filename>, <filename>luatex</filename>, <filename>pdftex</filename>, <filename>xetex</filename>.  The two
+<filename>xdvi</filename> and <filename>oztex</filename> are essentially aliases for <filename>dvips</filename>
+(and <filename>xdvi</filename> is monochrome).  Ones that should not be used for new
+systems are: <filename>dvipdf</filename>, <filename>dvipdfm</filename>, <filename>dviwin</filename>,
+<filename>dvipsone</filename>, <filename>emtex</filename>, <filename>pctexps</filename>, <filename>pctexwin</filename>,
+<filename>pctexhp</filename>, <filename>pctex32</filename>, <filename>truetex</filename>, <filename>tcidvi</filename>,
+<filename>vtex</filename> (and <filename>dviwindo</filename> is an alias for <filename>dvipsone</filename>).
+</para>
+<para>The second kind of options, beyond the drivers, are below.
+</para>
+<variablelist><varlistentry><term><literal>monochrome</literal>
+</term><listitem><para>Disable the color commands, so that they do not generate errors but do
+not generate color either.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>dvipsnames</literal>
+</term><listitem><para>Make available a list of 68 color names that are often used,
+particularly in legacy documents.  These color names were originally
+provided by the <filename>dvips</filename> driver, giving the option name.
+</para>
+</listitem></varlistentry><varlistentry><term><literal>nodvipsnames</literal>
+</term><listitem><para>Do not load that list of color names, saving &latex; a tiny amount of
+memory space.
+</para>
+</listitem></varlistentry></variablelist>
+
+</sect1>
+<sect1 label="22.2" id="Color-models">
+<title>Color models</title>
+
+<indexterm role="cp"><primary>color models</primary></indexterm>
+
+<para>A <firstterm>color model</firstterm> is a way of representing colors.  &latex;’s
+capabilities depend on the printer driver.  However, the <filename>pdftex</filename>,
+<filename>xetex</filename>, and <filename>luatex</filename> printer drivers are today by far the
+most commonly used.  The models below work for those drivers.  All but
+one of these is also supported by essentially all other printer drivers
+used today.
+</para>
+<para>Note that color combination can be additive or subtractive.  Additive
+mixes colors of light, so that for instance combining full intensities
+of red, green, and blue produces white.  Subtractive mixes pigments,
+such as with inks, so that combining full intensity of cyan, magenta,
+and yellow makes black.
+</para>
+<variablelist><anchor id="color-models-cmyk"/><varlistentry><term><literal>cmyk</literal>
+</term><listitem><para>A comma-separated list with four real numbers between 0 and 1,
+inclusive.  The first number is the intensity of cyan, the second is
+magenta, and the others are yellow and black.  A number value of 0 means
+minimal intensity, while a 1 is for full intensity.  This model is often
+used in color printing.  It is a subtractive model.
+</para>
+<anchor id="color-models-gray"/></listitem></varlistentry><varlistentry><term><literal>gray</literal>
+</term><listitem><para>A single real number between 0 and 1, inclusive.  The colors are shades
+of grey.  The number 0 produces black while 1 gives white.
+</para>
+<anchor id="color-models-rgb"/></listitem></varlistentry><varlistentry><term><literal>rgb</literal>
+</term><listitem><para>A comma-separated list with three real numbers between 0 and 1,
+inclusive.  The first number is the intensity of the red component, the
+second is green, and the third the blue.  A number value of 0 means that
+none of that component is added in, while a 1 means full intensity.
+This is an additive model.
+</para>
+<anchor id="color-models-RGB"/></listitem></varlistentry><varlistentry><term><literal>RGB</literal>
+</term><listitem><para>(<filename>pdftex</filename>, <filename>xetex</filename>, <filename>luatex</filename> drivers) A comma-separated
+list with three integers between 0 and 255, inclusive.  This model is a
+convenience for using <literal>rgb</literal> since outside of &latex; colors are
+often described in a red-green-blue model using numbers in this range.
+The values entered here are converted to the <literal>rgb</literal> model by
+dividing by 255.
+</para>
+<anchor id="color-models-named"/></listitem></varlistentry><varlistentry><term><literal>named</literal>
+</term><listitem><para>Colors are accessed by name, such as ‘<literal>PrussianBlue</literal>’.  The list of
+names depends on the driver, but all support the names ‘<literal>black</literal>’,
+‘<literal>blue</literal>’, ‘<literal>cyan</literal>’, ‘<literal>green</literal>’, ‘<literal>magenta</literal>’, ‘<literal>red</literal>’,
+‘<literal>white</literal>’, and ‘<literal>yellow</literal>’ (See the <literal>dvipsnames</literal> option in
+<link linkend="Color-package-options">Color package options</link>).
+</para>
+</listitem></varlistentry></variablelist>
+
+</sect1>
+<sect1 label="22.3" id="Commands-for-color">
+<title>Commands for color</title>
+
+<indexterm role="cp"><primary>color package commands</primary></indexterm>
+
+<para>These are the commands available with the <filename>color</filename> package.
+</para>
+
+
+<sect2 label="22.3.1" id="Define-colors">
+<title>Define colors</title>
+
+<indexterm role="cp"><primary>color</primary></indexterm>
+<indexterm role="cp"><primary>define color</primary></indexterm>
+<indexterm role="cp"><primary>color, define</primary></indexterm>
+
+<para>Synopsis:
+</para>
+<screen>\definecolor{<replaceable>name</replaceable>}{<replaceable>model</replaceable>}{<replaceable>specification</replaceable>}
+</screen>
+<para>Give the name <replaceable>name</replaceable> to the color.  For example, after this
+</para>
+<screen>\definecolor{silver}{rgb}{0.75,0.75,0.74}
+</screen>
+<para>you can use that color name with <literal>Hi ho,
+\textcolor{silver}{Silver}!</literal>.
+</para>
+<para>This example gives the color a more abstract name, so it could change and
+not be misleading.
+</para>
+<screen>\definecolor{logocolor}{RGB}{145,92,131}    % RGB needs pdflatex
+\newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
+</screen>
+<para>Often a document’s colors are defined in the preamble, or in the class
+or style, rather than in the document body.
+</para>
+
+</sect2>
+<sect2 label="22.3.2" id="Colored-text">
+<title>Colored text</title>
+
+<indexterm role="cp"><primary>color</primary></indexterm>
+<indexterm role="cp"><primary>colored text</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\textcolor{<replaceable>name</replaceable>}{...}
+\textcolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}{...}
+</screen>
+<para>or
+</para>
+<screen>\color{<replaceable>name</replaceable>}
+\color[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}
+</screen>
+<para>The affected text gets the color.  This line
+</para>
+<screen>\textcolor{magenta}{My name is Ozymandias, King of Kings;}
+Look on my works, ye Mighty, and despair!
+</screen>
+<para>causes the first half to be in magenta while the rest is in black.  You
+can use a color declared with <literal>\definecolor</literal> in exactly the same
+way that we just used the builtin color ‘<literal>magenta</literal>’.
+</para>
+<screen>\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0}
+I'm thinking about getting a \textcolor{MidlifeCrisisRed}{sports car}.
+</screen>
+<para>The two <literal>\textcolor</literal> and <literal>\color</literal> differ in that the first is
+a command form, enclosing the text to be colored as an argument.  Often
+this form is more convenient, or at least more explicit.  The second
+form is a declaration, as in <literal>The moon is made of {\color{green}
+green} cheese</literal>, so it is in effect until the end of the current group
+or environment.  This is sometimes useful when writing macros or as
+below where it colors everything inside the <literal>center</literal> environment,
+including the vertical and horizontal lines.
+</para>
+<screen>\begin{center} \color{blue}
+  \begin{tabular}{l|r}
+    UL &UR \\ \hline
+    LL &LR 
+  \end{tabular}
+\end{center}
+</screen>
+<para>You can use color in equations.  A document might have this definition
+in the preamble
+</para>
+<screen>\definecolor{highlightcolor}{RGB}{225,15,0}
+</screen>
+<para>and then contain this equation.
+</para>
+<screen>\begin{equation}
+  \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a)
+\end{equation}
+</screen>
+<para>Typically the colors used in a document are declared in a class or style
+but sometimes you want a one-off.  Those are the second forms in the
+synopses.
+</para>
+<screen>Colors of \textcolor[rgb]{0.33,0.14,0.47}{Purple} and
+{\color[rgb]{0.72,0.60,0.37}Gold} for the team.
+</screen>
+<para>The format of <replaceable>color specification</replaceable> depends on the color model
+(see <link linkend="Color-models">Color models</link>).  For instance, while <literal>rgb</literal> takes three
+numbers, <literal>gray</literal> takes only one.
+</para>
+<screen>The selection was \textcolor[gray]{0.5}{grayed out}.
+</screen>
+<para>Colors inside colors do not combine.  Thus
+</para>
+<screen>\textcolor{green}{kind of \textcolor{blue}{blue}}
+</screen>
+<para>has a final word that is blue, not a combination of blue and green.
+</para>
+<!-- xx address coloring a line of a table? -->
+
+
+</sect2>
+<sect2 label="22.3.3" id="Colored-boxes">
+<title>Colored boxes</title>
+
+<indexterm role="cp"><primary>color</primary></indexterm>
+<indexterm role="cp"><primary>colored boxes</primary></indexterm>
+<indexterm role="cp"><primary>box, colored</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\colorbox{<replaceable>name</replaceable>}{...}
+\colorbox[<replaceable>model name</replaceable>]{<replaceable>box background color</replaceable>}{...}
+</screen>
+<para>or
+</para>
+<screen>\fcolorbox{<replaceable>frame color</replaceable>}{<replaceable>box background color</replaceable>}{...}
+\fcolorbox[<replaceable>model name</replaceable>]{<replaceable>frame color</replaceable>}{<replaceable>box background color</replaceable>}{...}
+</screen>
+<para>Make a box with the stated background color.  The <literal>\fcolorbox</literal>
+command puts a frame around the box.  For instance this
+</para>
+<screen>Name:~\colorbox{cyan}{\makebox[5cm][l]{\strut}}
+</screen>
+<para>makes a cyan-colored box that is five centimeters long and gets its
+depth and height from the <literal>\strut</literal> (so the depth is
+<literal>-.3\baselineskip</literal> and the height is <literal>\baselineskip</literal>).  This
+puts white text on a blue background.
+</para>
+<screen>\colorbox{blue}{\textcolor{white}{Welcome to the machine.}}
+</screen>
+<para>The <literal>\fcolorbox</literal> commands use the same parameters as <literal>\fbox</literal>
+(see <link linkend="_005cfbox-_0026-_005cframebox">\fbox & \framebox</link>), <literal>\fboxrule</literal> and <literal>\fboxsep</literal>, to
+set the thickness of the rule and the boundary between the box interior
+and the surrounding rule.  &latex;’s defaults are <literal>0.4pt</literal> and
+<literal>3pt</literal>, respectively.
+</para>
+<para>This example changes the thickness of the border to 0.8 points.  Note
+that it is surrounded by curly braces so that the change ends at the end
+of the second line.
+</para>
+<screen>{\setlength{\fboxrule}{0.8pt}
+\fcolorbox{black}{red}{Under no circumstances turn this knob.}}
+</screen>
+
+</sect2>
+<sect2 label="22.3.4" id="Colored-pages">
+<title>Colored pages</title>
+
+<indexterm role="cp"><primary>color</primary></indexterm>
+<indexterm role="cp"><primary>colored page</primary></indexterm>
+<indexterm role="cp"><primary>page, colored</primary></indexterm>
+<indexterm role="cp"><primary>background, colored</primary></indexterm>
+
+<para>Synopses:
+</para>
+<screen>\pagecolor{<replaceable>name</replaceable>}
+\pagecolor[<replaceable>color model</replaceable>]{<replaceable>color specification</replaceable>}
+\nopagecolor
+</screen>
+<para>The first two set the background of the page, and all subsequent pages,
+to the color.  For an explanation of the specification in the second
+form see <link linkend="Colored-text">Colored text</link>.  The third returns the background to normal,
+which is a transparent background.  (If that is not supported use
+<literal>\pagecolor{white}</literal>, although that will make a white background
+rather than the default transparent background.)
+</para>
+<screen> ...
+\pagecolor{cyan}
+ ...
+\nopagecolor
+</screen>
+
+</sect2>
+</sect1>
+</chapter>
 <chapter label="23" id="Special-insertions">
 <title>Special insertions</title>
 
@@ -16187,20 +16820,22 @@
 </para>
 
 
-<sect1 label="23.1" id="Reserved-characters">
-<title>Reserved characters</title>
+<sect1 label="23.1" id="Printing-special-characters">
+<title>Printing special characters</title>
 
-<indexterm role="cp"><primary>reserved characters</primary></indexterm>
-<indexterm role="cp"><primary>characters, reserved</primary></indexterm>
-<indexterm role="cp"><primary>special characters</primary></indexterm>
-<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>. They are
-all discussed elsewhere in this manual.
+<indexterm role="cp"><primary>reserved characters, printing</primary></indexterm>
+<indexterm role="cp"><primary>special characters, printing</primary></indexterm>
+<indexterm role="cp"><primary>printing special characters</primary></indexterm>
+<indexterm role="cp"><primary>escaping special characters</primary></indexterm>
+
+<para>&latex; sets aside a few characters for special purposes; they are
+called reserved characters or special characters. Here they are:
 </para>
 <screen># $ % & { } _ ~ ^ \ 
 </screen>
+<para>The meaning of all the special characters is given elsewhere
+in this manual (see <link linkend="Reserved-characters">Reserved characters</link>).
+</para>
 <indexterm role="fn"><primary>\#</primary></indexterm>
 <indexterm role="fn"><primary>\$</primary></indexterm>
 <indexterm role="fn"><primary>\%</primary></indexterm>
@@ -16210,8 +16845,8 @@
 <indexterm role="fn"><primary>\}</primary></indexterm>
 <para>If you want a reserved character to be printed as itself, in the text
 body font, for all but the final three characters in that list simply
-put a backslash <literal>\</literal> in front of the character.  Thus,
-typing <literal>\$1.23</literal> will produce <literal>$1.23</literal> in your output.
+put a <literal>\</literal> in front of the character.  Thus, typing <literal>\$1.23</literal>
+will produce <literal>$1.23</literal> in your output.
 </para>
 <indexterm role="fn"><primary>\~</primary></indexterm>
 <indexterm role="fn"><primary>\^</primary></indexterm>
@@ -16222,12 +16857,12 @@
 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> in the
-example is only there to split the lines in the output).
+<para>To produce the reserved characters in a typewriter font, use
+<literal>\verb!!</literal> as below (the <literal>\newline</literal> in the example is there
+only to split the lines in the output).
 </para>
 <screen>\begin{center}
-  \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\
+  \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \newline
   \verb!# $ % & { } _ ~ ^ \!
 \end{center}
 </screen>
@@ -16276,7 +16911,7 @@
 </para>
 <screen>\newcommand{\schoolname}{College of Mathematics}
 \newcommand{\Schoolname}{\expandafter\MakeUppercase
-                           <!-- /@w -->\expandafter{\schoolname}}
+&#160;<!-- /@w -->\expandafter{\schoolname}}
 </screen>
 <indexterm role="cp"><primary>package, <literal>textcase</literal></primary></indexterm>
 <indexterm role="cp"><primary><literal>textcase</literal> package</primary></indexterm>
@@ -16366,7 +17001,9 @@
 <indexterm role="cp"><primary>logo, &latex;2e</primary></indexterm>
 <para>The &latex;2e logo.
 </para>
-</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\guillemotleft («)</primary></indexterm><literal>\guillemotleft («)</literal>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\guillemetleft («)</primary></indexterm><literal>\guillemetleft («)</literal>
+</term><term><indexterm role="fn"><primary>\guillemetright (»)</primary></indexterm><literal>\guillemetright (»)</literal>
+</term><term><indexterm role="fn"><primary>\guillemotleft («)</primary></indexterm><literal>\guillemotleft («)</literal>
 </term><term><indexterm role="fn"><primary>\guillemotright (»)</primary></indexterm><literal>\guillemotright (»)</literal>
 </term><term><indexterm role="fn"><primary>\guilsinglleft (‹)</primary></indexterm><literal>\guilsinglleft (‹)</literal>
 </term><term><indexterm role="fn"><primary>\guilsinglright (›)</primary></indexterm><literal>\guilsinglright (›)</literal>
@@ -16378,8 +17015,12 @@
 <indexterm role="cp"><primary>single angle quotation marks</primary></indexterm>
 <indexterm role="cp"><primary>French quotation marks</primary></indexterm>
 <indexterm role="cp"><primary>quotation marks, French</primary></indexterm>
+<indexterm role="cp"><primary>guillemots, birds</primary></indexterm>
 <para>«, », ‹, ›
 Double and single angle quotation marks, commonly used in French.
+The commands <literal>@guillemotleft</literal> and <literal>@guillemotright</literal> are
+synonyms for <literal>@guillemet...</literal>; these are misspellings inherited
+from Adobe. (Guillemots are seabirds; guillemets are French quotes.)
 </para>
 </listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>\ldots</primary></indexterm><literal>\ldots</literal>
 </term><term><indexterm role="fn"><primary>\textellipsis</primary></indexterm><literal>\textellipsis</literal>
@@ -16997,58 +17638,57 @@
 </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>Declare the input file’s text encoding to be <replaceable>encoding-name</replaceable>. (For
+basic background, see <link linkend="Input-encodings">Input encodings</link>). 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 ‘<literal>ä</literal>’ 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>The <literal>inputenc</literal> package tells &latex; 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>
-<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>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>, <literal>utf8</literal>.
+</para>
 <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>.
+(see <link linkend="TeX-engines">&tex; engines</link>); with <command>xelatex</command> or
+<command>lualatex</command>, declaring a non-UTF-8 encoding with
+<literal>inputenc</literal>, such as <literal>latin1</literal>, 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.
+document that uses a different encoding than the input file. The
+simplest solution is often to replace the non-UTF-8 character with a
+UTF-8 or &latex; equivalent.
 </para>
+<indexterm role="cp"><primary>package, <literal>luainputenc</literal></primary></indexterm>
+<indexterm role="cp"><primary><literal>luainputenc</literal> package</primary></indexterm>
+
+<indexterm role="fn"><primary>\XeTeXinputencoding</primary></indexterm>
+<indexterm role="fn"><primary>\XeTeXdefaultencoding</primary></indexterm>
+<para>If you need to process a non-UTF-8 document with Lua&tex;, you can
+use the <literal>luainputenc</literal> package
+(<ulink url="https://ctan.org/pkg/luainputenc">https://ctan.org/pkg/luainputenc</ulink>). With Xe&tex;, the
+<literal>\XeTeXinputencoding</literal> and <literal>\XeTeXdefaultencoding</literal> primitives
+can be used (for an explanation and examples, see
+<ulink url="https://tex.stackexchange.com/questions/324948">https://tex.stackexchange.com/questions/324948</ulink>).
+</para>
+<indexterm role="pg"><primary>recode to change character encoding</primary></indexterm>
+<indexterm role="pg"><primary>iconv to change character encoding</primary></indexterm>
+<para>It’s also possible to re-encode a document from an 8-bit encoding to
+UTF-8 outside of &tex;, using system utilities. For example,
+‘<literal>recode latin1..utf8</literal>’ or ‘<literal>iconv -f latin1 -t utf8</literal>’.
+</para>
 <indexterm role="fn"><primary>\inputencoding</primary></indexterm>
-<anchor id="_005cinputencoding"/><para>In some documents, such as a collection of journal articles from a
+<anchor id="_005cinputencoding"/><para>In a few 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>.
+necessary.  You can use the command
+<literal>\inputencoding{<replaceable>encoding-name</replaceable>}</literal> for this.
 </para>
 
 </sect1>
@@ -19519,18 +20159,18 @@
 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>
+<variablelist><varlistentry><term><indexterm role="fn"><primary>--version command-line option</primary></indexterm>
+<literal>-version</literal>
 </term><listitem><para>Show the current version, like ‘<literal>pdfTeX 3.14159265-2.6-1.40.16 (TeX
 Live 2015/Debian)</literal>’ along with a small amount of additional information,
 and exit.
 </para>
-<indexterm role="fn"><primary>--help command-line option</primary></indexterm>
-</listitem></varlistentry><varlistentry><term><literal>-help</literal>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>--help command-line option</primary></indexterm>
+<literal>-help</literal>
 </term><listitem><para>Give a brief usage message that is useful as a prompt and exit.
 </para>
-<anchor id="interaction-modes"/><indexterm role="fn"><primary>--interaction command-line option</primary></indexterm>
-</listitem></varlistentry><varlistentry><term><literal>-interaction=<replaceable>mode</replaceable></literal>
+<anchor id="interaction-modes"/></listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>--interaction command-line option</primary></indexterm>
+<literal>-interaction=<replaceable>mode</replaceable></literal>
 </term><listitem><indexterm role="cp"><primary>batchmode</primary></indexterm>
 <indexterm role="cp"><primary>scrollmode</primary></indexterm>
 <indexterm role="cp"><primary>errorstopmode</primary></indexterm>
@@ -19552,17 +20192,17 @@
 </screen>
 <para>eliminates most terminal output.
 </para>
-<indexterm role="cp"><primary>jobname</primary></indexterm>
+</listitem></varlistentry><varlistentry><term><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>
+<literal>-jobname=<replaceable>string</replaceable></literal>
 </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>.  see <link linkend="Jobname">Jobname</link>.
 </para>
-<anchor id="output-directory"/><indexterm role="cp"><primary>output directory for all external files</primary></indexterm>
+<anchor id="output-directory"/></listitem></varlistentry><varlistentry><term><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>
+<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>,
@@ -19575,13 +20215,13 @@
 directory (in which &latex; was run) remains unchanged, and is also
 checked for input files.
 </para>
-<indexterm role="cp"><primary>shell escape</primary></indexterm>
+</listitem></varlistentry><varlistentry><term><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>
-</listitem></varlistentry><varlistentry><term><literal>--enable-write18</literal>
+<literal>--enable-write18</literal>
 </term><term><literal>--disable-write18</literal>
 </term><term><literal>--shell-escape</literal>
 </term><term><literal>--no-shell-escape</literal>
@@ -19601,13 +20241,13 @@
 <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>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>--halt-on-error command-line option</primary></indexterm>
+<literal>-halt-on-error</literal>
 </term><listitem><para>Stop processing at the first error.
 </para>
-<indexterm role="fn"><primary>--file-line-error command-line option</primary></indexterm>
+</listitem></varlistentry><varlistentry><term><indexterm role="fn"><primary>--file-line-error command-line option</primary></indexterm>
 <indexterm role="fn"><primary>--no-file-line-error command-line option</primary></indexterm>
-</listitem></varlistentry><varlistentry><term><literal>-file-line-error</literal>
+<literal>-file-line-error</literal>
 </term></varlistentry><varlistentry><term><literal>-no-file-line-error</literal>
 </term><listitem><para>Enable or disable <literal><replaceable>filename</replaceable>:<replaceable>lineno</replaceable>:<replaceable>error</replaceable></literal>-style
 error messages.  These are only available with &tex; Live or Mac&tex;.
@@ -19664,7 +20304,7 @@
 </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. (see <link linkend="Jobname">Jobname</link>.)
+first (see <link linkend="Jobname">Jobname</link>).
 </para>
 <para>In this example we use the command line to select which parts of a
 document to include.  For a book named <filename>mybook.tex</filename> and structured
@@ -19706,19 +20346,20 @@
 </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. This file is referred to as the <firstterm>root
-file</firstterm> (see <link linkend="Splitting-the-input">Splitting the input</link>, and <link linkend="_005cinput">\input</link>). The name of
-that root file, without the <filename>.tex</filename> extension if any, 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>.
+<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. This file is referred
+to as the <firstterm>root file</firstterm> (see <link linkend="Splitting-the-input">Splitting the input</link>, and
+<link linkend="_005cinput">\input</link>). The name of that root file, without the <filename>.tex</filename>
+extension if any, 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).
+-jobname=myname</literal> (see <link linkend="Command-line-input">Command line input</link> for a practical example).
 </para>
 <indexterm role="fn"><primary>texput, jobname default</primary></indexterm>
 <indexterm role="cp"><primary>fallback jobname</primary></indexterm>

Modified: trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html	2024-05-12 23:41:46 UTC (rev 71251)
+++ trunk/Master/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.html	2024-05-13 19:50:52 UTC (rev 71252)
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
 <html>
-<!-- Created by GNU Texinfo 7.0.1, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This document is an unofficial reference manual for LaTeX, a
-document preparation system, version of January 2023.
+document preparation system, version of May 2024.
 
 This manual was originally translated from LATEX.HLP v1.0a in the
 VMS Help Library.  The pre-translation version was written by
@@ -39,10 +39,10 @@
 
 Permission is granted to copy and distribute translations of this manual
 into another language, under the above conditions for modified versions. -->
-<title>LaTeX2e unofficial reference manual (January 2023)</title>
+<title>LaTeX2e unofficial reference manual (May 2024)</title>
 
-<meta name="description" content="LaTeX2e unofficial reference manual (January 2023)">
-<meta name="keywords" content="LaTeX2e unofficial reference manual (January 2023)">
+<meta name="description" content="LaTeX2e unofficial reference manual (May 2024)">
+<meta name="keywords" content="LaTeX2e unofficial reference manual (May 2024)">
 <meta name="resource-type" content="document">
 <meta name="distribution" content="global">
 <meta name="Generator" content="makeinfo">
@@ -66,12 +66,11 @@
 kbd.kbd {font-style: oblique}
 kbd.key {font-style: normal}
 span.r {font-family: initial; font-weight: normal; font-style: normal}
-span.w-nolinebreak-text {white-space: nowrap}
 span:hover a.copiable-link {visibility: visible}
 td.printindex-index-entry {vertical-align: top}
-td.printindex-index-section {vertical-align: top}
+td.printindex-index-section {vertical-align: top; padding-left: 1em}
 th.entries-header-printindex {text-align:left}
-th.sections-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left; padding-left: 1em}
 ul.mark-bullet {list-style-type: disc}
 ul.toc-numbered-mark {list-style: none}
 BODY {
@@ -109,31 +108,36 @@
 
 
 
+
+
+
+
 <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>
+href="https://www.learnlatex.org/"><code>learnlatex.org</code></a> or
+see <a href='https://ctan.org/topic/tut-latex'>this long list</a>.</p>
 
 <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>.  Note that
-there is also a separately-maintained <a
-href="https://latexref.xyz/fr/">French edition</a>.</p>
+a <a href="https://latexref.xyz/dev/latex2e.pdf">pdf</a>.
+Translations to French and Spanish are available at
+<a class="url" href="https://ctan.org/pkg/latex2e-help-texinfo">https://ctan.org/pkg/latex2e-help-texinfo</a>; they're maintained
+separately.
 
 <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 -->
+LaTeX maintainers.  Our ultimate 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 -->
 
 
 
@@ -144,12 +148,50 @@
 <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>
-<h1 class="top" id="LaTeX2e_003a-An-unofficial-reference-manual">LaTeX2e: An unofficial reference manual</h1>
+<h1 class="top" id="LaTeX2e_003a-An-unofficial-reference-manual"><span>LaTeX2e: An unofficial reference manual<a class="copiable-link" href="#LaTeX2e_003a-An-unofficial-reference-manual"> ¶</a></span></h1>
 
 <p>This document is an unofficial reference manual (version of
-January 2023) for LaTeX2e, a document preparation system.
+May 2024) for LaTeX2e, a document preparation system.
 </p>
 
+<div class="element-shortcontents" id="SEC_Shortcontents">
+<h2 class="shortcontents-heading">Short Table of Contents</h2>
+
+<div class="shortcontents">
+<ul class="toc-numbered-mark">
+<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-Graphics-1" href="#toc-Graphics-1">21 Graphics</a></li>
+<li><a id="stoc-Color-1" href="#toc-Color-1">22 Color</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>
+</div>
 <div class="element-contents" id="SEC_Contents">
 <h2 class="contents-heading">Table of Contents</h2>
 
@@ -162,18 +204,24 @@
     <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>
+    <li><a id="toc-Input-text-1" href="#Input-text">2.4 Input text</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Input-encodings-1" href="#Input-encodings">2.4.1 Input encodings</a></li>
+      <li><a id="toc-Ligatures-1" href="#Ligatures">2.4.2 Ligatures</a></li>
+      <li><a id="toc-Special-characters_003a-_005c-_007b-_007d-_0025-_0024-_0026-_005f-_005e-_0023-_007e" href="#Special-characters">2.4.3 Special characters: <code class="code">\ { } % $ & _ ^ # ~</code></a></li>
+    </ul></li>
+    <li><a id="toc-LaTeX-command-syntax-1" href="#LaTeX-command-syntax">2.5 LaTeX command syntax</a></li>
+    <li><a id="toc-Environment-syntax-1" href="#Environment-syntax">2.6 Environment syntax</a></li>
+    <li><a id="toc-_005cDocumentMetadata_003a-Producing-tagged-PDF-output" href="#g_t_005cDocumentMetadata">2.7 <code class="code">\DocumentMetadata</code>: Producing tagged PDF output</a></li>
+    <li><a id="toc-CTAN_003a-The-Comprehensive-TeX-Archive-Network" href="#CTAN">2.8 CTAN: The Comprehensive TeX Archive Network</a></li>
   </ul></li>
   <li><a id="toc-Document-classes-1" href="#Document-classes">3 Document classes</a>
   <ul class="toc-numbered-mark">
     <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>
+    <li><a id="toc-_005cusepackage_003a-Additional-packages" href="#g_t_005cusepackage">3.2 <code class="code">\usepackage</code>: Additional packages</a></li>
+    <li><a id="toc-Class-and-package-creation-1" href="#Class-and-package-creation">3.3 Class and package creation</a>
     <ul class="toc-numbered-mark">
       <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 id="toc-Fonts-1" href="#Fonts">4 Fonts</a>
@@ -218,7 +266,7 @@
     <li><a id="toc-_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph" href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph">6.5 <code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code></a></li>
     <li><a id="toc-_005cappendix-1" href="#g_t_005cappendix">6.6 <code class="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 class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code></a></li>
-    <li><a id="toc-_005c_0040startsection_002c-typesetting-sectional-unit-headings" href="#g_t_005c_0040startsection">6.8 <code class="code">\@startsection</code>, typesetting sectional unit headings</a></li>
+    <li><a id="toc-_005c_0040startsection_003a-Typesetting-sectional-unit-headings" href="#g_t_005c_0040startsection">6.8 <code class="code">\@startsection</code>: Typesetting sectional unit headings</a></li>
   </ul></li>
   <li><a id="toc-Cross-references-1" href="#Cross-references">7 Cross references</a>
   <ul class="toc-numbered-mark">
@@ -317,13 +365,14 @@
     <li><a id="toc-_005cobeycr-_0026-_005crestorecr-1" href="#g_t_005cobeycr-_0026-_005crestorecr">9.2 <code class="code">\obeycr</code> & <code class="code">\restorecr</code></a></li>
     <li><a id="toc-_005cnewline-1" href="#g_t_005cnewline">9.3 <code class="code">\newline</code></a></li>
     <li><a id="toc-_005c_002d-_0028discretionary-hyphen_0029" href="#g_t_005c_002d-_0028hyphenation_0029">9.4 <code class="code">\-</code> (discretionary hyphen)</a></li>
-    <li><a id="toc-_005cdiscretionary-_0028generalized-hyphenation-point_0029" href="#g_t_005cdiscretionary">9.5 <code class="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 class="code">\fussy</code> & <code class="code">\sloppy</code></a>
+    <li><a id="toc-_005cslash_003a-breakable-_002f" href="#g_t_005cslash">9.5 <code class="code">\slash</code>: breakable ‘<samp class="samp">/</samp>’</a></li>
+    <li><a id="toc-_005cdiscretionary-_0028generalized-hyphenation-point_0029" href="#g_t_005cdiscretionary">9.6 <code class="code">\discretionary</code> (generalized hyphenation point)</a></li>
+    <li><a id="toc-_005cfussy-_0026-_005csloppy-1" href="#g_t_005cfussy-_0026-_005csloppy">9.7 <code class="code">\fussy</code> & <code class="code">\sloppy</code></a>
     <ul class="toc-numbered-mark">
-      <li><a id="toc-sloppypar-1" href="#sloppypar">9.6.1 <code class="code">sloppypar</code></a></li>
+      <li><a id="toc-sloppypar-1" href="#sloppypar">9.7.1 <code class="code">sloppypar</code></a></li>
     </ul></li>
-    <li><a id="toc-_005chyphenation-1" href="#g_t_005chyphenation">9.7 <code class="code">\hyphenation</code></a></li>
-    <li><a id="toc-_005clinebreak-_0026-_005cnolinebreak-1" href="#g_t_005clinebreak-_0026-_005cnolinebreak">9.8 <code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></a></li>
+    <li><a id="toc-_005chyphenation-1" href="#g_t_005chyphenation">9.8 <code class="code">\hyphenation</code></a></li>
+    <li><a id="toc-_005clinebreak-_0026-_005cnolinebreak-1" href="#g_t_005clinebreak-_0026-_005cnolinebreak">9.9 <code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></a></li>
   </ul></li>
   <li><a id="toc-Page-breaking-1" href="#Page-breaking">10 Page breaking</a>
   <ul class="toc-numbered-mark">
@@ -358,7 +407,27 @@
     <li><a id="toc-_005cnewfont-1" href="#g_t_005cnewfont">12.10 <code class="code">\newfont</code></a></li>
     <li><a id="toc-_005cprotect-1" href="#g_t_005cprotect">12.11 <code class="code">\protect</code></a></li>
     <li><a id="toc-_005cignorespaces-_0026-_005cignorespacesafterend-1" href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">12.12 <code class="code">\ignorespaces & \ignorespacesafterend</code></a></li>
-    <li><a id="toc-xspace-package-1" href="#xspace-package">12.13 xspace package</a></li>
+    <li><a id="toc-xspace-package-1" href="#xspace-package">12.13 <code class="code">xspace</code> package</a></li>
+    <li><a id="toc-Class-and-package-commands-1" href="#Class-and-package-commands">12.14 Class and package commands</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-_005cAtBeginDvi-_0026-_005cAtEndDvi-1" href="#g_t_005cAtBeginDvi-_0026-_005cAtEndDvi">12.14.1 <code class="code">\AtBeginDvi</code> & <code class="code">\AtEndDvi</code></a></li>
+      <li><a id="toc-_005cAtEndOfClass-_0026-_005cAtEndOfPackage-1" href="#g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage">12.14.2 <code class="code">\AtEndOfClass</code> & <code class="code">\AtEndOfPackage</code></a></li>
+      <li><a id="toc-_005cCheckCommand-1" href="#g_t_005cCheckCommand">12.14.3 <code class="code">\CheckCommand</code></a></li>
+      <li><a id="toc-_005cClassError-and-_005cPackageError-and-others-1" href="#g_t_005cClassError-and-_005cPackageError-and-others">12.14.4 <code class="code">\ClassError</code> and <code class="code">\PackageError</code> and others</a></li>
+      <li><a id="toc-_005cCurrentOption-1" href="#g_t_005cCurrentOption">12.14.5 <code class="code">\CurrentOption</code></a></li>
+      <li><a id="toc-_005cDeclareOption-1" href="#g_t_005cDeclareOption">12.14.6 <code class="code">\DeclareOption</code></a></li>
+      <li><a id="toc-_005cDeclareRobustCommand-1" href="#g_t_005cDeclareRobustCommand">12.14.7 <code class="code">\DeclareRobustCommand</code></a></li>
+      <li><a id="toc-_005cExecuteOptions-1" href="#g_t_005cExecuteOptions">12.14.8 <code class="code">\ExecuteOptions</code></a></li>
+      <li><a id="toc-_005cIfFileExists-_0026-_005cInputIfFileExists-1" href="#g_t_005cIfFileExists-_0026-_005cInputIfFileExists">12.14.9 <code class="code">\IfFileExists</code> & <code class="code">\InputIfFileExists</code></a></li>
+      <li><a id="toc-_005cLoadClass-_0026-_005cLoadClassWithOptions-1" href="#g_t_005cLoadClass-_0026-_005cLoadClassWithOptions">12.14.10 <code class="code">\LoadClass</code> & <code class="code">\LoadClassWithOptions</code></a></li>
+      <li><a id="toc-_005cNeedsTeXFormat-1" href="#g_t_005cNeedsTeXFormat">12.14.11 <code class="code">\NeedsTeXFormat</code></a></li>
+      <li><a id="toc-_005cOptionNotUsed-1" href="#g_t_005cOptionNotUsed">12.14.12 <code class="code">\OptionNotUsed</code></a></li>
+      <li><a id="toc-_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage-1" href="#g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage">12.14.13 <code class="code">\PassOptionsToClass</code> & <code class="code">\PassOptionsToPackage</code></a></li>
+      <li><a id="toc-_005cProcessOptions-1" href="#g_t_005cProcessOptions">12.14.14 <code class="code">\ProcessOptions</code></a></li>
+      <li><a id="toc-_005cProvidesClass-_0026-_005cProvidesPackage-1" href="#g_t_005cProvidesClass-_0026-_005cProvidesPackage">12.14.15 <code class="code">\ProvidesClass</code> & <code class="code">\ProvidesPackage</code></a></li>
+      <li><a id="toc-_005cProvidesFile-1" href="#g_t_005cProvidesFile">12.14.16 <code class="code">\ProvidesFile</code></a></li>
+      <li><a id="toc-_005cRequirePackage-_0026-_005cRequirePackageWithOptions-1" href="#g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions">12.14.17 <code class="code">\RequirePackage</code> & <code class="code">\RequirePackageWithOptions</code></a></li>
+    </ul></li>
   </ul></li>
   <li><a id="toc-Counters-1" href="#Counters">13 Counters</a>
   <ul class="toc-numbered-mark">
@@ -412,7 +481,7 @@
     </ul></li>
     <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-Over_002d-or-under-math-1" href="#Over_002d-or-under-math">16.5 Over- or under math</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="toc-numbered-mark">
       <li><a id="toc-_005csmash-1" href="#g_t_005csmash">16.6.1 <code class="code">\smash</code></a></li>
@@ -439,6 +508,7 @@
     <li><a id="toc-_005cpagenumbering-1" href="#g_t_005cpagenumbering">18.2 <code class="code">\pagenumbering</code></a></li>
     <li><a id="toc-_005cpagestyle-1" href="#g_t_005cpagestyle">18.3 <code class="code">\pagestyle</code></a></li>
     <li><a id="toc-_005cthispagestyle-1" href="#g_t_005cthispagestyle">18.4 <code class="code">\thispagestyle</code></a></li>
+    <li><a id="toc-_005cthepage-1" href="#g_t_005cthepage">18.5 <code class="code">\thepage</code></a></li>
   </ul></li>
   <li><a id="toc-Spaces-1" href="#Spaces">19 Spaces</a>
   <ul class="toc-numbered-mark">
@@ -453,7 +523,7 @@
       <li><a id="toc-_005cnormalsfcodes-1" href="#g_t_005cnormalsfcodes">19.5.3 <code class="code">\normalsfcodes</code></a></li>
     </ul></li>
     <li><a id="toc-Backslash_002dspace_002c-_005c-" href="#g_t_005c_0028SPACE_0029">19.6 Backslash-space, <code class="code">\ </code></a></li>
-    <li><a id="toc-_007e-1" href="#g_t_007e">19.7 <code class="code">~</code></a></li>
+    <li><a id="toc-_007e_002c-_005cnobreakspace" href="#g_t_007e">19.7 <code class="code">~</code>, <code class="code">\nobreakspace</code></a></li>
     <li><a id="toc-_005cthinspace-_0026-_005cnegthinspace-1" href="#g_t_005cthinspace-_0026-_005cnegthinspace">19.8 <code class="code">\thinspace</code> & <code class="code">\negthinspace</code></a></li>
     <li><a id="toc-_005c_002f-1" href="#g_t_005c_002f">19.9 <code class="code">\/</code></a></li>
     <li><a id="toc-_005chrulefill-_0026-_005cdotfill-1" href="#g_t_005chrulefill-_0026-_005cdotfill">19.10 <code class="code">\hrulefill</code> & <code class="code">\dotfill</code></a></li>
@@ -474,38 +544,38 @@
     <li><a id="toc-lrbox-1" href="#lrbox">20.6 <code class="code">lrbox</code></a></li>
     <li><a id="toc-_005cusebox-1" href="#g_t_005cusebox">20.7 <code class="code">\usebox</code></a></li>
   </ul></li>
-  <li><a id="toc-Color-1" href="#Color">21 Color</a>
+  <li><a id="toc-Graphics-1" href="#Graphics">21 Graphics</a>
   <ul class="toc-numbered-mark">
-    <li><a id="toc-color-package-options" href="#Color-package-options">21.1 <code class="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>
+    <li><a id="toc-graphics-package-options" href="#Graphics-package-options">21.1 <code class="code">graphics</code> package options</a></li>
+    <li><a id="toc-graphics-package-configuration" href="#Graphics-package-configuration">21.2 <code class="code">graphics</code> package configuration</a>
     <ul class="toc-numbered-mark">
-      <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>
+      <li><a id="toc-_005cgraphicspath-1" href="#g_t_005cgraphicspath">21.2.1 <code class="code">\graphicspath</code></a></li>
+      <li><a id="toc-_005cDeclareGraphicsExtensions-1" href="#g_t_005cDeclareGraphicsExtensions">21.2.2 <code class="code">\DeclareGraphicsExtensions</code></a></li>
+      <li><a id="toc-_005cDeclareGraphicsRule-1" href="#g_t_005cDeclareGraphicsRule">21.2.3 <code class="code">\DeclareGraphicsRule</code></a></li>
     </ul></li>
+    <li><a id="toc-Commands-for-graphics-1" href="#Commands-for-graphics">21.3 Commands for graphics</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-_005cincludegraphics-1" href="#g_t_005cincludegraphics">21.3.1 <code class="code">\includegraphics</code></a></li>
+      <li><a id="toc-_005crotatebox-1" href="#g_t_005crotatebox">21.3.2 <code class="code">\rotatebox</code></a></li>
+      <li><a id="toc-_005cscalebox-1" href="#g_t_005cscalebox">21.3.3 <code class="code">\scalebox</code></a></li>
+      <li><a id="toc-_005cresizebox-1" href="#g_t_005cresizebox">21.3.4 <code class="code">\resizebox</code></a></li>
+    </ul></li>
   </ul></li>
-  <li><a id="toc-Graphics-1" href="#Graphics">22 Graphics</a>
+  <li><a id="toc-Color-1" href="#Color">22 Color</a>
   <ul class="toc-numbered-mark">
-    <li><a id="toc-graphics-package-options" href="#Graphics-package-options">22.1 <code class="code">graphics</code> package options</a></li>
-    <li><a id="toc-graphics-package-configuration" href="#Graphics-package-configuration">22.2 <code class="code">graphics</code> package configuration</a>
+    <li><a id="toc-color-package-options" href="#Color-package-options">22.1 <code class="code">color</code> package options</a></li>
+    <li><a id="toc-Color-models-1" href="#Color-models">22.2 Color models</a></li>
+    <li><a id="toc-Commands-for-color-1" href="#Commands-for-color">22.3 Commands for color</a>
     <ul class="toc-numbered-mark">
-      <li><a id="toc-_005cgraphicspath-1" href="#g_t_005cgraphicspath">22.2.1 <code class="code">\graphicspath</code></a></li>
-      <li><a id="toc-_005cDeclareGraphicsExtensions-1" href="#g_t_005cDeclareGraphicsExtensions">22.2.2 <code class="code">\DeclareGraphicsExtensions</code></a></li>
-      <li><a id="toc-_005cDeclareGraphicsRule-1" href="#g_t_005cDeclareGraphicsRule">22.2.3 <code class="code">\DeclareGraphicsRule</code></a></li>
+      <li><a id="toc-Define-colors-1" href="#Define-colors">22.3.1 Define colors</a></li>
+      <li><a id="toc-Colored-text-1" href="#Colored-text">22.3.2 Colored text</a></li>
+      <li><a id="toc-Colored-boxes-1" href="#Colored-boxes">22.3.3 Colored boxes</a></li>
+      <li><a id="toc-Colored-pages-1" href="#Colored-pages">22.3.4 Colored pages</a></li>
     </ul></li>
-    <li><a id="toc-Commands-for-graphics-1" href="#Commands-for-graphics">22.3 Commands for graphics</a>
-    <ul class="toc-numbered-mark">
-      <li><a id="toc-_005cincludegraphics-1" href="#g_t_005cincludegraphics">22.3.1 <code class="code">\includegraphics</code></a></li>
-      <li><a id="toc-_005crotatebox-1" href="#g_t_005crotatebox">22.3.2 <code class="code">\rotatebox</code></a></li>
-      <li><a id="toc-_005cscalebox-1" href="#g_t_005cscalebox">22.3.3 <code class="code">\scalebox</code></a></li>
-      <li><a id="toc-_005cresizebox-1" href="#g_t_005cresizebox">22.3.4 <code class="code">\resizebox</code></a></li>
-    </ul></li>
   </ul></li>
   <li><a id="toc-Special-insertions-1" href="#Special-insertions">23 Special insertions</a>
   <ul class="toc-numbered-mark">
-    <li><a id="toc-Reserved-characters-1" href="#Reserved-characters">23.1 Reserved characters</a></li>
+    <li><a id="toc-Printing-special-characters-1" href="#Printing-special-characters">23.1 Printing special 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>
@@ -594,44 +664,6 @@
 </ul>
 </div>
 </div>
-<div class="element-shortcontents" id="SEC_Shortcontents">
-<h2 class="shortcontents-heading">Short Table of Contents</h2>
-
-<div class="shortcontents">
-<ul class="toc-numbered-mark">
-<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>
-</div>
 <hr>
 <div class="chapter-level-extent" id="About-this-document">
 <div class="nav-panel">
@@ -638,7 +670,7 @@
 <p>
 Next: <a href="#Overview" accesskey="n" rel="next">Overview of LaTeX</a>, Previous: <a href="#Top" accesskey="p" rel="prev">LaTeX2e: An unofficial reference manual</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="About-this-document-1">1 About this document</h2>
+<h2 class="chapter" id="About-this-document-1"><span>1 About this document<a class="copiable-link" href="#About-this-document-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-home-page-for-manual"></a>
 <p>This is an unofficial reference manual for the LaTeX2e document
@@ -668,6 +700,8 @@
 <a class="index-entry-id" id="index-reporting-bugs"></a>
 Do not send bug reports or anything else about this document to them.
 Instead, please send all comments to <a class="email" href="mailto:latexrefman at tug.org">latexrefman at tug.org</a>.
+This is a public list; you can (un)subscribe, view the archives, etc.,
+at <a class="url" href="https://lists.tug.org/latexrefman">https://lists.tug.org/latexrefman</a>.
 </p>
 <p>This document is a reference, not a tutorial.  There is a vast array
 of other information available about LaTeX, at all levels.  Here
@@ -674,21 +708,20 @@
 are a few introductions.
 </p>
 <dl class="table">
-<dt id='index-latex_002ddoc_002dptr-document'><span><a class="url" href="https://ctan.org/pkg/latex-doc-ptr">https://ctan.org/pkg/latex-doc-ptr</a><a class="copiable-link" href='#index-latex_002ddoc_002dptr-document'> ¶</a></span></dt>
+<dt><a id="index-latex_002ddoc_002dptr-document"></a><span><a class="url" href="https://ctan.org/pkg/latex-doc-ptr">https://ctan.org/pkg/latex-doc-ptr</a><a class="copiable-link" href="#index-latex_002ddoc_002dptr-document"> ¶</a></span></dt>
 <dd><p>Two pages of recommended references to LaTeX documentation.
 </p>
 </dd>
-<dt id='index-first_002dlatex_002ddoc-document'><span><a class="url" href="https://ctan.org/pkg/first-latex-doc">https://ctan.org/pkg/first-latex-doc</a><a class="copiable-link" href='#index-first_002dlatex_002ddoc-document'> ¶</a></span></dt>
+<dt><a id="index-first_002dlatex_002ddoc-document"></a><span><a class="url" href="https://ctan.org/pkg/first-latex-doc">https://ctan.org/pkg/first-latex-doc</a><a class="copiable-link" href="#index-first_002dlatex_002ddoc-document"> ¶</a></span></dt>
 <dd><p>Writing your first document, with a bit of both text and math.
 </p>
 </dd>
-<dt id='index-lshort-document'><span><a class="url" href="https://ctan.org/pkg/lshort">https://ctan.org/pkg/lshort</a><a class="copiable-link" href='#index-lshort-document'> ¶</a></span></dt>
+<dt><a id="index-lshort-document"></a><span><a class="url" href="https://ctan.org/pkg/lshort">https://ctan.org/pkg/lshort</a><a class="copiable-link" href="#index-lshort-document"> ¶</a></span></dt>
 <dd><p>A longer introduction to LaTeX, translated to many languages.
 </p>
 </dd>
 <dt><a class="url" 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.
+<dd><p>Overview of getting started with TeX and LaTeX.
 </p>
 </dd>
 </dl>
@@ -701,7 +734,7 @@
 <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">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Overview-of-LaTeX">2 Overview of LaTeX</h2>
+<h2 class="chapter" id="Overview-of-LaTeX"><span>2 Overview of LaTeX<a class="copiable-link" href="#Overview-of-LaTeX"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-overview-of-LaTeX"></a>
 <a class="index-entry-id" id="index-basics-of-LaTeX"></a>
@@ -721,11 +754,12 @@
 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>LaTeX is implemented as a set of so-called “macros” (a TeX
+<em class="dfn">format</em>) 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 input document is marked up, that is, to mean the set of commands
@@ -744,9 +778,11 @@
 <li><a href="#Starting-and-ending" accesskey="1">Starting and ending</a></li>
 <li><a href="#Output-files" accesskey="2">Output files</a></li>
 <li><a href="#TeX-engines" accesskey="3">TeX engines</a></li>
-<li><a href="#LaTeX-command-syntax" accesskey="4">LaTeX command syntax</a></li>
-<li><a href="#Environment" accesskey="5">Environment</a></li>
-<li><a href="#CTAN" accesskey="6">CTAN: The Comprehensive TeX Archive Network</a></li>
+<li><a href="#Input-text" accesskey="4">Input text</a></li>
+<li><a href="#LaTeX-command-syntax" accesskey="5">LaTeX command syntax</a></li>
+<li><a href="#Environment-syntax" accesskey="6">Environment syntax</a></li>
+<li><a href="#g_t_005cDocumentMetadata" accesskey="7"><code class="code">\DocumentMetadata</code>: Producing tagged PDF output</a></li>
+<li><a href="#CTAN" accesskey="8">CTAN: The Comprehensive TeX Archive Network</a></li>
 </ul>
 <hr>
 <div class="section-level-extent" id="Starting-and-ending">
@@ -754,7 +790,7 @@
 <p>
 Next: <a href="#Output-files" accesskey="n" rel="next">Output files</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Starting-and-ending-1">2.1 Starting and ending</h3>
+<h3 class="section" id="Starting-and-ending-1"><span>2.1 Starting and ending<a class="copiable-link" href="#Starting-and-ending-1"> ¶</a></span></h3>
 
 <a class="anchor" id="Starting-_0026-ending"></a><a class="index-entry-id" id="index-starting-and-ending"></a>
 <a class="index-entry-id" id="index-ending-and-starting"></a>
@@ -761,7 +797,7 @@
 <a class="index-entry-id" id="index-hello_002c-world"></a>
 
 <p>LaTeX files have a simple global structure, with a standard beginning
-and ending.  This is a small example.
+and ending.  Here is a small example:
 </p>
 <div class="example">
 <pre class="example-preformatted">\documentclass{article}
@@ -774,10 +810,11 @@
 <code class="code">\end{document}</code> line.
 </p>
 <a class="index-entry-id" id="index-document-class_002c-defined"></a>
-<p>Here, the ‘<samp class="samp">article</samp>’ is the <em class="dfn">document class</em>.  It is implemented
-in a file <samp class="file">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 class="xref" href="#Document-classes">Document classes</a>.
+<p>Here, the ‘<samp class="samp">article</samp>’ is the <em class="dfn">document class</em>.  It is
+implemented in a file <samp class="file">article.cls</samp>.  You can use any document
+class available on your system.  A few document classes are defined by
+LaTeX itself, and a vast array of others are available.
+See <a class="xref" href="#Document-classes">Document classes</a>.
 </p>
 <a class="index-entry-id" id="index-preamble_002c-defined"></a>
 <p>You can include other LaTeX commands between the
@@ -784,11 +821,11 @@
 <code class="code">\documentclass</code> and the <code class="code">\begin{document}</code> commands.
 This area is called the <em class="dfn">preamble</em>.
 </p>
-<p>The <code class="code">\begin{document}</code>, <code class="code">\end{document}</code> pair defines an
 <a class="index-entry-id" id="index-environment"></a>
-<em class="dfn">environment</em>; the ‘<samp class="samp">document</samp>’ environment (and no others) is
-required in all LaTeX documents (see <a class="pxref" href="#document"><code class="code">document</code></a>).  LaTeX make
-available to you many environments that are documented here
+<p>The <code class="code">\begin{document}</code> … <code class="code">\end{document}</code> pair
+defines an <em class="dfn">environment</em>; the ‘<samp class="samp">document</samp>’ environment (and no
+others) is required in all LaTeX documents (see <a class="pxref" href="#document"><code class="code">document</code></a>).
+LaTeX provides many environments that are documented here
 (see <a class="pxref" href="#Environments">Environments</a>).  Many more are available to you from external
 packages, most importantly those available at CTAN (see <a class="pxref" href="#CTAN">CTAN: The Comprehensive TeX Archive Network</a>).
 </p>
@@ -803,19 +840,19 @@
 <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 of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Output-files-1">2.2 Output files</h3>
+<h3 class="section" id="Output-files-1"><span>2.2 Output files<a class="copiable-link" href="#Output-files-1"> ¶</a></span></h3>
 
 <p>LaTeX produces a main output file and at least two auxiliary files.
 The main output file’s name ends in either <samp class="file">.dvi</samp> or <samp class="file">.pdf</samp>.
 </p>
 <dl class="table">
-<dt id='index-_002edvi-file'><span><code class="code">.dvi</code><a class="copiable-link" href='#index-_002edvi-file'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-latex-command"></a>
+<dt><a class="index-entry-id" id="index-latex-command"></a>
 <a class="index-entry-id" id="index-xdvi-command"></a>
 <a class="index-entry-id" id="index-dvips-command"></a>
 <a class="index-entry-id" id="index-dvipdfmx-command"></a>
 <a class="index-entry-id" id="index-dvitype-command"></a>
-<a class="anchor" id="output-files-dvi"></a><p>If LaTeX is invoked with the system command <code class="command">latex</code> then it
+<a id="index-_002edvi-file"></a><span><code class="code">.dvi</code><a class="copiable-link" href="#index-_002edvi-file"> ¶</a></span></dt>
+<dd><a class="anchor" id="output-files-dvi"></a><p>If LaTeX is invoked with the system command <code class="command">latex</code> then it
 produces a DeVice Independent file, with extension <samp class="file">.dvi</samp>.  You
 can view this file with a command such as <code class="command">xdvi</code>, or convert
 it to a PostScript <code class="code">.ps</code> file with <code class="command">dvips</code> or to a
@@ -825,10 +862,10 @@
 available (<a class="url" href="https://mirror.ctan.org/dviware">https://mirror.ctan.org/dviware</a>).
 </p>
 </dd>
-<dt id='index-_002epdf-file'><span><code class="code">.pdf</code><a class="copiable-link" href='#index-_002epdf-file'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-pdfTeX"></a>
+<dt><a class="index-entry-id" id="index-pdfTeX"></a>
 <a class="index-entry-id" id="index-pdflatex-command"></a>
-<a class="anchor" id="output-files-pdf"></a><p>If LaTeX is invoked via the system command <code class="command">pdflatex</code>,
+<a id="index-_002epdf-file"></a><span><code class="code">.pdf</code><a class="copiable-link" href="#index-_002epdf-file"> ¶</a></span></dt>
+<dd><a class="anchor" id="output-files-pdf"></a><p>If LaTeX is invoked via the system command <code class="command">pdflatex</code>,
 among other commands (see <a class="pxref" 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.
@@ -839,20 +876,20 @@
 <p>LaTeX always produces at least two additional files.
 </p>
 <dl class="table">
-<dt id='index-transcript-file'><span><code class="code">.log</code><a class="copiable-link" href='#index-transcript-file'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-log-file"></a>
+<dt><a class="index-entry-id" id="index-log-file"></a>
 <a class="index-entry-id" id="index-_002elog-file"></a>
-<a class="anchor" id="output-files-log"></a><p>This transcript file contains summary information such as a list of
+<a id="index-transcript-file"></a><span><code class="code">.log</code><a class="copiable-link" href="#index-transcript-file"> ¶</a></span></dt>
+<dd><a class="anchor" id="output-files-log"></a><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 id='index-auxiliary-file'><span><code class="code">.aux</code><a class="copiable-link" href='#index-auxiliary-file'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_002eaux-file"></a>
+<dt><a class="index-entry-id" id="index-_002eaux-file"></a>
 <a class="index-entry-id" id="index-cross-references_002c-resolving"></a>
 <a class="index-entry-id" id="index-forward-references_002c-resolving"></a>
 <a class="index-entry-id" id="index-references_002c-resolving-forward"></a>
-<a class="anchor" id="output-files-aux"></a><p>Auxiliary information is used by LaTeX for things such as
+<a id="index-auxiliary-file"></a><span><code class="code">.aux</code><a class="copiable-link" href="#index-auxiliary-file"> ¶</a></span></dt>
+<dd><a class="anchor" id="output-files-aux"></a><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
@@ -885,9 +922,9 @@
 <div class="section-level-extent" id="TeX-engines">
 <div class="nav-panel">
 <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 of LaTeX</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="#Input-text" accesskey="n" rel="next">Input text</a>, Previous: <a href="#Output-files" accesskey="p" rel="prev">Output files</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="TeX-engines-1">2.3 TeX engines</h3>
+<h3 class="section" id="TeX-engines-1"><span>2.3 TeX engines<a class="copiable-link" href="#TeX-engines-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-engines_002c-TeX"></a>
 <a class="index-entry-id" id="index-implementations-of-TeX"></a>
@@ -900,8 +937,8 @@
 <a class="index-entry-id" id="index-LaTeX-format-_0028_002efmt_0029-files"></a>
 <a class="index-entry-id" id="index-format-files_002c-TeX"></a>
 <a class="index-entry-id" id="index-_002efmt-file"></a>
-<p>LaTeX is a large set of commands that is executed by a TeX
-program (see <a class="pxref" href="#Overview">Overview of LaTeX</a>). Such a set of commands is called a
+<p>LaTeX is a large set of commands (macros) that is executed by a
+TeX program (see <a class="pxref" href="#Overview">Overview of LaTeX</a>). Such a set of commands is called a
 <em class="dfn">format</em>, and is embodied in a binary <code class="code">.fmt</code> file, which can
 be read much more quickly than the corresponding TeX source.
 </p>
@@ -909,8 +946,8 @@
 commonly available (see also <a class="ref" href="#Command-line-interface">Command line interface</a>).
 </p>
 <dl class="ftable">
-<dt id='index-latex'><span><code class="code">latex</code><a class="copiable-link" href='#index-latex'> ¶</a></span></dt>
-<dt id='index-pdflatex'><span><code class="code">pdflatex</code><a class="copiable-link" href='#index-pdflatex'> ¶</a></span></dt>
+<dt><a id="index-latex"></a><span><code class="code">latex</code><a class="copiable-link" href="#index-latex"> ¶</a></span></dt>
+<dt><a id="index-pdflatex"></a><span><code class="code">pdflatex</code><a class="copiable-link" href="#index-pdflatex"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-etex-command"></a>
 <a class="index-entry-id" id="index-pdfTeX-engine"></a>
 <a class="index-entry-id" id="index-e_002dTeX"></a>
@@ -929,10 +966,11 @@
 </p>
 <p>In other TeX distributions, <code class="command">latex</code> may invoke e-TeX
 rather than pdfTeX.  In any case, the e-TeX extensions can be
-assumed to be available in LaTeX.
+assumed to be available in LaTeX, and a few extensions beyond
+e-TeX, particularly for file manipulation.
 </p>
 </dd>
-<dt id='index-lualatex'><span><code class="code">lualatex</code><a class="copiable-link" href='#index-lualatex'> ¶</a></span></dt>
+<dt><a id="index-lualatex"></a><span><code class="code">lualatex</code><a class="copiable-link" href="#index-lualatex"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-LuaTeX"></a>
 <a class="anchor" id="tex-engines-lualatex"></a><p>If LaTeX is invoked via the system command <code class="command">lualatex</code>, the
 LuaTeX engine is run (<a class="url" href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>).  This
@@ -943,7 +981,7 @@
 There is also <code class="command">dvilualatex</code> to produce a <samp class="file">.dvi</samp> file.
 </p>
 </dd>
-<dt id='index-xelatex'><span><code class="code">xelatex</code><a class="copiable-link" href='#index-xelatex'> ¶</a></span></dt>
+<dt><a id="index-xelatex"></a><span><code class="code">xelatex</code><a class="copiable-link" href="#index-xelatex"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-XeTeX"></a>
 <a class="index-entry-id" id="index-_002exdv-file"></a>
 <a class="index-entry-id" id="index-xdvipdfmx"></a>
@@ -960,8 +998,18 @@
 useful for debugging.
 </p>
 </dd>
-<dt id='index-platex'><span><code class="code">platex</code><a class="copiable-link" href='#index-platex'> ¶</a></span></dt>
-<dt id='index-uplatex'><span><code class="code">uplatex</code><a class="copiable-link" href='#index-uplatex'> ¶</a></span></dt>
+<dt><a id="index-hilatex"></a><span><code class="code">hilatex</code><a class="copiable-link" href="#index-hilatex"> ¶</a></span></dt>
+<dd><a class="index-entry-id" id="index-HiTeX"></a>
+<a class="index-entry-id" id="index-HINT-format"></a>
+<a class="index-entry-id" id="index-mobile-output"></a>
+<p>If LaTeX is invoked via the system command <code class="command">hilatex</code>, the
+HiTeX engine is run (<a class="url" href="https://ctan.org/pkg/hitex">https://ctan.org/pkg/hitex</a>).  This
+program produces its own format, named HINT, designed especially for
+high-quality typesetting on mobile devices.
+</p>
+</dd>
+<dt><a id="index-platex"></a><span><code class="code">platex</code><a class="copiable-link" href="#index-platex"> ¶</a></span></dt>
+<dt><a id="index-uplatex"></a><span><code class="code">uplatex</code><a class="copiable-link" href="#index-uplatex"> ¶</a></span></dt>
 <dd><p>These commands provide significant additional support for Japanese and
 other languages; the <code class="code">u</code> variant supports Unicode.  See
 <a class="url" href="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</a> and <a class="url" href="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</a>.
@@ -969,16 +1017,16 @@
 </dl>
 
 <p>As of 2019, there is a companion <code class="code">-dev</code> command and format for
-all of the above:
+all of the above, except <code class="code">hitex</code>:
 </p>
 <dl class="ftable">
-<dt id='index-dvilualatex_002ddev'><span><code class="code">dvilualatex-dev</code><a class="copiable-link" href='#index-dvilualatex_002ddev'> ¶</a></span></dt>
-<dt id='index-latex_002ddev'><span><code class="code">latex-dev</code><a class="copiable-link" href='#index-latex_002ddev'> ¶</a></span></dt>
-<dt id='index-lualatex_002ddev'><span><code class="code">lualatex-dev</code><a class="copiable-link" href='#index-lualatex_002ddev'> ¶</a></span></dt>
-<dt id='index-pdflatex_002ddev'><span><code class="code">pdflatex-dev</code><a class="copiable-link" href='#index-pdflatex_002ddev'> ¶</a></span></dt>
-<dt id='index-platex_002ddev'><span><code class="code">platex-dev</code><a class="copiable-link" href='#index-platex_002ddev'> ¶</a></span></dt>
-<dt id='index-uplatex_002ddev'><span><code class="code">uplatex-dev</code><a class="copiable-link" href='#index-uplatex_002ddev'> ¶</a></span></dt>
-<dt id='index-xelatex_002ddev'><span><code class="code">xelatex-dev</code><a class="copiable-link" href='#index-xelatex_002ddev'> ¶</a></span></dt>
+<dt><a id="index-dvilualatex_002ddev"></a><span><code class="code">dvilualatex-dev</code><a class="copiable-link" href="#index-dvilualatex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-latex_002ddev"></a><span><code class="code">latex-dev</code><a class="copiable-link" href="#index-latex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-lualatex_002ddev"></a><span><code class="code">lualatex-dev</code><a class="copiable-link" href="#index-lualatex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-pdflatex_002ddev"></a><span><code class="code">pdflatex-dev</code><a class="copiable-link" href="#index-pdflatex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-platex_002ddev"></a><span><code class="code">platex-dev</code><a class="copiable-link" href="#index-platex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-uplatex_002ddev"></a><span><code class="code">uplatex-dev</code><a class="copiable-link" href="#index-uplatex_002ddev"> ¶</a></span></dt>
+<dt><a id="index-xelatex_002ddev"></a><span><code class="code">xelatex-dev</code><a class="copiable-link" href="#index-xelatex_002ddev"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-release-candidates"></a>
 <a class="index-entry-id" id="index-prerelease-testing"></a>
 <p>These are candidates for an upcoming LaTeX release. The main
@@ -1003,14 +1051,258 @@
 </dd>
 </dl>
 
+
 <hr>
 </div>
+<div class="section-level-extent" id="Input-text">
+<div class="nav-panel">
+<p>
+Next: <a href="#LaTeX-command-syntax" accesskey="n" rel="next">LaTeX command syntax</a>, Previous: <a href="#TeX-engines" accesskey="p" rel="prev">TeX engines</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h3 class="section" id="Input-text-1"><span>2.4 Input text<a class="copiable-link" href="#Input-text-1"> ¶</a></span></h3>
+
+<p>To a first approximation, most input characters in LaTeX print as
+themselves. But there are exceptions, as discussed in the following
+sections.
+</p>
+
+
+<ul class="mini-toc">
+<li><a href="#Input-encodings" accesskey="1">Input encodings</a></li>
+<li><a href="#Ligatures" accesskey="2">Ligatures</a></li>
+<li><a href="#Special-characters" accesskey="3">Special characters: <code class="code">\ { } % $ & _ ^ # ~</code></a></li>
+</ul>
+<hr>
+<div class="subsection-level-extent" id="Input-encodings">
+<div class="nav-panel">
+<p>
+Next: <a href="#Ligatures" accesskey="n" rel="next">Ligatures</a>, Up: <a href="#Input-text" accesskey="u" rel="up">Input text</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="Input-encodings-1"><span>2.4.1 Input encodings<a class="copiable-link" href="#Input-encodings-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-character-encoding"></a>
+<a class="index-entry-id" id="index-input-encodings"></a>
+<a class="index-entry-id" id="index-encodings_002c-input"></a>
+
+<p>The input to TeX (or any computer program) ultimately consists of a
+sequence of bytes. (Nowadays, a byte is almost universally an
+eight-bit number, i.e., an integer between 0 and 255, inclusive.) The
+input encoding defines how to interpret that sequence of bytes, and
+thus how LaTeX behaves.
+</p>
+<a class="index-entry-id" id="index-Unicode"></a>
+<p>Today, by far the most common way to encode text is with <em class="dfn">UTF-8</em>, a
+so-called “Unicode Transformation Format” which specifies how to
+transform a sequence of 8-bit bytes to Unicode code points, which are
+defined independent of any particular representation. The Unicode
+encoding defines code points for virtually all characters used
+today in written text.
+</p>
+<p>When TeX was created, Unicode and UTF-8 did not exist and the 7-bit
+ASCII encoding was by far the most widely used. So TeX does not
+require Unicode for text input. UTF-8 is a superset of ASCII, so a
+pure 7-bit ASCII document is also UTF-8.
+</p>
+<p>Since 2018, the default input encoding for LaTeX is UTF-8. 
+Some methods for handling documents written in some other encoding,
+such as ISO-8859-1 (Latin 1), are explained in <a class="ref" href="#inputenc-package"><code class="code">inputenc</code> package</a>.
+</p>
+<p>You can easily find more about all these topics in any introductory
+computer text or online. For example, you might start at:
+<a class="url" href="https://en.wikipedia.org/wiki/Unicode">https://en.wikipedia.org/wiki/Unicode</a>.
+</p>
+<hr>
+</div>
+<div class="subsection-level-extent" id="Ligatures">
+<div class="nav-panel">
+<p>
+Next: <a href="#Special-characters" accesskey="n" rel="next">Special characters: <code class="code">\ { } % $ & _ ^ # ~</code></a>, Previous: <a href="#Input-encodings" accesskey="p" rel="prev">Input encodings</a>, Up: <a href="#Input-text" accesskey="u" rel="up">Input text</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="Ligatures-1"><span>2.4.2 Ligatures<a class="copiable-link" href="#Ligatures-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-ligatures"></a>
+
+<p>A <em class="dfn">ligature</em> combines two or more letters (more generally,
+characters) into a single glyph.  For example, in Latin-based
+typography, the two letters ‘<samp class="samp">f</samp>’ and ‘<samp class="samp">i</samp>’ are often combined
+into the glyph ‘fi’.  
+</p>
+<p>TeX supports ligatures automatically. To continue the example, if
+the input has the word ‘<samp class="samp">fine</samp>’, written as four separate ASCII
+characters, TeX will output the word ‘fine’ (with the default
+fonts), with three typeset glyphs.
+</p>
+<p>In traditional TeX, the available ligatures, if any, are defined by
+the current font.  TeX also uses the ligature mechanism to produce
+a few typographical characters which were not available in any
+computer encoding when TeX was invented.  In all, in the original
+Computer Modern fonts, the following input character sequences are
+defined to lead to ligatures:
+</p>
+<a class="index-entry-id" id="index-f_002dligatures"></a>
+<a class="index-entry-id" id="index-double-quotation-marks_002c-as-ligatures"></a>
+<a class="index-entry-id" id="index-quotation-marks_002c-as-ligatures"></a>
+<a class="index-entry-id" id="index-en_002ddash_002c-as-ligature"></a>
+<a class="index-entry-id" id="index-em_002ddash_002c-as-ligature"></a>
+<a class="index-entry-id" id="index-inverted-exclamation-mark_002c-as-ligature"></a>
+<a class="index-entry-id" id="index-inverted-question-mark_002c-as-ligature"></a>
+<a class="index-entry-id" id="index-Spanish-exclamation-mark_002c-as-ligature"></a>
+<a class="index-entry-id" id="index-Spanish-question-mark_002c-as-ligature"></a>
+
+<dl class="table">
+<dt>‘<samp class="samp">ff</samp>’</dt>
+<dd><p>ff (f<span class="r"></span>f ligature, U+FB00)
+</p></dd>
+<dt>‘<samp class="samp">fi</samp>’</dt>
+<dd><p>fi (f<span class="r"></span>i ligature, U+FB01)
+</p></dd>
+<dt>‘<samp class="samp">fl</samp>’</dt>
+<dd><p>fl (f<span class="r"></span>l ligature, U+FB02)
+</p></dd>
+<dt>‘<samp class="samp">ffi</samp>’</dt>
+<dd><p>ffi (f<span class="r"></span>f<span class="r"></span>i ligature, U+FB03)
+</p></dd>
+<dt>‘<samp class="samp">ffl</samp>’</dt>
+<dd><p>ffl (f<span class="r"></span>f<span class="r"></span>l ligature, U+FB04)
+</p></dd>
+<dt>‘<samp class="samp">``</samp>’</dt>
+<dd><p>“ (left double quotation mark, U+201C)
+</p></dd>
+<dt>‘<samp class="samp">''</samp>’</dt>
+<dd><p>” (right double quotation mark, U+201D)
+</p></dd>
+<dt>‘<samp class="samp">--</samp>’</dt>
+<dd><p>– (en-dash, U+2013)
+</p></dd>
+<dt>‘<samp class="samp">---</samp>’</dt>
+<dd><p>— (em-dash, U+2014)
+</p></dd>
+<dt>‘<samp class="samp">!`</samp>’</dt>
+<dd><p>!‘ (inverted exclamation mark, U+00A1)
+</p></dd>
+<dt>‘<samp class="samp">?`</samp>’</dt>
+<dd><p>?‘ (inverted question mark, U+00BF)
+</p></dd>
+</dl>
+
+<p>(For the f-ligatures above, the text in parentheses shows the
+individual characters, so in the typeset output you can easily see the
+difference between the ligature and the original character sequence.)
+</p>
+<p>Nowadays it’s usually possible to directly input the punctuation
+characters as Unicode characters, and LaTeX supports that (see
+previous section).  But even today, it can still often be useful to
+use the ASCII ligature input form; for example, the difference between
+an en-dash and em-dash, as a single glyph, can be all but impossible
+to discern, but the difference between two and three ASCII hyphen
+characters is clear.  Similarly with quotation marks, in some fonts.
+</p>
+<p>Thus, even the engines with native support for UTF-8, namely LuaTeX
+and XeTeX, also support the ASCII ligature input sequences by
+default, independent of the font used.  They also need to do so for
+compatibility.
+</p>
+<a class="index-entry-id" id="index-alphabetic-presentation-forms-Unicode-block"></a>
+<p>By the way, the f-ligatures are also available in Unicode (the
+“Alphabetic Presentation Forms” block starting at U+FB00), but it’s
+almost never desirable to use them as input characters, since in
+principle it should be up to the typesetter and the current font
+whether to use ligatures.  Also, in practice, using them will
+typically cause searches to fail, that is, a search for the two
+characters ‘<samp class="samp">fi</samp>’ will not be matched by the ligature ‘fi’ at
+U+FB01.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="Special-characters">
+<div class="nav-panel">
+<p>
+Previous: <a href="#Ligatures" accesskey="p" rel="prev">Ligatures</a>, Up: <a href="#Input-text" accesskey="u" rel="up">Input text</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="Special-characters_003a-_005c-_007b-_007d-_0025-_0024-_0026-_005f-_005e-_0023-_007e"><span>2.4.3 Special characters: <code class="code">\ { } % $ & _ ^ # ~</code><a class="copiable-link" href="#Special-characters_003a-_005c-_007b-_007d-_0025-_0024-_0026-_005f-_005e-_0023-_007e"> ¶</a></span></h4>
+
+<a class="anchor" id="Reserved-characters"></a><a class="index-entry-id" id="index-reserved-characters_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-special-characters_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-meaning-of-special-characters"></a>
+
+<p>Besides ligatures (see previous section), a few individual characters
+have special meaning to LaTeX. They are called <em class="dfn">reserved
+characters</em> or <em class="dfn">special characters</em>.  Here they are:
+</p>
+<dl class="table">
+<dt><a class="index-entry-id" id="index-backslash_002c-meaning-of"></a>
+<a id="index-_005c-character_002c-meaning-of"></a><span>‘<samp class="samp">\</samp>’<a class="copiable-link" href="#index-_005c-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Introduces a command name, as seen throughout this manual.
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-_007d-character_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-left-brace_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-right-brace_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-braces_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-curly-braces_002c-meaning-of"></a>
+<a id="index-_007b-character_002c-meaning-of"></a><span>‘<samp class="samp">{</samp>’<a class="copiable-link" href="#index-_007b-character_002c-meaning-of"> ¶</a></span></dt>
+<dt>‘<samp class="samp">}</samp>’</dt>
+<dd><p>Delimits a required argument to a command or a level of grouping, as
+seen throughout this manual.
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-percent-character_002c-meaning-of"></a>
+<a id="index-_0025-character_002c-meaning-of"></a><span>‘<samp class="samp">%</samp>’<a class="copiable-link" href="#index-_0025-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Starts a comment: the ‘<samp class="samp">%</samp>’ and all remaining characters on the
+current line are ignored.
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-dollar-sign-character_002c-meaning-of"></a>
+<a id="index-_0024-character_002c-meaning-of"></a><span>‘<samp class="samp">$</samp>’<a class="copiable-link" href="#index-_0024-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Starts and ends math mode (see <a class="pxref" href="#Math-formulas">Math formulas</a>).
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-ampersand-character_002c-meaning-of"></a>
+<a id="index-_0026-character_002c-meaning-of"></a><span>‘<samp class="samp">&</samp>’<a class="copiable-link" href="#index-_0026-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Separates cells in a table (see <a class="pxref" href="#tabular"><code class="code">tabular</code></a>).
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-_005e-character_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-underscore-character_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-hat-character_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-caret-character_002c-meaning-of"></a>
+<a id="index-_005f-character_002c-meaning-of"></a><span>‘<samp class="samp">_</samp>’<a class="copiable-link" href="#index-_005f-character_002c-meaning-of"> ¶</a></span></dt>
+<dt>‘<samp class="samp">^</samp>’</dt>
+<dd><p>Introduce a subscript or superscript, respectively, in math
+(see <a class="pxref" href="#Subscripts-_0026-superscripts">Subscripts & superscripts</a>); they produce an error outside
+math mode.  As a little-used special feature, two superscript
+characters in a row can introduce special notation for an arbitrary
+character.
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-number-sign-character-_0028_0023_0029_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-sharp-character-_0028_0023_0029_002c-meaning-of"></a>
+<a class="index-entry-id" id="index-hash-character-_0028_0023_0029_002c-meaning-of"></a>
+<a id="index-_0023-character_002c-meaning-of"></a><span>‘<samp class="samp">#</samp>’<a class="copiable-link" href="#index-_0023-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Stands for arguments in a macro definition (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>).
+</p>
+</dd>
+<dt><a class="index-entry-id" id="index-tilde-character_002c-meaning-of"></a>
+<a id="index-_007e-character_002c-meaning-of"></a><span>‘<samp class="samp">~</samp>’<a class="copiable-link" href="#index-_007e-character_002c-meaning-of"> ¶</a></span></dt>
+<dd><p>Produces a nonbreakable interword space (see <a class="pxref" href="#g_t_007e"><code class="code">~</code>, <code class="code">\nobreakspace</code></a>).
+</p>
+</dd>
+</dl>
+
+<p>See <a class="xref" href="#Printing-special-characters">Printing special characters</a>, for how to typeset these
+characters when you need them literally.
+</p>
+
+<hr>
+</div>
+</div>
 <div class="section-level-extent" id="LaTeX-command-syntax">
 <div class="nav-panel">
 <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 of LaTeX</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="#Environment-syntax" accesskey="n" rel="next">Environment syntax</a>, Previous: <a href="#Input-text" accesskey="p" rel="prev">Input text</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="LaTeX-command-syntax-1">2.4 LaTeX command syntax</h3>
+<h3 class="section" id="LaTeX-command-syntax-1"><span>2.5 LaTeX command syntax<a class="copiable-link" href="#LaTeX-command-syntax-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-command-syntax"></a>
 <a class="index-entry-id" id="index-_005c-character-starting-commands"></a>
@@ -1020,10 +1312,10 @@
 character, <code class="code">\</code>.  The name itself then consists of either
 (a) a string of letters or (b) a single non-letter.
 </p>
-<p>LaTeX commands names are case sensitive so that <code class="code">\pagebreak</code>
-differs from <code class="code">\Pagebreak</code> (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.
+<p>LaTeX commands names are case sensitive; for example,
+<code class="code">\pagebreak</code> differs from <code class="code">\Pagebreak</code> (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.
 </p>
 <p>A command may be followed by zero, one, or more arguments. These
 arguments may be either required or optional.  Required arguments are
@@ -1030,7 +1322,8 @@
 contained in curly braces, <code class="code">{...}</code>.  Optional arguments are
 contained in square brackets, <code class="code">[...]</code>.  Generally, but not
 universally, if the command accepts an optional argument, it comes
-first, before any required arguments.
+first, before any required arguments; optional arguments could come
+after required arguments, or both before and after.
 </p>
 <p>Inside of an optional argument, to use the character close square
 bracket (<code class="code">]</code>) hide it inside curly braces, as
@@ -1039,10 +1332,10 @@
 the first character of the following text be an open square bracket,
 hide it inside curly braces.
 </p>
-<p>LaTeX has the convention that some commands have a <code class="code">*</code> form that
-is related to the form without a <code class="code">*</code>, such as <code class="code">\chapter</code> and
-<code class="code">\chapter*</code>.  The exact difference in behavior varies from command
-to command.
+<p>LaTeX has the convention that some commands have a <code class="code">*</code> form
+that is closely related to the form without a <code class="code">*</code>, such as
+<code class="code">\chapter</code> and <code class="code">\chapter*</code>.  The difference in behavior
+varies from command to command.
 </p>
 <p>This manual describes all accepted options and <code class="code">*</code>-forms for the
 commands it covers (barring unintentional omissions, a.k.a. bugs).
@@ -1057,17 +1350,18 @@
 <p>As of the 2020-10-01 release of LaTeX, the <code class="code">expl3</code> and
 <code class="code">xparse</code> 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
+syntax. We won’t try to cover that in this document; see the related
 package documentation and other LaTeX manuals.
 </p>
+
 <hr>
 </div>
-<div class="section-level-extent" id="Environment">
+<div class="section-level-extent" id="Environment-syntax">
 <div class="nav-panel">
 <p>
-Next: <a href="#CTAN" accesskey="n" rel="next">CTAN: The Comprehensive TeX Archive Network</a>, Previous: <a href="#LaTeX-command-syntax" accesskey="p" rel="prev">LaTeX command syntax</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</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="#g_t_005cDocumentMetadata" accesskey="n" rel="next"><code class="code">\DocumentMetadata</code>: Producing tagged PDF output</a>, Previous: <a href="#LaTeX-command-syntax" accesskey="p" rel="prev">LaTeX command syntax</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Environment-1">2.5 Environment</h3>
+<h3 class="section" id="Environment-syntax-1"><span>2.6 Environment syntax<a class="copiable-link" href="#Environment-syntax-1"> ¶</a></span></h3>
 
 <p>Synopsis:
 </p>
@@ -1104,7 +1398,7 @@
 </p>
 <div class="example">
 <pre class="example-preformatted">\begin{tabular}[t]{r|l}
-  ... rows of table ...
+  ... <var class="var">rows-of-table</var> ...
 \end{tabular}
 </pre></div>
 
@@ -1111,12 +1405,60 @@
 
 <hr>
 </div>
+<div class="section-level-extent" id="g_t_005cDocumentMetadata">
+<div class="nav-panel">
+<p>
+Next: <a href="#CTAN" accesskey="n" rel="next">CTAN: The Comprehensive TeX Archive Network</a>, Previous: <a href="#Environment-syntax" accesskey="p" rel="prev">Environment syntax</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h3 class="section" id="g_t_005cDocumentMetadata_003a-Producing-tagged-PDF-output"><span>2.7 <code class="code">\DocumentMetadata</code>: Producing tagged PDF output<a class="copiable-link" href="#g_t_005cDocumentMetadata_003a-Producing-tagged-PDF-output"> ¶</a></span></h3>
+
+<a class="index-entry-id" id="index-_005cDocumentMetadata"></a>
+<a class="index-entry-id" id="index-tagged-PDF"></a>
+<a class="index-entry-id" id="index-PDF_002c-tagged"></a>
+<a class="index-entry-id" id="index-metadata_002c-adding"></a>
+<a class="index-entry-id" id="index-accessibility"></a>
+
+<p>The <code class="code">\DocumentMetadata</code> command was added to LaTeX in 2022.
+It enables so-called “tagging” of the PDF output, aiding
+accessibility of the PDF.  It is supported best with LuaLaTeX;
+pdfLaTeX and XeLaTeX are supported as well as possible
+(see <a class="pxref" href="#TeX-engines">TeX engines</a>).
+</p>
+<p>It is unlike nearly any other command in LaTeX in that it must
+occur before the <code class="code">\documentclass</code> command that starts a LaTeX
+document proper (see <a class="pxref" href="#g_t_005cdocumentclass">\documentclass</a>).  Therefore it must be
+called with <code class="code">\RequirePackage</code> rather than <code class="code">\usepackage</code>
+(see <a class="pxref" href="#g_t_005cRequirePackage">\RequirePackage</a>).
+</p>
+<a class="index-entry-id" id="index-package_002c-latex_002dlab"></a>
+<a class="index-entry-id" id="index-latex_002dlab-package"></a>
+
+<a class="index-entry-id" id="index-documentmetadata_002dsupport_002ddoc-document"></a>
+<p>This support is still in development, so we will not try to list all 
+the possible settings. Please see the
+<code class="code">documentmetadata-support-doc</code> document, part of the
+<code class="code">latex-lab</code> package (<a class="url" href="https://ctan.org/pkg/latex-lab">https://ctan.org/pkg/latex-lab</a>). Here
+is a simple example which enables most tagging currently implemented:
+</p>
+<div class="example">
+<pre class="example-preformatted">\DocumentMetadata{testphase={phase-III,firstaid}}
+\documentclass{article}
+...
+</pre></div>
+
+<p>As you can see from the key name <code class="code">testphase</code>, this is all still
+in an experimental phase. The LaTeX developers strongly encourage
+users to give it a try and report problems, so it can be improved.
+</p>
+
+<hr>
+</div>
 <div class="section-level-extent" id="CTAN">
 <div class="nav-panel">
 <p>
-Previous: <a href="#Environment" accesskey="p" rel="prev">Environment</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#g_t_005cDocumentMetadata" accesskey="p" rel="prev"><code class="code">\DocumentMetadata</code>: Producing tagged PDF output</a>, Up: <a href="#Overview" accesskey="u" rel="up">Overview of LaTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="CTAN_003a-The-Comprehensive-TeX-Archive-Network">2.6 CTAN: The Comprehensive TeX Archive Network</h3>
+<h3 class="section" id="CTAN_003a-The-Comprehensive-TeX-Archive-Network"><span>2.8 CTAN: The Comprehensive TeX Archive Network<a class="copiable-link" href="#CTAN_003a-The-Comprehensive-TeX-Archive-Network"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-CTAN"></a>
 
@@ -1131,7 +1473,7 @@
 a package that allows authors to format papers to that publisher’s
 specifications.
 </p>
-<p>In addition to the massive holdings, the <code class="code">ctan.org</code> web site
+<p>In addition to its massive holdings, the <code class="code">ctan.org</code> web site
 offers features such as search by name or by functionality.
 </p>
 <a class="index-entry-id" id="index-DANTE-e_002eV_002e"></a>
@@ -1157,14 +1499,15 @@
 <p>
 Next: <a href="#Fonts" accesskey="n" rel="next">Fonts</a>, Previous: <a href="#Overview" accesskey="p" rel="prev">Overview of LaTeX</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Document-classes-1">3 Document classes</h2>
+<h2 class="chapter" id="Document-classes-1"><span>3 Document classes<a class="copiable-link" href="#Document-classes-1"> ¶</a></span></h2>
 
-<a class="index-entry-id" id="index-document-classes"></a>
+<a class="anchor" id="g_t_005cdocumentclass"></a><a class="index-entry-id" id="index-document-classes"></a>
 <a class="index-entry-id" id="index-classes-of-documents"></a>
 <a class="index-entry-id" id="index-_005cdocumentclass"></a>
 
-<p>The document’s overall class is defined with this command, which is
-normally the first command in a LaTeX source file.
+<p>The document’s overall class is defined with the <code class="code">\documentclass</code>
+command, which is normally the first command in a LaTeX source
+file.
 </p>
 <div class="example">
 <pre class="example-preformatted">\documentclass[<var class="var">options</var>]{<var class="var">class</var>}
@@ -1176,8 +1519,8 @@
 <a class="index-entry-id" id="index-letter-class"></a>
 <a class="index-entry-id" id="index-slides-class"></a>
 <p>The following document <var class="var">class</var> names are built into LaTeX.
-(Many other document classes are available as separate packages;
-see <a class="pxref" href="#Overview">Overview of LaTeX</a>.)
+Many other document classes are available as separate packages
+(see <a class="pxref" href="#Overview">Overview of LaTeX</a>).
 </p>
 <dl class="table">
 <dt><code class="code">article</code></dt>
@@ -1202,7 +1545,7 @@
 </dd>
 <dt><code class="code">slides</code></dt>
 <dd><a class="anchor" id="document-classes-slides"></a><p>For slide presentations—rarely used nowadays. The
-<code class="code">beamer</code> package is perhaps the most prevalent
+<code class="code">beamer</code> package is perhaps the most prevalent replacement
 (<a class="url" href="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</a>). See <a class="xref" href="#beamer-template"><code class="code">beamer</code> template</a>, for a
 small template for a beamer document.
 </p>
@@ -1215,16 +1558,16 @@
 
 <ul class="mini-toc">
 <li><a href="#Document-class-options" accesskey="1">Document class options</a></li>
-<li><a href="#Additional-packages" accesskey="2">Additional packages</a></li>
-<li><a href="#Class-and-package-construction" accesskey="3">Class and package construction</a></li>
+<li><a href="#g_t_005cusepackage" accesskey="2"><code class="code">\usepackage</code>: Additional packages</a></li>
+<li><a href="#Class-and-package-creation" accesskey="3">Class and package creation</a></li>
 </ul>
 <hr>
 <div class="section-level-extent" id="Document-class-options">
 <div class="nav-panel">
 <p>
-Next: <a href="#Additional-packages" accesskey="n" rel="next">Additional packages</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</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="#g_t_005cusepackage" accesskey="n" rel="next"><code class="code">\usepackage</code>: Additional packages</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Document-class-options-1">3.1 Document class options</h3>
+<h3 class="section" id="Document-class-options-1"><span>3.1 Document class options<a class="copiable-link" href="#Document-class-options-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-document-class-options"></a>
 <a class="index-entry-id" id="index-options_002c-document-class"></a>
@@ -1239,6 +1582,10 @@
 <pre class="example-preformatted">\documentclass[<var class="var">option1</var>,<var class="var">option2</var>,...]{<var class="var">class</var>}
 </pre></div>
 
+<p>LaTeX automatically passes options specified for
+<code class="code">\documentclass</code> on to any other loaded classes that can handle
+them.
+</p>
 <p>Here is the list of the standard class options.
 </p>
 <a class="index-entry-id" id="index-10pt-option"></a>
@@ -1245,7 +1592,7 @@
 <a class="index-entry-id" id="index-11pt-option"></a>
 <a class="index-entry-id" id="index-12pt-option"></a>
 <p>All of the standard classes except <code class="code">slides</code> accept the following
-options for selecting the typeface size (default is <code class="code">10pt</code>):
+options for selecting the typeface size; the default is <code class="code">10pt</code>:
 </p>
 <div class="example">
 <pre class="example-preformatted">10pt  11pt  12pt
@@ -1258,7 +1605,7 @@
 <a class="index-entry-id" id="index-legalpaper-option"></a>
 <a class="index-entry-id" id="index-letterpaper-option"></a>
 <p>All of the standard classes accept these options for selecting the paper
-size (these show height by width):
+size (dimensions are listed height by width):
 </p>
 <dl class="table">
 <dt><code class="code">a4paper</code></dt>
@@ -1293,15 +1640,13 @@
 
 <p>When using one of the engines pdfLaTeX, LuaLaTeX, or XeLaTeX
 (see <a class="pxref" href="#TeX-engines">TeX engines</a>), options other than <code class="code">letterpaper</code> set
-the print area but you must also set the physical paper size.  One way
-to do that is to put <code class="code">\pdfpagewidth=\paperwidth</code> and
-<code class="code">\pdfpageheight=\paperheight</code> in your document’s preamble.
-<a class="index-entry-id" id="index-package_002c-geometry-1"></a>
-<a class="index-entry-id" id="index-geometry-package-1"></a>
+the print area but you must also set the physical paper size. Usually,
+the <code class="code">geometry</code> package is the best way to do that; it
+provides flexible ways of setting the print area and physical page size.
+Otherwise, setting the paper size is engine-dependent.  For example,
+with pdfLaTeX, you could include <code class="code">\pdfpagewidth=\paperwidth</code> and
+<code class="code">\pdfpageheight=\paperheight</code> in the preamble.
 </p>
-<p>The <code class="code">geometry</code> package provides flexible ways of setting the print
-area and physical page size.
-</p>
 <a class="index-entry-id" id="index-draft-option"></a>
 <a class="index-entry-id" id="index-final-option"></a>
 <a class="index-entry-id" id="index-fleqn-option"></a>
@@ -1313,34 +1658,34 @@
 <p>Miscellaneous other options:
 </p>
 <dl class="table">
-<dt id='index-black-boxes_002c-omitting'><span><code class="code">draft</code><a class="copiable-link" href='#index-black-boxes_002c-omitting'> ¶</a></span></dt>
+<dt><a id="index-black-boxes_002c-omitting"></a><span><code class="code">draft</code><a class="copiable-link" href="#index-black-boxes_002c-omitting"> ¶</a></span></dt>
 <dt><code class="code">final</code></dt>
 <dd><p>Mark (<code class="code">draft</code>) or do not mark (<code class="code">final</code>) overfull boxes with a
 black box in the margin; default is <code class="code">final</code>.
 </p>
 </dd>
-<dt id='index-flush-left-equations'><span><code class="code">fleqn</code><a class="copiable-link" href='#index-flush-left-equations'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-centered-equations"></a>
+<dt><a class="index-entry-id" id="index-centered-equations"></a>
 <a class="index-entry-id" id="index-equations_002c-flush-left-vs_002e-centered"></a>
-<p>Put displayed formulas flush left; default is centered.
+<a id="index-flush-left-equations"></a><span><code class="code">fleqn</code><a class="copiable-link" href="#index-flush-left-equations"> ¶</a></span></dt>
+<dd><p>Put displayed formulas flush left; default is centered.
 </p>
 </dd>
-<dt id='index-landscape-orientation'><span><code class="code">landscape</code><a class="copiable-link" href='#index-landscape-orientation'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-portrait-orientation"></a>
-<p>Selects landscape format; default is portrait.
+<dt><a class="index-entry-id" id="index-portrait-orientation"></a>
+<a id="index-landscape-orientation"></a><span><code class="code">landscape</code><a class="copiable-link" href="#index-landscape-orientation"> ¶</a></span></dt>
+<dd><p>Selects landscape format; default is portrait.
 </p>
 </dd>
-<dt id='index-left_002dhand-equation-numbers'><span><code class="code">leqno</code><a class="copiable-link" href='#index-left_002dhand-equation-numbers'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-right_002dhand-equation-numbers"></a>
+<dt><a class="index-entry-id" id="index-right_002dhand-equation-numbers"></a>
 <a class="index-entry-id" id="index-equation-numbers_002c-left-vs_002e-right"></a>
-<p>Put equation numbers on the left side of equations; default is the right side.
+<a id="index-left_002dhand-equation-numbers"></a><span><code class="code">leqno</code><a class="copiable-link" href="#index-left_002dhand-equation-numbers"> ¶</a></span></dt>
+<dd><p>Put equation numbers on the left side of equations; default is the right side.
 </p>
 </dd>
-<dt id='index-bibliography-format_002c-open'><span><code class="code">openbib</code><a class="copiable-link" href='#index-bibliography-format_002c-open'> ¶</a></span></dt>
+<dt><a id="index-bibliography-format_002c-open"></a><span><code class="code">openbib</code><a class="copiable-link" href="#index-bibliography-format_002c-open"> ¶</a></span></dt>
 <dd><p>Use “open” bibliography format.
 </p>
 </dd>
-<dt id='index-title-page_002c-separate-or-run_002din'><span><code class="code">titlepage</code><a class="copiable-link" href='#index-title-page_002c-separate-or-run_002din'> ¶</a></span></dt>
+<dt><a id="index-title-page_002c-separate-or-run_002din"></a><span><code class="code">titlepage</code><a class="copiable-link" href="#index-title-page_002c-separate-or-run_002din"> ¶</a></span></dt>
 <dt><code class="code">notitlepage</code></dt>
 <dd><p>Specifies whether there is a separate page for the title information and
 for the abstract also, if there is one.  The default for the
@@ -1363,10 +1708,10 @@
 <dd><p>Typeset in one or two columns; default is <code class="code">onecolumn</code>.
 </p>
 </dd>
-<dt id='index-_005cevensidemargin'><span><code class="code">oneside</code><a class="copiable-link" href='#index-_005cevensidemargin'> ¶</a></span></dt>
+<dt><a class="index-entry-id" id="index-_005coddsidemargin"></a>
+<a id="index-_005cevensidemargin"></a><span><code class="code">oneside</code><a class="copiable-link" href="#index-_005cevensidemargin"> ¶</a></span></dt>
 <dt><code class="code">twoside</code></dt>
-<dd><a class="index-entry-id" id="index-_005coddsidemargin"></a>
-<p>Selects one- or two-sided layout; default is <code class="code">oneside</code>, except
+<dd><p>Selects one- or two-sided layout; default is <code class="code">oneside</code>, except
 that in the <code class="code">book</code> class the default is <code class="code">twoside</code>.
 </p>
 <p>For one-sided printing, the text is centered on the page.  For two-sided
@@ -1391,22 +1736,22 @@
 
 <hr>
 </div>
-<div class="section-level-extent" id="Additional-packages">
+<div class="section-level-extent" id="g_t_005cusepackage">
 <div class="nav-panel">
 <p>
-Next: <a href="#Class-and-package-construction" accesskey="n" rel="next">Class and package construction</a>, Previous: <a href="#Document-class-options" accesskey="p" rel="prev">Document class options</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</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="#Class-and-package-creation" accesskey="n" rel="next">Class and package creation</a>, Previous: <a href="#Document-class-options" accesskey="p" rel="prev">Document class options</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Additional-packages-1">3.2 Additional packages</h3>
+<h3 class="section" id="g_t_005cusepackage_003a-Additional-packages"><span>3.2 <code class="code">\usepackage</code>: Additional packages<a class="copiable-link" href="#g_t_005cusepackage_003a-Additional-packages"> ¶</a></span></h3>
 
-<a class="index-entry-id" id="index-loading-additional-packages"></a>
+<a class="anchor" id="Additional-packages"></a><a class="index-entry-id" id="index-loading-additional-packages"></a>
 <a class="index-entry-id" id="index-packages_002c-loading-additional"></a>
 <a class="index-entry-id" id="index-additional-packages_002c-loading"></a>
 <a class="index-entry-id" id="index-_005cusepackage"></a>
-<p>Load a package <var class="var">pkg</var>, with the package options given in the comma-separated
-list <var class="var">options</var>, as here.
+<p>To load a package <var class="var">pkg</var>, with the package options given in the
+comma-separated list <var class="var">options</var>:
 </p>
 <div class="example">
-<pre class="example-preformatted">\usepackage[<var class="var">options</var>]{<var class="var">pkg</var>}.
+<pre class="example-preformatted">\usepackage[<var class="var">options</var>]{<var class="var">pkg</var>}[<var class="var">mindate</var>]
 </pre></div>
 
 <p>To specify more than one package you can separate them with a comma,
@@ -1413,21 +1758,32 @@
 as in <code class="code">\usepackage{<var class="var">pkg1</var>,<var class="var">pkg2</var>,...}</code>, or use multiple
 <code class="code">\usepackage</code> commands.
 </p>
+<p>If the <var class="var">mindate</var> optional argument is given, LaTeX gives a
+warning if the loaded package has an earlier date, i.e., is too old.
+The <var class="var">mindate</var> argument must be in the form <code class="code">YYYY/MM/DD</code>.
+More info on this: <a class="url" href="https://tex.stackexchange.com/questions/47743">https://tex.stackexchange.com/questions/47743</a>.
+</p>
+<p><code class="code">\usepackage</code> must be used in the document preamble, between the
+<code class="code">\documentclass</code> declaration and the <code class="code">\begin{document}</code>.
+Occasionally it is necessary to load packages before the
+<code class="code">\documentclass</code>; see <code class="code">\RequirePackage</code> for that
+(see <a class="pxref" href="#g_t_005cRequirePackage">\RequirePackage</a>).
+</p>
 <a class="index-entry-id" id="index-global-options-1"></a>
 <a class="index-entry-id" id="index-options_002c-global"></a>
-<p>Any options given in the <code class="code">\documentclass</code> command that are unknown
-to the selected document class are passed on to the packages loaded with
-<code class="code">\usepackage</code>.
+<p>Any options given in the global <code class="code">\documentclass</code> command that are
+unknown to the selected document class are passed on to the packages
+loaded with <code class="code">\usepackage</code>.
 </p>
 
 <hr>
 </div>
-<div class="section-level-extent" id="Class-and-package-construction">
+<div class="section-level-extent" id="Class-and-package-creation">
 <div class="nav-panel">
 <p>
-Previous: <a href="#Additional-packages" accesskey="p" rel="prev">Additional packages</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#g_t_005cusepackage" accesskey="p" rel="prev"><code class="code">\usepackage</code>: Additional packages</a>, Up: <a href="#Document-classes" accesskey="u" rel="up">Document classes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Class-and-package-construction-1">3.3 Class and package construction</h3>
+<h3 class="section" id="Class-and-package-creation-1"><span>3.3 Class and package creation<a class="copiable-link" href="#Class-and-package-creation-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-document-class-commands"></a>
 <a class="index-entry-id" id="index-commands_002c-document-class"></a>
@@ -1439,38 +1795,39 @@
 <code class="code">smcmemo.cls</code> and begin your documents with
 <code class="code">\documentclass{smcmemo}</code>.
 </p>
-<p>What separates a package from a document class is that the commands in a
-package are useful across classes while those in a document class are
-specific to that class.  Thus, a command to set page headers is for a
-package while a command to make the page headers say <code class="code">Memo from the
-SMC Math Department</code> is for a class.
 <a class="index-entry-id" id="index-class-and-package-difference"></a>
 <a class="index-entry-id" id="index-difference-between-class-and-package"></a>
+<p>What separates a package from a document class is that the commands in
+a package are useful across classes while those in a document class
+are specific to that class.  Thus, a command to set page headers is
+for a package while a command to make the page headers be
+<code class="code">Memo from the SMC Math Department</code> is for a class.
 </p>
-<p>Inside of a class or package file you can use the at-sign <code class="code">@</code> as a
-character in command names without having to surround the code
-containing that command with <code class="code">\makeatletter</code> and
-<code class="code">\makeatother</code>.  See <a class="xref" href="#g_t_005cmakeatletter-_0026-_005cmakeatother"><code class="code">\makeatletter</code> & <code class="code">\makeatother</code></a>. This allow
-you to create commands that users will not accidentally redefine.
-Another technique is to preface class- or package-specific commands with
-some string to prevent your class or package from interfering with
-others. For instance, the class <code class="code">smcmemo</code> might have commands
+<p>Inside of a class or package definition you can use the at-sign
+<code class="code">@</code> as a character in command names without having to surround
+the code containing that command with <code class="code">\makeatletter</code> and
+<code class="code">\makeatother</code> (see <a class="pxref" href="#g_t_005cmakeatletter-_0026-_005cmakeatother"><code class="code">\makeatletter</code> & <code class="code">\makeatother</code></a>).  This
+allows you to create commands that users will not accidentally
+redefine.
+</p>
+<p>It is also highly desirable to prefix class- or package-specific
+commands with your package name or similar string, to prevent your
+definitions from clashing with those from other packages. For
+instance, the class <code class="code">smcmemo</code> might have commands
 <code class="code">\smc at tolist</code>, <code class="code">\smc at fromlist</code>, etc.
 </p>
 
 
-
 <ul class="mini-toc">
 <li><a href="#Class-and-package-structure" accesskey="1">Class and package structure</a></li>
-<li><a href="#Class-and-package-commands" accesskey="2">Class and package commands</a></li>
 </ul>
 <hr>
 <div class="subsection-level-extent" id="Class-and-package-structure">
 <div class="nav-panel">
 <p>
-Next: <a href="#Class-and-package-commands" accesskey="n" rel="next">Class and package commands</a>, Up: <a href="#Class-and-package-construction" accesskey="u" rel="up">Class and package construction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Up: <a href="#Class-and-package-creation" accesskey="u" rel="up">Class and package creation</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="Class-and-package-structure-1">3.3.1 Class and package structure</h4>
+<h4 class="subsection" id="Class-and-package-structure-1"><span>3.3.1 Class and package structure<a class="copiable-link" href="#Class-and-package-structure-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-class-and-package-structure"></a>
 <a class="index-entry-id" id="index-class-file-layout"></a>
@@ -1481,7 +1838,8 @@
 <a class="index-entry-id" id="index-package-options"></a>
 
 <p>A class file or package file typically has four parts.  
-</p><ol class="enumerate">
+</p>
+<ol class="enumerate">
 <li> In the <em class="dfn">identification part</em>, the file says that it is a LaTeX
 package or class and describes itself, using the <code class="code">\NeedsTeXFormat</code>
 and <code class="code">\ProvidesClass</code> or <code class="code">\ProvidesPackage</code> commands.
@@ -1507,6 +1865,7 @@
 fonts, and loading other files.
 </li></ol>
 
+<a class="index-entry-id" id="index-class-file-example"></a>
 <p>Here is a starting class file, which should be saved as <samp class="file">stub.cls</samp>
 where LaTeX can find it, for example in the same directory as the
 <samp class="file">.tex</samp> file.
@@ -1518,436 +1877,23 @@
 \ProcessOptions\relax
 \LoadClass{article}
 </pre></div>
-<a class="index-entry-id" id="index-class-file-example"></a>
 
 <p>It identifies itself, handles the class options via the default of
 passing them all to the <code class="code">article</code> class, and then loads the
 <code class="code">article</code> class to provide the basis for this class’s code.
 </p>
+<a class="index-entry-id" id="index-clsguide-document"></a>
+<a class="index-entry-id" id="index-Class-Guide_002c-document"></a>
+<a class="index-entry-id" id="index-class-writing-tutorial-document"></a>
 <p>For more, see the official guide for class and package writers, the
-Class Guide, at
-<a class="url" href="https://www.latex-project.org/help/documentation/clsguide.pdf">https://www.latex-project.org/help/documentation/clsguide.pdf</a> (much
-of the descriptions here derive from this document), or the tutorial
-<a class="url" href="https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf">https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf</a>.
+Class Guide, at <a class="url" href="https://ctan.org/pkg/clsguide">https://ctan.org/pkg/clsguide</a> (much of the
+description here derives from this document), or the tutorial at
+<a class="url" href="https://tug.org/TUGboat/tb26-3/tb84heff.pdf">https://tug.org/TUGboat/tb26-3/tb84heff.pdf</a>.
 </p>
-
-<hr>
-</div>
-<div class="subsection-level-extent" id="Class-and-package-commands">
-<div class="nav-panel">
-<p>
-Previous: <a href="#Class-and-package-structure" accesskey="p" rel="prev">Class and package structure</a>, Up: <a href="#Class-and-package-construction" accesskey="u" rel="up">Class and package construction</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
-</div>
-<h4 class="subsection" id="Class-and-package-commands-1">3.3.2 Class and package commands</h4>
-<a class="index-entry-id" id="index-class-and-package-commands"></a>
-<a class="index-entry-id" id="index-commands_002c-class-and-package"></a>
-
-<p>These are the commands designed to help writers of classes or packages.
+<p>See <a class="xref" href="#Class-and-package-commands">Class and package commands</a>, for some of the commands
+specifically intended for class and package writers.
 </p>
-<dl class="table">
-<dt id='index-_005cAtBeginDvi'><span><code class="code">\AtBeginDvi{specials}</code><a class="copiable-link" href='#index-_005cAtBeginDvi'> ¶</a></span></dt>
-<dd><p>Save in a box register things that are written to the <samp class="file">.dvi</samp> file
-at the beginning of the shipout of the first page of the document.
-</p>
-</dd>
-<dt id='index-_005cAtEndOfClass'><span><code class="code">\AtEndOfClass{<var class="var">code</var>}</code><a class="copiable-link" href='#index-_005cAtEndOfClass'> ¶</a></span></dt>
-<dt><code class="code">\AtEndOfPackage{<var class="var">code</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cAtEndOfPackage"></a>
-<p>Hook to insert <var class="var">code</var> to be executed when LaTeX finishes
-processing the current class or package.  You can use these hooks
-multiple times; the <code class="code">code</code> will be executed in the order that you
-called it.  See also <a class="ref" href="#g_t_005cAtBeginDocument"><code class="code">\AtBeginDocument</code></a>.
-</p>
-</dd>
-<dt id='index-_005cCheckCommand'><span><code class="code">\CheckCommand{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}</code><a class="copiable-link" href='#index-_005cCheckCommand'> ¶</a></span></dt>
-<dt><code class="code">\CheckCommand*{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cCheckCommand_002a"></a>
-<a class="index-entry-id" id="index-new-command_002c-checking"></a>
-<p>Like <code class="code">\newcommand</code> (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>) but does
-not define <var class="var">cmd</var>; instead it checks that the current definition of
-<var class="var">cmd</var> is exactly as given by <var class="var">definition</var> and is or is not 
-<a class="index-entry-id" id="index-long-command"></a>
-<em class="dfn">long</em> as expected.  A long command is a command that accepts
-<code class="code">\par</code> within an argument.  The <var class="var">cmd</var> command is expected to be
-long with the unstarred version of <code class="code">\CheckCommand</code>.  Raises an
-error when the check fails.  This allows you to check before you start
-redefining <code class="code">cmd</code> yourself that no other package has already
-redefined this command.
-</p>
-</dd>
-<dt id='index-_005cClassError'><span><code class="code">\ClassError{<var class="var">class name</var>}{<var class="var">error text</var>}{<var class="var">help text</var>}</code><a class="copiable-link" href='#index-_005cClassError'> ¶</a></span></dt>
-<dt><code class="code">\ClassWarning{<var class="var">class name</var>}{<var class="var">warning text</var>}</code></dt>
-<dt><code class="code">\ClassWarningNoLine{<var class="var">class name</var>}{<var class="var">warning text</var>}</code></dt>
-<dt><code class="code">\ClassInfo{<var class="var">class name</var>}{<var class="var">info text</var>}</code></dt>
-<dt><code class="code">\ClassInfoNoLine{<var class="var">class name</var>}{<var class="var">info text</var>}</code></dt>
-<dt><code class="code">\PackageError{<var class="var">package name</var>}{<var class="var">error text</var>}{<var class="var">help text</var>}</code></dt>
-<dt><code class="code">\PackageWarning{<var class="var">package name</var>}{<var class="var">warning text</var>}</code></dt>
-<dt><code class="code">\PackageWarningNoLine{<var class="var">package name</var>}{<var class="var">warning text</var>}</code></dt>
-<dt><code class="code">\PackageInfo{<var class="var">package name</var>}{<var class="var">info text</var>}</code></dt>
-<dt><code class="code">\PackageInfoNoLine{<var class="var">package name</var>}{<var class="var">info text</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cPackageError"></a>
-<a class="index-entry-id" id="index-_005cClassWarning"></a>
-<a class="index-entry-id" id="index-_005cPackageWarning"></a>
-<a class="index-entry-id" id="index-_005cClassWarningNoLine"></a>
-<a class="index-entry-id" id="index-_005cPackageWarningNoLine"></a>
-<a class="index-entry-id" id="index-_005cClassInfo"></a>
-<a class="index-entry-id" id="index-_005cPackageInfo"></a>
-<a class="index-entry-id" id="index-_005cClassInfoNoLine"></a>
-<a class="index-entry-id" id="index-_005cPackageInfoNoLine"></a>
-<p>Produce an error message, or warning or informational messages.
-</p>
-<p>For <code class="code">\ClassError</code> and <code class="code">\PackageError</code> the message is
-<var class="var">error text</var>, followed by TeX’s <code class="code">?</code> error prompt. If the
-user then asks for help by typing <code class="code">h</code>, they see the <var class="var">help
-text</var>.
-</p>
-<p>The four warning commands are similar except that they write
-<var class="var">warning text</var> on the screen with no error prompt.  The four info
-commands write <var class="var">info text</var> only in the transcript file.  The
-<code class="code">NoLine</code> versions do not show the number of the line generating the
-message, while the other versions do show that number.
-</p>
-<p>To format the messages, including the <var class="var">help text</var>: use
-<code class="code">\protect</code> to stop a command from expanding, get a line break with
-<code class="code">\MessageBreak</code>, and get a space with <code class="code">\space</code> when a space
-character does not allow it, like after a command.  Note that LaTeX
-appends a period to the messages.
-</p>
-</dd>
-<dt id='index-_005cCurrentOption'><span><code class="code">\CurrentOption</code><a class="copiable-link" href='#index-_005cCurrentOption'> ¶</a></span></dt>
-<dd><p>Expands to the name of the currently-being-processed option.  Can only
-be used within the <var class="var">code</var> argument of either <code class="code">\DeclareOption</code>
-or <code class="code">\DeclareOption*</code>.
-</p>
-</dd>
-<dt id='index-_005cDeclareOption'><span><code class="code">\DeclareOption{<var class="var">option</var>}{<var class="var">code</var>}</code><a class="copiable-link" href='#index-_005cDeclareOption'> ¶</a></span></dt>
-<dt><code class="code">\DeclareOption*{<var class="var">code</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cDeclareOption_002a"></a>
-<a class="index-entry-id" id="index-class-options-2"></a>
-<a class="index-entry-id" id="index-package-options-1"></a>
-<a class="index-entry-id" id="index-options_002c-class"></a>
-<a class="index-entry-id" id="index-options_002c-package-1"></a>
-<p>Make an option available to a user to invoke in their
-<code class="code">\documentclass</code> command.  For example, the <code class="code">smcmemo</code> class
-could have an option <code class="code">\documentclass[logo]{smcmemo}</code> allowing
-users to put the institutional logo on the first page.  The class file
-must contain <code class="code">\DeclareOption{logo}{<var class="var">code</var>}</code> (and later,
-<code class="code">\ProcessOptions</code>).
-</p>
-<p>If you request an option that has not been declared, by default this
-will produce a warning like <code class="code">Unused global option(s):
-[badoption].</code>  Change this behavior with the starred version
-<code class="code">\DeclareOption*{<var class="var">code</var>}</code>.  For example, many classes
-extend an existing class, using a command such as
-<code class="code">\LoadClass{article}</code>, and for passing extra options to the
-underlying class use code such as this.
-</p>
-<div class="example">
-<pre class="example-preformatted">\DeclareOption*{%
-\PassOptionsToClass{\CurrentOption}{article}%
-}
-</pre></div>
 
-<p>Another example is that the class <code class="code">smcmemo</code> may allow users to keep
-lists of memo recipients in external files.  Then the user could invoke
-<code class="code">\documentclass[math]{smcmemo}</code> and it will read the file
-<code class="code">math.memo</code>.  This code handles the file if it exists and otherwise
-passes the option to the <code class="code">article</code> class.
-</p>
-<div class="example">
-<pre class="example-preformatted">\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{%
-    \PassOptionsToClass{\CurrentOption}{article}}}
-</pre></div>
-
-</dd>
-<dt><code class="code">\DeclareRobustCommand{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}</code></dt>
-<dt id='index-_005cDeclareRobustCommand'><span><code class="code">* \DeclareRobustCommand*{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}</code><a class="copiable-link" href='#index-_005cDeclareRobustCommand'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cDeclareRobustCommand_002a"></a>
-<a class="index-entry-id" id="index-new-command_002c-definition"></a>
-<p>Like <code class="code">\newcommand</code> and <code class="code">\newcommand*</code> (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>) but these declare a robust command, even if some code
-within the <var class="var">definition</var> is fragile.  (For a discussion of robust and
-fragile commands see <a class="pxref" href="#g_t_005cprotect"><code class="code">\protect</code></a>.) Use this command to define new
-robust commands or to redefine existing commands and make them
-robust. Unlike <code class="code">\newcommand</code> these do not give an error if macro
-<var class="var">cmd</var> already exists; instead, a log message is put into the
-transcript file if a command is redefined.
-</p>
-<p>Commands defined this way are a bit less efficient than those defined
-using <code class="code">\newcommand</code> so unless the command’s data is fragile and the
-command is used within a moving argument, use <code class="code">\newcommand</code>.
-</p>
-<a class="index-entry-id" id="index-package_002c-etoolbox"></a>
-<a class="index-entry-id" id="index-etoolbox-package"></a>
-<p>The <code class="code">etoolbox</code> package offers the commands
-<code class="code">\newrobustcmd</code>, <code class="code">\newrobustcmd*</code>, as well as the commands
-<code class="code">\renewrobustcmd</code>, <code class="code">\renewrobustcmd*</code>, and the commands
-<code class="code">\providerobustcmd</code>, and <code class="code">\providerobustcmd*</code>.  These are
-similar to <code class="code">\newcommand</code>, <code class="code">\newcommand*</code>,
-<code class="code">\renewcommand</code>, <code class="code">\renewcommand*</code>, <code class="code">\providecommand</code>, and
-<code class="code">\providecommand*</code>, but define a robust <var class="var">cmd</var> with two
-advantages as compared to <code class="code">\DeclareRobustCommand</code>:
-</p><ol class="enumerate">
-<li> They use the low-level e-TeX protection mechanism rather than the
-higher level LaTeX <code class="code">\protect</code> mechanism, so they do not incur
-the slight loss of performance mentioned above, and
-</li><li> They make the same distinction between <code class="code">\new…</code>,
-<code class="code">\renew…</code>, and <code class="code">\provide…</code>, as the standard
-commands, so they do not just make a log message when you redefine
-<var class="var">cmd</var> that already exists, in that case you need to use either
-<code class="code">\renew…</code> or <code class="code">\provide…</code> or you get an error.
-</li></ol>
-
-</dd>
-<dt id='index-_005cIfFileExists'><span><code class="code">\IfFileExists{<var class="var">filename</var>}{<var class="var">true code</var>}{<var class="var">false code</var>}</code><a class="copiable-link" href='#index-_005cIfFileExists'> ¶</a></span></dt>
-<dt><code class="code">\InputIfFileExists{<var class="var">filename</var>}{<var class="var">true code</var>}{<var class="var">false code</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cInputIfFileExists"></a>
-<p>Execute <var class="var">true code</var> if LaTeX finds the file <samp class="file"><var class="var">file
-name</var></samp> or <var class="var">false code</var> otherwise.  In the first case it executing
-<var class="var">true code</var> and then inputs the file.  Thus the command
-</p>
-<div class="example">
-<pre class="example-preformatted">\IfFileExists{img.pdf}{%
-  \includegraphics{img.pdf}}{\typeout{!! img.pdf not found}
-</pre></div>
-
-<p>will include the graphic <samp class="file">img.pdf</samp> if it is found and otherwise
-give a warning.
-</p>
-<p>This command looks for the file in all search paths that LaTeX uses,
-not only in the current directory.  To look only in the current
-directory do something like <code class="code">\IfFileExists{./filename}{<var class="var">true
-code</var>}{<var class="var">false code</var>}</code>.  If you ask for a filename without a
-<code class="code">.tex</code> extension then LaTeX will first look for the file by
-appending the <code class="code">.tex</code>; for more on how LaTeX handles file
-extensions see <a class="ref" href="#g_t_005cinput"><code class="code">\input</code></a>.
-</p>
-</dd>
-<dt id='index-_005cLoadClass'><span><code class="code">\LoadClass[<var class="var">options list</var>]{<var class="var">class name</var>}[<var class="var">release date</var>]</code><a class="copiable-link" href='#index-_005cLoadClass'> ¶</a></span></dt>
-<dt><code class="code">\LoadClassWithOptions{<var class="var">class name</var>}[<var class="var">release date</var>]</code></dt>
-<dd><a class="index-entry-id" id="index-_005cLoadClassWithOptions"></a>
-<p>Load a class, as with <code class="code">\documentclass[<var class="var">options
-list</var>]{<var class="var">class name</var>}[<var class="var">release info</var>]</code>.  An example is
-<code class="code">\LoadClass[twoside]{article}</code>.
-</p>
-<p>The <var class="var">options list</var>, if present, is a comma-separated list.  The
-<var class="var">release date</var> is optional.  If present it must have the form
-<var class="var">YYYY/MM/DD</var>.
-</p>
-<p>If you request a <var class="var">release date</var> and the date of the package
-installed on your system is earlier, then you get a warning on the
-screen and in the log like this.
-</p>
-<div class="example">
-<pre class="example-preformatted">You have requested, on input line 4, version `2038/01/19' of
-document class article, but only version `2014/09/29 v1.4h
-Standard LaTeX document class' is available.
-</pre></div>
-
-<p>The command version <code class="code">\LoadClassWithOptions</code> uses the list of
-options for the current class.  This means it ignores any options passed
-to it via <code class="code">\PassOptionsToClass</code>.  This is a convenience command
-that lets you build classes on existing ones, such as the standard
-<code class="code">article</code> class, without having to track which options were passed.
-</p>
-</dd>
-<dt id='index-_005cExecuteOptions'><span><code class="code">\ExecuteOptions{<var class="var">options-list</var>}</code><a class="copiable-link" href='#index-_005cExecuteOptions'> ¶</a></span></dt>
-<dd><p>For each option <var class="var">option</var> in the <var class="var">options-list</var>, in order, this command
-executes the command <code class="code">\ds@<var class="var">option</var></code>.  If this command is not
-defined then that option is silently ignored.
-</p>
-<p>It can be used to provide a default option list before
-<code class="code">\ProcessOptions</code>.  For example, if in a class file you want the
-default to be 11pt fonts then you could specify
-<code class="code">\ExecuteOptions{11pt}\ProcessOptions\relax</code>.
-</p>
-</dd>
-<dt id='index-_005cNeedsTeXFormat'><span><code class="code">\NeedsTeXFormat{<var class="var">format</var>}[<var class="var">format date</var>]</code><a class="copiable-link" href='#index-_005cNeedsTeXFormat'> ¶</a></span></dt>
-<dd><p>Specifies the format that this class must be run under.  Often issued
-as the first line of a class file, and most often used as:
-<code class="code">\NeedsTeXFormat{LaTeX2e}</code>.  When a document using that class is
-processed, the format name given here must match the format that is
-actually being run (including that the <var class="var">format</var> string is case
-sensitive).  If it does not match then execution stops with an error
-like ‘<samp class="samp">This file needs format `LaTeX2e' but this is `xxx'.</samp>’
-</p>
-<p>To specify a version of the format that you know to have certain
-features, include the optional <var class="var">format date</var> on which those features
-were implemented.  If present it must be in the form <code class="code">YYYY/MM/DD</code>.
-If the format version installed on your system is earlier than
-<var class="var">format date</var> then you get a warning like this.
-</p>
-<div class="example">
-<pre class="example-preformatted">You have requested release `2038/01/20' of LaTeX, but only
-release `2016/02/01' is available.
-</pre></div>
-
-</dd>
-<dt id='index-_005cOptionNotUsed'><span><code class="code">\OptionNotUsed</code><a class="copiable-link" href='#index-_005cOptionNotUsed'> ¶</a></span></dt>
-<dd><p>Adds the current option to the list of unused options.  Can only be used
-within the <var class="var">code</var> argument of either <code class="code">\DeclareOption</code> or
-<code class="code">\DeclareOption*</code>.
-</p>
-
-</dd>
-<dt id='index-_005cPassOptionsToClass'><span><code class="code">\PassOptionsToClass{<var class="var">option list</var>}{<var class="var">class name</var>}</code><a class="copiable-link" href='#index-_005cPassOptionsToClass'> ¶</a></span></dt>
-<dt><code class="code">\PassOptionsToPackage{<var class="var">option list</var>}{<var class="var">package name</var>}</code></dt>
-<dd><a class="index-entry-id" id="index-_005cPassOptionsToPackage"></a>
-<p>Adds the options in the comma-separated list <var class="var">option list</var> to the
-options used by any future <code class="code">\RequirePackage</code> or <code class="code">\usepackage</code>
-command for package <var class="var">package name</var> or the class <var class="var">class name</var>.
-</p>
-<p>The reason for these commands is: you may load a package any number of
-times with no options but if you want options then you may only supply
-them when you first load the package.  Loading a package with options
-more than once will get you an error like <code class="code">Option clash for package
-foo.</code> (LaTeX throws an error even if there is no conflict between the
-options.)
-</p>
-<p>If your own code is bringing in a package twice then you can collapse
-that to once, for example replacing the two
-<code class="code">\RequirePackage[landscape]{geometry}</code> and
-<code class="code">\RequirePackage[margins=1in]{geometry}</code> with the single command
-<code class="code">\RequirePackage[landscape,margins=1in]{geometry}</code>.
-</p>
-<p>However, imagine that you are loading <samp class="file">firstpkg</samp> and inside that
-package it loads <samp class="file">secondpkg</samp>, and you need the second package to be
-loaded with option <code class="code">draft</code>.  Then before doing the first package
-you must queue up the options for the second package, like this.
-</p>
-<div class="example">
-<pre class="example-preformatted">\PassOptionsToPackage{draft}{secondpkg}
-\RequirePackage{firstpkg}
-</pre></div>
-
-<p>(If <code class="code">firstpkg.sty</code> loads an option in conflict with what you want
-then you may have to alter its source.)
-</p>
-<p>These commands are useful for general users as well as class and package
-writers.  For instance, suppose a user wants to load the <code class="code">graphicx</code>
-package with the option <code class="code">draft</code> and also wants to use a class
-<code class="code">foo</code> that loads the <code class="code">graphicx</code> package, but without that
-option. The user could start their LaTeX file with
-<code class="code">\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}</code>.
-</p>
-</dd>
-<dt id='index-_005cProcessOptions'><span><code class="code">\ProcessOptions</code><a class="copiable-link" href='#index-_005cProcessOptions'> ¶</a></span></dt>
-<dt><code class="code">\ProcessOptions*<var class="var">\@options</var></code></dt>
-<dd><a class="index-entry-id" id="index-_005cProcessOptions_002a"></a>
-<p>Execute the code for each option that the user has invoked.  Include it
-in the class file as <code class="code">\ProcessOptions\relax</code> (because of the
-existence of the starred command).
-</p>
-<p>Options come in two types.  <em class="dfn">Local options</em> have been specified for this
-particular package in the <var class="var">options</var> argument of
-<code class="code">\PassOptionsToPackage{<var class="var">options</var>}</code>,
-<code class="code">\usepackage[<var class="var">options</var>]</code>, or
-<code class="code">\RequirePackage[<var class="var">options</var>]</code>.  <em class="dfn">Global options</em> are those given
-by the class user in <code class="code">\documentclass[<var class="var">options</var>]</code> (If an option
-is specified both locally and globally then it is local.)
-</p>
-<p>When <code class="code">\ProcessOptions</code> is called for a package <samp class="file">pkg.sty</samp>, the
-following happens:
-</p><ol class="enumerate">
-<li> For each option <var class="var">option</var> so far declared
-with <code class="code">\DeclareOption</code>, it looks to see if that option is either a
-global or a local option for <code class="code">pkg</code>. If so then it executes the
-declared code.  This is done in the order in which these options were
-given in <samp class="file">pkg.sty</samp>.
-</li><li> For each remaining local option, it executes the command
-<code class="code">\ds@</code><var class="var">option</var> if it has been defined somewhere (other than by
-a <code class="code">\DeclareOption</code>); otherwise, it executes the default option code
-given in <code class="code">\DeclareOption*</code>. If no default option code has been
-declared then it gives an error message.  This is done in the order in
-which these options were specified.
-</li></ol>
-
-<p>When <code class="code">\ProcessOptions</code> is called for a class it works in the same
-way except that all options are local, and the default <var class="var">code</var> for
-<code class="code">\DeclareOption*</code> is <code class="code">\OptionNotUsed</code> rather than an error.
-</p>
-<p>The starred version <code class="code">\ProcessOptions*</code> executes the
-options in the order specified in the calling commands, rather than in
-the order of declaration in the class or package. For a package this
-means that the global options are processed first.
-</p>
-</dd>
-<dt id='index-_005cProvidesClass'><span><code class="code">\ProvidesClass{<var class="var">class name</var>}[<var class="var">release date</var> <var class="var">brief additional information</var>]</code><a class="copiable-link" href='#index-_005cProvidesClass'> ¶</a></span></dt>
-<dt><code class="code">\ProvidesClass{<var class="var">class name</var>}[<var class="var">release date</var>]</code></dt>
-<dt><code class="code">\ProvidesPackage{<var class="var">package name</var>}[<var class="var">release date</var> <var class="var">brief additional information</var>]</code></dt>
-<dt><code class="code">\ProvidesPackage{<var class="var">package name</var>}[<var class="var">release date</var>]</code></dt>
-<dd><a class="index-entry-id" id="index-_005cProvidesPackage"></a>
-<p>Identifies the class or package, printing a message to the screen and
-the log file.
-</p>
-<p>When you load a class or package, for example with
-<code class="code">\documentclass{smcmemo}</code> or <code class="code">\usepackage{test}</code>, LaTeX
-inputs a file.  If the name of the file does not match the class or
-package name declared in it then you get a warning.  Thus, if you invoke
-<code class="code">\documentclass{smcmemo}</code>, and the file <samp class="file">smcmemo.cls</samp> has
-the statement <code class="code">\ProvidesClass{xxx}</code> then you get a warning like
-<code class="code">You have requested document class `smcmemo', but the document
-class provides 'xxx'.</code>  This warning does not prevent LaTeX from
-processing the rest of the class file normally.
-</p>
-<p>If you include the optional argument then you must include a date,
-before any spaces, of the form <code class="code">YYYY/MM/DD</code>. The rest of the
-optional argument is free-form, although it traditionally identifies the
-class, and is written to the screen during compilation and to the log
-file.  Thus, if your file <samp class="file">smcmemo.cls</samp> contains the line
-<code class="code">\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</code> and
-your document’s first line is <code class="code">\documentclass{smcmemo}</code> then you
-will see <code class="code">Document Class: smcmemo 2008/06/01 v1.0 SMC memo class</code>.
-</p>
-<p>The date in the optional argument allows class and package users to ask
-to be warned if the version of the class or package is earlier than
-<var class="var">release date</var>.  For instance, a user could enter
-<code class="code">\documentclass{smcmemo}[2018/10/12]</code> or
-<code class="code">\usepackage{foo}[[2017/07/07]]</code> to require a class or package
-with certain features by specifying that it must be released no earlier
-than the given date.  (Although, in practice package users only rarely
-include a date, and class users almost never do.)
-</p>
-</dd>
-<dt id='index-_005cProvidesFile'><span><code class="code">\ProvidesFile{<var class="var">filename</var>}[<var class="var">additional information</var>]</code><a class="copiable-link" href='#index-_005cProvidesFile'> ¶</a></span></dt>
-<dd><p>Declare a file other than the main class and package files, such as
-configuration files or font definition files.  Put this command in that
-file and you get in the log a string like <code class="code">File: test.config
-2017/10/12 config file for test.cls</code> for <var class="var">filename</var> equal to
-‘<samp class="samp">test.config</samp>’ and <var class="var">additional information</var> equal to
-‘<samp class="samp">2017/10/12 config file for test.cls</samp>’.
-</p>
-</dd>
-<dt id='index-_005cRequirePackage'><span><code class="code">\RequirePackage[<var class="var">option list</var>]{<var class="var">package name</var>}[<var class="var">release date</var>]</code><a class="copiable-link" href='#index-_005cRequirePackage'> ¶</a></span></dt>
-<dt><code class="code">\RequirePackageWithOptions{<var class="var">package name</var>}[<var class="var">release date</var>]</code></dt>
-<dd><a class="index-entry-id" id="index-_005cRequirePackageWithOptions"></a>
-<p>Load a package, like the command <code class="code">\usepackage</code> (see <a class="pxref" href="#Additional-packages">Additional packages</a>). The LaTeX development team strongly recommends use of
-these commands over Plain TeX’s <code class="code">\input</code>; see the Class
-Guide.  An example is
-<code class="code">\RequirePackage[landscape,margin=1in]{geometry}</code>.
-</p>
-<p>The <var class="var">option list</var>, if present, is a comma-separated list.  The
-<var class="var">release date</var>, if present, must have the form <var class="var">YYYY/MM/DD</var>.  If
-the release date of the package as installed on your system is earlier
-than <var class="var">release date</var> then you get a warning like <code class="code">You have
-requested, on input line 9, version `2017/07/03' of package jhtest, but
-only version `2000/01/01' is available</code>.
-</p>
-<p>The <code class="code">\RequirePackageWithOptions</code> version uses the list of options
-for the current class.  This means it ignores any options passed to it
-via <code class="code">\PassOptionsToClass</code>.  This is a convenience command to allow
-easily building classes on existing ones without having to track which
-options were passed.
-</p>
-<p>The difference between <code class="code">\usepackage</code> and <code class="code">\RequirePackage</code> is
-small.  The <code class="code">\usepackage</code> command is intended for the document file
-while <code class="code">\RequirePackage</code> is intended for package and class files.
-Thus, using <code class="code">\usepackage</code> before the <code class="code">\documentclass</code> command
-causes LaTeX to give error like <code class="code">\usepackage before
-\documentclass</code>, but you can use <code class="code">\RequirePackage</code> there.
-</p></dd>
-</dl>
-
-
 <hr>
 </div>
 </div>
@@ -1957,7 +1903,7 @@
 <p>
 Next: <a href="#Layout" accesskey="n" rel="next">Layout</a>, Previous: <a href="#Document-classes" accesskey="p" rel="prev">Document classes</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Fonts-1">4 Fonts</h2>
+<h2 class="chapter" id="Fonts-1"><span>4 Fonts<a class="copiable-link" href="#Fonts-1"> ¶</a></span></h2>
 <a class="anchor" id="Typefaces"></a>
 <a class="index-entry-id" id="index-typefaces"></a>
 <a class="index-entry-id" id="index-fonts"></a>
@@ -2012,7 +1958,7 @@
 <p>
 Next: <a href="#Font-styles" accesskey="n" rel="next">Font styles</a>, Up: <a href="#Fonts" accesskey="u" rel="up">Fonts</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="fontenc-package-1">4.1 <code class="code">fontenc</code> package</h3>
+<h3 class="section" id="fontenc-package-1"><span>4.1 <code class="code">fontenc</code> package<a class="copiable-link" href="#fontenc-package-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-font-encoding"></a>
 <a class="index-entry-id" id="index-UTF_002d8_002c-font-support-for"></a>
@@ -2061,6 +2007,7 @@
 </p>
 <a class="index-entry-id" id="index-package_002c-lmodern"></a>
 <a class="index-entry-id" id="index-lmodern-package"></a>
+
 <a class="index-entry-id" id="index-package_002c-cm_002dsuper"></a>
 <a class="index-entry-id" id="index-cm_002dsuper-package"></a>
 
@@ -2075,11 +2022,11 @@
 <samp class="file"><var class="var">font_encoding</var>enc.def</samp>.  It also sets <code class="code">\encodingdefault</code>
 to be the last encoding in the option list.
 </p>
-<p>These are the common values for <var class="var">font_encoding</var>.
+<p>These are the common values for <var class="var">font_encoding</var>:
 </p>
 <dl class="table">
-<dt><code class="code">OT1</code></dt>
-<dd><p>The original encoding for TeX.  Limited to mostly English characters.
+<dt><a id="index-OT1-encoding"></a><span><code class="code">OT1</code><a class="copiable-link" href="#index-OT1-encoding"> ¶</a></span></dt>
+<dd><p>The original 7-bit encoding for TeX.  Limited to mostly English characters.
 </p>
 </dd>
 <dt><code class="code">OMS, OML</code></dt>
@@ -2086,13 +2033,15 @@
 <dd><p>Math symbols and math letters encoding.
 </p>
 </dd>
-<dt><code class="code">T1</code></dt>
-<dd><p>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.
+<dt><a class="index-entry-id" id="index-Cork-encoding"></a>
+<a id="index-T1-encoding"></a><span><code class="code">T1</code><a class="copiable-link" href="#index-T1-encoding"> ¶</a></span></dt>
+<dd><p>TeX text extended.  Sometimes called the Cork encoding for the
+users group meeting where it was developed (1990).  Gives access to
+most European accented characters.  The most common option for this
+package.
 </p>
 </dd>
-<dt><code class="code">TS1</code></dt>
+<dt><a id="index-TS1-_0028text-companion_0029-encoding"></a><span><code class="code">TS1</code><a class="copiable-link" href="#index-TS1-_0028text-companion_0029-encoding"> ¶</a></span></dt>
 <dd><p>Text Companion encoding.
 </p></dd>
 </dl>
@@ -2108,13 +2057,13 @@
 fonts before loading <samp class="file">fontenc</samp>, to prevent the system from loading
 any <code class="code">T1</code> encoded fonts from the default.
 </p>
-<p>The LaTeX team reserve encoding names starting with: ‘<samp class="samp">T</samp>’ for the
-standard text encodings with 256 characters, ‘<samp class="samp">TS</samp>’ for symbols that
-extend the corresponding T encodings, ‘<samp class="samp">X</samp>’ for test encodings,
-‘<samp class="samp">M</samp>’ for standard math encodings with 256 characters, ‘<samp class="samp">A</samp>’ for
-special applications, ‘<samp class="samp">OT</samp>’ for standard text encodings with 128
-characters, and ‘<samp class="samp">OM</samp>’ for standard math encodings with 128
-characters (‘<samp class="samp">O</samp>’ stands for ‘<samp class="samp">obsolete</samp>’).
+<p>The LaTeX team reserves encoding names starting with: ‘<samp class="samp">T</samp>’ for
+the standard text encodings with 256 characters, ‘<samp class="samp">TS</samp>’ for symbols
+that extend the corresponding T encodings, ‘<samp class="samp">X</samp>’ for test
+encodings, ‘<samp class="samp">M</samp>’ for standard math encodings with 256 characters,
+‘<samp class="samp">A</samp>’ for special applications, ‘<samp class="samp">OT</samp>’ for standard text
+encodings with 128 characters, and ‘<samp class="samp">OM</samp>’ for standard math
+encodings with 128 characters (‘<samp class="samp">O</samp>’ stands for ‘<samp class="samp">obsolete</samp>’).
 </p>
 <p>This package provides a number of commands, detailed below.  Many of
 them are encoding-specific, so if you have defined a command that works
@@ -2142,7 +2091,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextAccent" accesskey="n" rel="next"><code class="code">\DeclareTextAccent</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareFontEncoding-1">4.1.1 <code class="code">\DeclareFontEncoding</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareFontEncoding-1"><span>4.1.1 <code class="code">\DeclareFontEncoding</code><a class="copiable-link" href="#g_t_005cDeclareFontEncoding-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-font-encoding_002c-declaring"></a>
 <a class="index-entry-id" id="index-encoding_002c-font"></a>
@@ -2194,7 +2143,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextAccentDefault" accesskey="n" rel="next"><code class="code">\DeclareTextAccentDefault</code></a>, Previous: <a href="#g_t_005cDeclareFontEncoding" accesskey="p" rel="prev"><code class="code">\DeclareFontEncoding</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextAccent-1">4.1.2 <code class="code">\DeclareTextAccent</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextAccent-1"><span>4.1.2 <code class="code">\DeclareTextAccent</code><a class="copiable-link" href="#g_t_005cDeclareTextAccent-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-font-encoding-1"></a>
 <a class="index-entry-id" id="index-accents_002c-defining-1"></a>
@@ -2235,7 +2184,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand" accesskey="n" rel="next"><code class="code">\DeclareTextCommand</code> & <code class="code">\ProvideTextCommand</code></a>, Previous: <a href="#g_t_005cDeclareTextAccent" accesskey="p" rel="prev"><code class="code">\DeclareTextAccent</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextAccentDefault-1">4.1.3 <code class="code">\DeclareTextAccentDefault</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextAccentDefault-1"><span>4.1.3 <code class="code">\DeclareTextAccentDefault</code><a class="copiable-link" href="#g_t_005cDeclareTextAccentDefault-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-accents_002c-defining-2"></a>
 <a class="index-entry-id" id="index-_005cDeclareTextAccent-1"></a>
@@ -2281,7 +2230,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault" accesskey="n" rel="next"><code class="code">\DeclareTextCommandDefault</code> & <code class="code">\ProvideTextCommandDefault </code></a>, Previous: <a href="#g_t_005cDeclareTextAccentDefault" accesskey="p" rel="prev"><code class="code">\DeclareTextAccentDefault</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand-1">4.1.4 <code class="code">\DeclareTextCommand</code> & <code class="code">\ProvideTextCommand</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand-1"><span>4.1.4 <code class="code">\DeclareTextCommand</code> & <code class="code">\ProvideTextCommand</code><a class="copiable-link" href="#g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand-1"> ¶</a></span></h4>
 
 <a class="anchor" id="g_t_005cDeclareTextCommand"></a><a class="anchor" id="g_t_005cProvideTextCommand"></a><a class="index-entry-id" id="index-_005cDeclareTextCommand"></a>
 <a class="index-entry-id" id="index-_005cProvideTextCommand"></a>
@@ -2350,7 +2299,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextComposite" accesskey="n" rel="next"><code class="code">\DeclareTextComposite</code></a>, Previous: <a href="#g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand" accesskey="p" rel="prev"><code class="code">\DeclareTextCommand</code> & <code class="code">\ProvideTextCommand</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault-">4.1.5 <code class="code">\DeclareTextCommandDefault</code> & <code class="code">\ProvideTextCommandDefault </code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault-"><span>4.1.5 <code class="code">\DeclareTextCommandDefault</code> & <code class="code">\ProvideTextCommandDefault </code><a class="copiable-link" href="#g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault-"> ¶</a></span></h4>
 
 <a class="anchor" id="g_t_005cDeclareTextCommandDefault"></a><a class="anchor" id="g_t_005cProvideTextCommandDefault"></a><a class="index-entry-id" id="index-_005cDeclareTextCommandDefault"></a>
 <a class="index-entry-id" id="index-_005cProvideTextCommandDefault"></a>
@@ -2397,7 +2346,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextCompositeCommand" accesskey="n" rel="next"><code class="code">\DeclareTextCompositeCommand</code></a>, Previous: <a href="#g_t_005cDeclareTextCommandDefault-_0026-_005cProvideTextCommandDefault" accesskey="p" rel="prev"><code class="code">\DeclareTextCommandDefault</code> & <code class="code">\ProvideTextCommandDefault </code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextComposite-1">4.1.6 <code class="code">\DeclareTextComposite</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextComposite-1"><span>4.1.6 <code class="code">\DeclareTextComposite</code><a class="copiable-link" href="#g_t_005cDeclareTextComposite-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-accents_002c-defining-3"></a>
 <a class="index-entry-id" id="index-_005cDeclareTextComposite"></a>
@@ -2436,7 +2385,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextSymbol" accesskey="n" rel="next"><code class="code">\DeclareTextSymbol</code></a>, Previous: <a href="#g_t_005cDeclareTextComposite" accesskey="p" rel="prev"><code class="code">\DeclareTextComposite</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextCompositeCommand-1">4.1.7 <code class="code">\DeclareTextCompositeCommand</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextCompositeCommand-1"><span>4.1.7 <code class="code">\DeclareTextCompositeCommand</code><a class="copiable-link" href="#g_t_005cDeclareTextCompositeCommand-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-accents_002c-defining-4"></a>
 <a class="index-entry-id" id="index-_005cDeclareTextCompositeCommand"></a>
@@ -2469,7 +2418,7 @@
 <p>
 Next: <a href="#g_t_005cDeclareTextSymbolDefault" accesskey="n" rel="next"><code class="code">\DeclareTextSymbolDefault</code></a>, Previous: <a href="#g_t_005cDeclareTextCompositeCommand" accesskey="p" rel="prev"><code class="code">\DeclareTextCompositeCommand</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextSymbol-1">4.1.8 <code class="code">\DeclareTextSymbol</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextSymbol-1"><span>4.1.8 <code class="code">\DeclareTextSymbol</code><a class="copiable-link" href="#g_t_005cDeclareTextSymbol-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-symbol_002c-defining"></a>
 <a class="index-entry-id" id="index-_005cDeclareTextSymbol-1"></a>
@@ -2488,10 +2437,10 @@
 glyph to use for &#x00AB;, the left guillemet.
 </p>
 <div class="example">
-<pre class="example-preformatted">\DeclareTextSymbol{\guillemotleft}{T1}{19}
+<pre class="example-preformatted">\DeclareTextSymbol{\guillemetleft}{T1}{19}
 </pre></div>
 
-<p>The command <code class="code">\DeclareTextCommand{\guillemotleft}{T1}{\char
+<p>The command <code class="code">\DeclareTextCommand{\guillemetleft}{T1}{\char
 19}</code> has the same effect but is slower (see <a class="pxref" href="#g_t_005cDeclareTextCommand-_0026-_005cProvideTextCommand"><code class="code">\DeclareTextCommand</code> & <code class="code">\ProvideTextCommand</code></a>).
 </p>
 <p>See <a class="xref" href="#fontenc-package"><code class="code">fontenc</code> package</a>, for a list of common encodings.  The <var class="var">slot</var>
@@ -2511,7 +2460,7 @@
 <p>
 Next: <a href="#g_t_005cLastDeclaredEncoding" accesskey="n" rel="next"><code class="code">\LastDeclaredEncoding</code></a>, Previous: <a href="#g_t_005cDeclareTextSymbol" accesskey="p" rel="prev"><code class="code">\DeclareTextSymbol</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cDeclareTextSymbolDefault-1">4.1.9 <code class="code">\DeclareTextSymbolDefault</code></h4>
+<h4 class="subsection" id="g_t_005cDeclareTextSymbolDefault-1"><span>4.1.9 <code class="code">\DeclareTextSymbolDefault</code><a class="copiable-link" href="#g_t_005cDeclareTextSymbolDefault-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-accents_002c-defining-5"></a>
 <a class="index-entry-id" id="index-_005cDeclareTextSymbol-2"></a>
@@ -2553,7 +2502,7 @@
 <p>
 Next: <a href="#g_t_005cUseTextSymbol-_0026-_005cUseTextAccent" accesskey="n" rel="next"><code class="code">\UseTextSymbol</code> & <code class="code">\UseTextAccent</code></a>, Previous: <a href="#g_t_005cDeclareTextSymbolDefault" accesskey="p" rel="prev"><code class="code">\DeclareTextSymbolDefault</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cLastDeclaredEncoding-1">4.1.10 <code class="code">\LastDeclaredEncoding</code></h4>
+<h4 class="subsection" id="g_t_005cLastDeclaredEncoding-1"><span>4.1.10 <code class="code">\LastDeclaredEncoding</code><a class="copiable-link" href="#g_t_005cLastDeclaredEncoding-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cLastDeclaredEncoding"></a>
 
@@ -2583,7 +2532,7 @@
 <p>
 Previous: <a href="#g_t_005cLastDeclaredEncoding" accesskey="p" rel="prev"><code class="code">\LastDeclaredEncoding</code></a>, Up: <a href="#fontenc-package" accesskey="u" rel="up"><code class="code">fontenc</code> package</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cUseTextSymbol-_0026-_005cUseTextAccent-1">4.1.11 <code class="code">\UseTextSymbol</code> & <code class="code">\UseTextAccent</code></h4>
+<h4 class="subsection" id="g_t_005cUseTextSymbol-_0026-_005cUseTextAccent-1"><span>4.1.11 <code class="code">\UseTextSymbol</code> & <code class="code">\UseTextAccent</code><a class="copiable-link" href="#g_t_005cUseTextSymbol-_0026-_005cUseTextAccent-1"> ¶</a></span></h4>
 
 <a class="anchor" id="g_t_005cUseTextSymbol"></a><a class="anchor" id="g_t_005cUseTextAccent"></a><a class="index-entry-id" id="index-_005cUseTextSymbol"></a>
 <a class="index-entry-id" id="index-_005cUseTextAccent"></a>
@@ -2643,7 +2592,7 @@
 <p>
 Next: <a href="#Font-sizes" accesskey="n" rel="next">Font sizes</a>, Previous: <a href="#fontenc-package" accesskey="p" rel="prev"><code class="code">fontenc</code> package</a>, Up: <a href="#Fonts" accesskey="u" rel="up">Fonts</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Font-styles-1">4.2 Font styles</h3>
+<h3 class="section" id="Font-styles-1"><span>4.2 Font styles<a class="copiable-link" href="#Font-styles-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-font-styles"></a>
 <a class="index-entry-id" id="index-type-styles"></a>
@@ -2677,54 +2626,54 @@
 <code class="code">\textit{\nocorr text}</code> or <code class="code">\textsc{text \nocorr}</code>.
 </p>
 <dl class="table">
-<dt id='index-_005ctextrm'><span><code class="code">\textrm (\rmfamily)</code><a class="copiable-link" href='#index-_005ctextrm'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005crmfamily"></a>
-<p>Roman.
+<dt><a class="index-entry-id" id="index-_005crmfamily"></a>
+<a id="index-_005ctextrm"></a><span><code class="code">\textrm (\rmfamily)</code><a class="copiable-link" href="#index-_005ctextrm"> ¶</a></span></dt>
+<dd><p>Roman.
 </p>
 </dd>
-<dt id='index-_005ctextit'><span><code class="code">\textit (\itshape)</code><a class="copiable-link" href='#index-_005ctextit'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005citshape"></a>
-<p>Italics.
+<dt><a class="index-entry-id" id="index-_005citshape"></a>
+<a id="index-_005ctextit"></a><span><code class="code">\textit (\itshape)</code><a class="copiable-link" href="#index-_005ctextit"> ¶</a></span></dt>
+<dd><p>Italics.
 </p>
 </dd>
-<dt id='index-_005ctextmd'><span><code class="code">\textmd (\mdseries)</code><a class="copiable-link" href='#index-_005ctextmd'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cmdseries"></a>
-<p>Medium weight (default).
+<dt><a class="index-entry-id" id="index-_005cmdseries"></a>
+<a id="index-_005ctextmd"></a><span><code class="code">\textmd (\mdseries)</code><a class="copiable-link" href="#index-_005ctextmd"> ¶</a></span></dt>
+<dd><p>Medium weight (default).
 </p>
 </dd>
-<dt id='index-_005ctextbf'><span><code class="code">\textbf (\bfseries)</code><a class="copiable-link" href='#index-_005ctextbf'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cbfseries"></a>
-<p>Boldface.
+<dt><a class="index-entry-id" id="index-_005cbfseries"></a>
+<a id="index-_005ctextbf"></a><span><code class="code">\textbf (\bfseries)</code><a class="copiable-link" href="#index-_005ctextbf"> ¶</a></span></dt>
+<dd><p>Boldface.
 </p>
 </dd>
-<dt id='index-_005ctextup'><span><code class="code">\textup (\upshape)</code><a class="copiable-link" href='#index-_005ctextup'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cupshape"></a>
-<p>Upright (default).
+<dt><a class="index-entry-id" id="index-_005cupshape"></a>
+<a id="index-_005ctextup"></a><span><code class="code">\textup (\upshape)</code><a class="copiable-link" href="#index-_005ctextup"> ¶</a></span></dt>
+<dd><p>Upright (default).
 </p>
 </dd>
-<dt id='index-_005ctextsl'><span><code class="code">\textsl (\slshape)</code><a class="copiable-link" href='#index-_005ctextsl'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cslshape"></a>
-<p>Slanted.
+<dt><a class="index-entry-id" id="index-_005cslshape"></a>
+<a id="index-_005ctextsl"></a><span><code class="code">\textsl (\slshape)</code><a class="copiable-link" href="#index-_005ctextsl"> ¶</a></span></dt>
+<dd><p>Slanted.
 </p>
 </dd>
-<dt id='index-_005ctextsf'><span><code class="code">\textsf (\sffamily)</code><a class="copiable-link" href='#index-_005ctextsf'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005csffamily"></a>
-<p>Sans serif.
+<dt><a class="index-entry-id" id="index-_005csffamily"></a>
+<a id="index-_005ctextsf"></a><span><code class="code">\textsf (\sffamily)</code><a class="copiable-link" href="#index-_005ctextsf"> ¶</a></span></dt>
+<dd><p>Sans serif.
 </p>
 </dd>
-<dt id='index-_005ctextsc'><span><code class="code">\textsc (\scshape)</code><a class="copiable-link" href='#index-_005ctextsc'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cscshape"></a>
-<p>Small caps.
+<dt><a class="index-entry-id" id="index-_005cscshape"></a>
+<a id="index-_005ctextsc"></a><span><code class="code">\textsc (\scshape)</code><a class="copiable-link" href="#index-_005ctextsc"> ¶</a></span></dt>
+<dd><p>Small caps.
 </p>
 </dd>
-<dt id='index-_005ctexttt'><span><code class="code">\texttt (\ttfamily)</code><a class="copiable-link" href='#index-_005ctexttt'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cttfamily"></a>
-<p>Typewriter.
+<dt><a class="index-entry-id" id="index-_005cttfamily"></a>
+<a id="index-_005ctexttt"></a><span><code class="code">\texttt (\ttfamily)</code><a class="copiable-link" href="#index-_005ctexttt"> ¶</a></span></dt>
+<dd><p>Typewriter.
 </p>
 </dd>
-<dt id='index-_005ctextnormal'><span><code class="code">\textnormal (\normalfont)</code><a class="copiable-link" href='#index-_005ctextnormal'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-_005cnormalfont"></a>
-<p>Main document font.
+<dt><a class="index-entry-id" id="index-_005cnormalfont"></a>
+<a id="index-_005ctextnormal"></a><span><code class="code">\textnormal (\normalfont)</code><a class="copiable-link" href="#index-_005ctextnormal"> ¶</a></span></dt>
+<dd><p>Main document font.
 </p>
 </dd>
 </dl>
@@ -2749,44 +2698,44 @@
 needed.)
 </p>
 <dl class="ftable">
-<dt id='index-_005cbf'><span><code class="code">\bf</code><a class="copiable-link" href='#index-_005cbf'> ¶</a></span></dt>
+<dt><a id="index-_005cbf"></a><span><code class="code">\bf</code><a class="copiable-link" href="#index-_005cbf"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-bold-font"></a>
 <p>Switch to bold face.
 </p>
 </dd>
-<dt id='index-_005ccal'><span><code class="code">\cal</code><a class="copiable-link" href='#index-_005ccal'> ¶</a></span></dt>
+<dt><a id="index-_005ccal"></a><span><code class="code">\cal</code><a class="copiable-link" href="#index-_005ccal"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-script-letters-for-math"></a>
 <a class="index-entry-id" id="index-calligraphic-letters-for-math"></a>
 <p>Switch to calligraphic letters for math.
 </p>
 </dd>
-<dt id='index-_005cit'><span><code class="code">\it</code><a class="copiable-link" href='#index-_005cit'> ¶</a></span></dt>
+<dt><a id="index-_005cit"></a><span><code class="code">\it</code><a class="copiable-link" href="#index-_005cit"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-italic-font"></a>
 <p>Italics.
 </p>
 </dd>
-<dt id='index-_005crm'><span><code class="code">\rm</code><a class="copiable-link" href='#index-_005crm'> ¶</a></span></dt>
+<dt><a id="index-_005crm"></a><span><code class="code">\rm</code><a class="copiable-link" href="#index-_005crm"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-roman-font"></a>
 <p>Roman.
 </p>
 </dd>
-<dt id='index-_005csc'><span><code class="code">\sc</code><a class="copiable-link" href='#index-_005csc'> ¶</a></span></dt>
+<dt><a id="index-_005csc"></a><span><code class="code">\sc</code><a class="copiable-link" href="#index-_005csc"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-small-caps-font"></a>
 <p>Small caps.
 </p>
 </dd>
-<dt id='index-_005csf'><span><code class="code">\sf</code><a class="copiable-link" href='#index-_005csf'> ¶</a></span></dt>
+<dt><a id="index-_005csf"></a><span><code class="code">\sf</code><a class="copiable-link" href="#index-_005csf"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-sans-serif-font"></a>
 <p>Sans serif.
 </p>
 </dd>
-<dt id='index-_005csl'><span><code class="code">\sl</code><a class="copiable-link" href='#index-_005csl'> ¶</a></span></dt>
+<dt><a id="index-_005csl"></a><span><code class="code">\sl</code><a class="copiable-link" href="#index-_005csl"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-slanted-font"></a>
 <a class="index-entry-id" id="index-oblique-font"></a>
 <p>Slanted (oblique).
 </p>
 </dd>
-<dt id='index-_005ctt'><span><code class="code">\tt</code><a class="copiable-link" href='#index-_005ctt'> ¶</a></span></dt>
+<dt><a id="index-_005ctt"></a><span><code class="code">\tt</code><a class="copiable-link" href="#index-_005ctt"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-typewriter-font"></a>
 <a class="index-entry-id" id="index-monospace-font"></a>
 <a class="index-entry-id" id="index-fixed_002dwidth-font"></a>
@@ -2804,19 +2753,19 @@
 typographic treatment, regardless of the surrounding environment.
 </p>
 <dl class="table">
-<dt id='index-_005cmathrm'><span><code class="code">\mathrm</code><a class="copiable-link" href='#index-_005cmathrm'> ¶</a></span></dt>
+<dt><a id="index-_005cmathrm"></a><span><code class="code">\mathrm</code><a class="copiable-link" href="#index-_005cmathrm"> ¶</a></span></dt>
 <dd><p>Roman, for use in math mode.
 </p>
 </dd>
-<dt id='index-_005cmathbf'><span><code class="code">\mathbf</code><a class="copiable-link" href='#index-_005cmathbf'> ¶</a></span></dt>
+<dt><a id="index-_005cmathbf"></a><span><code class="code">\mathbf</code><a class="copiable-link" href="#index-_005cmathbf"> ¶</a></span></dt>
 <dd><p>Boldface, for use in math mode.
 </p>
 </dd>
-<dt id='index-_005cmathsf'><span><code class="code">\mathsf</code><a class="copiable-link" href='#index-_005cmathsf'> ¶</a></span></dt>
+<dt><a id="index-_005cmathsf"></a><span><code class="code">\mathsf</code><a class="copiable-link" href="#index-_005cmathsf"> ¶</a></span></dt>
 <dd><p>Sans serif, for use in math mode.
 </p>
 </dd>
-<dt id='index-_005cmathtt'><span><code class="code">\mathtt</code><a class="copiable-link" href='#index-_005cmathtt'> ¶</a></span></dt>
+<dt><a id="index-_005cmathtt"></a><span><code class="code">\mathtt</code><a class="copiable-link" href="#index-_005cmathtt"> ¶</a></span></dt>
 <dd><p>Typewriter, for use in math mode.
 </p>
 </dd>
@@ -2825,11 +2774,11 @@
 <dd><p>Italics, for use in math mode.
 </p>
 </dd>
-<dt id='index-_005cmathnormal'><span><code class="code">\mathnormal</code><a class="copiable-link" href='#index-_005cmathnormal'> ¶</a></span></dt>
+<dt><a id="index-_005cmathnormal"></a><span><code class="code">\mathnormal</code><a class="copiable-link" href="#index-_005cmathnormal"> ¶</a></span></dt>
 <dd><p>For use in math mode, e.g., inside another type style declaration.
 </p>
 </dd>
-<dt id='index-_005cmathcal'><span><code class="code">\mathcal</code><a class="copiable-link" href='#index-_005cmathcal'> ¶</a></span></dt>
+<dt><a id="index-_005cmathcal"></a><span><code class="code">\mathcal</code><a class="copiable-link" href="#index-_005cmathcal"> ¶</a></span></dt>
 <dd><p>Calligraphic letters, for use in math mode.
 </p>
 </dd>
@@ -2864,7 +2813,7 @@
 <p>
 Next: <a href="#Low_002dlevel-font-commands" accesskey="n" rel="next">Low-level font commands</a>, Previous: <a href="#Font-styles" accesskey="p" rel="prev">Font styles</a>, Up: <a href="#Fonts" accesskey="u" rel="up">Fonts</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Font-sizes-1">4.3 Font sizes</h3>
+<h3 class="section" id="Font-sizes-1"><span>4.3 Font sizes<a class="copiable-link" href="#Font-sizes-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-font-sizes"></a>
 <a class="index-entry-id" id="index-typeface-sizes"></a>
@@ -2950,7 +2899,7 @@
 <p>
 Previous: <a href="#Font-sizes" accesskey="p" rel="prev">Font sizes</a>, Up: <a href="#Fonts" accesskey="u" rel="up">Fonts</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Low_002dlevel-font-commands-1">4.4 Low-level font commands</h3>
+<h3 class="section" id="Low_002dlevel-font-commands-1"><span>4.4 Low-level font commands<a class="copiable-link" href="#Low_002dlevel-font-commands-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-low_002dlevel-font-commands"></a>
 <a class="index-entry-id" id="index-font-commands_002c-low_002dlevel"></a>
@@ -2961,7 +2910,7 @@
 </p>
 <dl class="table">
 <dd><a class="anchor" id="low-level-font-commands-fontencoding"></a></dd>
-<dt id='index-_005cfontencoding'><span><code class="code">\fontencoding{<var class="var">encoding</var>}</code><a class="copiable-link" href='#index-_005cfontencoding'> ¶</a></span></dt>
+<dt><a id="index-_005cfontencoding"></a><span><code class="code">\fontencoding{<var class="var">encoding</var>}</code><a class="copiable-link" href="#index-_005cfontencoding"> ¶</a></span></dt>
 <dd><p>Select the font encoding, the encoding of the output font. There are a
 large number of valid encodings.  The most common are <code class="code">OT1</code>,
 Knuth’s original encoding for Computer Modern (the default), and
@@ -2972,10 +2921,10 @@
 <a class="url" href="https://ctan.org/pkg/encguide">https://ctan.org/pkg/encguide</a>.
 </p>
 <a class="anchor" id="low-level-font-commands-fontfamily"></a></dd>
-<dt id='index-_005cfontfamily'><span><code class="code">\fontfamily{<var class="var">family</var>}</code><a class="copiable-link" href='#index-_005cfontfamily'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-families_002c-of-fonts"></a>
+<dt><a class="index-entry-id" id="index-families_002c-of-fonts"></a>
 <a class="index-entry-id" id="index-font-catalogue"></a>
-<p>Select the font family.  The web page
+<a id="index-_005cfontfamily"></a><span><code class="code">\fontfamily{<var class="var">family</var>}</code><a class="copiable-link" href="#index-_005cfontfamily"> ¶</a></span></dt>
+<dd><p>Select the font family.  The web page
 <a class="url" href="https://tug.org/FontCatalogue/">https://tug.org/FontCatalogue/</a> provides one way to browse
 through many of the fonts easily used with LaTeX.  Here are
 examples of some common families.
@@ -3006,9 +2955,9 @@
 
 
 <a class="anchor" id="low-level-font-commands-fontseries"></a></dd>
-<dt id='index-_005cfontseries'><span><code class="code">\fontseries{<var class="var">series</var>}</code><a class="copiable-link" href='#index-_005cfontseries'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-series_002c-of-fonts"></a>
-<p>Select the font series.  A <em class="dfn">series</em> combines a <em class="dfn">weight</em> and a
+<dt><a class="index-entry-id" id="index-series_002c-of-fonts"></a>
+<a id="index-_005cfontseries"></a><span><code class="code">\fontseries{<var class="var">series</var>}</code><a class="copiable-link" href="#index-_005cfontseries"> ¶</a></span></dt>
+<dd><p>Select the font series.  A <em class="dfn">series</em> combines a <em class="dfn">weight</em> and a
 <em class="dfn">width</em>.  Typically, a font supports only a few of the possible
 combinations.  Some common combined series values include:
 </p>
@@ -3060,9 +3009,9 @@
 (‘<samp class="samp"><code class="code">m</code></samp>’).
 </p> 
 <a class="anchor" id="low-level-font-commands-fontshape"></a></dd>
-<dt id='index-_005cfontshape'><span><code class="code">\fontshape{<var class="var">shape</var>}</code><a class="copiable-link" href='#index-_005cfontshape'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-shapes_002c-of-fonts"></a>
-<p>Select font shape. Valid shapes are:
+<dt><a class="index-entry-id" id="index-shapes_002c-of-fonts"></a>
+<a id="index-_005cfontshape"></a><span><code class="code">\fontshape{<var class="var">shape</var>}</code><a class="copiable-link" href="#index-_005cfontshape"> ¶</a></span></dt>
+<dd><p>Select font shape. Valid shapes are:
 </p>
 <table class="multitable">
 <tbody><tr><td><code class="code">n</code></td><td>Upright (normal)</td></tr>
@@ -3078,10 +3027,10 @@
 small caps are often missing as well.
 </p>
 <a class="anchor" id="low-level-font-commands-fontsize"></a></dd>
-<dt id='index-_005cfontsize'><span><code class="code">\fontsize{<var class="var">size</var>}{<var class="var">skip</var>}</code><a class="copiable-link" href='#index-_005cfontsize'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-font-size"></a>
+<dt><a class="index-entry-id" id="index-font-size"></a>
 <a class="index-entry-id" id="index-_005cbaselineskip"></a>
-<p>Set the font size and the line spacing.  The unit of both parameters
+<a id="index-_005cfontsize"></a><span><code class="code">\fontsize{<var class="var">size</var>}{<var class="var">skip</var>}</code><a class="copiable-link" href="#index-_005cfontsize"> ¶</a></span></dt>
+<dd><p>Set the font size and the line spacing.  The unit of both parameters
 defaults to points (<code class="code">pt</code>).  The line spacing is the nominal
 vertical space between lines, baseline to baseline.  It is stored in the
 parameter <code class="code">\baselineskip</code>.  The default <code class="code">\baselineskip</code> for
@@ -3091,13 +3040,13 @@
 <code class="code">\baselinestretch</code>.  (see <a class="pxref" href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch"><code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code></a>).
 </p>
 <a class="anchor" id="low-level-font-commands-linespread"></a></dd>
-<dt id='index-_005clinespread'><span><code class="code">\linespread{<var class="var">factor</var>}</code><a class="copiable-link" href='#index-_005clinespread'> ¶</a></span></dt>
+<dt><a id="index-_005clinespread"></a><span><code class="code">\linespread{<var class="var">factor</var>}</code><a class="copiable-link" href="#index-_005clinespread"> ¶</a></span></dt>
 <dd><p>Equivalent to <code class="code">\renewcommand{\baselinestretch}{<var class="var">factor</var>}</code>,
 and therefore must be followed by <code class="code">\selectfont</code> to have any
 effect. Best specified in the preamble. See <a class="xref" href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch"><code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code></a>, for using <code class="code">setspace</code> package instead.
 </p>
 <a class="anchor" id="low-level-font-commands-selectfont"></a></dd>
-<dt id='index-_005cselectfont'><span><code class="code">\selectfont</code><a class="copiable-link" href='#index-_005cselectfont'> ¶</a></span></dt>
+<dt><a id="index-_005cselectfont"></a><span><code class="code">\selectfont</code><a class="copiable-link" href="#index-_005cselectfont"> ¶</a></span></dt>
 <dd><p>The effects of the font commands described above do not happen until
 <code class="code">\selectfont</code> is called, as in
 <code class="code">\fontfamily{<var class="var">familyname</var>}\selectfont</code>.  It is often useful
@@ -3106,7 +3055,7 @@
 (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>).
 </p>
 <a class="anchor" id="low-level-font-commands-usefont"></a></dd>
-<dt id='index-_005cusefont'><span><code class="code">\usefont{<var class="var">enc</var>}{<var class="var">family</var>}{<var class="var">series</var>}{<var class="var">shape</var>}</code><a class="copiable-link" href='#index-_005cusefont'> ¶</a></span></dt>
+<dt><a id="index-_005cusefont"></a><span><code class="code">\usefont{<var class="var">enc</var>}{<var class="var">family</var>}{<var class="var">series</var>}{<var class="var">shape</var>}</code><a class="copiable-link" href="#index-_005cusefont"> ¶</a></span></dt>
 <dd><p>The same as invoking <code class="code">\fontencoding</code>, <code class="code">\fontfamily</code>,
 <code class="code">\fontseries</code> and <code class="code">\fontshape</code> with the given parameters,
 followed by <code class="code">\selectfont</code>.  For example:
@@ -3127,7 +3076,7 @@
 <p>
 Next: <a href="#Sectioning" accesskey="n" rel="next">Sectioning</a>, Previous: <a href="#Fonts" accesskey="p" rel="prev">Fonts</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Layout-1">5 Layout</h2>
+<h2 class="chapter" id="Layout-1"><span>5 Layout<a class="copiable-link" href="#Layout-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-layout-commands"></a>
 
@@ -3150,7 +3099,7 @@
 <p>
 Next: <a href="#g_t_005ctwocolumn" accesskey="n" rel="next"><code class="code">\twocolumn</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005conecolumn-1">5.1 <code class="code">\onecolumn</code></h3>
+<h3 class="section" id="g_t_005conecolumn-1"><span>5.1 <code class="code">\onecolumn</code><a class="copiable-link" href="#g_t_005conecolumn-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005conecolumn"></a>
 <a class="index-entry-id" id="index-one_002dcolumn-output"></a>
@@ -3174,7 +3123,7 @@
 <p>
 Next: <a href="#g_t_005cflushbottom" accesskey="n" rel="next"><code class="code">\flushbottom</code></a>, Previous: <a href="#g_t_005conecolumn" accesskey="p" rel="prev"><code class="code">\onecolumn</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005ctwocolumn-1">5.2 <code class="code">\twocolumn</code></h3>
+<h3 class="section" id="g_t_005ctwocolumn-1"><span>5.2 <code class="code">\twocolumn</code><a class="copiable-link" href="#g_t_005ctwocolumn-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005ctwocolumn"></a>
 <a class="index-entry-id" id="index-multicolumn-text"></a>
@@ -3199,7 +3148,7 @@
 <p>These parameters control typesetting in two-column output:
 </p>
 <dl class="ftable">
-<dt id='index-_005ccolumnsep'><span><code class="code">\columnsep</code><a class="copiable-link" href='#index-_005ccolumnsep'> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnsep"></a><span><code class="code">\columnsep</code><a class="copiable-link" href="#index-_005ccolumnsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-columnsep"></a><p>The distance between columns. The default is 35pt.  Change it with a
 command such as <code class="code">\setlength{\columnsep}{40pt}</code>. You must change
 it before the two column mode starts; in the preamble is a good
@@ -3206,7 +3155,7 @@
 place.
 </p>
 </dd>
-<dt id='index-_005ccolumnseprule'><span><code class="code">\columnseprule</code><a class="copiable-link" href='#index-_005ccolumnseprule'> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnseprule"></a><span><code class="code">\columnseprule</code><a class="copiable-link" href="#index-_005ccolumnseprule"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-columnseprule"></a><p>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
@@ -3214,7 +3163,7 @@
 mode starts.
 </p>
 </dd>
-<dt id='index-_005ccolumnwidth'><span><code class="code">\columnwidth</code><a class="copiable-link" href='#index-_005ccolumnwidth'> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnwidth"></a><span><code class="code">\columnwidth</code><a class="copiable-link" href="#index-_005ccolumnwidth"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-columnwidth"></a><p>The width of a single column.  In one-column mode this is equal to
 <code class="code">\textwidth</code>.  In two-column mode by default LaTeX sets the
 width of each of the two columns, <code class="code">\columnwidth</code>, to be half of
@@ -3231,7 +3180,7 @@
 </p>
 <dl class="ftable">
 <dd><a class="anchor" id="twocolumn-dbltopfraction"></a></dd>
-<dt id='index-_005cdbltopfraction'><span><code class="code">\dbltopfraction</code><a class="copiable-link" href='#index-_005cdbltopfraction'> ¶</a></span></dt>
+<dt><a id="index-_005cdbltopfraction"></a><span><code class="code">\dbltopfraction</code><a class="copiable-link" href="#index-_005cdbltopfraction"> ¶</a></span></dt>
 <dd><p>The maximum fraction at the top of a two-column page that may be
 occupied by two-column wide floats.  The default is 0.7, meaning that
 the height of a <code class="code">table*</code> or <code class="code">figure*</code> environment must not
@@ -3254,13 +3203,13 @@
 <code class="code">\renewcommand{\dbltopfraction}{0.9}</code>.
 </p>
 </dd>
-<dt id='index-_005cdblfloatpagefraction'><span><code class="code">\dblfloatpagefraction</code><a class="copiable-link" href='#index-_005cdblfloatpagefraction'> ¶</a></span></dt>
+<dt><a id="index-_005cdblfloatpagefraction"></a><span><code class="code">\dblfloatpagefraction</code><a class="copiable-link" href="#index-_005cdblfloatpagefraction"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-dblfloatpagefraction"></a><p>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 <code class="code">0.5</code>.  Change it with <code class="code">\renewcommand</code>.
 </p>
 </dd>
-<dt id='index-_005cdblfloatsep'><span><code class="code">\dblfloatsep</code><a class="copiable-link" href='#index-_005cdblfloatsep'> ¶</a></span></dt>
+<dt><a id="index-_005cdblfloatsep"></a><span><code class="code">\dblfloatsep</code><a class="copiable-link" href="#index-_005cdblfloatsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-dblfloatsep"></a><p>On a float page of two-column wide floats, this length is the distance
 between floats, at both the top and bottom of the page.  The default is
 <code class="code">12pt plus2pt minus2pt</code> for a document set at <code class="code">10pt</code> or
@@ -3268,13 +3217,13 @@
 <code class="code">12pt</code>.
 </p>
 </dd>
-<dt id='index-_005cdbltextfloatsep'><span><code class="code">\dbltextfloatsep</code><a class="copiable-link" href='#index-_005cdbltextfloatsep'> ¶</a></span></dt>
+<dt><a id="index-_005cdbltextfloatsep"></a><span><code class="code">\dbltextfloatsep</code><a class="copiable-link" href="#index-_005cdbltextfloatsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-dbltextfloatsep"></a><p>This length is the distance between a multi-column float at the top or
 bottom of a page and the main text.  The default is <code class="code">20pt plus2pt
 minus4pt</code>.
 </p>
 </dd>
-<dt id='index-_005cdbltopnumber'><span><code class="code">\dbltopnumber</code><a class="copiable-link" href='#index-_005cdbltopnumber'> ¶</a></span></dt>
+<dt><a id="index-_005cdbltopnumber"></a><span><code class="code">\dbltopnumber</code><a class="copiable-link" href="#index-_005cdbltopnumber"> ¶</a></span></dt>
 <dd><a class="anchor" id="twocolumn-dbltopnumber"></a><p>On a float page of two-column wide floats, this counter gives the
 maximum number of floats allowed at the top of the page.  The LaTeX
 default is <code class="code">2</code>.
@@ -3313,7 +3262,7 @@
 <p>
 Next: <a href="#g_t_005craggedbottom" accesskey="n" rel="next"><code class="code">\raggedbottom</code></a>, Previous: <a href="#g_t_005ctwocolumn" accesskey="p" rel="prev"><code class="code">\twocolumn</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cflushbottom-1">5.3 <code class="code">\flushbottom</code></h3>
+<h3 class="section" id="g_t_005cflushbottom-1"><span>5.3 <code class="code">\flushbottom</code><a class="copiable-link" href="#g_t_005cflushbottom-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cflushbottom"></a>
 
@@ -3344,7 +3293,7 @@
 <p>
 Next: <a href="#Page-layout-parameters" accesskey="n" rel="next">Page layout parameters</a>, Previous: <a href="#g_t_005cflushbottom" accesskey="p" rel="prev"><code class="code">\flushbottom</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005craggedbottom-1">5.4 <code class="code">\raggedbottom</code></h3>
+<h3 class="section" id="g_t_005craggedbottom-1"><span>5.4 <code class="code">\raggedbottom</code><a class="copiable-link" href="#g_t_005craggedbottom-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005craggedbottom"></a>
 <a class="index-entry-id" id="index-stretch_002c-omitting-vertical"></a>
@@ -3365,7 +3314,7 @@
 <p>
 Next: <a href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch" accesskey="n" rel="next"><code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code></a>, Previous: <a href="#g_t_005craggedbottom" accesskey="p" rel="prev"><code class="code">\raggedbottom</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Page-layout-parameters-1">5.5 Page layout parameters</h3>
+<h3 class="section" id="Page-layout-parameters-1"><span>5.5 Page layout parameters<a class="copiable-link" href="#Page-layout-parameters-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-page-layout-parameters"></a>
 <a class="index-entry-id" id="index-parameters_002c-page-layout"></a>
@@ -3375,9 +3324,9 @@
 <a class="index-entry-id" id="index-running-header-and-footer"></a>
 
 <dl class="ftable">
-<dt id='index-_005ccolumnsep-1'><span><code class="code">\columnsep</code><a class="copiable-link" href='#index-_005ccolumnsep-1'> ¶</a></span></dt>
-<dt id='index-_005ccolumnseprule-1'><span><code class="code">\columnseprule</code><a class="copiable-link" href='#index-_005ccolumnseprule-1'> ¶</a></span></dt>
-<dt id='index-_005ccolumnwidth-1'><span><code class="code">\columnwidth</code><a class="copiable-link" href='#index-_005ccolumnwidth-1'> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnsep-1"></a><span><code class="code">\columnsep</code><a class="copiable-link" href="#index-_005ccolumnsep-1"> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnseprule-1"></a><span><code class="code">\columnseprule</code><a class="copiable-link" href="#index-_005ccolumnseprule-1"> ¶</a></span></dt>
+<dt><a id="index-_005ccolumnwidth-1"></a><span><code class="code">\columnwidth</code><a class="copiable-link" href="#index-_005ccolumnwidth-1"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ccolumnsep-2"></a>
 <a class="index-entry-id" id="index-_005ccolumnseprule-2"></a>
 <a class="index-entry-id" id="index-_005ccolumnwidth-2"></a>
@@ -3387,7 +3336,7 @@
 See <a class="xref" href="#g_t_005ctwocolumn"><code class="code">\twocolumn</code></a>.
 </p>
 </dd>
-<dt id='index-_005cheadheight'><span><code class="code">\headheight</code><a class="copiable-link" href='#index-_005cheadheight'> ¶</a></span></dt>
+<dt><a id="index-_005cheadheight"></a><span><code class="code">\headheight</code><a class="copiable-link" href="#index-_005cheadheight"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cheadheight-1"></a>
 <a class="anchor" id="page-layout-parameters-headheight"></a><p>Height of the box that contains the running head.  The default in the
 <code class="code">article</code>, <code class="code">report</code>, and <code class="code">book</code> classes is ‘<samp class="samp">12pt</samp>’,
@@ -3394,7 +3343,7 @@
 at all type sizes.
 </p>
 </dd>
-<dt id='index-_005cheadsep'><span><code class="code">\headsep</code><a class="copiable-link" href='#index-_005cheadsep'> ¶</a></span></dt>
+<dt><a id="index-_005cheadsep"></a><span><code class="code">\headsep</code><a class="copiable-link" href="#index-_005cheadsep"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cheadsep-1"></a>
 <a class="anchor" id="page-layout-parameters-headsep"></a><p>Vertical distance between the bottom of the header line and the top of
 the main text.  The default in the <code class="code">article</code> and <code class="code">report</code>
@@ -3403,7 +3352,7 @@
 it is ‘<samp class="samp">0.275in</samp>’.
 </p>
 </dd>
-<dt id='index-_005cfootskip'><span><code class="code">\footskip</code><a class="copiable-link" href='#index-_005cfootskip'> ¶</a></span></dt>
+<dt><a id="index-_005cfootskip"></a><span><code class="code">\footskip</code><a class="copiable-link" href="#index-_005cfootskip"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cfootskip-1"></a>
 <a class="anchor" id="page-layout-parameters-footskip"></a><p>Distance from the baseline of the last line of text to the baseline of
 the page footer.  The default in the <code class="code">article</code> and <code class="code">report</code>
@@ -3412,7 +3361,7 @@
 ‘<samp class="samp">0.38in</samp>’, and at 12pt it is ‘<samp class="samp">30pt</samp>’.
 </p>
 </dd>
-<dt id='index-_005clinewidth'><span><code class="code">\linewidth</code><a class="copiable-link" href='#index-_005clinewidth'> ¶</a></span></dt>
+<dt><a id="index-_005clinewidth"></a><span><code class="code">\linewidth</code><a class="copiable-link" href="#index-_005clinewidth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005clinewidth-1"></a>
 <a class="anchor" id="page-layout-parameters-linewidth"></a><p>Width of the current line, decreased for each nested <code class="code">list</code>
 (see <a class="pxref" href="#list"><code class="code">list</code></a>).  That is, the nominal value for <code class="code">\linewidth</code> is to
@@ -3421,9 +3370,9 @@
 <code class="code">\rightmargin</code> (see <a class="pxref" href="#itemize"><code class="code">itemize</code></a>).
 </p>
 </dd>
-<dt id='index-_005cmarginparpush'><span><code class="code">\marginparpush</code><a class="copiable-link" href='#index-_005cmarginparpush'> ¶</a></span></dt>
-<dt id='index-_005cmarginsep'><span><code class="code">\marginsep</code><a class="copiable-link" href='#index-_005cmarginsep'> ¶</a></span></dt>
-<dt id='index-_005cmarginparwidth'><span><code class="code">\marginparwidth</code><a class="copiable-link" href='#index-_005cmarginparwidth'> ¶</a></span></dt>
+<dt><a id="index-_005cmarginparpush"></a><span><code class="code">\marginparpush</code><a class="copiable-link" href="#index-_005cmarginparpush"> ¶</a></span></dt>
+<dt><a id="index-_005cmarginsep"></a><span><code class="code">\marginsep</code><a class="copiable-link" href="#index-_005cmarginsep"> ¶</a></span></dt>
+<dt><a id="index-_005cmarginparwidth"></a><span><code class="code">\marginparwidth</code><a class="copiable-link" href="#index-_005cmarginparwidth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cmarginparpush-1"></a>
 <a class="index-entry-id" id="index-_005cmarginsep-1"></a>
 <a class="index-entry-id" id="index-_005cmarginparwidth-1"></a>
@@ -3452,8 +3401,8 @@
 distance.
 </p>
 </dd>
-<dt id='index-_005coddsidemargin-1'><span><code class="code">\oddsidemargin</code><a class="copiable-link" href='#index-_005coddsidemargin-1'> ¶</a></span></dt>
-<dt id='index-_005cevensidemargin-1'><span><code class="code">\evensidemargin</code><a class="copiable-link" href='#index-_005cevensidemargin-1'> ¶</a></span></dt>
+<dt><a id="index-_005coddsidemargin-1"></a><span><code class="code">\oddsidemargin</code><a class="copiable-link" href="#index-_005coddsidemargin-1"> ¶</a></span></dt>
+<dt><a id="index-_005cevensidemargin-1"></a><span><code class="code">\evensidemargin</code><a class="copiable-link" href="#index-_005cevensidemargin-1"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005coddsidemargin-2"></a>
 <a class="index-entry-id" id="index-_005cevensidemargin-2"></a>
 <a class="anchor" id="page-layout-parameters-oddsidemargin"></a><a class="anchor" id="page-layout-parameters-evensidemargin"></a><p>The <code class="code">\oddsidemargin</code> length is the extra distance between the left side of
@@ -3468,7 +3417,7 @@
 <code class="code">\evensidemargin</code> is the remainder.
 </p>
 </dd>
-<dt id='index-_005cpaperheight'><span><code class="code">\paperheight</code><a class="copiable-link" href='#index-_005cpaperheight'> ¶</a></span></dt>
+<dt><a id="index-_005cpaperheight"></a><span><code class="code">\paperheight</code><a class="copiable-link" href="#index-_005cpaperheight"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cpaperheight-1"></a>
 <a class="anchor" id="page-layout-parameters-paperheight"></a><p>The height of the paper, as distinct from the height of the print area.
 Normally set with a document class option, as in
@@ -3475,7 +3424,7 @@
 <code class="code">\documentclass[a4paper]{article}</code> (see <a class="pxref" href="#Document-class-options">Document class options</a>).
 </p>
 </dd>
-<dt id='index-_005cpaperwidth'><span><code class="code">\paperwidth</code><a class="copiable-link" href='#index-_005cpaperwidth'> ¶</a></span></dt>
+<dt><a id="index-_005cpaperwidth"></a><span><code class="code">\paperwidth</code><a class="copiable-link" href="#index-_005cpaperwidth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cpaperwidth-1"></a>
 <a class="anchor" id="page-layout-parameters-paperwidth"></a><p>The width of the paper, as distinct from the width of the print area.
 Normally set with a document class option, as in
@@ -3482,7 +3431,7 @@
 <code class="code">\documentclass[a4paper]{article}</code> (see <a class="pxref" href="#Document-class-options">Document class options</a>).
 </p>
 </dd>
-<dt id='index-_005ctextheight'><span><code class="code">\textheight</code><a class="copiable-link" href='#index-_005ctextheight'> ¶</a></span></dt>
+<dt><a id="index-_005ctextheight"></a><span><code class="code">\textheight</code><a class="copiable-link" href="#index-_005ctextheight"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctextheight-1"></a>
 <a class="anchor" id="page-layout-parameters-textheight"></a><p>The normal vertical height of the page body.  If the document is set at
 a nominal type size of 10pt then for an <code class="code">article</code> or <code class="code">report</code>
@@ -3492,7 +3441,7 @@
 ‘<samp class="samp">36\baselineskip</samp>’ for all classes.
 </p>
 </dd>
-<dt id='index-_005ctextwidth'><span><code class="code">\textwidth</code><a class="copiable-link" href='#index-_005ctextwidth'> ¶</a></span></dt>
+<dt><a id="index-_005ctextwidth"></a><span><code class="code">\textwidth</code><a class="copiable-link" href="#index-_005ctextwidth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctextwidth-1"></a>
 <a class="anchor" id="page-layout-parameters-textwidth"></a><p>The full horizontal width of the entire page body.  For an
 <code class="code">article</code> or <code class="code">report</code> document, the default is ‘<samp class="samp">345pt</samp>’
@@ -3514,7 +3463,7 @@
 <code class="code">minipage</code> or <code class="code">\parbox</code>.
 </p>
 </dd>
-<dt id='index-_005chsize'><span><code class="code">\hsize</code><a class="copiable-link" href='#index-_005chsize'> ¶</a></span></dt>
+<dt><a id="index-_005chsize"></a><span><code class="code">\hsize</code><a class="copiable-link" href="#index-_005chsize"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005chsize-1"></a>
 <a class="anchor" id="page-layout-parameters-hsize"></a><p>This entry is included for completeness: <code class="code">\hsize</code> is the TeX
 primitive parameter used when text is broken into lines.  It should not
@@ -3521,7 +3470,7 @@
 be used in normal LaTeX documents.
 </p>
 </dd>
-<dt id='index-_005ctopmargin'><span><code class="code">\topmargin</code><a class="copiable-link" href='#index-_005ctopmargin'> ¶</a></span></dt>
+<dt><a id="index-_005ctopmargin"></a><span><code class="code">\topmargin</code><a class="copiable-link" href="#index-_005ctopmargin"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-topmargin"></a>
 <a class="anchor" id="page-layout-parameters-topmargin"></a><p>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
@@ -3530,7 +3479,7 @@
 and then divided by two.
 </p>
 </dd>
-<dt id='index-_005ctopskip'><span><code class="code">\topskip</code><a class="copiable-link" href='#index-_005ctopskip'> ¶</a></span></dt>
+<dt><a id="index-_005ctopskip"></a><span><code class="code">\topskip</code><a class="copiable-link" href="#index-_005ctopskip"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctopskip-1"></a>
 <a class="anchor" id="page-layout-parameters-topskip"></a><p>Minimum distance between the top of the page body and the baseline of
 the first line of text.  For the standard classes, the default is the
@@ -3547,7 +3496,7 @@
 <p>
 Next: <a href="#Floats" accesskey="n" rel="next">Floats</a>, Previous: <a href="#Page-layout-parameters" accesskey="p" rel="prev">Page layout parameters</a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cbaselineskip-_0026-_005cbaselinestretch-1">5.6 <code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code></h3>
+<h3 class="section" id="g_t_005cbaselineskip-_0026-_005cbaselinestretch-1"><span>5.6 <code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code><a class="copiable-link" href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cbaselineskip"></a><a class="anchor" id="g_t_005cbaselinestretch"></a><a class="index-entry-id" id="index-_005cbaselineskip-1"></a>
 <a class="index-entry-id" id="index-_005cbaselinestretch"></a>
@@ -3669,7 +3618,7 @@
 <p>
 Previous: <a href="#g_t_005cbaselineskip-_0026-_005cbaselinestretch" accesskey="p" rel="prev"><code class="code">\baselineskip</code> & <code class="code">\baselinestretch</code></a>, Up: <a href="#Layout" accesskey="u" rel="up">Layout</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Floats-1">5.7 Floats</h3>
+<h3 class="section" id="Floats-1"><span>5.7 Floats<a class="copiable-link" href="#Floats-1"> ¶</a></span></h3>
 
 <p>Some typographic elements, such as figures and tables, cannot be broken
 across pages.  They must be typeset outside of the normal flow of text,
@@ -3732,7 +3681,7 @@
 <a class="url" href="https://www.texfaq.org/FAQ-figurehere">https://www.texfaq.org/FAQ-figurehere</a>.
 </p>
 </dd>
-<dt id='index-float-page'><span><code class="code">p</code><a class="copiable-link" href='#index-float-page'> ¶</a></span></dt>
+<dt><a id="index-float-page"></a><span><code class="code">p</code><a class="copiable-link" href="#index-float-page"> ¶</a></span></dt>
 <dd><p>(Page of floats)—on a separate <em class="dfn">float page</em>, which is a page
 containing no text, only floats.
 </p>
@@ -3780,19 +3729,19 @@
 <code class="code">\renewcommand{<var class="var">parameter</var>}{<var class="var">decimal between 0 and 1</var>}</code>):
 </p>
 <dl class="ftable">
-<dt id='index-_005cbottomfraction'><span><code class="code">\bottomfraction</code><a class="copiable-link" href='#index-_005cbottomfraction'> ¶</a></span></dt>
+<dt><a id="index-_005cbottomfraction"></a><span><code class="code">\bottomfraction</code><a class="copiable-link" href="#index-_005cbottomfraction"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cbottomfraction-1"></a>
 <a class="anchor" id="floats-bottomfraction"></a><p>The maximum fraction of the page allowed to be occupied by floats at
 the bottom; default ‘<samp class="samp">.3</samp>’.
 </p>
 </dd>
-<dt id='index-_005cfloatpagefraction'><span><code class="code">\floatpagefraction</code><a class="copiable-link" href='#index-_005cfloatpagefraction'> ¶</a></span></dt>
+<dt><a id="index-_005cfloatpagefraction"></a><span><code class="code">\floatpagefraction</code><a class="copiable-link" href="#index-_005cfloatpagefraction"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cfloatpagefraction-1"></a>
 <a class="anchor" id="floats-floatpagefraction"></a><p>The minimum fraction of a float page that must be occupied by floats;
 default ‘<samp class="samp">.5</samp>’.
 </p>
 </dd>
-<dt id='index-_005ctextfraction'><span><code class="code">\textfraction</code><a class="copiable-link" href='#index-_005ctextfraction'> ¶</a></span></dt>
+<dt><a id="index-_005ctextfraction"></a><span><code class="code">\textfraction</code><a class="copiable-link" href="#index-_005ctextfraction"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctextfraction-1"></a>
 <a class="anchor" id="floats-textfraction"></a><p>Minimum fraction of a page that must be text; if floats take up too
 much space to preserve this much text, floats will be moved to a
@@ -3799,7 +3748,7 @@
 different page.  The default is ‘<samp class="samp">.2</samp>’.
 </p>
 </dd>
-<dt id='index-_005ctopfraction'><span><code class="code">\topfraction</code><a class="copiable-link" href='#index-_005ctopfraction'> ¶</a></span></dt>
+<dt><a id="index-_005ctopfraction"></a><span><code class="code">\topfraction</code><a class="copiable-link" href="#index-_005ctopfraction"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctopfraction-1"></a>
 <a class="anchor" id="floats-topfraction"></a><p>Maximum fraction at the top of a page that may be occupied before
 floats; default ‘<samp class="samp">.7</samp>’.
@@ -3811,13 +3760,13 @@
 expression</var>}</code>):
 </p>
 <dl class="ftable">
-<dt id='index-_005cfloatsep'><span><code class="code">\floatsep</code><a class="copiable-link" href='#index-_005cfloatsep'> ¶</a></span></dt>
+<dt><a id="index-_005cfloatsep"></a><span><code class="code">\floatsep</code><a class="copiable-link" href="#index-_005cfloatsep"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cfloatsep-1"></a>
 <a class="anchor" id="floats-floatsep"></a><p>Space between floats at the top or bottom of a page; default
 ‘<samp class="samp">12pt plus2pt minus2pt</samp>’.
 </p>
 </dd>
-<dt id='index-_005cintextsep'><span><code class="code">\intextsep</code><a class="copiable-link" href='#index-_005cintextsep'> ¶</a></span></dt>
+<dt><a id="index-_005cintextsep"></a><span><code class="code">\intextsep</code><a class="copiable-link" href="#index-_005cintextsep"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cintextsep-1"></a>
 <a class="anchor" id="floats-intextsep"></a><p>Space above and below a float in the middle of the main text; default
 ‘<samp class="samp">12pt plus2pt minus2pt</samp>’ for 10 point and 11 point documents,
@@ -3824,7 +3773,7 @@
 and ‘<samp class="samp">14pt plus4pt minus4pt</samp>’ for 12 point documents.
 </p>
 </dd>
-<dt id='index-_005ctextfloatsep'><span><code class="code">\textfloatsep</code><a class="copiable-link" href='#index-_005ctextfloatsep'> ¶</a></span></dt>
+<dt><a id="index-_005ctextfloatsep"></a><span><code class="code">\textfloatsep</code><a class="copiable-link" href="#index-_005ctextfloatsep"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ctextfloatsep-1"></a>
 <a class="anchor" id="floats-textfloatsep"></a><p>Space between the last (first) float at the top (bottom) of a page;
 default ‘<samp class="samp">20pt plus2pt minus4pt</samp>’.
@@ -3836,25 +3785,25 @@
 number</var>}</code>):
 </p>
 <dl class="ftable">
-<dt id='index-bottomnumber'><span><code class="code">bottomnumber</code><a class="copiable-link" href='#index-bottomnumber'> ¶</a></span></dt>
+<dt><a id="index-bottomnumber"></a><span><code class="code">bottomnumber</code><a class="copiable-link" href="#index-bottomnumber"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-bottomnumber-1"></a>
 <a class="anchor" id="floats-bottomnumber"></a><p>Maximum number of floats that can appear at the bottom of a text page;
 default 1.
 </p>
 </dd>
-<dt id='index-dbltopnumber'><span><code class="code">dbltopnumber</code><a class="copiable-link" href='#index-dbltopnumber'> ¶</a></span></dt>
+<dt><a id="index-dbltopnumber"></a><span><code class="code">dbltopnumber</code><a class="copiable-link" href="#index-dbltopnumber"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-dbltopnumber-1"></a>
 <a class="anchor" id="floats-dbltopnumber"></a><p>Maximum number of full-sized floats that can appear at the top of a
 two-column page; default 2.
 </p>
 </dd>
-<dt id='index-topnumber'><span><code class="code">topnumber</code><a class="copiable-link" href='#index-topnumber'> ¶</a></span></dt>
+<dt><a id="index-topnumber"></a><span><code class="code">topnumber</code><a class="copiable-link" href="#index-topnumber"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-topnumber-1"></a>
 <a class="anchor" id="floats-topnumber"></a><p>Maximum number of floats that can appear at the top of a text page;
 default 2.
 </p>
 </dd>
-<dt id='index-totalnumber'><span><code class="code">totalnumber</code><a class="copiable-link" href='#index-totalnumber'> ¶</a></span></dt>
+<dt><a id="index-totalnumber"></a><span><code class="code">totalnumber</code><a class="copiable-link" href="#index-totalnumber"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-totalnumber-1"></a>
 <a class="anchor" id="floats-totalnumber"></a><p>Maximum number of floats that can appear on a text page; default 3.
 </p></dd>
@@ -3880,7 +3829,7 @@
 <p>
 Up: <a href="#Floats" accesskey="u" rel="up">Floats</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005ccaption-1">5.7.1 <code class="code">\caption</code></h4>
+<h4 class="subsection" id="g_t_005ccaption-1"><span>5.7.1 <code class="code">\caption</code><a class="copiable-link" href="#g_t_005ccaption-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005ccaption"></a>
 <a class="index-entry-id" id="index-captions"></a>
@@ -3980,7 +3929,7 @@
 <p>
 Next: <a href="#Cross-references" accesskey="n" rel="next">Cross references</a>, Previous: <a href="#Layout" accesskey="p" rel="prev">Layout</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Sectioning-1">6 Sectioning</h2>
+<h2 class="chapter" id="Sectioning-1"><span>6 Sectioning<a class="copiable-link" href="#Sectioning-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-sectioning-commands"></a>
 <a class="index-entry-id" id="index-part"></a>
@@ -4071,7 +4020,7 @@
 <p>Two counters relate to the appearance of headings made by sectioning commands.
 </p>
 <dl class="ftable">
-<dt id='index-secnumdepth'><span><code class="code">secnumdepth</code><a class="copiable-link" href='#index-secnumdepth'> ¶</a></span></dt>
+<dt><a id="index-secnumdepth"></a><span><code class="code">secnumdepth</code><a class="copiable-link" href="#index-secnumdepth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-secnumdepth-counter"></a>
 <a class="index-entry-id" id="index-section-numbers_002c-printing"></a>
 <a class="anchor" id="sectioning-secnumdepth"></a><a class="anchor" id="Sectioning_002fsecnumdepth"></a><p>Controls which sectioning unit are numbered.  Setting the counter with
@@ -4086,7 +4035,7 @@
  2 in the <samp class="file">book</samp> and <samp class="file">report</samp> classes.
 </p>
 </dd>
-<dt id='index-tocdepth'><span><code class="code">tocdepth</code><a class="copiable-link" href='#index-tocdepth'> ¶</a></span></dt>
+<dt><a id="index-tocdepth"></a><span><code class="code">tocdepth</code><a class="copiable-link" href="#index-tocdepth"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-tocdepth-counter"></a>
 <a class="index-entry-id" id="index-table-of-contents_002c-sectioning-numbers-printed"></a>
 <a class="anchor" id="sectioning-tocdepth"></a><a class="anchor" id="Sectioning_002ftocdepth"></a><p>Controls which sectioning units are listed in the table of contents.
@@ -4111,7 +4060,7 @@
 <li><a href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph" accesskey="5"><code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code></a></li>
 <li><a href="#g_t_005cappendix" accesskey="6"><code class="code">\appendix</code></a></li>
 <li><a href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter" accesskey="7"><code class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code></a></li>
-<li><a href="#g_t_005c_0040startsection" accesskey="8"><code class="code">\@startsection</code>, typesetting sectional unit headings</a></li>
+<li><a href="#g_t_005c_0040startsection" accesskey="8"><code class="code">\@startsection</code>: Typesetting sectional unit headings</a></li>
 </ul>
 <hr>
 <div class="section-level-extent" id="g_t_005cpart">
@@ -4119,7 +4068,7 @@
 <p>
 Next: <a href="#g_t_005cchapter" accesskey="n" rel="next"><code class="code">\chapter</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cpart-1">6.1 <code class="code">\part</code></h3>
+<h3 class="section" id="g_t_005cpart-1"><span>6.1 <code class="code">\part</code><a class="copiable-link" href="#g_t_005cpart-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cpart-1"></a>
 <a class="index-entry-id" id="index-part-1"></a>
@@ -4196,7 +4145,7 @@
 <p>
 Next: <a href="#g_t_005csection" accesskey="n" rel="next"><code class="code">\section</code></a>, Previous: <a href="#g_t_005cpart" accesskey="p" rel="prev"><code class="code">\part</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cchapter-1">6.2 <code class="code">\chapter</code></h3>
+<h3 class="section" id="g_t_005cchapter-1"><span>6.2 <code class="code">\chapter</code><a class="copiable-link" href="#g_t_005cchapter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cchapter-1"></a>
 <a class="index-entry-id" id="index-chapter-1"></a>
@@ -4324,7 +4273,7 @@
 <p>
 Next: <a href="#g_t_005csubsection" accesskey="n" rel="next"><code class="code">\subsection</code></a>, Previous: <a href="#g_t_005cchapter" accesskey="p" rel="prev"><code class="code">\chapter</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csection-1">6.3 <code class="code">\section</code></h3>
+<h3 class="section" id="g_t_005csection-1"><span>6.3 <code class="code">\section</code><a class="copiable-link" href="#g_t_005csection-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csection-1"></a>
 <a class="index-entry-id" id="index-section-1"></a>
@@ -4406,7 +4355,7 @@
 
 <p>In general, to change the behavior of the <code class="code">\section</code> command, there
 are a number of options.  One is the <code class="code">\@startsection</code> command
-(see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>, typesetting sectional unit headings</a>).  There are also many packages on CTAN that
+(see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>: Typesetting sectional unit headings</a>).  There are also many packages on CTAN that
 address this, including <code class="code">titlesec</code>.  See the documentation but the
 example below gives a sense of what they can do.
 </p>
@@ -4431,7 +4380,7 @@
 <p>
 Next: <a href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph" accesskey="n" rel="next"><code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code></a>, Previous: <a href="#g_t_005csection" accesskey="p" rel="prev"><code class="code">\section</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csubsection-1">6.4 <code class="code">\subsection</code></h3>
+<h3 class="section" id="g_t_005csubsection-1"><span>6.4 <code class="code">\subsection</code><a class="copiable-link" href="#g_t_005csubsection-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csubsection-1"></a>
 <a class="index-entry-id" id="index-subsection-1"></a>
@@ -4498,7 +4447,7 @@
 
 <p>There are a number of ways to change the behavior of the
 <code class="code">\subsection</code> command.  One is the <code class="code">\@startsection</code> command
-(see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>, typesetting sectional unit headings</a>).  There are also many packages on CTAN that
+(see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>: Typesetting sectional unit headings</a>).  There are also many packages on CTAN that
 address this, including <code class="code">titlesec</code>.  See the documentation but the
 example below gives a sense of what they can do.
 </p>
@@ -4522,7 +4471,7 @@
 <p>
 Next: <a href="#g_t_005cappendix" accesskey="n" rel="next"><code class="code">\appendix</code></a>, Previous: <a href="#g_t_005csubsection" accesskey="p" rel="prev"><code class="code">\subsection</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph">6.5 <code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code></h3>
+<h3 class="section" id="g_t_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph"><span>6.5 <code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code><a class="copiable-link" href="#g_t_005csubsubsection_002c-_005cparagraph_002c-_005csubparagraph"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005csubsubsection"></a><a class="index-entry-id" id="index-_005csubsubsection-1"></a>
 <a class="index-entry-id" id="index-subsubsection-1"></a>
@@ -4604,7 +4553,7 @@
 <a class="index-entry-id" id="index-titlesec-package-5"></a>
 
 <p>There are a number of ways to change the behavior of the these commands.
-One is the <code class="code">\@startsection</code> command (see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>, typesetting sectional unit headings</a>).
+One is the <code class="code">\@startsection</code> command (see <a class="pxref" href="#g_t_005c_0040startsection"><code class="code">\@startsection</code>: Typesetting sectional unit headings</a>).
 There are also many packages on CTAN that address this, including
 <code class="code">titlesec</code>.  See the documentation on CTAN.
 </p>
@@ -4617,7 +4566,7 @@
 Next: <a href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter" accesskey="n" rel="next"><code class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code></a>, Previous: <a href="#g_t_005csubsubsection-_0026-_005cparagraph-_0026-_005csubparagraph" accesskey="p" rel="prev"><code class="code">\subsubsection</code>, <code class="code">\paragraph</code>, <code class="code">\subparagraph</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
 
-<h3 class="section" id="g_t_005cappendix-1">6.6 <code class="code">\appendix</code></h3>
+<h3 class="section" id="g_t_005cappendix-1"><span>6.6 <code class="code">\appendix</code><a class="copiable-link" href="#g_t_005cappendix-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cappendix"></a>
 <a class="index-entry-id" id="index-appendix"></a>
@@ -4669,9 +4618,9 @@
 <div class="section-level-extent" id="g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">
 <div class="nav-panel">
 <p>
-Next: <a href="#g_t_005c_0040startsection" accesskey="n" rel="next"><code class="code">\@startsection</code>, typesetting sectional unit headings</a>, Previous: <a href="#g_t_005cappendix" accesskey="p" rel="prev"><code class="code">\appendix</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</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="#g_t_005c_0040startsection" accesskey="n" rel="next"><code class="code">\@startsection</code>: Typesetting sectional unit headings</a>, Previous: <a href="#g_t_005cappendix" accesskey="p" rel="prev"><code class="code">\appendix</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cfrontmatter_002c-_005cmainmatter_002c-_005cbackmatter">6.7 <code class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code></h3>
+<h3 class="section" id="g_t_005cfrontmatter_002c-_005cmainmatter_002c-_005cbackmatter"><span>6.7 <code class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code><a class="copiable-link" href="#g_t_005cfrontmatter_002c-_005cmainmatter_002c-_005cbackmatter"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cfrontmatter"></a><a class="index-entry-id" id="index-_005cfrontmatter"></a>
 <a class="index-entry-id" id="index-book_002c-front-matter"></a>
@@ -4727,7 +4676,7 @@
 <p>
 Previous: <a href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter" accesskey="p" rel="prev"><code class="code">\frontmatter</code>, <code class="code">\mainmatter</code>, <code class="code">\backmatter</code></a>, Up: <a href="#Sectioning" accesskey="u" rel="up">Sectioning</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005c_0040startsection_002c-typesetting-sectional-unit-headings">6.8 <code class="code">\@startsection</code>, typesetting sectional unit headings</h3>
+<h3 class="section" id="g_t_005c_0040startsection_003a-Typesetting-sectional-unit-headings"><span>6.8 <code class="code">\@startsection</code>: Typesetting sectional unit headings<a class="copiable-link" href="#g_t_005c_0040startsection_003a-Typesetting-sectional-unit-headings"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005c_0040startsection"></a>
 <a class="index-entry-id" id="index-section_002c-redefining"></a>
@@ -4741,14 +4690,14 @@
 <p>Used to help redefine the behavior of commands that start sectioning
 divisions such as <code class="code">\section</code> or <code class="code">\subsection</code>.
 </p>
-<p>Note that the <code class="code">titlesec</code> package makes manipulation of sectioning
+<p>The <code class="code">titlesec</code> package makes manipulation of sectioning
 easier.  Further, while most requirements for sectioning commands can be
 satisfied with <code class="code">\@startsection</code>, some cannot.  For instance, in
 the standard LaTeX <code class="code">book</code> and <code class="code">report</code> classes the commands
-<code class="code">\chapter</code> and <code class="code">\report</code> are not constructed in this way.  To
+<code class="code">\chapter</code> and <code class="code">\report</code> are not constructed using this.  To
 make such a command you may want to use the <code class="code">\secdef</code> command.
 </p>
-<p>Technically, <code class="code">\@startsection</code> has the form
+<p>The <code class="code">\@startsection</code> macro is used like this:
 </p>
 <div class="example">
 <pre class="example-preformatted">\@startsection{<var class="var">name</var>}
@@ -4771,7 +4720,7 @@
 </pre></div>
 
 <p>redefines <code class="code">\section</code> while keeping its standard calling form
-<code class="code">\section*[<var class="var">toctitle</var>]{<var class="var">title</var>}</code> (in which, for reminder,
+<code class="code">\section*[<var class="var">toctitle</var>]{<var class="var">title</var>}</code> (in which, as a reminder,
 the star <code class="code">*</code> is optional).  See <a class="xref" href="#Sectioning">Sectioning</a>.  This implies
 that when you write a command like
 <code class="code">\renewcommand{\section}{...}</code>, the
@@ -4822,8 +4771,8 @@
 is inserted before this sectioning unit’s title.  This space will be
 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 <code class="code">1pt plus 2pt minus 3pt</code>
+header is not indented; if it is non-negative then the first paragraph
+is indented.  (Example: the negative of <code class="code">1pt plus 2pt minus 3pt</code>
 is <code class="code">-1pt plus -2pt minus -3pt</code>.)
 </p>
 <p>For example, if <var class="var">beforeskip</var> is <code class="code">-3.5ex plus -1ex minus -0.2ex</code>
@@ -4891,7 +4840,7 @@
 <code class="code">\normalfont\Large\bfseries</code>.
 
 </li><li>For <code class="code">subsection</code>: <var class="var">level</var> is 2, <var class="var">indent</var> is 0<span class="dmn">pt</span>,
-<var class="var">beforeskip</var> is <code class="code">-3.25ex plus -1ex minus <span class="w-nolinebreak-text">-0.2ex</span><!-- /@w --></code>,
+<var class="var">beforeskip</var> is <code class="code">-3.25ex plus -1ex minus -0.2ex<!-- /@w --></code>,
 <var class="var">afterskip</var> is <code class="code">1.5ex plus 0.2ex</code>, and <var class="var">style</var> is
 <code class="code">\normalfont\large\bfseries</code>.
 
@@ -4967,7 +4916,7 @@
 <p>
 Next: <a href="#Environments" accesskey="n" rel="next">Environments</a>, Previous: <a href="#Sectioning" accesskey="p" rel="prev">Sectioning</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Cross-references-1">7 Cross references</h2>
+<h2 class="chapter" id="Cross-references-1"><span>7 Cross references<a class="copiable-link" href="#Cross-references-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-cross-references"></a>
 
@@ -5030,7 +4979,7 @@
 <p>
 Next: <a href="#g_t_005cpageref" accesskey="n" rel="next"><code class="code">\pageref</code></a>, Up: <a href="#Cross-references" accesskey="u" rel="up">Cross references</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005clabel-1">7.1 <code class="code">\label</code></h3>
+<h3 class="section" id="g_t_005clabel-1"><span>7.1 <code class="code">\label</code><a class="copiable-link" href="#g_t_005clabel-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005clabel"></a>
 
@@ -5112,7 +5061,7 @@
 <p>
 Next: <a href="#g_t_005cref" accesskey="n" rel="next"><code class="code">\ref</code></a>, Previous: <a href="#g_t_005clabel" accesskey="p" rel="prev"><code class="code">\label</code></a>, Up: <a href="#Cross-references" accesskey="u" rel="up">Cross references</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cpageref-1">7.2 <code class="code">\pageref</code></h3>
+<h3 class="section" id="g_t_005cpageref-1"><span>7.2 <code class="code">\pageref</code><a class="copiable-link" href="#g_t_005cpageref-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cpageref"></a>
 <a class="index-entry-id" id="index-cross-referencing-with-page-number"></a>
@@ -5152,7 +5101,7 @@
 <p>
 Next: <a href="#xr-package" accesskey="n" rel="next"><code class="code">xr</code> package</a>, Previous: <a href="#g_t_005cpageref" accesskey="p" rel="prev"><code class="code">\pageref</code></a>, Up: <a href="#Cross-references" accesskey="u" rel="up">Cross references</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cref-1">7.3 <code class="code">\ref</code></h3>
+<h3 class="section" id="g_t_005cref-1"><span>7.3 <code class="code">\ref</code><a class="copiable-link" href="#g_t_005cref-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cref"></a>
 <a class="index-entry-id" id="index-cross-referencing_002c-symbolic"></a>
@@ -5203,7 +5152,7 @@
 <p>
 Previous: <a href="#g_t_005cref" accesskey="p" rel="prev"><code class="code">\ref</code></a>, Up: <a href="#Cross-references" accesskey="u" rel="up">Cross references</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="xr-package-1">7.4 <code class="code">xr</code> package</h3>
+<h3 class="section" id="xr-package-1"><span>7.4 <code class="code">xr</code> package<a class="copiable-link" href="#xr-package-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-package_002c-xr"></a>
 <a class="index-entry-id" id="index-xr-package"></a>
@@ -5289,12 +5238,12 @@
 <p>
 Next: <a href="#Line-breaking" accesskey="n" rel="next">Line breaking</a>, Previous: <a href="#Cross-references" accesskey="p" rel="prev">Cross references</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Environments-1">8 Environments</h2>
+<h2 class="chapter" id="Environments-1"><span>8 Environments<a class="copiable-link" href="#Environments-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-environments"></a>
 <a class="index-entry-id" id="index-_005cbegin"></a>
 <a class="index-entry-id" id="index-_005cend"></a>
-
+<a class="anchor" id="Environment"></a>
 <p>LaTeX provides many environments for delimiting certain behavior.
 An environment begins with <code class="code">\begin</code> and ends with <code class="code">\end</code>,
 like this:
@@ -5352,7 +5301,7 @@
 <p>
 Next: <a href="#array" accesskey="n" rel="next"><code class="code">array</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="abstract-1">8.1 <code class="code">abstract</code></h3>
+<h3 class="section" id="abstract-1"><span>8.1 <code class="code">abstract</code><a class="copiable-link" href="#abstract-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-abstract"></a>
 <a class="index-entry-id" id="index-abstract-environment"></a>
@@ -5419,7 +5368,7 @@
 <p>
 Next: <a href="#center" accesskey="n" rel="next"><code class="code">center</code></a>, Previous: <a href="#abstract" accesskey="p" rel="prev"><code class="code">abstract</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="array-1">8.2 <code class="code">array</code></h3>
+<h3 class="section" id="array-1"><span>8.2 <code class="code">array</code><a class="copiable-link" href="#array-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-array"></a>
 <a class="index-entry-id" id="index-array-environment"></a>
@@ -5532,7 +5481,7 @@
 <p>
 Next: <a href="#description" accesskey="n" rel="next"><code class="code">description</code></a>, Previous: <a href="#array" accesskey="p" rel="prev"><code class="code">array</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="center-1">8.3 <code class="code">center</code></h3>
+<h3 class="section" id="center-1"><span>8.3 <code class="code">center</code><a class="copiable-link" href="#center-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-center"></a>
 <a class="index-entry-id" id="index-center-environment"></a>
@@ -5603,7 +5552,7 @@
 <p>
 Up: <a href="#center" accesskey="u" rel="up"><code class="code">center</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005ccentering-1">8.3.1 <code class="code">\centering</code></h4>
+<h4 class="subsection" id="g_t_005ccentering-1"><span>8.3.1 <code class="code">\centering</code><a class="copiable-link" href="#g_t_005ccentering-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005ccentering"></a>
 <a class="index-entry-id" id="index-centering-text_002c-declaration-for"></a>
@@ -5663,7 +5612,7 @@
 <p>
 Next: <a href="#displaymath" accesskey="n" rel="next"><code class="code">displaymath</code></a>, Previous: <a href="#center" accesskey="p" rel="prev"><code class="code">center</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="description-1">8.4 <code class="code">description</code></h3>
+<h3 class="section" id="description-1"><span>8.4 <code class="code">description</code><a class="copiable-link" href="#description-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-description"></a>
 <a class="index-entry-id" id="index-description-environment"></a>
@@ -5741,7 +5690,7 @@
 <p>
 Next: <a href="#document" accesskey="n" rel="next"><code class="code">document</code></a>, Previous: <a href="#description" accesskey="p" rel="prev"><code class="code">description</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="displaymath-1">8.5 <code class="code">displaymath</code></h3>
+<h3 class="section" id="displaymath-1"><span>8.5 <code class="code">displaymath</code><a class="copiable-link" href="#displaymath-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-displaymath"></a>
 <a class="index-entry-id" id="index-displaymath-environment"></a>
@@ -5773,7 +5722,7 @@
 ways in that package for having math text broken across lines.
 </p>
 <a class="index-entry-id" id="index-_005c_005b_002e_002e_002e_005c_005d-display-math"></a>
-<p>The construct <code class="code">\[<var class="var">math</var>\]</code> is a synonym for the environment
+<p>The construct <code class="code">\[ <var class="var">math</var> \]</code> is a synonym for the environment
 <code class="code">\begin{displaymath} <var class="var">math</var> \end{displaymath}</code> 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
@@ -5780,11 +5729,11 @@
 <code class="code">displaymath</code> will likely be unique.
 </p>
 <a class="index-entry-id" id="index-_0024_0024_002e_002e_002e_0024_0024-plain-TeX-display-math"></a>
-<p>(Aside: The construct <code class="code">$$<var class="var">math</var>$$</code> from Plain TeX is
-sometimes mistakenly used as a synonym for <code class="code">displaymath</code>.  It is
+<p>The construct <code class="code">$$<var class="var">math</var>$$</code> from Plain TeX is
+sometimes used as a synonym for LaTeX’s <code class="code">displaymath</code>.  It is
 not a synonym, and is not officially supported in LaTeX at all;
 <code class="code">$$</code> doesn’t support the <code class="code">fleqn</code> option (see <a class="pxref" href="#Document-class-options">Document class options</a>), has different vertical spacing, and doesn’t perform
-consistency checks.)
+consistency checks.
 </p>
 <p>The output from this example is centered and alone on its line. 
 </p>
@@ -5805,7 +5754,7 @@
 <p>
 Next: <a href="#enumerate" accesskey="n" rel="next"><code class="code">enumerate</code></a>, Previous: <a href="#displaymath" accesskey="p" rel="prev"><code class="code">displaymath</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="document-1">8.6 <code class="code">document</code></h3>
+<h3 class="section" id="document-1"><span>8.6 <code class="code">document</code><a class="copiable-link" href="#document-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-document"></a>
 <a class="index-entry-id" id="index-document-environment"></a>
@@ -5826,7 +5775,7 @@
 <p>
 Next: <a href="#g_t_005cAtEndDocument" accesskey="n" rel="next"><code class="code">\AtEndDocument</code></a>, Up: <a href="#document" accesskey="u" rel="up"><code class="code">document</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cAtBeginDocument-1">8.6.1 <code class="code">\AtBeginDocument</code></h4>
+<h4 class="subsection" id="g_t_005cAtBeginDocument-1"><span>8.6.1 <code class="code">\AtBeginDocument</code><a class="copiable-link" href="#g_t_005cAtBeginDocument-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cAtBeginDocument"></a>
 <a class="index-entry-id" id="index-beginning-of-document-hook"></a>
@@ -5854,7 +5803,7 @@
 <p>
 Previous: <a href="#g_t_005cAtBeginDocument" accesskey="p" rel="prev"><code class="code">\AtBeginDocument</code></a>, Up: <a href="#document" accesskey="u" rel="up"><code class="code">document</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cAtEndDocument-1">8.6.2 <code class="code">\AtEndDocument</code></h4>
+<h4 class="subsection" id="g_t_005cAtEndDocument-1"><span>8.6.2 <code class="code">\AtEndDocument</code><a class="copiable-link" href="#g_t_005cAtEndDocument-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cAtEndDocument"></a>
 <a class="index-entry-id" id="index-end-of-document-hook"></a>
@@ -5884,7 +5833,7 @@
 <p>
 Next: <a href="#eqnarray" accesskey="n" rel="next"><code class="code">eqnarray</code></a>, Previous: <a href="#document" accesskey="p" rel="prev"><code class="code">document</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="enumerate-1">8.7 <code class="code">enumerate</code></h3>
+<h3 class="section" id="enumerate-1"><span>8.7 <code class="code">enumerate</code><a class="copiable-link" href="#enumerate-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-enumerate"></a>
 <a class="index-entry-id" id="index-enumerate-environment"></a>
@@ -5983,7 +5932,7 @@
 <p>
 Next: <a href="#equation" accesskey="n" rel="next"><code class="code">equation</code></a>, Previous: <a href="#enumerate" accesskey="p" rel="prev"><code class="code">enumerate</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="eqnarray-1">8.8 <code class="code">eqnarray</code></h3>
+<h3 class="section" id="eqnarray-1"><span>8.8 <code class="code">eqnarray</code><a class="copiable-link" href="#eqnarray-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-eqnarray"></a>
 <a class="index-entry-id" id="index-eqnarray-environment"></a>
@@ -6064,7 +6013,7 @@
 <p>
 Next: <a href="#figure" accesskey="n" rel="next"><code class="code">figure</code></a>, Previous: <a href="#eqnarray" accesskey="p" rel="prev"><code class="code">eqnarray</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="equation-1">8.9 <code class="code">equation</code></h3>
+<h3 class="section" id="equation-1"><span>8.9 <code class="code">equation</code><a class="copiable-link" href="#equation-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-equation"></a>
 <a class="index-entry-id" id="index-equation-environment"></a>
@@ -6085,7 +6034,7 @@
 The equation number is generated using the <code class="code">equation</code> counter.
 </p>
 <p>You should have no blank lines between <code class="code">\begin{equation}</code> and
-<code class="code">\begin{equation}</code>, or LaTeX will tell you that there is a
+<code class="code">\end{equation}</code>, or LaTeX will tell you that there is a
 missing dollar sign.
 </p>
 <a class="index-entry-id" id="index-package_002c-amsmath-3"></a>
@@ -6102,7 +6051,7 @@
 <p>
 Next: <a href="#filecontents" accesskey="n" rel="next"><code class="code">filecontents</code></a>, Previous: <a href="#equation" accesskey="p" rel="prev"><code class="code">equation</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="figure-1">8.10 <code class="code">figure</code></h3>
+<h3 class="section" id="figure-1"><span>8.10 <code class="code">figure</code><a class="copiable-link" href="#figure-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-figure"></a>
 <a class="index-entry-id" id="index-figure-environment"></a>
@@ -6179,7 +6128,7 @@
 <p>
 Next: <a href="#flushleft" accesskey="n" rel="next"><code class="code">flushleft</code></a>, Previous: <a href="#figure" accesskey="p" rel="prev"><code class="code">figure</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="filecontents-1">8.11 <code class="code">filecontents</code></h3>
+<h3 class="section" id="filecontents-1"><span>8.11 <code class="code">filecontents</code><a class="copiable-link" href="#filecontents-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-filecontents"></a>
 <a class="index-entry-id" id="index-filecontents-environment"></a>
@@ -6218,17 +6167,17 @@
 <p>The possible options are:
 </p>
 <dl class="table">
-<dt id='index-force-option-for-filecontents'><span><code class="code">force</code><a class="copiable-link" href='#index-force-option-for-filecontents'> ¶</a></span></dt>
+<dt><a class="index-entry-id" id="index-overwrite-option-for-filecontents"></a>
+<a id="index-force-option-for-filecontents"></a><span><code class="code">force</code><a class="copiable-link" href="#index-force-option-for-filecontents"> ¶</a></span></dt>
 <dt><code class="code">overwrite</code></dt>
-<dd><a class="index-entry-id" id="index-overwrite-option-for-filecontents"></a>
-<p>Overwrite an existing file.
+<dd><p>Overwrite an existing file.
 </p>
 </dd>
-<dt id='index-noheader-option-for-filecontents'><span><code class="code">noheader</code><a class="copiable-link" href='#index-noheader-option-for-filecontents'> ¶</a></span></dt>
+<dt><a id="index-noheader-option-for-filecontents"></a><span><code class="code">noheader</code><a class="copiable-link" href="#index-noheader-option-for-filecontents"> ¶</a></span></dt>
 <dd><p>Omit the header. Equivalent to using <code class="code">filecontents*</code>.
 </p>
 </dd>
-<dt id='index-nosearch-option-for-filecontents'><span><code class="code">nosearch</code><a class="copiable-link" href='#index-nosearch-option-for-filecontents'> ¶</a></span></dt>
+<dt><a id="index-nosearch-option-for-filecontents"></a><span><code class="code">nosearch</code><a class="copiable-link" href="#index-nosearch-option-for-filecontents"> ¶</a></span></dt>
 <dd><p>Only check the current directory (and the output directory, if
 specified) for an existing file, not the entire search path.
 </p>
@@ -6277,7 +6226,7 @@
 <p>
 Next: <a href="#flushright" accesskey="n" rel="next"><code class="code">flushright</code></a>, Previous: <a href="#filecontents" accesskey="p" rel="prev"><code class="code">filecontents</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="flushleft-1">8.12 <code class="code">flushleft</code></h3>
+<h3 class="section" id="flushleft-1"><span>8.12 <code class="code">flushleft</code><a class="copiable-link" href="#flushleft-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-flushleft"></a>
 <a class="index-entry-id" id="index-flushleft-environment"></a>
@@ -6328,7 +6277,7 @@
 <p>
 Up: <a href="#flushleft" accesskey="u" rel="up"><code class="code">flushleft</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005craggedright-1">8.12.1 <code class="code">\raggedright</code></h4>
+<h4 class="subsection" id="g_t_005craggedright-1"><span>8.12.1 <code class="code">\raggedright</code><a class="copiable-link" href="#g_t_005craggedright-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005craggedright"></a>
 <a class="index-entry-id" id="index-ragged-right-text"></a>
@@ -6382,7 +6331,7 @@
 <p>
 Next: <a href="#itemize" accesskey="n" rel="next"><code class="code">itemize</code></a>, Previous: <a href="#flushleft" accesskey="p" rel="prev"><code class="code">flushleft</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="flushright-1">8.13 <code class="code">flushright</code></h3>
+<h3 class="section" id="flushright-1"><span>8.13 <code class="code">flushright</code><a class="copiable-link" href="#flushright-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-flushright"></a>
 <a class="index-entry-id" id="index-flushright-environment"></a>
@@ -6421,7 +6370,7 @@
 <p>
 Up: <a href="#flushright" accesskey="u" rel="up"><code class="code">flushright</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005craggedleft-1">8.13.1 <code class="code">\raggedleft</code></h4>
+<h4 class="subsection" id="g_t_005craggedleft-1"><span>8.13.1 <code class="code">\raggedleft</code><a class="copiable-link" href="#g_t_005craggedleft-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005craggedleft"></a>
 <a class="index-entry-id" id="index-ragged-left-text"></a>
@@ -6449,13 +6398,12 @@
 </p>
 <p>Unlike the <code class="code">flushright</code> environment, the <code class="code">\raggedleft</code>
 command does not start a new paragraph; it only changes how LaTeX
-formats paragraph units.  To affect a paragraph unit’s format, the
+formats paragraph units.  To affect a paragraph unit’s formatting, the
 scope of the declaration must contain the blank line or <code class="code">\end</code>
 command that ends the paragraph unit.
 </p>
-<p>For an example related to this environment, see <a class="ref" href="#g_t_005craggedright"><code class="code">\raggedright</code></a>,
-where one just have mutatis mutandis to replace <code class="code">\raggedright</code> by
-<code class="code">\raggedleft</code>.
+<p>See <a class="xref" href="#g_t_005craggedright"><code class="code">\raggedright</code></a>, for an example related to this environment;
+just replace <code class="code">\raggedright</code> there by <code class="code">\raggedleft</code>.
 </p>
 
 <hr>
@@ -6466,7 +6414,7 @@
 <p>
 Next: <a href="#letter" accesskey="n" rel="next"><code class="code">letter</code> environment: writing letters</a>, Previous: <a href="#flushright" accesskey="p" rel="prev"><code class="code">flushright</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="itemize-1">8.14 <code class="code">itemize</code></h3>
+<h3 class="section" id="itemize-1"><span>8.14 <code class="code">itemize</code><a class="copiable-link" href="#itemize-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-itemize"></a>
 <a class="index-entry-id" id="index-itemize-environment"></a>
@@ -6530,7 +6478,7 @@
 </p>
 <ol class="enumerate">
 <li> • (bullet, from <code class="code">\textbullet</code>)
-</li><li> <b class="b">-<span class="w-nolinebreak-text">-</span><!-- /@w --></b> (bold en-dash, from <code class="code">\normalfont\bfseries\textendash</code>)
+</li><li> <b class="b">--<!-- /@w --></b> (bold en-dash, from <code class="code">\normalfont\bfseries\textendash</code>)
 </li><li> * (asterisk, from <code class="code">\textasteriskcentered</code>)
 </li><li> . (vertically centered dot, rendered here as a period, from <code class="code">\textperiodcentered</code>)
 </li></ol>
@@ -6586,8 +6534,9 @@
 <pre class="example-preformatted">\newenvironment{itemize*}%
   {\begin{itemize}%
     \setlength{\itemsep}{0pt}%
-    \setlength{\parsep}{0pt}}%
-    \setlength{\parskip}{0pt}}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\parskip}{0pt}%
+  }%
   {\end{itemize}}
 </pre></div>
 
@@ -6599,7 +6548,7 @@
 <p>
 Next: <a href="#list" accesskey="n" rel="next"><code class="code">list</code></a>, Previous: <a href="#itemize" accesskey="p" rel="prev"><code class="code">itemize</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="letter-environment_003a-writing-letters">8.15 <code class="code">letter</code> environment: writing letters</h3>
+<h3 class="section" id="letter-environment_003a-writing-letters"><span>8.15 <code class="code">letter</code> environment: writing letters<a class="copiable-link" href="#letter-environment_003a-writing-letters"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-letter"></a>
 <a class="index-entry-id" id="index-letter-environment"></a>
@@ -6615,7 +6564,7 @@
 <p>
 Next: <a href="#math" accesskey="n" rel="next"><code class="code">math</code></a>, Previous: <a href="#letter" accesskey="p" rel="prev"><code class="code">letter</code> environment: writing letters</a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="list-1">8.16 <code class="code">list</code></h3>
+<h3 class="section" id="list-1"><span>8.16 <code class="code">list</code><a class="copiable-link" href="#list-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-list"></a>
 <a class="index-entry-id" id="index-list-environment"></a>
@@ -6704,16 +6653,16 @@
 the list.  Each is a length (see <a class="pxref" href="#Lengths">Lengths</a>).  The vertical spaces are
 normally rubber lengths, with <code class="code">plus</code> and <code class="code">minus</code> components,
 to give TeX flexibility in setting the page.  Change each with a
-command such as <code class="code">\setlength{itemsep}{2pt plus1pt minus1pt}</code>.
+command such as <code class="code">\setlength{\itemsep}{2pt plus1pt minus1pt}</code>.
 For some effects these lengths should be zero or negative.
 </p>
 <dl class="ftable">
-<dt id='index-_005citemindent'><span><code class="code">\itemindent</code><a class="copiable-link" href='#index-_005citemindent'> ¶</a></span></dt>
+<dt><a id="index-_005citemindent"></a><span><code class="code">\itemindent</code><a class="copiable-link" href="#index-_005citemindent"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-itemindent"></a><p>Extra horizontal space indentation, beyond <code class="code">leftmargin</code>, of the
 first line each item.  Its default value is <code class="code">0pt</code>.
 </p>
 </dd>
-<dt id='index-_005citemsep'><span><code class="code">\itemsep</code><a class="copiable-link" href='#index-_005citemsep'> ¶</a></span></dt>
+<dt><a id="index-_005citemsep"></a><span><code class="code">\itemsep</code><a class="copiable-link" href="#index-_005citemsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-itemsep"></a><p>Vertical space between items, beyond the <code class="code">\parsep</code>.  The defaults
 for the first three levels in LaTeX’s ‘<samp class="samp">article</samp>’, ‘<samp class="samp">book</samp>’,
 and ‘<samp class="samp">report</samp>’ classes at 10 point size are: <code class="code">4pt plus2pt
@@ -6726,13 +6675,13 @@
 <code class="code">\topsep</code> (that is, <code class="code">2.5pt plus1pt minus1pt</code>).
 </p>
 </dd>
-<dt id='index-_005clabelsep'><span><code class="code">\labelsep</code><a class="copiable-link" href='#index-_005clabelsep'> ¶</a></span></dt>
+<dt><a id="index-_005clabelsep"></a><span><code class="code">\labelsep</code><a class="copiable-link" href="#index-_005clabelsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-labelsep"></a><p>Horizontal space between the label and text of an item.
 The default for LaTeX’s ‘<samp class="samp">article</samp>’, ‘<samp class="samp">book</samp>’,
 and ‘<samp class="samp">report</samp>’ classes is <code class="code">0.5em</code>.
 </p>
 </dd>
-<dt id='index-_005clabelwidth'><span><code class="code">\labelwidth</code><a class="copiable-link" href='#index-_005clabelwidth'> ¶</a></span></dt>
+<dt><a id="index-_005clabelwidth"></a><span><code class="code">\labelwidth</code><a class="copiable-link" href="#index-_005clabelwidth"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-labelwidth"></a><p>Horizontal width.  The box containing the label is nominally this wide.
 If <code class="code">\makelabel</code> returns text that is wider than this then the first
 line of the item will be indented to make room for this extra material.
@@ -6754,7 +6703,7 @@
 environment.
 </p>
 </dd>
-<dt id='index-_005cleftmargin-1'><span><code class="code">\leftmargin</code><a class="copiable-link" href='#index-_005cleftmargin-1'> ¶</a></span></dt>
+<dt><a id="index-_005cleftmargin-1"></a><span><code class="code">\leftmargin</code><a class="copiable-link" href="#index-_005cleftmargin-1"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-leftmargin"></a><p>Horizontal space between the left margin of the enclosing environment
 (or the left margin of the page if this is a top-level list), and the
 left margin of this list.  It must be non-negative.
@@ -6772,7 +6721,7 @@
 <code class="code">2.2em</code>, and <code class="code">\leftmarginiii</code> is <code class="code">1.87em</code>.
 </p>
 </dd>
-<dt id='index-_005clistparindent'><span><code class="code">\listparindent</code><a class="copiable-link" href='#index-_005clistparindent'> ¶</a></span></dt>
+<dt><a id="index-_005clistparindent"></a><span><code class="code">\listparindent</code><a class="copiable-link" href="#index-_005clistparindent"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-listparindent"></a><p>Horizontal space of additional line indentation, beyond
 <code class="code">\leftmargin</code>, for second and subsequent paragraphs within a list
 item.  A negative value makes this an “outdent”.  Its default value
@@ -6779,7 +6728,7 @@
 is <code class="code">0pt</code>.
 </p>
 </dd>
-<dt id='index-_005cparsep'><span><code class="code">\parsep</code><a class="copiable-link" href='#index-_005cparsep'> ¶</a></span></dt>
+<dt><a id="index-_005cparsep"></a><span><code class="code">\parsep</code><a class="copiable-link" href="#index-_005cparsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-parsep"></a><p>Vertical space between paragraphs within an item.
 The defaults for the first three levels in LaTeX’s ‘<samp class="samp">article</samp>’,
 ‘<samp class="samp">book</samp>’, and ‘<samp class="samp">report</samp>’ classes at 10 point size are: <code class="code">4pt
@@ -6790,7 +6739,7 @@
 minus1pt</code>, and <code class="code">0pt</code>.
 </p>
 </dd>
-<dt id='index-_005cpartopsep'><span><code class="code">\partopsep</code><a class="copiable-link" href='#index-_005cpartopsep'> ¶</a></span></dt>
+<dt><a id="index-_005cpartopsep"></a><span><code class="code">\partopsep</code><a class="copiable-link" href="#index-_005cpartopsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-partopsep"></a><p>Vertical space added, beyond <code class="code">\topsep</code>+<code class="code">\parskip</code>, to the top
 and bottom of the entire environment if the list instance is preceded by
 a blank line.  (A blank line in the LaTeX source before the list
@@ -6806,13 +6755,13 @@
 minus2pt</code>, and <code class="code">1pt plus0pt minus1pt</code>.
 </p>
 </dd>
-<dt id='index-_005crightmargin'><span><code class="code">\rightmargin</code><a class="copiable-link" href='#index-_005crightmargin'> ¶</a></span></dt>
+<dt><a id="index-_005crightmargin"></a><span><code class="code">\rightmargin</code><a class="copiable-link" href="#index-_005crightmargin"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-rightmargin"></a><p>Horizontal space between the right margin of the list and the right
 margin of the enclosing environment.  Its default value is <code class="code">0pt</code>.
 It must be non-negative.
 </p>
 </dd>
-<dt id='index-_005ctopsep'><span><code class="code">\topsep</code><a class="copiable-link" href='#index-_005ctopsep'> ¶</a></span></dt>
+<dt><a id="index-_005ctopsep"></a><span><code class="code">\topsep</code><a class="copiable-link" href="#index-_005ctopsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-topsep"></a><p>Vertical space added to both the top and bottom of the list, in addition
 to <code class="code">\parskip</code> (see <a class="pxref" href="#g_t_005cparindent-_0026-_005cparskip"><code class="code">\parindent</code> & <code class="code">\parskip</code></a>).  The defaults for
 the first three levels in LaTeX’s ‘<samp class="samp">article</samp>’, ‘<samp class="samp">book</samp>’, and
@@ -6899,15 +6848,15 @@
 page break.
 </p>
 <dl class="ftable">
-<dt id='index-_005c_0040beginparpenalty'><span><code class="code">\@beginparpenalty</code><a class="copiable-link" href='#index-_005c_0040beginparpenalty'> ¶</a></span></dt>
+<dt><a id="index-_005c_0040beginparpenalty"></a><span><code class="code">\@beginparpenalty</code><a class="copiable-link" href="#index-_005c_0040beginparpenalty"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-beginparpenalty"></a><p>The page breaking penalty for breaking before the list (default <code class="code">-51</code>).
 </p>
 </dd>
-<dt id='index-_005c_0040itempenalty'><span><code class="code">\@itempenalty</code><a class="copiable-link" href='#index-_005c_0040itempenalty'> ¶</a></span></dt>
+<dt><a id="index-_005c_0040itempenalty"></a><span><code class="code">\@itempenalty</code><a class="copiable-link" href="#index-_005c_0040itempenalty"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-itempenalty"></a><p>The page breaking penalty for breaking before a list item (default <code class="code">-51</code>).
 </p>
 </dd>
-<dt id='index-_005c_0040endparpenalty'><span><code class="code">\@endparpenalty</code><a class="copiable-link" href='#index-_005c_0040endparpenalty'> ¶</a></span></dt>
+<dt><a id="index-_005c_0040endparpenalty"></a><span><code class="code">\@endparpenalty</code><a class="copiable-link" href="#index-_005c_0040endparpenalty"> ¶</a></span></dt>
 <dd><a class="anchor" id="list-endparpenalty"></a><p>The page breaking penalty for breaking after a list (default <code class="code">-51</code>).
 </p>
 </dd>
@@ -6952,7 +6901,7 @@
 <p>
 Next: <a href="#trivlist" accesskey="n" rel="next"><code class="code">trivlist</code>: A restricted form of <code class="code">list</code></a>, Up: <a href="#list" accesskey="u" rel="up"><code class="code">list</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005citem_003a-An-entry-in-a-list">8.16.1 <code class="code">\item</code>: An entry in a list</h4>
+<h4 class="subsection" id="g_t_005citem_003a-An-entry-in-a-list"><span>8.16.1 <code class="code">\item</code>: An entry in a list<a class="copiable-link" href="#g_t_005citem_003a-An-entry-in-a-list"> ¶</a></span></h4>
 
 <p>Synopsis:
 </p>
@@ -7003,7 +6952,7 @@
 <p>
 Previous: <a href="#g_t_005citem" accesskey="p" rel="prev"><code class="code">\item</code>: An entry in a list</a>, Up: <a href="#list" accesskey="u" rel="up"><code class="code">list</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="trivlist_003a-A-restricted-form-of-list">8.16.2 <code class="code">trivlist</code>: A restricted form of <code class="code">list</code></h4>
+<h4 class="subsection" id="trivlist_003a-A-restricted-form-of-list"><span>8.16.2 <code class="code">trivlist</code>: A restricted form of <code class="code">list</code><a class="copiable-link" href="#trivlist_003a-A-restricted-form-of-list"> ¶</a></span></h4>
 
 <p>Synopsis:
 </p>
@@ -7057,7 +7006,7 @@
 <p>
 Next: <a href="#minipage" accesskey="n" rel="next"><code class="code">minipage</code></a>, Previous: <a href="#list" accesskey="p" rel="prev"><code class="code">list</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="math-1">8.17 <code class="code">math</code></h3>
+<h3 class="section" id="math-1"><span>8.17 <code class="code">math</code><a class="copiable-link" href="#math-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-math"></a>
 <a class="index-entry-id" id="index-math-environment"></a>
@@ -7086,7 +7035,7 @@
 <p>
 Next: <a href="#picture" accesskey="n" rel="next"><code class="code">picture</code></a>, Previous: <a href="#math" accesskey="p" rel="prev"><code class="code">math</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="minipage-1">8.18 <code class="code">minipage</code></h3>
+<h3 class="section" id="minipage-1"><span>8.18 <code class="code">minipage</code><a class="copiable-link" href="#minipage-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-minipage"></a>
 <a class="index-entry-id" id="index-minipage-environment"></a>
@@ -7150,12 +7099,12 @@
 vertical center lines up with the center of the adjacent text line.
 </p>
 </dd>
-<dt id='index-_005cvtop-plain-TeX'><span><code class="code">t</code><a class="copiable-link" href='#index-_005cvtop-plain-TeX'> ¶</a></span></dt>
+<dt><a id="index-_005cvtop-plain-TeX"></a><span><code class="code">t</code><a class="copiable-link" href="#index-_005cvtop-plain-TeX"> ¶</a></span></dt>
 <dd><p>Align the baseline of the top line in the <code class="code">minipage</code> with the
 baseline of the surrounding text (plain TeX’s <code class="code">\vtop</code>).
 </p>
 </dd>
-<dt id='index-_005cvbox-_0028plain-TeX_0029'><span><code class="code">b</code><a class="copiable-link" href='#index-_005cvbox-_0028plain-TeX_0029'> ¶</a></span></dt>
+<dt><a id="index-_005cvbox-_0028plain-TeX_0029"></a><span><code class="code">b</code><a class="copiable-link" href="#index-_005cvbox-_0028plain-TeX_0029"> ¶</a></span></dt>
 <dd><p>Align the baseline of the bottom line in the <code class="code">minipage</code> with the
 baseline of the surrounding text (plain TeX’s <code class="code">\vbox</code>).
 </p></dd>
@@ -7294,7 +7243,7 @@
 <p>
 Next: <a href="#quotation-_0026-quote" accesskey="n" rel="next"><code class="code">quotation</code> & <code class="code">quote</code></a>, Previous: <a href="#minipage" accesskey="p" rel="prev"><code class="code">minipage</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="picture-1">8.19 <code class="code">picture</code></h3>
+<h3 class="section" id="picture-1"><span>8.19 <code class="code">picture</code><a class="copiable-link" href="#picture-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-picture"></a>
 <a class="index-entry-id" id="index-picture-environment"></a>
@@ -7473,7 +7422,7 @@
 <p>
 Next: <a href="#g_t_005cmultiput" accesskey="n" rel="next"><code class="code">\multiput</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cput-1">8.19.1 <code class="code">\put</code></h4>
+<h4 class="subsection" id="g_t_005cput-1"><span>8.19.1 <code class="code">\put</code><a class="copiable-link" href="#g_t_005cput-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cput"></a>
 
@@ -7505,7 +7454,7 @@
 <p>
 Next: <a href="#g_t_005cqbezier" accesskey="n" rel="next"><code class="code">\qbezier</code></a>, Previous: <a href="#g_t_005cput" accesskey="p" rel="prev"><code class="code">\put</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cmultiput-1">8.19.2 <code class="code">\multiput</code></h4>
+<h4 class="subsection" id="g_t_005cmultiput-1"><span>8.19.2 <code class="code">\multiput</code><a class="copiable-link" href="#g_t_005cmultiput-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cmultiput"></a>
 
@@ -7541,7 +7490,7 @@
 <p>
 Next: <a href="#g_t_005cgraphpaper" accesskey="n" rel="next"><code class="code">\graphpaper</code></a>, Previous: <a href="#g_t_005cmultiput" accesskey="p" rel="prev"><code class="code">\multiput</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cqbezier-1">8.19.3 <code class="code">\qbezier</code></h4>
+<h4 class="subsection" id="g_t_005cqbezier-1"><span>8.19.3 <code class="code">\qbezier</code><a class="copiable-link" href="#g_t_005cqbezier-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cqbezier"></a>
 
@@ -7597,7 +7546,7 @@
 <p>
 Next: <a href="#g_t_005cline" accesskey="n" rel="next"><code class="code">\line</code></a>, Previous: <a href="#g_t_005cqbezier" accesskey="p" rel="prev"><code class="code">\qbezier</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cgraphpaper-1">8.19.4 <code class="code">\graphpaper</code></h4>
+<h4 class="subsection" id="g_t_005cgraphpaper-1"><span>8.19.4 <code class="code">\graphpaper</code><a class="copiable-link" href="#g_t_005cgraphpaper-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cgraphpaper"></a>
 <p>Synopsis:
@@ -7636,7 +7585,7 @@
 <p>
 Next: <a href="#g_t_005clinethickness" accesskey="n" rel="next"><code class="code">\linethickness</code></a>, Previous: <a href="#g_t_005cgraphpaper" accesskey="p" rel="prev"><code class="code">\graphpaper</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cline-1">8.19.5 <code class="code">\line</code></h4>
+<h4 class="subsection" id="g_t_005cline-1"><span>8.19.5 <code class="code">\line</code><a class="copiable-link" href="#g_t_005cline-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cline"></a>
 
@@ -7714,7 +7663,7 @@
 <p>
 Next: <a href="#g_t_005cthinlines" accesskey="n" rel="next"><code class="code">\thinlines</code></a>, Previous: <a href="#g_t_005cline" accesskey="p" rel="prev"><code class="code">\line</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005clinethickness-1">8.19.6 <code class="code">\linethickness</code></h4>
+<h4 class="subsection" id="g_t_005clinethickness-1"><span>8.19.6 <code class="code">\linethickness</code><a class="copiable-link" href="#g_t_005clinethickness-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005clinethickness"></a>
 
@@ -7738,7 +7687,7 @@
 <p>
 Next: <a href="#g_t_005cthicklines" accesskey="n" rel="next"><code class="code">\thicklines</code></a>, Previous: <a href="#g_t_005clinethickness" accesskey="p" rel="prev"><code class="code">\linethickness</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cthinlines-1">8.19.7 <code class="code">\thinlines</code></h4>
+<h4 class="subsection" id="g_t_005cthinlines-1"><span>8.19.7 <code class="code">\thinlines</code><a class="copiable-link" href="#g_t_005cthinlines-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cthinlines"></a>
 
@@ -7755,7 +7704,7 @@
 <p>
 Next: <a href="#g_t_005ccircle" accesskey="n" rel="next"><code class="code">\circle</code></a>, Previous: <a href="#g_t_005cthinlines" accesskey="p" rel="prev"><code class="code">\thinlines</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cthicklines-1">8.19.8 <code class="code">\thicklines</code></h4>
+<h4 class="subsection" id="g_t_005cthicklines-1"><span>8.19.8 <code class="code">\thicklines</code><a class="copiable-link" href="#g_t_005cthicklines-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cthicklines"></a>
 
@@ -7772,7 +7721,7 @@
 <p>
 Next: <a href="#g_t_005coval" accesskey="n" rel="next"><code class="code">\oval</code></a>, Previous: <a href="#g_t_005cthicklines" accesskey="p" rel="prev"><code class="code">\thicklines</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005ccircle-1">8.19.9 <code class="code">\circle</code></h4>
+<h4 class="subsection" id="g_t_005ccircle-1"><span>8.19.9 <code class="code">\circle</code><a class="copiable-link" href="#g_t_005ccircle-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005ccircle"></a>
 
@@ -7804,7 +7753,7 @@
 <p>
 Next: <a href="#g_t_005cshortstack" accesskey="n" rel="next"><code class="code">\shortstack</code></a>, Previous: <a href="#g_t_005ccircle" accesskey="p" rel="prev"><code class="code">\circle</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005coval-1">8.19.10 <code class="code">\oval</code></h4>
+<h4 class="subsection" id="g_t_005coval-1"><span>8.19.10 <code class="code">\oval</code><a class="copiable-link" href="#g_t_005coval-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005coval"></a>
 
@@ -7860,7 +7809,7 @@
 <p>
 Next: <a href="#g_t_005cvector" accesskey="n" rel="next"><code class="code">\vector</code></a>, Previous: <a href="#g_t_005coval" accesskey="p" rel="prev"><code class="code">\oval</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cshortstack-1">8.19.11 <code class="code">\shortstack</code></h4>
+<h4 class="subsection" id="g_t_005cshortstack-1"><span>8.19.11 <code class="code">\shortstack</code><a class="copiable-link" href="#g_t_005cshortstack-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cshortstack"></a>
 
@@ -7927,7 +7876,7 @@
 <p>
 Next: <a href="#g_t_005cmakebox-_0028picture_0029" accesskey="n" rel="next"><code class="code">\makebox</code> (picture)</a>, Previous: <a href="#g_t_005cshortstack" accesskey="p" rel="prev"><code class="code">\shortstack</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cvector-1">8.19.12 <code class="code">\vector</code></h4>
+<h4 class="subsection" id="g_t_005cvector-1"><span>8.19.12 <code class="code">\vector</code><a class="copiable-link" href="#g_t_005cvector-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cvector"></a>
 
@@ -7961,7 +7910,7 @@
 <p>
 Next: <a href="#g_t_005cframebox-_0028picture_0029" accesskey="n" rel="next"><code class="code">\framebox</code> (picture)</a>, Previous: <a href="#g_t_005cvector" accesskey="p" rel="prev"><code class="code">\vector</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cmakebox-_0028picture_0029-1">8.19.13 <code class="code">\makebox</code> (picture)</h4>
+<h4 class="subsection" id="g_t_005cmakebox-_0028picture_0029-1"><span>8.19.13 <code class="code">\makebox</code> (picture)<a class="copiable-link" href="#g_t_005cmakebox-_0028picture_0029-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cmakebox-_0028for-picture_0029"></a>
 
@@ -8018,7 +7967,7 @@
 <p>
 Next: <a href="#g_t_005cframe" accesskey="n" rel="next"><code class="code">\frame</code></a>, Previous: <a href="#g_t_005cmakebox-_0028picture_0029" accesskey="p" rel="prev"><code class="code">\makebox</code> (picture)</a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cframebox-_0028picture_0029-1">8.19.14 <code class="code">\framebox</code> (picture)</h4>
+<h4 class="subsection" id="g_t_005cframebox-_0028picture_0029-1"><span>8.19.14 <code class="code">\framebox</code> (picture)<a class="copiable-link" href="#g_t_005cframebox-_0028picture_0029-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cframebox"></a>
 
@@ -8069,7 +8018,7 @@
 <p>
 Next: <a href="#g_t_005cdashbox" accesskey="n" rel="next"><code class="code">\dashbox</code></a>, Previous: <a href="#g_t_005cframebox-_0028picture_0029" accesskey="p" rel="prev"><code class="code">\framebox</code> (picture)</a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cframe-1">8.19.15 <code class="code">\frame</code></h4>
+<h4 class="subsection" id="g_t_005cframe-1"><span>8.19.15 <code class="code">\frame</code><a class="copiable-link" href="#g_t_005cframe-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cframe"></a>
 
@@ -8093,7 +8042,7 @@
 <p>
 Previous: <a href="#g_t_005cframe" accesskey="p" rel="prev"><code class="code">\frame</code></a>, Up: <a href="#picture" accesskey="u" rel="up"><code class="code">picture</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cdashbox-1">8.19.16 <code class="code">\dashbox</code></h4>
+<h4 class="subsection" id="g_t_005cdashbox-1"><span>8.19.16 <code class="code">\dashbox</code><a class="copiable-link" href="#g_t_005cdashbox-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cdashbox"></a>
 
@@ -8138,7 +8087,7 @@
 <p>
 Next: <a href="#tabbing" accesskey="n" rel="next"><code class="code">tabbing</code></a>, Previous: <a href="#picture" accesskey="p" rel="prev"><code class="code">picture</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="quotation-_0026-quote-1">8.20 <code class="code">quotation</code> & <code class="code">quote</code></h3>
+<h3 class="section" id="quotation-_0026-quote-1"><span>8.20 <code class="code">quotation</code> & <code class="code">quote</code><a class="copiable-link" href="#quotation-_0026-quote-1"> ¶</a></span></h3>
 
 <a class="anchor" id="quotation"></a><a class="index-entry-id" id="index-environment_002c-quotation"></a>
 <a class="index-entry-id" id="index-quotation-environment"></a>
@@ -8194,7 +8143,7 @@
 <p>
 Next: <a href="#table" accesskey="n" rel="next"><code class="code">table</code></a>, Previous: <a href="#quotation-_0026-quote" accesskey="p" rel="prev"><code class="code">quotation</code> & <code class="code">quote</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="tabbing-1">8.21 <code class="code">tabbing</code></h3>
+<h3 class="section" id="tabbing-1"><span>8.21 <code class="code">tabbing</code><a class="copiable-link" href="#tabbing-1"> ¶</a></span></h3>
 
 
 <a class="index-entry-id" id="index-environment_002c-tabbing"></a>
@@ -8275,37 +8224,37 @@
 They are all fragile (see <a class="pxref" href="#g_t_005cprotect"><code class="code">\protect</code></a>).
 </p>
 <dl class="ftable">
-<dt id='index-_005c_005c-_0028tabbing_0029'><span><code class="code">\\ <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005c_005c-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005c_005c-_0028tabbing_0029"></a><span><code class="code">\\ <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005c_005c-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><p>End a tabbed line and typeset it.
 </p>
 </dd>
-<dt id='index-_005c_003d-_0028tabbing_0029'><span><code class="code">\= <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005c_003d-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005c_003d-_0028tabbing_0029"></a><span><code class="code">\= <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005c_003d-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><p>Sets a tab stop at the current position.
 </p>
 </dd>
-<dt id='index-_005c_003e-_0028tabbing_0029'><span><code class="code">\> <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005c_003e-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005c_003e-_0028tabbing_0029"></a><span><code class="code">\> <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005c_003e-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005c_003e"></a>
 <p>Advances to the next tab stop.
 </p>
 </dd>
-<dt id='index-_005c_003c'><span><code class="code">\<</code><a class="copiable-link" href='#index-_005c_003c'> ¶</a></span></dt>
+<dt><a id="index-_005c_003c"></a><span><code class="code">\<</code><a class="copiable-link" href="#index-_005c_003c"> ¶</a></span></dt>
 <dd><p>Put following text to the left of the local margin (without changing
 the margin).  Can only be used at the start of the line.
 </p>
 </dd>
-<dt id='index-_005c_002b'><span><code class="code">\+</code><a class="copiable-link" href='#index-_005c_002b'> ¶</a></span></dt>
+<dt><a id="index-_005c_002b"></a><span><code class="code">\+</code><a class="copiable-link" href="#index-_005c_002b"> ¶</a></span></dt>
 <dd><p>Moves the left margin of the next and all the
 following commands one tab stop to the right, beginning tabbed line if
 necessary.
 </p>
 </dd>
-<dt id='index-_005c_002d'><span><code class="code">\-</code><a class="copiable-link" href='#index-_005c_002d'> ¶</a></span></dt>
+<dt><a id="index-_005c_002d"></a><span><code class="code">\-</code><a class="copiable-link" href="#index-_005c_002d"> ¶</a></span></dt>
 <dd><p>Moves the left margin of the next and all the
 following commands one tab stop to the left, beginning tabbed line if
 necessary.
 </p>
 </dd>
-<dt id='index-_005c_0027-_0028tabbing_0029'><span><code class="code">\' <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005c_0027-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005c_0027-_0028tabbing_0029"></a><span><code class="code">\' <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005c_0027-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><p>Moves everything that you have typed so far in the current column, i.e.,
 everything from the most recent <code class="code">\></code>, <code class="code">\<</code>, <code class="code">\'</code>,
 <code class="code">\\</code>, or <code class="code">\kill</code> command, to the previous column and aligned
@@ -8312,7 +8261,7 @@
 to the right, flush against the current column’s tab stop.
 </p>
 </dd>
-<dt id='index-_005c_0060-_0028tabbing_0029'><span><code class="code">\` <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005c_0060-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005c_0060-_0028tabbing_0029"></a><span><code class="code">\` <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005c_0060-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><p>Allows you to put text flush right against any tab stop, including tab
 stop 0.  However, it can’t move text to the right of the last
 column because there’s no tab stop there.  The <code class="code">\`</code> command moves
@@ -8323,7 +8272,7 @@
 <code class="code">\end{tabbing}</code> command that ends the line.
 </p>
 </dd>
-<dt id='index-_005ca-_0028tabbing_0029'><span><code class="code">\a <span class="r">(tabbing)</span></code><a class="copiable-link" href='#index-_005ca-_0028tabbing_0029'> ¶</a></span></dt>
+<dt><a id="index-_005ca-_0028tabbing_0029"></a><span><code class="code">\a <span class="r">(tabbing)</span></code><a class="copiable-link" href="#index-_005ca-_0028tabbing_0029"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ca_0027-_0028acute-accent-in-tabbing_0029"></a>
 <a class="index-entry-id" id="index-_005ca_0060-_0028grave-accent-in-tabbing_0029"></a>
 <a class="index-entry-id" id="index-_005ca_003d-_0028macron-accent-in-tabbing_0029"></a>
@@ -8332,7 +8281,7 @@
 use the commands <code class="code">\a=</code>, <code class="code">\a'</code> and <code class="code">\a`</code>.
 </p>
 </dd>
-<dt id='index-_005ckill'><span><code class="code">\kill</code><a class="copiable-link" href='#index-_005ckill'> ¶</a></span></dt>
+<dt><a id="index-_005ckill"></a><span><code class="code">\kill</code><a class="copiable-link" href="#index-_005ckill"> ¶</a></span></dt>
 <dd><p>Sets tab stops without producing text.  Works just like <code class="code">\\</code> except
 that it throws away the current line instead of producing output for it.
 Any <code class="code">\=</code>, <code class="code">\+</code> or <code class="code">\-</code> commands in that line remain in
@@ -8339,17 +8288,17 @@
 effect.
 </p>
 </dd>
-<dt id='index-_005cpoptabs'><span><code class="code">\poptabs</code><a class="copiable-link" href='#index-_005cpoptabs'> ¶</a></span></dt>
+<dt><a id="index-_005cpoptabs"></a><span><code class="code">\poptabs</code><a class="copiable-link" href="#index-_005cpoptabs"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cpoptabs-1"></a>
 <p>Restores the tab stop positions saved by the last <code class="code">\pushtabs</code>.
 </p>
 </dd>
-<dt id='index-_005cpushtabs'><span><code class="code">\pushtabs</code><a class="copiable-link" href='#index-_005cpushtabs'> ¶</a></span></dt>
+<dt><a id="index-_005cpushtabs"></a><span><code class="code">\pushtabs</code><a class="copiable-link" href="#index-_005cpushtabs"> ¶</a></span></dt>
 <dd><p>Saves all current tab stop positions. Useful for temporarily changing
 tab stop positions in the middle of a <code class="code">tabbing</code> environment.
 </p>
 </dd>
-<dt id='index-_005ctabbingsep'><span><code class="code">\tabbingsep</code><a class="copiable-link" href='#index-_005ctabbingsep'> ¶</a></span></dt>
+<dt><a id="index-_005ctabbingsep"></a><span><code class="code">\tabbingsep</code><a class="copiable-link" href="#index-_005ctabbingsep"> ¶</a></span></dt>
 <dd><p>Distance of the text moved by <code class="code">\'</code> to left of current tab stop.
 </p>
 </dd>
@@ -8383,14 +8332,16 @@
 
 <a class="index-entry-id" id="index-package_002c-algorithm2e"></a>
 <a class="index-entry-id" id="index-algorithm2e-package"></a>
+
+<a class="index-entry-id" id="index-package_002c-fancyvrb"></a>
+<a class="index-entry-id" id="index-fancyvrb-package"></a>
+
 <a class="index-entry-id" id="index-package_002c-listings"></a>
 <a class="index-entry-id" id="index-listings-package"></a>
+
 <a class="index-entry-id" id="index-package_002c-minted"></a>
 <a class="index-entry-id" id="index-minted-package"></a>
 
-<a class="index-entry-id" id="index-package_002c-fancyvrb"></a>
-<a class="index-entry-id" id="index-fancyvrb-package"></a>
-
 <p>This example is just for illustration of the environment.  To actually
 typeset computer code in typewriter like this, a verbatim environment
 (see <a class="pxref" href="#verbatim"><code class="code">verbatim</code></a>) would normally be best.  For pretty-printed code,
@@ -8405,7 +8356,7 @@
 <p>
 Next: <a href="#tabular" accesskey="n" rel="next"><code class="code">tabular</code></a>, Previous: <a href="#tabbing" accesskey="p" rel="prev"><code class="code">tabbing</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="table-1">8.22 <code class="code">table</code></h3>
+<h3 class="section" id="table-1"><span>8.22 <code class="code">table</code><a class="copiable-link" href="#table-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-table"></a>
 <a class="index-entry-id" id="index-table-environment"></a>
@@ -8482,7 +8433,7 @@
 <p>
 Next: <a href="#thebibliography" accesskey="n" rel="next"><code class="code">thebibliography</code></a>, Previous: <a href="#table" accesskey="p" rel="prev"><code class="code">table</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="tabular-1">8.23 <code class="code">tabular</code></h3>
+<h3 class="section" id="tabular-1"><span>8.23 <code class="code">tabular</code><a class="copiable-link" href="#tabular-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-tabular"></a>
 <a class="index-entry-id" id="index-tabular-environment"></a>
@@ -8674,7 +8625,7 @@
 <p>Parameters that control formatting:
 </p>
 <dl class="ftable">
-<dt id='index-_005carrayrulewidth'><span><code class="code">\arrayrulewidth</code><a class="copiable-link" href='#index-_005carrayrulewidth'> ¶</a></span></dt>
+<dt><a id="index-_005carrayrulewidth"></a><span><code class="code">\arrayrulewidth</code><a class="copiable-link" href="#index-_005carrayrulewidth"> ¶</a></span></dt>
 <dd><a class="anchor" id="tabular-arrayrulewidth"></a><p>A length that is the thickness of the rule created by <code class="code">|</code>,
 <code class="code">\hline</code>, and <code class="code">\vline</code> in the <code class="code">tabular</code> and <code class="code">array</code>
 environments.  The default is ‘<samp class="samp">.4pt</samp>’. Change it as in
@@ -8681,18 +8632,18 @@
 <code class="code">\setlength{\arrayrulewidth}{0.8pt}</code>.
 </p>
 </dd>
-<dt id='index-_005carraystretch'><span><code class="code">\arraystretch</code><a class="copiable-link" href='#index-_005carraystretch'> ¶</a></span></dt>
+<dt><a id="index-_005carraystretch"></a><span><code class="code">\arraystretch</code><a class="copiable-link" href="#index-_005carraystretch"> ¶</a></span></dt>
 <dd><a class="anchor" id="tabular-arraystrech"></a><p>A factor by which the spacing between rows in the <code class="code">tabular</code> and
 <code class="code">array</code> environments is multiplied.  The default is ‘<samp class="samp">1</samp>’, for
 no scaling.  Change it as <code class="code">\renewcommand{\arraystretch}{1.2}</code>.
 </p>
 </dd>
-<dt id='index-_005cdoublerulesep'><span><code class="code">\doublerulesep</code><a class="copiable-link" href='#index-_005cdoublerulesep'> ¶</a></span></dt>
+<dt><a id="index-_005cdoublerulesep"></a><span><code class="code">\doublerulesep</code><a class="copiable-link" href="#index-_005cdoublerulesep"> ¶</a></span></dt>
 <dd><a class="anchor" id="tabular-doublerulesep"></a><p>A length that is the distance between the vertical rules produced by the
 <code class="code">||</code> specifier.  The default is ‘<samp class="samp">2pt</samp>’.
 </p>
 </dd>
-<dt id='index-_005ctabcolsep'><span><code class="code">\tabcolsep</code><a class="copiable-link" href='#index-_005ctabcolsep'> ¶</a></span></dt>
+<dt><a id="index-_005ctabcolsep"></a><span><code class="code">\tabcolsep</code><a class="copiable-link" href="#index-_005ctabcolsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="tabular-tabcolsep"></a><p>A length that is half of the space between columns. The default is
 ‘<samp class="samp">6pt</samp>’.  Change it with <code class="code">\setlength</code>.
 </p>
@@ -8717,7 +8668,7 @@
 <p>
 Next: <a href="#g_t_005cvline" accesskey="n" rel="next"><code class="code">\vline</code></a>, Up: <a href="#tabular" accesskey="u" rel="up"><code class="code">tabular</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cmulticolumn-1">8.23.1 <code class="code">\multicolumn</code></h4>
+<h4 class="subsection" id="g_t_005cmulticolumn-1"><span>8.23.1 <code class="code">\multicolumn</code><a class="copiable-link" href="#g_t_005cmulticolumn-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cmulticolumn"></a>
 
@@ -8820,7 +8771,7 @@
 <p>
 Next: <a href="#g_t_005ccline" accesskey="n" rel="next"><code class="code">\cline</code></a>, Previous: <a href="#g_t_005cmulticolumn" accesskey="p" rel="prev"><code class="code">\multicolumn</code></a>, Up: <a href="#tabular" accesskey="u" rel="up"><code class="code">tabular</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cvline-1">8.23.2 <code class="code">\vline</code></h4>
+<h4 class="subsection" id="g_t_005cvline-1"><span>8.23.2 <code class="code">\vline</code><a class="copiable-link" href="#g_t_005cvline-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cvline"></a>
 <p>Draw a vertical line in a <code class="code">tabular</code> or <code class="code">array</code> environment
@@ -8858,7 +8809,7 @@
 <p>
 Next: <a href="#g_t_005chline" accesskey="n" rel="next"><code class="code">\hline</code></a>, Previous: <a href="#g_t_005cvline" accesskey="p" rel="prev"><code class="code">\vline</code></a>, Up: <a href="#tabular" accesskey="u" rel="up"><code class="code">tabular</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005ccline-1">8.23.3 <code class="code">\cline</code></h4>
+<h4 class="subsection" id="g_t_005ccline-1"><span>8.23.3 <code class="code">\cline</code><a class="copiable-link" href="#g_t_005ccline-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005ccline"></a>
 
@@ -8893,7 +8844,7 @@
 <p>
 Previous: <a href="#g_t_005ccline" accesskey="p" rel="prev"><code class="code">\cline</code></a>, Up: <a href="#tabular" accesskey="u" rel="up"><code class="code">tabular</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005chline-1">8.23.4 <code class="code">\hline</code></h4>
+<h4 class="subsection" id="g_t_005chline-1"><span>8.23.4 <code class="code">\hline</code><a class="copiable-link" href="#g_t_005chline-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005chline"></a>
 
@@ -8923,7 +8874,7 @@
 <p>
 Next: <a href="#theorem" accesskey="n" rel="next"><code class="code">theorem</code></a>, Previous: <a href="#tabular" accesskey="p" rel="prev"><code class="code">tabular</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="thebibliography-1">8.24 <code class="code">thebibliography</code></h3>
+<h3 class="section" id="thebibliography-1"><span>8.24 <code class="code">thebibliography</code><a class="copiable-link" href="#thebibliography-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-thebibliography"></a>
 <a class="index-entry-id" id="index-thebibliography-environment"></a>
@@ -9007,7 +8958,7 @@
 <p>
 Next: <a href="#g_t_005ccite" accesskey="n" rel="next"><code class="code">\cite</code></a>, Up: <a href="#thebibliography" accesskey="u" rel="up"><code class="code">thebibliography</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cbibitem-1">8.24.1 <code class="code">\bibitem</code></h4>
+<h4 class="subsection" id="g_t_005cbibitem-1"><span>8.24.1 <code class="code">\bibitem</code><a class="copiable-link" href="#g_t_005cbibitem-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cbibitem"></a>
 
@@ -9084,7 +9035,7 @@
 <p>
 Next: <a href="#g_t_005cnocite" accesskey="n" rel="next"><code class="code">\nocite</code></a>, Previous: <a href="#g_t_005cbibitem" accesskey="p" rel="prev"><code class="code">\bibitem</code></a>, Up: <a href="#thebibliography" accesskey="u" rel="up"><code class="code">thebibliography</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005ccite-1">8.24.2 <code class="code">\cite</code></h4>
+<h4 class="subsection" id="g_t_005ccite-1"><span>8.24.2 <code class="code">\cite</code><a class="copiable-link" href="#g_t_005ccite-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005ccite"></a>
 
@@ -9150,7 +9101,7 @@
 <p>
 Next: <a href="#Using-BibTeX" accesskey="n" rel="next">Using BibTeX</a>, Previous: <a href="#g_t_005ccite" accesskey="p" rel="prev"><code class="code">\cite</code></a>, Up: <a href="#thebibliography" accesskey="u" rel="up"><code class="code">thebibliography</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cnocite-1">8.24.3 <code class="code">\nocite</code></h4>
+<h4 class="subsection" id="g_t_005cnocite-1"><span>8.24.3 <code class="code">\nocite</code><a class="copiable-link" href="#g_t_005cnocite-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cnocite"></a>
 
@@ -9176,7 +9127,7 @@
 <p>
 Previous: <a href="#g_t_005cnocite" accesskey="p" rel="prev"><code class="code">\nocite</code></a>, Up: <a href="#thebibliography" accesskey="u" rel="up"><code class="code">thebibliography</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="Using-BibTeX-1">8.24.4 Using BibTeX</h4>
+<h4 class="subsection" id="Using-BibTeX-1"><span>8.24.4 Using BibTeX<a class="copiable-link" href="#Using-BibTeX-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-using-BibTeX"></a>
 <a class="index-entry-id" id="index-bibTeX_002c-using"></a>
@@ -9267,7 +9218,7 @@
 <p>
 Up: <a href="#Using-BibTeX" accesskey="u" rel="up">Using BibTeX</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsubsection" id="BibTeX-error-messages-1">8.24.4.1 BibTeX error messages</h4>
+<h4 class="subsubsection" id="BibTeX-error-messages-1"><span>8.24.4.1 BibTeX error messages<a class="copiable-link" href="#BibTeX-error-messages-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-BibTeX-error-messages"></a>
 <a class="index-entry-id" id="index-error-messages_002c-from-BibTeX"></a>
@@ -9284,17 +9235,17 @@
 errors, and the corresponding user-level commands.
 </p>
 <dl class="ftable">
-<dt id='index-_005cbibdata'><span><code class="code">\bibdata</code><a class="copiable-link" href='#index-_005cbibdata'> ¶</a></span></dt>
+<dt><a id="index-_005cbibdata"></a><span><code class="code">\bibdata</code><a class="copiable-link" href="#index-_005cbibdata"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cbibliography-and-internal-_005cbibdata"></a>
 <p><code class="code">\bibliography</code>
 </p>
 </dd>
-<dt id='index-_005cbibstyle'><span><code class="code">\bibstyle</code><a class="copiable-link" href='#index-_005cbibstyle'> ¶</a></span></dt>
+<dt><a id="index-_005cbibstyle"></a><span><code class="code">\bibstyle</code><a class="copiable-link" href="#index-_005cbibstyle"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005cbibliographystyle-and-internal-_005cbibstyle"></a>
 <p><code class="code">\bibliographystyle</code>
 </p>
 </dd>
-<dt id='index-_005ccitation'><span><code class="code">\citation</code><a class="copiable-link" href='#index-_005ccitation'> ¶</a></span></dt>
+<dt><a id="index-_005ccitation"></a><span><code class="code">\citation</code><a class="copiable-link" href="#index-_005ccitation"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-_005ccite-and-internal-_005ccitation"></a>
 <a class="index-entry-id" id="index-_005cnocite-and-internal-_005ccitation"></a>
 <p><code class="code">\cite</code>, <code class="code">\nocite</code>
@@ -9318,7 +9269,7 @@
 <p>
 Next: <a href="#titlepage" accesskey="n" rel="next"><code class="code">titlepage</code></a>, Previous: <a href="#thebibliography" accesskey="p" rel="prev"><code class="code">thebibliography</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="theorem-1">8.25 <code class="code">theorem</code></h3>
+<h3 class="section" id="theorem-1"><span>8.25 <code class="code">theorem</code><a class="copiable-link" href="#theorem-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-theorem"></a>
 <a class="index-entry-id" id="index-theorem-environment"></a>
@@ -9370,7 +9321,7 @@
 <p>
 Next: <a href="#verbatim" accesskey="n" rel="next"><code class="code">verbatim</code></a>, Previous: <a href="#theorem" accesskey="p" rel="prev"><code class="code">theorem</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="titlepage-1">8.26 <code class="code">titlepage</code></h3>
+<h3 class="section" id="titlepage-1"><span>8.26 <code class="code">titlepage</code><a class="copiable-link" href="#titlepage-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-titlepage"></a>
 <a class="index-entry-id" id="index-titlepage-environment"></a>
@@ -9426,7 +9377,7 @@
 <p>
 Next: <a href="#verse" accesskey="n" rel="next"><code class="code">verse</code></a>, Previous: <a href="#titlepage" accesskey="p" rel="prev"><code class="code">titlepage</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="verbatim-1">8.27 <code class="code">verbatim</code></h3>
+<h3 class="section" id="verbatim-1"><span>8.27 <code class="code">verbatim</code><a class="copiable-link" href="#verbatim-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-verbatim"></a>
 <a class="index-entry-id" id="index-verbatim-environment"></a>
@@ -9480,11 +9431,11 @@
 <a class="index-entry-id" id="index-package_002c-minted-1"></a>
 <a class="index-entry-id" id="index-minted-package-1"></a>
 
-<p>One common use of verbatim input is to typeset computer code.  There are
-packages that are an improvement the <code class="code">verbatim</code> environment.  For
-instance, one improvement is to allow the verbatim inclusion of external
-files, or parts of those files.  Such packages include <code class="code">listings</code>,
-and <code class="code">minted</code>.
+<p>One common use of verbatim input is to typeset computer code.  Some
+packages offer many features not provided by the <code class="code">verbatim</code>
+environment; two of the most popular are <code class="code">listings</code> and
+<code class="code">minted</code>.  For example, they are capable of pretty-printing,
+line numbering, and selecting parts of files for a continuing listing.
 </p>
 <a class="index-entry-id" id="index-package_002c-fancyvrb-1"></a>
 <a class="index-entry-id" id="index-fancyvrb-package-1"></a>
@@ -9495,7 +9446,10 @@
 <p>A package that provides many more options for verbatim environments is
 <code class="code">fancyvrb</code>.  Another is <code class="code">verbatimbox</code>.
 </p>
-<p>For a list of all the relevant packages, see CTAN (see <a class="pxref" href="#CTAN">CTAN: The Comprehensive TeX Archive Network</a>).
+<p>For a list of all the relevant packages, see CTAN (see <a class="pxref" href="#CTAN">CTAN: The Comprehensive TeX Archive Network</a>),
+particularly the topics <code class="code">listing</code>
+(<a class="url" href="https://ctan.org/topic/listing">https://ctan.org/topic/listing</a>) and <code class="code">verbatim</code>
+(<a class="url" href="https://ctan.org/topic/verbatim">https://ctan.org/topic/verbatim</a>).
 </p>
 
 
@@ -9508,7 +9462,7 @@
 <p>
 Up: <a href="#verbatim" accesskey="u" rel="up"><code class="code">verbatim</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="g_t_005cverb-1">8.27.1 <code class="code">\verb</code></h4>
+<h4 class="subsection" id="g_t_005cverb-1"><span>8.27.1 <code class="code">\verb</code><a class="copiable-link" href="#g_t_005cverb-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-_005cverb"></a>
 <a class="index-entry-id" id="index-verbatim-text_002c-inline"></a>
@@ -9561,15 +9515,6 @@
 is a better option than the <code class="code">\verb</code> command, since
 it allows line breaks.
 </p>
-<a class="index-entry-id" id="index-package_002c-listings-2"></a>
-<a class="index-entry-id" id="index-listings-package-2"></a>
-
-<a class="index-entry-id" id="index-package_002c-minted-2"></a>
-<a class="index-entry-id" id="index-minted-package-2"></a>
-
-<p>For computer code there are many packages with advantages over
-<code class="code">\verb</code>.  One is <code class="code">listings</code>, another is <code class="code">minted</code>.
-</p>
 <a class="index-entry-id" id="index-package_002c-cprotect-1"></a>
 <a class="index-entry-id" id="index-cprotect-package-1"></a>
 
@@ -9591,7 +9536,7 @@
 <p>
 Previous: <a href="#verbatim" accesskey="p" rel="prev"><code class="code">verbatim</code></a>, Up: <a href="#Environments" accesskey="u" rel="up">Environments</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="verse-1">8.28 <code class="code">verse</code></h3>
+<h3 class="section" id="verse-1"><span>8.28 <code class="code">verse</code><a class="copiable-link" href="#verse-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-environment_002c-verse"></a>
 <a class="index-entry-id" id="index-verse-environment"></a>
@@ -9647,7 +9592,7 @@
 <p>
 Next: <a href="#Page-breaking" accesskey="n" rel="next">Page breaking</a>, Previous: <a href="#Environments" accesskey="p" rel="prev">Environments</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Line-breaking-1">9 Line breaking</h2>
+<h2 class="chapter" id="Line-breaking-1"><span>9 Line breaking<a class="copiable-link" href="#Line-breaking-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-line-breaking"></a>
 <a class="index-entry-id" id="index-breaking-lines"></a>
@@ -9673,10 +9618,11 @@
 <li><a href="#g_t_005cobeycr-_0026-_005crestorecr" accesskey="2"><code class="code">\obeycr</code> & <code class="code">\restorecr</code></a></li>
 <li><a href="#g_t_005cnewline" accesskey="3"><code class="code">\newline</code></a></li>
 <li><a href="#g_t_005c_002d-_0028hyphenation_0029" accesskey="4"><code class="code">\-</code> (discretionary hyphen)</a></li>
-<li><a href="#g_t_005cdiscretionary" accesskey="5"><code class="code">\discretionary</code> (generalized hyphenation point)</a></li>
-<li><a href="#g_t_005cfussy-_0026-_005csloppy" accesskey="6"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a></li>
-<li><a href="#g_t_005chyphenation" accesskey="7"><code class="code">\hyphenation</code></a></li>
-<li><a href="#g_t_005clinebreak-_0026-_005cnolinebreak" accesskey="8"><code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></a></li>
+<li><a href="#g_t_005cslash" accesskey="5"><code class="code">\slash</code>: breakable ‘<samp class="samp">/</samp>’</a></li>
+<li><a href="#g_t_005cdiscretionary" accesskey="6"><code class="code">\discretionary</code> (generalized hyphenation point)</a></li>
+<li><a href="#g_t_005cfussy-_0026-_005csloppy" accesskey="7"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a></li>
+<li><a href="#g_t_005chyphenation" accesskey="8"><code class="code">\hyphenation</code></a></li>
+<li><a href="#g_t_005clinebreak-_0026-_005cnolinebreak" accesskey="9"><code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></a></li>
 </ul>
 <hr>
 <div class="section-level-extent" id="g_t_005c_005c">
@@ -9684,7 +9630,7 @@
 <p>
 Next: <a href="#g_t_005cobeycr-_0026-_005crestorecr" accesskey="n" rel="next"><code class="code">\obeycr</code> & <code class="code">\restorecr</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005c_005c-1">9.1 <code class="code">\\</code></h3>
+<h3 class="section" id="g_t_005c_005c-1"><span>9.1 <code class="code">\\</code><a class="copiable-link" href="#g_t_005c_005c-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005c_005c-_0028force-line-break_0029"></a>
 <a class="index-entry-id" id="index-new-line_002c-starting"></a>
@@ -9770,7 +9716,7 @@
 <p>
 Next: <a href="#g_t_005cnewline" accesskey="n" rel="next"><code class="code">\newline</code></a>, Previous: <a href="#g_t_005c_005c" accesskey="p" rel="prev"><code class="code">\\</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cobeycr-_0026-_005crestorecr-1">9.2 <code class="code">\obeycr</code> & <code class="code">\restorecr</code></h3>
+<h3 class="section" id="g_t_005cobeycr-_0026-_005crestorecr-1"><span>9.2 <code class="code">\obeycr</code> & <code class="code">\restorecr</code><a class="copiable-link" href="#g_t_005cobeycr-_0026-_005crestorecr-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cobeycr"></a><a class="anchor" id="g_t_005crestorecr"></a><a class="index-entry-id" id="index-_005cobeycr"></a>
 <a class="index-entry-id" id="index-_005crestorecr"></a>
@@ -9825,7 +9771,7 @@
 <p>
 Next: <a href="#g_t_005c_002d-_0028hyphenation_0029" accesskey="n" rel="next"><code class="code">\-</code> (discretionary hyphen)</a>, Previous: <a href="#g_t_005cobeycr-_0026-_005crestorecr" accesskey="p" rel="prev"><code class="code">\obeycr</code> & <code class="code">\restorecr</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewline-1">9.3 <code class="code">\newline</code></h3>
+<h3 class="section" id="g_t_005cnewline-1"><span>9.3 <code class="code">\newline</code><a class="copiable-link" href="#g_t_005cnewline-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewline"></a>
 <a class="index-entry-id" id="index-new-line_002c-starting-_0028paragraph-mode_0029"></a>
@@ -9860,9 +9806,9 @@
 <div class="section-level-extent" id="g_t_005c_002d-_0028hyphenation_0029">
 <div class="nav-panel">
 <p>
-Next: <a href="#g_t_005cdiscretionary" accesskey="n" rel="next"><code class="code">\discretionary</code> (generalized hyphenation point)</a>, Previous: <a href="#g_t_005cnewline" accesskey="p" rel="prev"><code class="code">\newline</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</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="#g_t_005cslash" accesskey="n" rel="next"><code class="code">\slash</code>: breakable ‘<samp class="samp">/</samp>’</a>, Previous: <a href="#g_t_005cnewline" accesskey="p" rel="prev"><code class="code">\newline</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005c_002d-_0028discretionary-hyphen_0029">9.4 <code class="code">\-</code> (discretionary hyphen)</h3>
+<h3 class="section" id="g_t_005c_002d-_0028discretionary-hyphen_0029"><span>9.4 <code class="code">\-</code> (discretionary hyphen)<a class="copiable-link" href="#g_t_005c_002d-_0028discretionary-hyphen_0029"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005c_002d-_0028hyphenation_0029"></a>
 <a class="index-entry-id" id="index-hyphenation_002c-forcing"></a>
@@ -9905,12 +9851,35 @@
 
 <hr>
 </div>
+<div class="section-level-extent" id="g_t_005cslash">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cdiscretionary" accesskey="n" rel="next"><code class="code">\discretionary</code> (generalized hyphenation point)</a>, Previous: <a href="#g_t_005c_002d-_0028hyphenation_0029" accesskey="p" rel="prev"><code class="code">\-</code> (discretionary hyphen)</a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h3 class="section" id="g_t_005cslash_003a-breakable-_002f"><span>9.5 <code class="code">\slash</code>: breakable ‘<samp class="samp">/</samp>’<a class="copiable-link" href="#g_t_005cslash_003a-breakable-_002f"> ¶</a></span></h3>
+
+<a class="index-entry-id" id="index-_005cslash"></a>
+<a class="index-entry-id" id="index-slash-character_002c-breakable"></a>
+
+<p>The <code class="code">\slash</code> command produces a ‘<samp class="samp">/</samp>’ character and then a
+penalty of the same value as an explicit ‘<samp class="samp">-</samp>’ character
+(<code class="code">\exhyphenpenalty</code>). This allows TeX to break a line at the
+‘<samp class="samp">/</samp>’, similar to a hyphen. Hyphenation is allowed in the word part
+preceding the ‘<samp class="samp">/</samp>’, but not after. For example:
+</p>
+<div class="example">
+<pre class="example-preformatted">The input\slash output of the program is complicated.
+</pre></div>
+
+
+<hr>
+</div>
 <div class="section-level-extent" id="g_t_005cdiscretionary">
 <div class="nav-panel">
 <p>
-Next: <a href="#g_t_005cfussy-_0026-_005csloppy" accesskey="n" rel="next"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a>, Previous: <a href="#g_t_005c_002d-_0028hyphenation_0029" accesskey="p" rel="prev"><code class="code">\-</code> (discretionary hyphen)</a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</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="#g_t_005cfussy-_0026-_005csloppy" accesskey="n" rel="next"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a>, Previous: <a href="#g_t_005cslash" accesskey="p" rel="prev"><code class="code">\slash</code>: breakable ‘<samp class="samp">/</samp>’</a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cdiscretionary-_0028generalized-hyphenation-point_0029">9.5 <code class="code">\discretionary</code> (generalized hyphenation point)</h3>
+<h3 class="section" id="g_t_005cdiscretionary-_0028generalized-hyphenation-point_0029"><span>9.6 <code class="code">\discretionary</code> (generalized hyphenation point)<a class="copiable-link" href="#g_t_005cdiscretionary-_0028generalized-hyphenation-point_0029"> ¶</a></span></h3>
 <a class="index-entry-id" id="index-hyphenation_002c-discretionary"></a>
 <a class="index-entry-id" id="index-discretionary-hyphenation"></a>
 
@@ -9947,7 +9916,7 @@
 <p>
 Next: <a href="#g_t_005chyphenation" accesskey="n" rel="next"><code class="code">\hyphenation</code></a>, Previous: <a href="#g_t_005cdiscretionary" accesskey="p" rel="prev"><code class="code">\discretionary</code> (generalized hyphenation point)</a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cfussy-_0026-_005csloppy-1">9.6 <code class="code">\fussy</code> & <code class="code">\sloppy</code></h3>
+<h3 class="section" id="g_t_005cfussy-_0026-_005csloppy-1"><span>9.7 <code class="code">\fussy</code> & <code class="code">\sloppy</code><a class="copiable-link" href="#g_t_005cfussy-_0026-_005csloppy-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cfussy"></a><a class="anchor" id="g_t_005csloppy"></a><a class="index-entry-id" id="index-_005cfussy"></a>
 <a class="index-entry-id" id="index-_005csloppy"></a>
@@ -9976,7 +9945,7 @@
 <p>
 Up: <a href="#g_t_005cfussy-_0026-_005csloppy" accesskey="u" rel="up"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="sloppypar-1">9.6.1 <code class="code">sloppypar</code></h4>
+<h4 class="subsection" id="sloppypar-1"><span>9.7.1 <code class="code">sloppypar</code><a class="copiable-link" href="#sloppypar-1"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-environment_002c-sloppypar"></a>
 <a class="index-entry-id" id="index-sloppypar-environment-1"></a>
@@ -10020,7 +9989,7 @@
 <p>
 Next: <a href="#g_t_005clinebreak-_0026-_005cnolinebreak" accesskey="n" rel="next"><code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></a>, Previous: <a href="#g_t_005cfussy-_0026-_005csloppy" accesskey="p" rel="prev"><code class="code">\fussy</code> & <code class="code">\sloppy</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005chyphenation-1">9.7 <code class="code">\hyphenation</code></h3>
+<h3 class="section" id="g_t_005chyphenation-1"><span>9.8 <code class="code">\hyphenation</code><a class="copiable-link" href="#g_t_005chyphenation-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005chyphenation"></a>
 <a class="index-entry-id" id="index-hyphenation_002c-defining"></a>
@@ -10033,7 +10002,7 @@
 
 <p>Declares allowed hyphenation points within the words in the list.  The
 words in that list are separated by spaces.  Show permitted points for
-hyphenation with a dash character, <code class="code">-</code>.
+hyphenation with an ASCII dash character, <code class="code">-</code>.
 </p>
 <p>Here is an example:
 </p>
@@ -10042,7 +10011,7 @@
 </pre></div>
 
 <p>Use lowercase letters.  TeX will only hyphenate if the word matches
-exactly, no inflections are tried.  Multiple <code class="code">\hyphenation</code>
+exactly; no inflections are tried.  Multiple <code class="code">\hyphenation</code>
 commands accumulate.
 </p>
 
@@ -10054,7 +10023,7 @@
 <p>
 Previous: <a href="#g_t_005chyphenation" accesskey="p" rel="prev"><code class="code">\hyphenation</code></a>, Up: <a href="#Line-breaking" accesskey="u" rel="up">Line breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005clinebreak-_0026-_005cnolinebreak-1">9.8 <code class="code">\linebreak</code> & <code class="code">\nolinebreak</code></h3>
+<h3 class="section" id="g_t_005clinebreak-_0026-_005cnolinebreak-1"><span>9.9 <code class="code">\linebreak</code> & <code class="code">\nolinebreak</code><a class="copiable-link" href="#g_t_005clinebreak-_0026-_005cnolinebreak-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005clinebreak"></a><a class="anchor" id="g_t_005cnolinebreak"></a><a class="index-entry-id" id="index-_005clinebreak"></a>
 <a class="index-entry-id" id="index-_005cnolinebreak"></a>
@@ -10105,7 +10074,7 @@
 <p>
 Next: <a href="#Footnotes" accesskey="n" rel="next">Footnotes</a>, Previous: <a href="#Line-breaking" accesskey="p" rel="prev">Line breaking</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Page-breaking-1">10 Page breaking</h2>
+<h2 class="chapter" id="Page-breaking-1"><span>10 Page breaking<a class="copiable-link" href="#Page-breaking-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-page-breaking"></a>
 <a class="index-entry-id" id="index-breaking-pages"></a>
@@ -10154,7 +10123,7 @@
 <p>
 Next: <a href="#g_t_005cnewpage" accesskey="n" rel="next"><code class="code">\newpage</code></a>, Up: <a href="#Page-breaking" accesskey="u" rel="up">Page breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cclearpage-_0026-_005ccleardoublepage-1">10.1 <code class="code">\clearpage</code> & <code class="code">\cleardoublepage</code></h3>
+<h3 class="section" id="g_t_005cclearpage-_0026-_005ccleardoublepage-1"><span>10.1 <code class="code">\clearpage</code> & <code class="code">\cleardoublepage</code><a class="copiable-link" href="#g_t_005cclearpage-_0026-_005ccleardoublepage-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cclearpage"></a><a class="index-entry-id" id="index-_005cclearpage"></a>
 <a class="index-entry-id" id="index-flushing-floats-and-starting-a-page"></a>
@@ -10217,7 +10186,7 @@
 <p>
 Next: <a href="#g_t_005cenlargethispage" accesskey="n" rel="next"><code class="code">\enlargethispage</code></a>, Previous: <a href="#g_t_005cclearpage-_0026-_005ccleardoublepage" accesskey="p" rel="prev"><code class="code">\clearpage</code> & <code class="code">\cleardoublepage</code></a>, Up: <a href="#Page-breaking" accesskey="u" rel="up">Page breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewpage-1">10.2 <code class="code">\newpage</code></h3>
+<h3 class="section" id="g_t_005cnewpage-1"><span>10.2 <code class="code">\newpage</code><a class="copiable-link" href="#g_t_005cnewpage-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewpage"></a>
 <a class="index-entry-id" id="index-new-page_002c-starting"></a>
@@ -10266,7 +10235,7 @@
 <p>
 Next: <a href="#g_t_005cpagebreak-_0026-_005cnopagebreak" accesskey="n" rel="next"><code class="code">\pagebreak</code> & <code class="code">\nopagebreak</code></a>, Previous: <a href="#g_t_005cnewpage" accesskey="p" rel="prev"><code class="code">\newpage</code></a>, Up: <a href="#Page-breaking" accesskey="u" rel="up">Page breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cenlargethispage-1">10.3 <code class="code">\enlargethispage</code></h3>
+<h3 class="section" id="g_t_005cenlargethispage-1"><span>10.3 <code class="code">\enlargethispage</code><a class="copiable-link" href="#g_t_005cenlargethispage-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cenlargethispage"></a>
 <a class="index-entry-id" id="index-enlarge-current-page"></a>
@@ -10305,7 +10274,7 @@
 <p>
 Previous: <a href="#g_t_005cenlargethispage" accesskey="p" rel="prev"><code class="code">\enlargethispage</code></a>, Up: <a href="#Page-breaking" accesskey="u" rel="up">Page breaking</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cpagebreak-_0026-_005cnopagebreak-1">10.4 <code class="code">\pagebreak</code> & <code class="code">\nopagebreak</code></h3>
+<h3 class="section" id="g_t_005cpagebreak-_0026-_005cnopagebreak-1"><span>10.4 <code class="code">\pagebreak</code> & <code class="code">\nopagebreak</code><a class="copiable-link" href="#g_t_005cpagebreak-_0026-_005cnopagebreak-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cpagebreak"></a><a class="anchor" id="g_t_005cnopagebreak"></a><a class="index-entry-id" id="index-_005cpagebreak"></a>
 <a class="index-entry-id" id="index-_005cnopagebreak"></a>
@@ -10360,11 +10329,10 @@
 </p>
 <a class="index-entry-id" id="index-_005csamepage"></a>
 <a class="index-entry-id" id="index-samepage-environment"></a>
-<p>(There is an obsolete declaration <code class="code">\samepage</code>, which tries to only
-allow a break between two paragraphs.  There is a related environment
-<code class="code">samepage</code>, also obsolete.  Neither of these work reliably.  For
-more on keeping material on the same page, see the FAQ entry
-<a class="url" href="https://texfaq.org/FAQ-nopagebrk">https://texfaq.org/FAQ-nopagebrk</a>.)
+<p>A declaration <code class="code">\samepage</code> and corresponding <code class="code">samepage</code>
+environment try to only allow breaks between paragraphs. They are not
+perfectly reliable.  For more on keeping material on the same page,
+see the FAQ entry <a class="url" href="https://texfaq.org/FAQ-nopagebrk">https://texfaq.org/FAQ-nopagebrk</a>.)
 </p>
 
 <hr>
@@ -10375,7 +10343,7 @@
 <p>
 Next: <a href="#Definitions" accesskey="n" rel="next">Definitions</a>, Previous: <a href="#Page-breaking" accesskey="p" rel="prev">Page breaking</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Footnotes-1">11 Footnotes</h2>
+<h2 class="chapter" id="Footnotes-1"><span>11 Footnotes<a class="copiable-link" href="#Footnotes-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-footnotes_002c-creating"></a>
 
@@ -10414,7 +10382,7 @@
 <p>
 Next: <a href="#g_t_005cfootnotemark" accesskey="n" rel="next"><code class="code">\footnotemark</code></a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cfootnote-1">11.1 <code class="code">\footnote</code></h3>
+<h3 class="section" id="g_t_005cfootnote-1"><span>11.1 <code class="code">\footnote</code><a class="copiable-link" href="#g_t_005cfootnote-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cfootnote"></a>
 
@@ -10425,7 +10393,8 @@
 \footnote[<var class="var">number</var>]{<var class="var">text</var>}
 </pre></div>
 
-<p>Place a footnote <var class="var">text</var> at the bottom of the current page.
+<p>Place a footnote <var class="var">text</var> at the bottom of the current page, with a
+footnote marker at the current position in the text.
 </p>
 <div class="example">
 <pre class="example-preformatted">There are over a thousand footnotes in Gibbon's 
@@ -10456,15 +10425,19 @@
 <a class="index-entry-id" id="index-parameters_002c-for-footnotes"></a>
 
 <dl class="ftable">
-<dt id='index-_005cfootnoterule'><span><code class="code">\footnoterule</code><a class="copiable-link" href='#index-_005cfootnoterule'> ¶</a></span></dt>
+<dt><a id="index-_005cfootnoterule"></a><span><code class="code">\footnoterule</code><a class="copiable-link" href="#index-_005cfootnoterule"> ¶</a></span></dt>
 <dd><a class="anchor" id="footnote-footnoterule"></a><p>Produces the rule separating the main text on a page from the page’s
 footnotes.  Default dimensions in the standard document classes (except
-<code class="code">slides</code>, where it does not appear) is: vertical thickness of
+<code class="code">slides</code>, where it does not appear) are: vertical thickness of
 <code class="code">0.4pt</code>, and horizontal size of <code class="code">0.4\columnwidth</code> long.
 Change the rule with something like this.
 </p>
 <div class="example">
-<pre class="example-preformatted">\renewcommand{\footnoterule}{% Kerns avoid vertical space
+<pre class="example-preformatted">% \footnoterule is expanded in vertical mode, thus \kern
+% commands ensure that no vertical space is created,
+% and the rule is separated vertically with 2pt
+% above the note text.
+\renewcommand*{\footnoterule}{%
   \kern -3pt                         % This -3 is negative
   \hrule width \textwidth height 1pt % of the sum of this 1
   \kern 2pt}                         % and this 2
@@ -10471,7 +10444,7 @@
 </pre></div>
 
 </dd>
-<dt id='index-_005cfootnotesep'><span><code class="code">\footnotesep</code><a class="copiable-link" href='#index-_005cfootnotesep'> ¶</a></span></dt>
+<dt><a id="index-_005cfootnotesep"></a><span><code class="code">\footnotesep</code><a class="copiable-link" href="#index-_005cfootnotesep"> ¶</a></span></dt>
 <dd><a class="anchor" id="footnote-footnotesep"></a><a class="index-entry-id" id="index-strut"></a>
 <p>The height of the strut placed at the beginning of the footnote
 (see <a class="pxref" href="#g_t_005cstrut"><code class="code">\strut</code></a>).  By default, this is set to the normal strut for
@@ -10507,7 +10480,7 @@
 <p>
 Next: <a href="#g_t_005cfootnotetext" accesskey="n" rel="next"><code class="code">\footnotetext</code></a>, Previous: <a href="#g_t_005cfootnote" accesskey="p" rel="prev"><code class="code">\footnote</code></a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cfootnotemark-1">11.2 <code class="code">\footnotemark</code></h3>
+<h3 class="section" id="g_t_005cfootnotemark-1"><span>11.2 <code class="code">\footnotemark</code><a class="copiable-link" href="#g_t_005cfootnotemark-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cfootnotemark"></a>
 
@@ -10538,8 +10511,8 @@
 <p>If there are intervening footnotes then you must remember the value of
 the number of the common mark.  This example gives the same
 institutional affiliation to both the first and third authors
-(<code class="code">\thanks</code> is a version of <code class="code">\footnote</code>), by-hand giving the
-number of the footnote.
+(<code class="code">\thanks</code> is a version of <code class="code">\footnote</code>), by explicitly
+specifying the number of the footnote (‘<samp class="samp">1</samp>’).
 </p>
 <div class="example">
 <pre class="example-preformatted">\title{A Treatise on the Binomial Theorem}
@@ -10550,19 +10523,6 @@
 \maketitle
 </pre></div>
 
-<p>This uses a counter to remember the footnote number.  The third sentence
-is followed by the same footnote marker as the first.
-</p>
-<div class="example">
-<pre class="example-preformatted">\newcounter{footnoteValueSaver}
-All babies are illogical.\footnote{%
-  Lewis Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}}
-Nobody is despised who can manage a crocodile.\footnote{%
-  Captain Hook.}
-Illogical persons are despised.\footnotemark[\value{footnoteValueSaver}]
-Therefore, anyone who can manage a crocodile is not a baby.
-</pre></div>
-
 <a class="index-entry-id" id="index-package_002c-cleveref-2"></a>
 <a class="index-entry-id" id="index-cleveref-package-2"></a>
 
@@ -10585,7 +10545,20 @@
 
 <p>It will work with the package <code class="code">hyperref</code>.
 </p>
+<p>This uses a counter to remember the footnote number.  The third sentence
+is followed by the same footnote marker as the first.
+</p>
+<div class="example">
+<pre class="example-preformatted">\newcounter{footnoteValueSaver}
+All babies are illogical.\footnote{%
+  Lewis Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}}
+Nobody is despised who can manage a crocodile.\footnote{%
+  Captain Hook.}
+Illogical persons are despised.\footnotemark[\value{footnoteValueSaver}]
+Therefore, anyone who can manage a crocodile is not a baby.
+</pre></div>
 
+
 <hr>
 </div>
 <div class="section-level-extent" id="g_t_005cfootnotetext">
@@ -10593,7 +10566,7 @@
 <p>
 Next: <a href="#Footnotes-in-section-headings" accesskey="n" rel="next">Footnotes in section headings</a>, Previous: <a href="#g_t_005cfootnotemark" accesskey="p" rel="prev"><code class="code">\footnotemark</code></a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cfootnotetext-1">11.3 <code class="code">\footnotetext</code></h3>
+<h3 class="section" id="g_t_005cfootnotetext-1"><span>11.3 <code class="code">\footnotetext</code><a class="copiable-link" href="#g_t_005cfootnotetext-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cfootnotetext"></a>
 
@@ -10621,7 +10594,7 @@
 <p>
 Next: <a href="#Footnotes-in-a-table" accesskey="n" rel="next">Footnotes in a table</a>, Previous: <a href="#g_t_005cfootnotetext" accesskey="p" rel="prev"><code class="code">\footnotetext</code></a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Footnotes-in-section-headings-1">11.4 Footnotes in section headings</h3>
+<h3 class="section" id="Footnotes-in-section-headings-1"><span>11.4 Footnotes in section headings<a class="copiable-link" href="#Footnotes-in-section-headings-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-footnote_002c-in-section-headings"></a>
 <a class="index-entry-id" id="index-table-of-contents_002c-avoiding-footnotes"></a>
@@ -10636,7 +10609,7 @@
 section starts, as usual, but also at the bottom of the table of
 contents, where it is not likely to be desired.  The simplest way
 to have it not appear on the table of contents is to use the optional
-argument to <code class="code">\section</code>
+argument to <code class="code">\section</code>.
 </p>
 <div class="example">
 <pre class="example-preformatted">\section[Please]{Please\footnote{%
@@ -10654,7 +10627,7 @@
 <p>
 Next: <a href="#Footnotes-of-footnotes" accesskey="n" rel="next">Footnotes of footnotes</a>, Previous: <a href="#Footnotes-in-section-headings" accesskey="p" rel="prev">Footnotes in section headings</a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Footnotes-in-a-table-1">11.5 Footnotes in a table</h3>
+<h3 class="section" id="Footnotes-in-a-table-1"><span>11.5 Footnotes in a table<a class="copiable-link" href="#Footnotes-in-a-table-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-footnote_002c-in-a-table"></a>
 
@@ -10705,7 +10678,7 @@
       Little is known other than her death.}%
   \stepcounter{mpFootnoteValueSaver}%
     \footnotetext[\value{mpFootnoteValueSaver}]{%
-      Relationship is unresolved in XXI.}
+      Relationship is unresolved.}
 \end{center}
 </pre></div>
 
@@ -10742,7 +10715,7 @@
 <p>
 Previous: <a href="#Footnotes-in-a-table" accesskey="p" rel="prev">Footnotes in a table</a>, Up: <a href="#Footnotes" accesskey="u" rel="up">Footnotes</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Footnotes-of-footnotes-1">11.6 Footnotes of footnotes</h3>
+<h3 class="section" id="Footnotes-of-footnotes-1"><span>11.6 Footnotes of footnotes<a class="copiable-link" href="#Footnotes-of-footnotes-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-footnote_002c-of-a-footnote"></a>
 
@@ -10773,7 +10746,7 @@
 <p>
 Next: <a href="#Counters" accesskey="n" rel="next">Counters</a>, Previous: <a href="#Footnotes" accesskey="p" rel="prev">Footnotes</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Definitions-1">12 Definitions</h2>
+<h2 class="chapter" id="Definitions-1"><span>12 Definitions<a class="copiable-link" href="#Definitions-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-definitions"></a>
 
@@ -10794,7 +10767,8 @@
 <li><a href="#g_t_005cnewfont"><code class="code">\newfont</code></a></li>
 <li><a href="#g_t_005cprotect"><code class="code">\protect</code></a></li>
 <li><a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend"><code class="code">\ignorespaces & \ignorespacesafterend</code></a></li>
-<li><a href="#xspace-package">xspace package</a></li>
+<li><a href="#xspace-package"><code class="code">xspace</code> package</a></li>
+<li><a href="#Class-and-package-commands">Class and package commands</a></li>
 </ul>
 <hr>
 <div class="section-level-extent" id="g_t_005cnewcommand-_0026-_005crenewcommand">
@@ -10802,7 +10776,7 @@
 <p>
 Next: <a href="#g_t_005cprovidecommand" accesskey="n" rel="next"><code class="code">\providecommand</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewcommand-_0026-_005crenewcommand-1">12.1 <code class="code">\newcommand</code> & <code class="code">\renewcommand</code></h3>
+<h3 class="section" id="g_t_005cnewcommand-_0026-_005crenewcommand-1"><span>12.1 <code class="code">\newcommand</code> & <code class="code">\renewcommand</code><a class="copiable-link" href="#g_t_005cnewcommand-_0026-_005crenewcommand-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cnewcommand"></a><a class="anchor" id="g_t_005crenewcommand"></a><a class="index-entry-id" id="index-_005cnewcommand"></a>
 <a class="index-entry-id" id="index-_005crenewcommand"></a>
@@ -10823,7 +10797,7 @@
 \newcommand*{\<var class="var">cmd</var>}[<var class="var">nargs</var>][<var class="var">optargdefault</var>]{<var class="var">defn</var>}
 </pre></div>
 
-<p>or all the same possibilities with <code class="code">\renewcommand</code> instead of
+<p>or the same six possibilities with <code class="code">\renewcommand</code> instead of
 <code class="code">\newcommand</code>:
 </p>
 <div class="example">
@@ -10835,17 +10809,16 @@
 \renewcommand*{\<var class="var">cmd</var>}[<var class="var">nargs</var>][<var class="var">optargdefault</var>]{<var class="var">defn</var>}
 </pre></div>
 
-
 <p>Define or redefine a command (see also <code class="code">\DeclareRobustCommand</code> in
 <a class="ref" href="#Class-and-package-commands">Class and package commands</a>).
 </p>
 <a class="index-entry-id" id="index-starred-form_002c-defining-new-commands"></a>
 <a class="index-entry-id" id="index-_002a_002dform_002c-defining-new-commands"></a>
-<a class="index-entry-id" id="index-_005clong"></a>
+<a class="index-entry-id" id="index-_005clong_002c-not-defining-a-command-as"></a>
 <p>The starred form of these two forbids the arguments from containing
-multiple paragraphs of text (in plain TeX terms: the commands
-are not <code class="code">\long</code>).  With the default form, arguments can be
-multiple paragraphs.
+multiple paragraphs of text (i.e., a <code class="code">\par</code> token; in plain
+TeX terms: the commands are not <code class="code">\long</code>).  With the default
+form, arguments can be multiple paragraphs.
 </p>
 <p>These are the parameters (examples follow):
 </p>
@@ -10865,9 +10838,9 @@
 different number of arguments than the old version.
 </p>
 </dd>
-<dt id='index-optional-arguments_002c-defining-and-using'><span><var class="var">optargdefault</var><a class="copiable-link" href='#index-optional-arguments_002c-defining-and-using'> ¶</a></span></dt>
-<dd><a class="index-entry-id" id="index-arguments_002c-optional_002c-defining-and-using"></a>
-<p>Optional; if this argument is present then the first argument of
+<dt><a class="index-entry-id" id="index-arguments_002c-optional_002c-defining-and-using"></a>
+<a id="index-optional-arguments_002c-defining-and-using"></a><span><var class="var">optargdefault</var><a class="copiable-link" href="#index-optional-arguments_002c-defining-and-using"> ¶</a></span></dt>
+<dd><p>Optional; if this argument is present then the first argument of
 <code class="code">\<var class="var">cmd</var></code> is optional, with default value <var class="var">optargdefault</var>
 (which may be the empty string).  If <var class="var">optargdefault</var> is not present
 then <code class="code">\<var class="var">cmd</var></code> does not take an optional argument.
@@ -10899,7 +10872,7 @@
 may be a LaTeX error, there may be incorrect typeset output, or both.
 </p>
 </dd>
-<dt id='index-parameters_002c-substituting'><span><var class="var">defn</var><a class="copiable-link" href='#index-parameters_002c-substituting'> ¶</a></span></dt>
+<dt><a id="index-parameters_002c-substituting"></a><span><var class="var">defn</var><a class="copiable-link" href="#index-parameters_002c-substituting"> ¶</a></span></dt>
 <dd><p>Required; the text to be substituted for every occurrence of
 <code class="code">\<var class="var">cmd</var></code>. The parameters <code class="code">#1</code>, <code class="code">#2</code>,
 …, <code class="code">#<var class="var">nargs</var></code> are replaced by the values supplied when
@@ -10991,7 +10964,7 @@
 <p>
 Up: <a href="#g_t_005cnewcommand-_0026-_005crenewcommand" accesskey="u" rel="up"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h4 class="subsection" id="Control-sequence_002c-control-word-and-control-symbol">12.1.1 Control sequence, control word and control symbol</h4>
+<h4 class="subsection" id="Control-sequence_002c-control-word-and-control-symbol"><span>12.1.1 Control sequence, control word and control symbol<a class="copiable-link" href="#Control-sequence_002c-control-word-and-control-symbol"> ¶</a></span></h4>
 
 <a class="index-entry-id" id="index-control-sequences"></a>
 
@@ -11040,7 +11013,7 @@
 <p>
 Next: <a href="#g_t_005cmakeatletter-_0026-_005cmakeatother" accesskey="n" rel="next"><code class="code">\makeatletter</code> & <code class="code">\makeatother</code></a>, Previous: <a href="#g_t_005cnewcommand-_0026-_005crenewcommand" accesskey="p" rel="prev"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cprovidecommand-1">12.2 <code class="code">\providecommand</code></h3>
+<h3 class="section" id="g_t_005cprovidecommand-1"><span>12.2 <code class="code">\providecommand</code><a class="copiable-link" href="#g_t_005cprovidecommand-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cprovidecommand"></a>
 <a class="index-entry-id" id="index-commands_002c-defining-new-ones-1"></a>
@@ -11084,7 +11057,7 @@
 <p>
 Next: <a href="#g_t_005c_0040ifstar" accesskey="n" rel="next"><code class="code">\@ifstar</code></a>, Previous: <a href="#g_t_005cprovidecommand" accesskey="p" rel="prev"><code class="code">\providecommand</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cmakeatletter-_0026-_005cmakeatother-1">12.3 <code class="code">\makeatletter</code> & <code class="code">\makeatother</code></h3>
+<h3 class="section" id="g_t_005cmakeatletter-_0026-_005cmakeatother-1"><span>12.3 <code class="code">\makeatletter</code> & <code class="code">\makeatother</code><a class="copiable-link" href="#g_t_005cmakeatletter-_0026-_005cmakeatother-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cmakeatletter"></a><a class="anchor" id="g_t_005cmakeatother"></a><a class="index-entry-id" id="index-_005cmakeatother"></a>
 <a class="index-entry-id" id="index-_005cmakeatother-1"></a>
@@ -11153,7 +11126,7 @@
 <p>
 Next: <a href="#g_t_005cnewcounter" accesskey="n" rel="next"><code class="code">\newcounter</code>: Allocating a counter</a>, Previous: <a href="#g_t_005cmakeatletter-_0026-_005cmakeatother" accesskey="p" rel="prev"><code class="code">\makeatletter</code> & <code class="code">\makeatother</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005c_0040ifstar-1">12.4 <code class="code">\@ifstar</code></h3>
+<h3 class="section" id="g_t_005c_0040ifstar-1"><span>12.4 <code class="code">\@ifstar</code><a class="copiable-link" href="#g_t_005c_0040ifstar-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005c_0040ifstar"></a>
 <a class="index-entry-id" id="index-commands_002c-star_002dvariants"></a>
@@ -11254,7 +11227,7 @@
 <p>
 Next: <a href="#g_t_005cnewlength" accesskey="n" rel="next"><code class="code">\newlength</code></a>, Previous: <a href="#g_t_005c_0040ifstar" accesskey="p" rel="prev"><code class="code">\@ifstar</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewcounter_003a-Allocating-a-counter">12.5 <code class="code">\newcounter</code>: Allocating a counter</h3>
+<h3 class="section" id="g_t_005cnewcounter_003a-Allocating-a-counter"><span>12.5 <code class="code">\newcounter</code>: Allocating a counter<a class="copiable-link" href="#g_t_005cnewcounter_003a-Allocating-a-counter"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewcounter"></a>
 <a class="index-entry-id" id="index-counters_002c-defining-new"></a>
@@ -11312,7 +11285,7 @@
 <p>
 Next: <a href="#g_t_005cnewsavebox" accesskey="n" rel="next"><code class="code">\newsavebox</code></a>, Previous: <a href="#g_t_005cnewcounter" accesskey="p" rel="prev"><code class="code">\newcounter</code>: Allocating a counter</a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewlength-1">12.6 <code class="code">\newlength</code></h3>
+<h3 class="section" id="g_t_005cnewlength-1"><span>12.6 <code class="code">\newlength</code><a class="copiable-link" href="#g_t_005cnewlength-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewlength"></a>
 <a class="index-entry-id" id="index-lengths_002c-allocating-new"></a>
@@ -11353,7 +11326,7 @@
 <p>
 Next: <a href="#g_t_005cnewenvironment-_0026-_005crenewenvironment" accesskey="n" rel="next"><code class="code">\newenvironment</code> & <code class="code">\renewenvironment</code></a>, Previous: <a href="#g_t_005cnewlength" accesskey="p" rel="prev"><code class="code">\newlength</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewsavebox-1">12.7 <code class="code">\newsavebox</code></h3>
+<h3 class="section" id="g_t_005cnewsavebox-1"><span>12.7 <code class="code">\newsavebox</code><a class="copiable-link" href="#g_t_005cnewsavebox-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewsavebox"></a>
 <a class="index-entry-id" id="index-box_002c-allocating-new"></a>
@@ -11395,7 +11368,7 @@
 <p>
 Next: <a href="#g_t_005cnewtheorem" accesskey="n" rel="next"><code class="code">\newtheorem</code></a>, Previous: <a href="#g_t_005cnewsavebox" accesskey="p" rel="prev"><code class="code">\newsavebox</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewenvironment-_0026-_005crenewenvironment-1">12.8 <code class="code">\newenvironment</code> & <code class="code">\renewenvironment</code></h3>
+<h3 class="section" id="g_t_005cnewenvironment-_0026-_005crenewenvironment-1"><span>12.8 <code class="code">\newenvironment</code> & <code class="code">\renewenvironment</code><a class="copiable-link" href="#g_t_005cnewenvironment-_0026-_005crenewenvironment-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cnewenvironment"></a><a class="anchor" id="g_t_005crenewenvironment"></a><a class="index-entry-id" id="index-_005cnewenvironment"></a>
 <a class="index-entry-id" id="index-_005crenewenvironment"></a>
@@ -11567,7 +11540,7 @@
 <p>
 Next: <a href="#g_t_005cnewfont" accesskey="n" rel="next"><code class="code">\newfont</code></a>, Previous: <a href="#g_t_005cnewenvironment-_0026-_005crenewenvironment" accesskey="p" rel="prev"><code class="code">\newenvironment</code> & <code class="code">\renewenvironment</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewtheorem-1">12.9 <code class="code">\newtheorem</code></h3>
+<h3 class="section" id="g_t_005cnewtheorem-1"><span>12.9 <code class="code">\newtheorem</code><a class="copiable-link" href="#g_t_005cnewtheorem-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewtheorem"></a>
 <a class="index-entry-id" id="index-theorems_002c-defining"></a>
@@ -11711,7 +11684,7 @@
 <p>
 Next: <a href="#g_t_005cprotect" accesskey="n" rel="next"><code class="code">\protect</code></a>, Previous: <a href="#g_t_005cnewtheorem" accesskey="p" rel="prev"><code class="code">\newtheorem</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cnewfont-1">12.10 <code class="code">\newfont</code></h3>
+<h3 class="section" id="g_t_005cnewfont-1"><span>12.10 <code class="code">\newfont</code><a class="copiable-link" href="#g_t_005cnewfont-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cnewfont"></a>
 <a class="index-entry-id" id="index-fonts_002c-new-commands-for"></a>
@@ -11760,7 +11733,7 @@
 <p>
 Next: <a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend" accesskey="n" rel="next"><code class="code">\ignorespaces & \ignorespacesafterend</code></a>, Previous: <a href="#g_t_005cnewfont" accesskey="p" rel="prev"><code class="code">\newfont</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cprotect-1">12.11 <code class="code">\protect</code></h3>
+<h3 class="section" id="g_t_005cprotect-1"><span>12.11 <code class="code">\protect</code><a class="copiable-link" href="#g_t_005cprotect-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cprotect"></a>
 <a class="index-entry-id" id="index-fragile-commands"></a>
@@ -11768,20 +11741,16 @@
 
 <p>All LaTeX commands are either <em class="dfn">fragile</em> or <em class="dfn">robust</em>.  A
 fragile command can break when it is used in the argument to certain
-other commands.  Commands that contain data that LaTeX writes to an
-auxiliary file and re-reads later are fragile.  This includes material
-that goes into a table of contents, list of figures, list of tables,
-etc.  Fragile commands also include line breaks, any command that has an
-optional argument, and many more. To prevent such commands from
-breaking, one solution is to preceded them with the command
-<code class="code">\protect</code>.
+other commands, typically those that write material to the table of
+contents, the cross-reference file, etc.  To prevent fragile
+commands from causing errors, one solution is to precede them with the
+command <code class="code">\protect</code>.
 </p>
 <p>For example, when LaTeX runs the <code class="code">\section{<var class="var">section
 name</var>}</code> command it writes the <var class="var">section name</var> text to the
 <samp class="file">.aux</samp> auxiliary file, moving it there for use elsewhere in the
-document such as in the table of contents.  Any argument that is
-internally expanded by LaTeX without typesetting it directly is
-referred to as a 
+document such as in the table of contents.  Such an argument that is
+used in multiple places is referred to as a
 <a class="index-entry-id" id="index-moving-arguments"></a>
 <em class="dfn">moving argument</em>.  A command is fragile if it can
 expand during this process into invalid TeX code.  Some examples of
@@ -11791,38 +11760,56 @@
 <code class="code">array</code> environments (see <a class="pxref" href="#tabular"><code class="code">tabular</code></a>).
 </p>
 <p>If you get strange errors from commands used in moving arguments, try
-preceding it with <code class="code">\protect</code>.  Every fragile commands must be
+preceding it with <code class="code">\protect</code>.  Each fragile command must be
 protected with their own <code class="code">\protect</code>.  
 </p>
 <p>Although usually a <code class="code">\protect</code> command doesn’t hurt, length
-commands are robust and should not be preceded by a <code class="code">\protect</code>
-command. Nor can a <code class="code">\protect</code> command be used in the argument to
-<code class="code">\addtocounter</code> or <code class="code">\setcounter</code> command.
+commands such as <code class="code">\parindent</code> should not be preceded by a
+<code class="code">\protect</code> command (see <a class="pxref" href="#Lengths">Lengths</a>. Nor can a <code class="code">\protect</code>
+command be used in the argument to <code class="code">\addtocounter</code> or
+<code class="code">\setcounter</code> command (see <a class="pxref" href="#g_t_005csetcounter"><code class="code">\setcounter</code></a> and
+<a class="ref" href="#g_t_005caddtocounter"><code class="code">\addtocounter</code></a>. These commands are already robust.
 </p>
-<p>In this example the <code class="code">\caption</code> command gives a mysterious error
-about an extra curly brace.  Fix the problem by preceding each
-<code class="code">\raisebox</code> command with <code class="code">\protect</code>.
+<p>As of the October 2019 release of LaTeX
+(<a class="url" href="https://www.latex-project.org/news/latex2e-news/ltnews30.pdf">https://www.latex-project.org/news/latex2e-news/ltnews30.pdf</a>),
+most commands that had been previously fragile were fixed to be
+robust. For example, any command taking an optional argument, such as
+<code class="code">\root</code> or <code class="code">\raisebox</code>, was fragile, but is now
+robust. Similarly, <code class="code">\(...\)</code> math was fragile and is now robust
+(<code class="code">$...$</code> has always been robust).
 </p>
+<a class="index-entry-id" id="index-_005cverb_002c-as-fragile-command"></a>
+<p>Perhaps the most commonly used remaining fragile command is
+<code class="code">\verb</code>; for example,
+</p>
 <div class="example">
 <pre class="example-preformatted">\begin{figure}
   ...
-  \caption{Company headquarters of A\raisebox{1pt}{B}\raisebox{-1pt}{C}}
+  \caption{This \verb|\command| causes an error.}
 \end{figure}
 </pre></div>
 
-<p>In the next example the <code class="code">\tableofcontents</code> command gives an error
-because the <code class="code">\(..\)</code> in the section title expands to illegal TeX
-in the <samp class="file">.toc</samp> file.  You can solve this by changing <code class="code">\(..\)</code>
-to <code class="code">\protect\(..\protect\)</code>.
+<p>Adding <code class="code">\protect</code> does not help here. It’s usually feasible to
+rewrite the caption (or section heading or whatever) to use
+<code class="code">\texttt</code>, often the simplest solution.
 </p>
+<a class="index-entry-id" id="index-package_002c-cprotect-2"></a>
+<a class="index-entry-id" id="index-cprotect-package-2"></a>
+
+<a class="index-entry-id" id="index-_005ccprotect"></a>
+<p>Alternatively, to use <code class="code">\verb</code>, you can apply the
+<code class="code">\cprotect</code> command from <code class="code">cprotect</code> package
+(<a class="url" href="https://ctan.org/pkg/cprotect">https://ctan.org/pkg/cprotect</a>) to the <code class="code">\caption</code>:
+</p>
 <div class="example">
-<pre class="example-preformatted">\begin{document}
-\tableofcontents
-...
-\section{Einstein's \( e=mc^2 \)}
-...
+<pre class="example-preformatted">\cprotect\caption{This \verb|\command| is ok with \verb|\cprotect|.}
 </pre></div>
 
+<a class="index-entry-id" id="index-_005ccprotEnv"></a>
+<p><code class="code">\cprotect</code> also allows use of <code class="code">\begin...\end</code> environments
+in moving arguments, where they are normally not allowed, via a
+similar prefix command <code class="code">\cprotEnv</code>.
+</p>
 
 <hr>
 </div>
@@ -11829,9 +11816,9 @@
 <div class="section-level-extent" id="g_t_005cignorespaces-_0026-_005cignorespacesafterend">
 <div class="nav-panel">
 <p>
-Next: <a href="#xspace-package" accesskey="n" rel="next">xspace package</a>, Previous: <a href="#g_t_005cprotect" accesskey="p" rel="prev"><code class="code">\protect</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</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="#xspace-package" accesskey="n" rel="next"><code class="code">xspace</code> package</a>, Previous: <a href="#g_t_005cprotect" accesskey="p" rel="prev"><code class="code">\protect</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cignorespaces-_0026-_005cignorespacesafterend-1">12.12 <code class="code">\ignorespaces & \ignorespacesafterend</code></h3>
+<h3 class="section" id="g_t_005cignorespaces-_0026-_005cignorespacesafterend-1"><span>12.12 <code class="code">\ignorespaces & \ignorespacesafterend</code><a class="copiable-link" href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cignorespaces"></a><a class="anchor" id="g_t_005cignorespacesafterend"></a><a class="index-entry-id" id="index-_005cignorespaces"></a>
 <a class="index-entry-id" id="index-_005cignorespacesafterend"></a>
@@ -11929,9 +11916,9 @@
 <div class="section-level-extent" id="xspace-package">
 <div class="nav-panel">
 <p>
-Previous: <a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend" accesskey="p" rel="prev"><code class="code">\ignorespaces & \ignorespacesafterend</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</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="#Class-and-package-commands" accesskey="n" rel="next">Class and package commands</a>, Previous: <a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend" accesskey="p" rel="prev"><code class="code">\ignorespaces & \ignorespacesafterend</code></a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="xspace-package-1">12.13 xspace package</h3>
+<h3 class="section" id="xspace-package-1"><span>12.13 <code class="code">xspace</code> package<a class="copiable-link" href="#xspace-package-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cxspace"></a>
 <a class="index-entry-id" id="index-package_002c-xspace"></a>
@@ -11940,7 +11927,7 @@
 <a class="index-entry-id" id="index-spaces_002c-ignore-around-commands-1"></a>
 <a class="index-entry-id" id="index-commands_002c-ignore-spaces-1"></a>
 
-<p>Synopsis:
+<p>This is an add-on package, not part of core LaTeX. Synopsis:
 </p>
 <div class="example">
 <pre class="example-preformatted">\usepackage{xspace}
@@ -11952,15 +11939,15 @@
 adds a space unless the command is followed by certain punctuation
 characters.
 </p>
-<p>After a command control sequence that is a control word (see <a class="pxref" href="#Control-sequences">Control sequence, control word and control symbol</a>, as opposed to control symbols such as <code class="code">\$</code>), TeX
-gobbles blank characters.  Thus, in the first sentence below, the output
-has ‘<samp class="samp">Vermont</samp>’ placed snugly against the period, without any
-intervening space.
+<p>After a control sequence that is a control word (see <a class="pxref" href="#Control-sequences">Control sequence, control word and control symbol</a>, as opposed to control symbols such as <code class="code">\$</code>), TeX
+gobbles blank characters.  Thus, in the first sentence below, the
+output has ‘<samp class="samp">Vermont</samp>’ placed snugly against the period, without
+any intervening space, despite the space in the input.
 </p>
 <div class="example">
 <pre class="example-preformatted">\newcommand{\VT}{Vermont}
 Our college is in \VT .
-The \VT{} summers are nice.
+\VT{} summers are nice.
 </pre></div>
 
 <p>But because of the gobbling, the second sentence needs the empty curly
@@ -11982,10 +11969,10 @@
 
 <p>The default exception list contains the characters <code class="code">,.'/?;:!~-)</code>,
 the open curly brace and the backslash-space command discussed above,
-and the commands <code class="code">\footnote</code> or <code class="code">\footnotemark</code>.  Add to that
-list as with <code class="code">\xspaceaddexceptions{\myfni \myfnii}</code> which adds
-<code class="code">\myfni</code> and <code class="code">\myfnii</code> to the list, and remove from that
-list as with <code class="code">\xspaceremoveexception{!}</code>.
+and the commands <code class="code">\footnote</code> or <code class="code">\footnotemark</code>.  You can
+add to that list as with <code class="code">\xspaceaddexceptions{\myfni \myfnii}</code>
+which adds <code class="code">\myfni</code> and <code class="code">\myfnii</code> to the list; and you
+can remove from that list as with <code class="code">\xspaceremoveexception{!}</code>.
 </p>
 <p>A comment: many experts prefer not to use <code class="code">\xspace</code>.  Putting it in
 a definition means that the command will usually get the spacing right.
@@ -11992,18 +11979,818 @@
 But it isn’t easy to predict when to enter empty braces because
 <code class="code">\xspace</code> will get it wrong, such as when it is followed by another
 command, and so <code class="code">\xspace</code> can make editing material harder and more
-error-prone than instead always inserting the empty braces.
+error-prone than instead of always inserting the empty braces.
 </p>
 
 <hr>
 </div>
+<div class="section-level-extent" id="Class-and-package-commands">
+<div class="nav-panel">
+<p>
+Previous: <a href="#xspace-package" accesskey="p" rel="prev"><code class="code">xspace</code> package</a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
+<h3 class="section" id="Class-and-package-commands-1"><span>12.14 Class and package commands<a class="copiable-link" href="#Class-and-package-commands-1"> ¶</a></span></h3>
+
+<a class="index-entry-id" id="index-class-and-package-commands"></a>
+<a class="index-entry-id" id="index-package-and-class-commands"></a>
+<a class="index-entry-id" id="index-commands_002c-class-and-package"></a>
+
+<p>These are commands designed to help writers of classes or packages.
+</p>
+
+<ul class="mini-toc">
+<li><a href="#g_t_005cAtBeginDvi-_0026-_005cAtEndDvi" accesskey="1"><code class="code">\AtBeginDvi</code> & <code class="code">\AtEndDvi</code></a></li>
+<li><a href="#g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage" accesskey="2"><code class="code">\AtEndOfClass</code> & <code class="code">\AtEndOfPackage</code></a></li>
+<li><a href="#g_t_005cCheckCommand" accesskey="3"><code class="code">\CheckCommand</code></a></li>
+<li><a href="#g_t_005cClassError-and-_005cPackageError-and-others" accesskey="4"><code class="code">\ClassError</code> and <code class="code">\PackageError</code> and others</a></li>
+<li><a href="#g_t_005cCurrentOption" accesskey="5"><code class="code">\CurrentOption</code></a></li>
+<li><a href="#g_t_005cDeclareOption" accesskey="6"><code class="code">\DeclareOption</code></a></li>
+<li><a href="#g_t_005cDeclareRobustCommand" accesskey="7"><code class="code">\DeclareRobustCommand</code></a></li>
+<li><a href="#g_t_005cExecuteOptions" accesskey="8"><code class="code">\ExecuteOptions</code></a></li>
+<li><a href="#g_t_005cIfFileExists-_0026-_005cInputIfFileExists" accesskey="9"><code class="code">\IfFileExists</code> & <code class="code">\InputIfFileExists</code></a></li>
+<li><a href="#g_t_005cLoadClass-_0026-_005cLoadClassWithOptions"><code class="code">\LoadClass</code> & <code class="code">\LoadClassWithOptions</code></a></li>
+<li><a href="#g_t_005cNeedsTeXFormat"><code class="code">\NeedsTeXFormat</code></a></li>
+<li><a href="#g_t_005cOptionNotUsed"><code class="code">\OptionNotUsed</code></a></li>
+<li><a href="#g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage"><code class="code">\PassOptionsToClass</code> & <code class="code">\PassOptionsToPackage</code></a></li>
+<li><a href="#g_t_005cProcessOptions"><code class="code">\ProcessOptions</code></a></li>
+<li><a href="#g_t_005cProvidesClass-_0026-_005cProvidesPackage"><code class="code">\ProvidesClass</code> & <code class="code">\ProvidesPackage</code></a></li>
+<li><a href="#g_t_005cProvidesFile"><code class="code">\ProvidesFile</code></a></li>
+<li><a href="#g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions"><code class="code">\RequirePackage</code> & <code class="code">\RequirePackageWithOptions</code></a></li>
+</ul>
+<hr>
+<div class="subsection-level-extent" id="g_t_005cAtBeginDvi-_0026-_005cAtEndDvi">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage" accesskey="n" rel="next"><code class="code">\AtEndOfClass</code> & <code class="code">\AtEndOfPackage</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cAtBeginDvi-_0026-_005cAtEndDvi-1"><span>12.14.1 <code class="code">\AtBeginDvi</code> & <code class="code">\AtEndDvi</code><a class="copiable-link" href="#g_t_005cAtBeginDvi-_0026-_005cAtEndDvi-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cAtBeginDvi"></a><a class="anchor" id="g_t_005cAtEndDvi"></a><a class="index-entry-id" id="index-_005cAtBeginDvi"></a>
+<a class="index-entry-id" id="index-_005cAtEndDvi"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\AtBeginDvi{<var class="var">code</var>}
+\AtEndDvi{<var class="var">code</var>}
+</pre></div>
+
+<p><code class="code">\AtBeginDvi</code> saves, in a box register, <var class="var">code</var> to be executed
+at the beginning of the shipout of the first page of the document.
+Despite the name, it applies to DVI, PDF, and XDV output.  It fills
+the <code class="code">shipout/firstpage</code> hook; new code should use that hook
+directly.
+</p>
+<a class="index-entry-id" id="index-package_002c-atenddvi"></a>
+<a class="index-entry-id" id="index-atenddvi-package"></a>
+
+<p>Similarly, <code class="code">\AtEndDvi</code> (previously available only with the
+<code class="code">atenddvi</code> package) is code executed when finalizing the main
+output document.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cCheckCommand" accesskey="n" rel="next"><code class="code">\CheckCommand</code></a>, Previous: <a href="#g_t_005cAtBeginDvi-_0026-_005cAtEndDvi" accesskey="p" rel="prev"><code class="code">\AtBeginDvi</code> & <code class="code">\AtEndDvi</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage-1"><span>12.14.2 <code class="code">\AtEndOfClass</code> & <code class="code">\AtEndOfPackage</code><a class="copiable-link" href="#g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cAtEndOfClass"></a><a class="anchor" id="g_t_005cAtEndOfPackage"></a><a class="index-entry-id" id="index-_005cAtEndOfClass"></a>
+<a class="index-entry-id" id="index-_005cAtEndOfPackage"></a>
+
+<p>Synopses:
+</p>
+<div class="example">
+<pre class="example-preformatted">\AtEndOfClass{<var class="var">code</var>}
+\AtEndOfPackage{<var class="var">code</var>}
+</pre></div>
+
+<p>Hooks to insert <var class="var">code</var> to be executed when LaTeX finishes
+processing the current class resp. package.  
+</p>
+<p>These hooks can be used multiple times; each <code class="code">code</code> segment will
+be executed in the order called.  Many packages and classes use these
+commands.
+</p>
+<p>See also <a class="ref" href="#g_t_005cAtBeginDocument"><code class="code">\AtBeginDocument</code></a>.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cCheckCommand">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cClassError-and-_005cPackageError-and-others" accesskey="n" rel="next"><code class="code">\ClassError</code> and <code class="code">\PackageError</code> and others</a>, Previous: <a href="#g_t_005cAtEndOfClass-_0026-_005cAtEndOfPackage" accesskey="p" rel="prev"><code class="code">\AtEndOfClass</code> & <code class="code">\AtEndOfPackage</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cCheckCommand-1"><span>12.14.3 <code class="code">\CheckCommand</code><a class="copiable-link" href="#g_t_005cCheckCommand-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cCheckCommand"></a>
+<a class="index-entry-id" id="index-new-command_002c-checking-definition-of"></a>
+<a class="index-entry-id" id="index-long-command"></a>
+<a class="index-entry-id" id="index-_005clong-command_002c-checking-for"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\CheckCommand{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}
+\CheckCommand* <span class="r">(same parameters)</span>
+</pre></div>
+
+<p>Like <code class="code">\newcommand</code> (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>) but does
+not define <var class="var">cmd</var>; instead it checks that the current definition of
+<var class="var">cmd</var> is exactly as given by <var class="var">definition</var> and is or is not
+<em class="dfn"><code class="code">\long</code></em> as expected.  A long command is a command that
+accepts <code class="code">\par</code> within an argument.
+</p>
+<p>With the unstarred version of <code class="code">\CheckCommand</code>, <var class="var">cmd</var> is
+expected to be <code class="code">\long</code>; with the starred version, <var class="var">cmd</var> must
+not be <code class="code">\long</code>
+</p>
+<p><code class="code">\CheckCommand</code> raises an error when the check fails.  This
+allows you to check before you start redefining <code class="code">cmd</code> yourself
+that no other package has already redefined this command.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cClassError-and-_005cPackageError-and-others">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cCurrentOption" accesskey="n" rel="next"><code class="code">\CurrentOption</code></a>, Previous: <a href="#g_t_005cCheckCommand" accesskey="p" rel="prev"><code class="code">\CheckCommand</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cClassError-and-_005cPackageError-and-others-1"><span>12.14.4 <code class="code">\ClassError</code> and <code class="code">\PackageError</code> and others<a class="copiable-link" href="#g_t_005cClassError-and-_005cPackageError-and-others-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cClassError"></a><a class="anchor" id="g_t_005cClassWarning"></a><a class="anchor" id="g_t_005cClassWarningNoLine"></a><a class="anchor" id="g_t_005cClassInfo"></a><a class="anchor" id="g_t_005cClassInfoNoLine"></a><a class="anchor" id="g_t_005cPackageError"></a><a class="anchor" id="g_t_005cPackageWarning"></a><a class="anchor" id="g_t_005cPackageWarningNoLine"></a><a class="anchor" id="g_t_005cPackageInfo"></a><a class="anchor" id="g_t_005cPackageInfoNoLine"></a>
+<p>Produce error, warning, and informational messages for classes:
+</p>
+<dl class="table">
+<dt><a class="index-entry-id" id="index-_005cClassWarning"></a>
+<a class="index-entry-id" id="index-_005cClassWarningNoLine"></a>
+<a class="index-entry-id" id="index-_005cClassInfo"></a>
+<a class="index-entry-id" id="index-_005cClassInfoNoLine"></a>
+<a id="index-_005cClassError"></a><span><code class="code">\ClassError{<var class="var">class name</var>}{<var class="var">error-text</var>}{<var class="var">help-text</var>}</code><a class="copiable-link" href="#index-_005cClassError"> ¶</a></span></dt>
+<dt><code class="code">\ClassWarning{<var class="var">class name</var>}{<var class="var">warning-text</var>}</code></dt>
+<dt><code class="code">\ClassWarningNoLine{<var class="var">class name</var>}{<var class="var">warning-text</var>}</code></dt>
+<dt><code class="code">\ClassInfo{<var class="var">class name</var>}{<var class="var">info-text</var>}</code></dt>
+<dt><code class="code">\ClassInfoNoLine{<var class="var">class name</var>}{<var class="var">info-text</var>}</code></dt>
+</dl>
+
+<p>and the same for packages:
+</p><dl class="table">
+<dt><a class="index-entry-id" id="index-_005cPackageWarning"></a>
+<a class="index-entry-id" id="index-_005cPackageWarningNoLine"></a>
+<a class="index-entry-id" id="index-_005cPackageInfo"></a>
+<a class="index-entry-id" id="index-_005cPackageInfoNoLine"></a>
+<a id="index-_005cPackageError"></a><span><code class="code">\PackageError{<var class="var">package name</var>}{<var class="var">error-text</var>}{<var class="var">help-text</var>}</code><a class="copiable-link" href="#index-_005cPackageError"> ¶</a></span></dt>
+<dt><code class="code">\PackageWarning{<var class="var">package name</var>}{<var class="var">warning-text</var>}</code></dt>
+<dt><code class="code">\PackageWarningNoLine{<var class="var">package name</var>}{<var class="var">warning-text</var>}</code></dt>
+<dt><code class="code">\PackageInfo{<var class="var">package name</var>}{<var class="var">info-text</var>}</code></dt>
+<dt><code class="code">\PackageInfoNoLine{<var class="var">package name</var>}{<var class="var">info-text</var>}</code></dt>
+</dl>
+
+<p>For <code class="code">\ClassError</code> and <code class="code">\PackageError</code> the message is
+<var class="var">error-text</var>, followed by TeX’s ‘<code class="code">?</code>’ error prompt. If the
+user then asks for help by typing <code class="code">h</code>, they see the <var class="var">help
+text</var>.
+</p>
+<p>The four <code class="code">Warning</code> commands are similar except that they write
+<var class="var">warning-text</var> on the screen with no error prompt.  The four
+<code class="code">Info</code> commands write <var class="var">info-text</var> only in the transcript
+file.  The <code class="code">NoLine</code> versions omit the number of the line
+generating the message, while the other versions do show that number.
+</p>
+<a class="index-entry-id" id="index-_005cprotect_002c-and-message-text"></a>
+<a class="index-entry-id" id="index-_005cspace_002c-and-message-text"></a>
+<a class="index-entry-id" id="index-_005cMessageBreak_002c-and-message-text"></a>
+<p>To format the messages, including the <var class="var">help-text</var>: use
+<code class="code">\protect</code> to stop a command from expanding, get a line break
+with <code class="code">\MessageBreak</code>, and get a space with <code class="code">\space</code> when a
+space character is ignore, most commonly after a command.
+</p>
+<p>LaTeX appends a period to the messages.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cCurrentOption">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cDeclareOption" accesskey="n" rel="next"><code class="code">\DeclareOption</code></a>, Previous: <a href="#g_t_005cClassError-and-_005cPackageError-and-others" accesskey="p" rel="prev"><code class="code">\ClassError</code> and <code class="code">\PackageError</code> and others</a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cCurrentOption-1"><span>12.14.5 <code class="code">\CurrentOption</code><a class="copiable-link" href="#g_t_005cCurrentOption-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cCurrentOption"></a>
+<a class="index-entry-id" id="index-option_002c-currently-being-processed"></a>
+
+<p>Expands to the name of the option currently being processed.  This can
+only be used within the <var class="var">code</var> argument of either
+<code class="code">\DeclareOption</code> or <code class="code">\DeclareOption*</code>.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cDeclareOption">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cDeclareRobustCommand" accesskey="n" rel="next"><code class="code">\DeclareRobustCommand</code></a>, Previous: <a href="#g_t_005cCurrentOption" accesskey="p" rel="prev"><code class="code">\CurrentOption</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cDeclareOption-1"><span>12.14.6 <code class="code">\DeclareOption</code><a class="copiable-link" href="#g_t_005cDeclareOption-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cDeclareOption"></a>
+<a class="index-entry-id" id="index-class-options-2"></a>
+<a class="index-entry-id" id="index-package-options-1"></a>
+<a class="index-entry-id" id="index-options_002c-class"></a>
+<a class="index-entry-id" id="index-options_002c-package-1"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\DeclareOption{<var class="var">option</var>}{<var class="var">code</var>}
+\DeclareOption*{<var class="var">option</var>}{<var class="var">code</var>}
+</pre></div>
+
+<p>Define an option a user can include in their <code class="code">\documentclass</code>
+command.  For example, a class <code class="code">smcmemo</code> could have an option
+<code class="code">logo</code> allowing users to put the institutional logo on the first
+page. The document would start with
+<code class="code">\documentclass[logo]{smcmemo}</code>. To enable this, the class file
+must contain <code class="code">\DeclareOption{logo}{<var class="var">code</var>}</code> (and later,
+<code class="code">\ProcessOptions</code>).
+</p>
+<a class="index-entry-id" id="index-default-option-processing"></a>
+<a class="index-entry-id" id="index-option-processing-by-default"></a>
+<a class="index-entry-id" id="index-Unused-global-option-warning_002c-handling"></a>
+<p>If you request an option that has not been declared, by default this
+will produce a warning like <code class="code">Unused global option(s):
+[badoption].</code>  This can be changed by using
+<code class="code">\DeclareOption*{<var class="var">code</var>}</code>, which executes <var class="var">code</var> for
+any unknown option.
+</p>
+<p>For example, many classes extend an existing class, using code such as
+<code class="code">\LoadClass{article}</code> (see <a class="pxref" href="#g_t_005cLoadClass">\LoadClass</a>). In this case, it
+makes sense to pass any otherwise-unknown options to the underlying
+class, like this:
+</p>
+<div class="example">
+<pre class="example-preformatted">\DeclareOption*{%
+  \PassOptionsToClass{\CurrentOption}{article}%
+}
+</pre></div>
+
+<p>As another example, our class <code class="code">smcmemo</code> might allow users to keep
+lists of memo recipients in external files, so the user could invoke
+<code class="code">\documentclass[math]{smcmemo}</code> and it will read the file
+<code class="code">math.memo</code>.  This code inputs the file if it exists, while if it
+doesn’t, the option is passed to the <code class="code">article</code> class:
+</p>
+<div class="example">
+<pre class="example-preformatted">\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}
+  {}{%
+  \PassOptionsToClass{\CurrentOption}{article}}}
+</pre></div>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cDeclareRobustCommand">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cExecuteOptions" accesskey="n" rel="next"><code class="code">\ExecuteOptions</code></a>, Previous: <a href="#g_t_005cDeclareOption" accesskey="p" rel="prev"><code class="code">\DeclareOption</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cDeclareRobustCommand-1"><span>12.14.7 <code class="code">\DeclareRobustCommand</code><a class="copiable-link" href="#g_t_005cDeclareRobustCommand-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cDeclareRobustCommand"></a>
+<a class="index-entry-id" id="index-new-command_002c-definition"></a>
+<a class="index-entry-id" id="index-robust-command_002c-defining"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\DeclareRobustCommand{<var class="var">cmd</var>}[<var class="var">num</var>][<var class="var">default</var>]{<var class="var">definition</var>}
+\DeclareRobustCommand* <span class="r">(same parameters</span>
+</pre></div>
+
+<p><code class="code">\DeclareRobustCommand</code> and its starred form are generally like
+<code class="code">\newcommand</code> and <code class="code">\newcommand*</code> (see <a class="pxref" href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code class="code">\newcommand</code> & <code class="code">\renewcommand</code></a>), with the addition that they define a so-called
+<em class="dfn">robust</em> command, even if some code within the <var class="var">definition</var> is
+fragile.  (For a discussion of robust and fragile commands,
+see <a class="pxref" href="#g_t_005cprotect"><code class="code">\protect</code></a>.)
+</p>
+<p>Also unlike <code class="code">\newcommand</code>, these do not give an error if macro
+<var class="var">cmd</var> already exists; instead, a log message is put into the
+transcript file if a command is redefined.  Thus,
+<code class="code">\DeclareRobustCommand</code> can be used to define new robust commands
+or to redefine existing commands, making them robust.
+</p>
+<p>The starred form, <code class="code">\DeclareRobustCommand*</code>, disallows the
+arguments from containing multiple paragraphs, just like the starred
+form of <code class="code">\newcommand</code> and <code class="code">\renewcommand</code>. The meaning of
+the arguments is the same.
+</p>
+<p>Commands defined this way are a bit less efficient than those defined
+using <code class="code">\newcommand</code> so unless the command’s data is fragile and the
+command is used within a moving argument, use <code class="code">\newcommand</code>.
+</p>
+<a class="index-entry-id" id="index-package_002c-etoolbox"></a>
+<a class="index-entry-id" id="index-etoolbox-package"></a>
+
+<a class="index-entry-id" id="index-e_002dTeX_002c-and-robust-commands"></a>
+<a class="index-entry-id" id="index-_005cnewrobustcmd-_0028etoolbox-package_0029"></a>
+<a class="index-entry-id" id="index-_005crenewrobustcmd-_0028etoolbox-package_0029"></a>
+<a class="index-entry-id" id="index-_005cproviderobustcmd-_0028etoolbox-package_0029"></a>
+
+<p>Related to this, the <code class="code">etoolbox</code> package offers three commands
+and their starred forms: <code class="code">\newrobustcmd</code>(<code class="code">*</code>)
+<code class="code">\renewrobustcmd</code>(<code class="code">*</code>), and
+<code class="code">\providerobustcmd</code>(<code class="code">*</code>).  They are similar to
+<code class="code">\newcommand</code>, <code class="code">\renewcommand</code>, and <code class="code">\providecommand</code>
+and their own starred forms, but define a robust <var class="var">cmd</var>. They have
+two possible advantages compared to <code class="code">\DeclareRobustCommand</code>:
+</p>
+<ol class="enumerate">
+<li> They use the low-level e-TeX protection mechanism rather than the
+higher-level LaTeX <code class="code">\protect</code> mechanism, so they do not incur
+the slight loss of performance mentioned above, and
+
+</li><li> They make the same distinction between <code class="code">\new…</code>,
+<code class="code">\renew…</code>, and <code class="code">\provide…</code>, as the standard
+commands. That is, they do not just write a log message when you
+redefine <var class="var">cmd</var> that already exists; you need to use either
+<code class="code">\renew…</code> or <code class="code">\provide…</code>, or you get an error.
+This may or may not be a benefit.
+</li></ol>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cExecuteOptions">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cIfFileExists-_0026-_005cInputIfFileExists" accesskey="n" rel="next"><code class="code">\IfFileExists</code> & <code class="code">\InputIfFileExists</code></a>, Previous: <a href="#g_t_005cDeclareRobustCommand" accesskey="p" rel="prev"><code class="code">\DeclareRobustCommand</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cExecuteOptions-1"><span>12.14.8 <code class="code">\ExecuteOptions</code><a class="copiable-link" href="#g_t_005cExecuteOptions-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cExecuteOptions"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\ExecuteOptions{<var class="var">option-list</var>}
+</pre></div>
+
+<a class="index-entry-id" id="index-_005cds_0040option"></a>
+<p>For each option <var class="var">option</var> in <var class="var">option-list</var>, in order, this
+command executes the command <code class="code">\ds@<var class="var">option</var></code>.  If this
+command is not defined then that option is silently ignored.
+</p>
+<p>This can be used to provide a default option list before
+<code class="code">\ProcessOptions</code>.  For example, if in a class file you want the
+default to be 11pt fonts then you could specify
+<code class="code">\ExecuteOptions{11pt}\ProcessOptions\relax</code>.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cIfFileExists-_0026-_005cInputIfFileExists">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cLoadClass-_0026-_005cLoadClassWithOptions" accesskey="n" rel="next"><code class="code">\LoadClass</code> & <code class="code">\LoadClassWithOptions</code></a>, Previous: <a href="#g_t_005cExecuteOptions" accesskey="p" rel="prev"><code class="code">\ExecuteOptions</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cIfFileExists-_0026-_005cInputIfFileExists-1"><span>12.14.9 <code class="code">\IfFileExists</code> & <code class="code">\InputIfFileExists</code><a class="copiable-link" href="#g_t_005cIfFileExists-_0026-_005cInputIfFileExists-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cIfFileExists"></a><a class="anchor" id="g_t_005cInputIfFileExists"></a><a class="index-entry-id" id="index-_005cIfFileExists"></a>
+<a class="index-entry-id" id="index-_005cInputIfFileExists"></a>
+
+<p>Synopses:
+</p>
+<div class="example">
+<pre class="example-preformatted">\IfFileExists{<var class="var">filename</var>}{<var class="var">true-code</var>}{<var class="var">false-code</var>}
+\InputIfFileExists{<var class="var">filename</var>}{<var class="var">true-code</var>}{<var class="var">false-code</var>}
+</pre></div>
+
+<p><code class="code">\IfFileExists</code> executes <var class="var">true-code</var> if LaTeX finds the
+file <samp class="file"><var class="var">filename</var></samp> or <var class="var">false-code</var> otherwise.  In the
+first case it executing <var class="var">true-code</var> and then inputs the file.
+Thus the command
+</p>
+<div class="example">
+<pre class="example-preformatted">\IfFileExists{img.pdf}{%
+  \includegraphics{img.pdf}}
+  {\typeout{!! img.pdf not found}
+</pre></div>
+
+<p>will include the graphic <samp class="file">img.pdf</samp> if it is found and otherwise
+give a warning.
+</p>
+<p>This command looks for the file in all search paths that LaTeX
+uses, not only in the current directory.  To look only in the current
+directory do something like
+<code class="code">\IfFileExists{./<var class="var">filename</var>}{<var class="var">true-code</var>}{<var class="var">false-code</var>}</code>.
+If you ask for a filename without a <code class="code">.tex</code> extension then
+LaTeX will first look for the file by appending the <code class="code">.tex</code>;
+for more on how LaTeX handles file extensions see <a class="ref" href="#g_t_005cinput"><code class="code">\input</code></a>.
+</p>
+<p><code class="code">\InputIfFileExists</code> is similar, but, as the name states,
+automatically <code class="code">\input</code>s <var class="var">filename</var> if it exists.  The
+<var class="var">true-code</var> is executed just before the <code class="code">\input</code>; if the file
+doesn’t exist, the <var class="var">false-code</var> is executed.  An example:
+</p>
+<div class="example">
+<pre class="example-preformatted">\InputIfFileExists{mypkg.cfg}
+  {\PackageInfo{Loading mypkg.cfg for configuration information}}
+  {\PackageInfo{No mypkg.cfg found}}
+</pre></div>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cLoadClass-_0026-_005cLoadClassWithOptions">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cNeedsTeXFormat" accesskey="n" rel="next"><code class="code">\NeedsTeXFormat</code></a>, Previous: <a href="#g_t_005cIfFileExists-_0026-_005cInputIfFileExists" accesskey="p" rel="prev"><code class="code">\IfFileExists</code> & <code class="code">\InputIfFileExists</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cLoadClass-_0026-_005cLoadClassWithOptions-1"><span>12.14.10 <code class="code">\LoadClass</code> & <code class="code">\LoadClassWithOptions</code><a class="copiable-link" href="#g_t_005cLoadClass-_0026-_005cLoadClassWithOptions-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cLoadClass"></a><a class="anchor" id="g_t_005cLoadClassWithOptions"></a><a class="index-entry-id" id="index-_005cLoadClass"></a>
+<a class="index-entry-id" id="index-_005cLoadClassWithOptions"></a>
+
+<p>Synopses:
+</p>
+<div class="example">
+<pre class="example-preformatted">\LoadClass[<var class="var">options-list</var>]{<var class="var">class-name</var>}[<var class="var">release-date</var>]
+\LoadClassWithOptions{<var class="var">class-name</var>}[<var class="var">release-date</var>]
+</pre></div>
+
+<p>Load a class, as with
+<code class="code">\documentclass[<var class="var">options-list</var>]{<var class="var">class-name</var>}[<var class="var">release-date</var>]</code>.
+An example: <code class="code">\LoadClass[twoside]{article}</code>.
+</p>
+<p>The <var class="var">options-list</var>, if present, is a comma-separated list.  The
+<var class="var">release-date</var> is also optional.  If present it must have the form
+<code class="code">YYYY/MM/DD</code>.
+</p>
+<p>If you request <var class="var">release-date</var> and the date of the package
+installed on your system is earlier, then you get a warning on the
+screen and in the log like this:
+</p>
+<div class="example">
+<pre class="example-preformatted">You have requested, on input line 4, version `2038/01/19' of
+document class article, but only version `2014/09/29 v1.4h
+Standard LaTeX document class' is available.
+</pre></div>
+
+<a class="index-entry-id" id="index-_005cPassOptionsToClass_002c-ignoring"></a>
+<p>The command version <code class="code">\LoadClassWithOptions</code> uses the list of
+options for the current class.  This means it ignores any options passed
+to it via <code class="code">\PassOptionsToClass</code>.  This is a convenience command
+that lets you build classes on existing ones, such as the standard
+<code class="code">article</code> class, without having to track which options were passed.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cNeedsTeXFormat">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cOptionNotUsed" accesskey="n" rel="next"><code class="code">\OptionNotUsed</code></a>, Previous: <a href="#g_t_005cLoadClass-_0026-_005cLoadClassWithOptions" accesskey="p" rel="prev"><code class="code">\LoadClass</code> & <code class="code">\LoadClassWithOptions</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cNeedsTeXFormat-1"><span>12.14.11 <code class="code">\NeedsTeXFormat</code><a class="copiable-link" href="#g_t_005cNeedsTeXFormat-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cNeedsTeXFormat"></a>
+<a class="index-entry-id" id="index-format_002c-requiring"></a>
+<a class="index-entry-id" id="index-version-of-format_002c-requiring"></a>
+<a class="index-entry-id" id="index-date-of-format_002c-requiring"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\NeedsTeXFormat{<var class="var">format</var>}[<var class="var">format-date</var>]
+</pre></div>
+
+<p>Specifies the format that this class must be run under.  Often issued
+as the first line of a class file, and most often used as:
+<code class="code">\NeedsTeXFormat{LaTeX2e}</code>.  When a document using that class
+is processed, the format being run must exactly match the <var class="var">format</var>
+name given, including case.  If it does not match then execution stops
+with an error like ‘<samp class="samp">This file needs format `LaTeX2e' but this is
+`plain'.</samp>’.
+</p>
+<p>To require a version of the format that you know to have certain
+features, include the optional <var class="var">format-date</var> on which those
+features were implemented.  If present, it must be in the form
+<code class="code">YYYY/MM/DD</code>.  If the format version installed on your system is
+earlier than <var class="var">format date</var> then you get a warning like this.
+</p>
+<div class="example">
+<pre class="example-preformatted">You have requested release `2038/01/20' of LaTeX, but only
+release `2016/02/01' is available.
+</pre></div>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cOptionNotUsed">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage" accesskey="n" rel="next"><code class="code">\PassOptionsToClass</code> & <code class="code">\PassOptionsToPackage</code></a>, Previous: <a href="#g_t_005cNeedsTeXFormat" accesskey="p" rel="prev"><code class="code">\NeedsTeXFormat</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cOptionNotUsed-1"><span>12.14.12 <code class="code">\OptionNotUsed</code><a class="copiable-link" href="#g_t_005cOptionNotUsed-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cOptionNotUsed"></a>
+
+<a class="index-entry-id" id="index-unused-options_002c-adding-to-list"></a>
+<a class="index-entry-id" id="index-options_002c-list-of-unused"></a>
+<p>Adds the current option to the list of unused options.  Can only be used
+within the <var class="var">code</var> argument of either <code class="code">\DeclareOption</code> or
+<code class="code">\DeclareOption*</code>.
+</p>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cProcessOptions" accesskey="n" rel="next"><code class="code">\ProcessOptions</code></a>, Previous: <a href="#g_t_005cOptionNotUsed" accesskey="p" rel="prev"><code class="code">\OptionNotUsed</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage-1"><span>12.14.13 <code class="code">\PassOptionsToClass</code> & <code class="code">\PassOptionsToPackage</code><a class="copiable-link" href="#g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cPassOptionsToClass"></a><a class="anchor" id="g_t_005cPassOptionsToPackage"></a><a class="index-entry-id" id="index-_005cPassOptionsToClass"></a>
+<a class="index-entry-id" id="index-_005cPassOptionsToPackage"></a>
+
+<p>Synopses:
+</p>
+<div class="example">
+<pre class="example-preformatted">\PassOptionsToClass{<var class="var">options</var>}{<var class="var">clsname</var>}
+\PassOptionsToPackage{<var class="var">option</var>}{<var class="var">pkgname</var>}
+</pre></div>
+
+<p>Adds the options in the comma-separated list <var class="var">options</var> to the
+options used by any future <code class="code">\RequirePackage</code> or
+<code class="code">\usepackage</code> command for the class <var class="var">clsname</var> or the package
+<var class="var">pkgname</var>, respectively.
+</p>
+<a class="index-entry-id" id="index-option-clash"></a>
+<a class="index-entry-id" id="index-conflict-between-package-options"></a>
+<p>The reason for these commands is that although you may load a package
+any number of times with no options, if you can specify options only
+the first time you load the package.  Loading a package with options
+more than once will get you an error like <code class="code">Option clash for
+package foo.</code>. LaTeX throws an error even if there is no conflict
+between the options.
+</p>
+<p>If your own code is bringing in a package twice then you can combine
+the calls; for example, replacing the two
+</p>
+<div class="example">
+<pre class="example-preformatted">\RequirePackage[landscape]{geometry}
+\RequirePackage[margins=1in]{geometry}
+</pre></div>
+
+<p>with the single command
+</p>
+<div class="example">
+<pre class="example-preformatted">\RequirePackage[landscape,margins=1in]{geometry}
+</pre></div>
+
+<p>However, suppose you are loading <samp class="file">firstpkg</samp> and inside that
+package it loads <samp class="file">secondpkg</samp>, and you need <code class="code">secondpkg</code> to be
+loaded with option <code class="code">draft</code>.  Then before load the first package
+you must tell LaTeX about the desired options for the second
+package, like this:
+</p>
+<div class="example">
+<pre class="example-preformatted">\PassOptionsToPackage{draft}{secondpkg}
+\RequirePackage{firstpkg}
+</pre></div>
+
+<p>If <code class="code">firstpkg.sty</code> loads an option in conflict with what you want
+then you may have to alter its source, or yours.
+</p>
+<p>These commands are useful for general users as well as class and package
+writers.  For instance, suppose a user wants to load the <code class="code">graphicx</code>
+package with the option <code class="code">draft</code> and also wants to use a class
+<code class="code">foo</code> that loads the <code class="code">graphicx</code> package, but without that
+option. The user could start their LaTeX file with
+<code class="code">\PassOptionsToPackage{draft}{graphicx} \documentclass{foo}</code>.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cProcessOptions">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cProvidesClass-_0026-_005cProvidesPackage" accesskey="n" rel="next"><code class="code">\ProvidesClass</code> & <code class="code">\ProvidesPackage</code></a>, Previous: <a href="#g_t_005cPassOptionsToClass-_0026-_005cPassOptionsToPackage" accesskey="p" rel="prev"><code class="code">\PassOptionsToClass</code> & <code class="code">\PassOptionsToPackage</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cProcessOptions-1"><span>12.14.14 <code class="code">\ProcessOptions</code><a class="copiable-link" href="#g_t_005cProcessOptions-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cProcessOptions"></a>
+<a class="index-entry-id" id="index-processing-options"></a>
+<a class="index-entry-id" id="index-options_002c-processing"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\ProcessOptions<var class="var">\@options</var>
+\ProcessOptions*<var class="var">\@options</var>
+</pre></div>
+
+<p>Execute the code for each option that the user has invoked.  Invoke it
+in the class file as <code class="code">\ProcessOptions\relax</code> (because of the
+existence of the starred version, described below).
+</p>
+<a class="index-entry-id" id="index-options_002c-global-and-local"></a>
+<a class="index-entry-id" id="index-local-options"></a>
+<a class="index-entry-id" id="index-global-options-2"></a>
+<p>Options come in two types.  <em class="dfn">Local options</em> have been specified
+for this particular package in <code class="code">\usepackage[<var class="var">options</var>]</code>,
+<code class="code">\RequirePackage[<var class="var">options</var>]</code>, or the <var class="var">options</var> argument
+of <code class="code">\PassOptionsToPackage{<var class="var">options</var>}</code>. <em class="dfn">Global options</em>
+are those given by the class user in
+<code class="code">\documentclass[<var class="var">options</var>]</code>. If an option is specified both
+locally and globally then it is local.
+</p>
+<p>When <code class="code">\ProcessOptions</code> is called for a package <samp class="file">pkg.sty</samp>, the
+following happens:
+</p>
+<ol class="enumerate">
+<li> For each option <var class="var">option</var> so far declared with
+<code class="code">\DeclareOption</code>, <code class="code">\ProcessOptions</code> looks to see if that
+option is either global or local for <code class="code">pkg</code>. If so, then it
+executes the declared code.  This is done in the order in which these
+options were given in <samp class="file">pkg.sty</samp>.
+
+</li><li> For each remaining local option, it executes the command
+<code class="code">\ds@</code><var class="var">option</var> if it has been defined somewhere (other than by
+a <code class="code">\DeclareOption</code>); otherwise, it executes the default option code
+given in <code class="code">\DeclareOption*</code>. If no default option code has been
+declared then it gives an error message.  This is done in the order in
+which these options were specified.
+</li></ol>
+
+<p>When <code class="code">\ProcessOptions</code> is called for a class it works in the same
+way except that all options are local, and the default <var class="var">code</var> for
+<code class="code">\DeclareOption*</code> is <code class="code">\OptionNotUsed</code> rather than an error.
+</p>
+<p>The starred version <code class="code">\ProcessOptions*</code> executes the
+options in the order specified in the calling commands, rather than in
+the order of declaration in the class or package. For a package, this
+means that the global options are processed first.
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cProvidesClass-_0026-_005cProvidesPackage">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cProvidesFile" accesskey="n" rel="next"><code class="code">\ProvidesFile</code></a>, Previous: <a href="#g_t_005cProcessOptions" accesskey="p" rel="prev"><code class="code">\ProcessOptions</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cProvidesClass-_0026-_005cProvidesPackage-1"><span>12.14.15 <code class="code">\ProvidesClass</code> & <code class="code">\ProvidesPackage</code><a class="copiable-link" href="#g_t_005cProvidesClass-_0026-_005cProvidesPackage-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cProvidesClass"></a><a class="anchor" id="g_t_005cProvidesPackage"></a><a class="index-entry-id" id="index-_005cProvidesClass"></a>
+<a class="index-entry-id" id="index-_005cProvidesPackage"></a>
+
+<p>Synopses:
+</p>
+<div class="example">
+<pre class="example-preformatted">\ProvidesClass{<var class="var">clsname</var>}[<var class="var">release-date</var> <span class="r">[</span><var class="var">info-text</var><span class="r">]</span>]
+\ProvidesPackage{<var class="var">pkgname</var>}[<var class="var">release-date</var> <span class="r">[</span><var class="var">info-text</var><span class="r">]</span>]
+</pre></div>
+
+<p>Identifies the class or package being defined, printing a message to
+the screen and the log file.
+</p>
+<p>When you load a class or package, for example with
+<code class="code">\documentclass{smcmemo}</code> or <code class="code">\usepackage{test}</code>,
+LaTeX inputs a file (<samp class="file">smcmemo.cls</samp> and <samp class="file">test.sty</samp>,
+respectively).  If the name of the file does not match the class or
+package name declared in it then you get a warning.  Thus, if you
+invoke <code class="code">\documentclass{smcmemo}</code>, and the file
+<samp class="file">smcmemo.cls</samp> has the statement <code class="code">\ProvidesClass{foo}</code> then
+you get a warning like <code class="code">You have requested document class
+`smcmemo', but the document class provides 'foo'.</code>  This warning does
+not prevent LaTeX from processing the rest of the class file
+normally.
+</p>
+<p>If you include the optional argument then you must include a date,
+before any spaces, of the form <code class="code">YYYY/MM/DD</code>. The rest of the
+optional argument is free-form, although it traditionally identifies
+the class. It is written to the screen during compilation and to the
+log file.  Thus, if your file <samp class="file">smcmemo.cls</samp> contains the line
+<code class="code">\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC memo class]</code> and
+your document’s first line is <code class="code">\documentclass{smcmemo}</code> then
+you will see <code class="code">Document Class: smcmemo 2008/06/01 v1.0 SMC memo
+class</code>.
+</p>
+<p>The date in the optional argument allows class and package users to
+ask to be warned if the version of the class or package is earlier
+than <var class="var">release date</var>.  For instance, a user could enter
+<code class="code">\documentclass{smcmemo}[2018/10/12]</code> or
+<code class="code">\usepackage{foo}[[2017/07/07]]</code> to require a class or package
+with certain features by specifying that it must be released no
+earlier than the given date.  Perhaps more importantly, the date
+serves as documentation of the last release. (In practice, package
+users rarely include a date, and class users almost never do.)
+</p>
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cProvidesFile">
+<div class="nav-panel">
+<p>
+Next: <a href="#g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions" accesskey="n" rel="next"><code class="code">\RequirePackage</code> & <code class="code">\RequirePackageWithOptions</code></a>, Previous: <a href="#g_t_005cProvidesClass-_0026-_005cProvidesPackage" accesskey="p" rel="prev"><code class="code">\ProvidesClass</code> & <code class="code">\ProvidesPackage</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cProvidesFile-1"><span>12.14.16 <code class="code">\ProvidesFile</code><a class="copiable-link" href="#g_t_005cProvidesFile-1"> ¶</a></span></h4>
+
+<a class="index-entry-id" id="index-_005cProvidesFile"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\ProvidesFile{<var class="var">filename</var>}[<var class="var">info-text</var>]
+</pre></div>
+
+<p>Declare a file other than the main class and package files, such as a
+configuration or font definition file.  It writes the given
+information to the log file, essentially like <code class="code">\ProvidesClass</code>
+and <code class="code">\ProvidesPackage</code> (see the previous section).
+</p>
+<p>For example:
+</p>
+<div class="example">
+<pre class="example-preformatted">\ProvidesFile{smcmemo.cfg}[2017/10/12 config file for smcmemo.cls]
+</pre></div>
+
+<p>writes this into the log:
+</p>
+<div class="example">
+<pre class="example-preformatted">File: smcmemo.cfg 2017/10/12 config file for smcmemo.cls
+</pre></div>
+
+
+<hr>
+</div>
+<div class="subsection-level-extent" id="g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions">
+<div class="nav-panel">
+<p>
+Previous: <a href="#g_t_005cProvidesFile" accesskey="p" rel="prev"><code class="code">\ProvidesFile</code></a>, Up: <a href="#Class-and-package-commands" accesskey="u" rel="up">Class and package commands</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<h4 class="subsection" id="g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions-1"><span>12.14.17 <code class="code">\RequirePackage</code> & <code class="code">\RequirePackageWithOptions</code><a class="copiable-link" href="#g_t_005cRequirePackage-_0026-_005cRequirePackageWithOptions-1"> ¶</a></span></h4>
+
+<a class="anchor" id="g_t_005cRequirePackage"></a><a class="anchor" id="g_t_005cRequirePackageWithOptions"></a><a class="index-entry-id" id="index-_005cRequirePackage"></a>
+<a class="index-entry-id" id="index-_005cRequirePackageWithOptions"></a>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example-preformatted">\RequirePackage[<var class="var">option-list</var>]{<var class="var">pkgname</var>}[<var class="var">release-date</var>]
+\RequirePackageWithOptions{<var class="var">pkgname</var>}[<var class="var">release-date</var>]
+</pre></div>
+
+<p>Load a package, like the command <code class="code">\usepackage</code> (see <a class="pxref" href="#Additional-packages">Additional packages</a>). An example:<br>
+<code class="code">\RequirePackage[landscape,margin=1in]{geometry}</code>
+</p>
+<p>The initial optional argument <var class="var">option-list</var>, if present, must be a
+comma-separated list.  The trailing optional argument
+<var class="var">release-date</var>, if present, must have the form <code class="code">YYYY/MM/DD</code>.
+If the release date of the package as installed on your system is
+earlier than <var class="var">release-date</var> then you get a warning like ‘<samp class="samp">You
+have requested, on input line 9, version `2017/07/03' of package
+jhtest, but only version `2000/01/01' is available</samp>’.
+</p>
+<p>The <code class="code">\RequirePackageWithOptions</code> variant uses the list of options
+for the current class.  This means it ignores any options passed to it
+via <code class="code">\PassOptionsToClass</code>.  This is a convenience command to
+allow easily building classes on existing ones without having to track
+which options were passed.
+</p>
+<p>The difference between <code class="code">\usepackage</code> and <code class="code">\RequirePackage</code>
+is small.  The <code class="code">\usepackage</code> command is intended to be used in
+documents, while <code class="code">\RequirePackage</code> is intended for package and
+class files.  The most significant difference in practice is that
+<code class="code">\RequirePackage</code> can be used in a document before the
+<code class="code">\documentclass</code> command, while <code class="code">\usepackage</code> gives an error
+there. The most common need for this nowadays is for the
+<code class="code">\DocumentMetadata</code> command (see <a class="pxref" href="#g_t_005cDocumentMetadata"><code class="code">\DocumentMetadata</code>: Producing tagged PDF output</a>).
+</p>
+<p>The LaTeX development team strongly recommends use of these and
+related commands over Plain TeX’s <code class="code">\input</code>; see the Class
+Guide (<a class="url" href="https://ctan.org/pkg/clsguide">https://ctan.org/pkg/clsguide</a>).
+</p>
+
+<hr>
+</div>
+</div>
+</div>
 <div class="chapter-level-extent" id="Counters">
 <div class="nav-panel">
 <p>
 Next: <a href="#Lengths" accesskey="n" rel="next">Lengths</a>, Previous: <a href="#Definitions" accesskey="p" rel="prev">Definitions</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Counters-1">13 Counters</h2>
+<h2 class="chapter" id="Counters-1"><span>13 Counters<a class="copiable-link" href="#Counters-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-counters_002c-a-list-of"></a>
 <a class="index-entry-id" id="index-variables_002c-a-list-of"></a>
@@ -12054,7 +12841,6 @@
 </p>
 
 
-
 <ul class="mini-toc">
 <li><a href="#g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol" accesskey="1"><code class="code">\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</a></li>
 <li><a href="#g_t_005cusecounter" accesskey="2"><code class="code">\usecounter</code></a></li>
@@ -12071,7 +12857,7 @@
 <p>
 Next: <a href="#g_t_005cusecounter" accesskey="n" rel="next"><code class="code">\usecounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol_003a-Printing-counters">13.1 <code class="code">\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</h3>
+<h3 class="section" id="g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol_003a-Printing-counters"><span>13.1 <code class="code">\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters<a class="copiable-link" href="#g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol_003a-Printing-counters"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-counters_002c-printing"></a>
 
@@ -12085,35 +12871,35 @@
 start with a backslash.
 </p>
 <dl class="ftable">
-<dt id='index-_005calph_007bcounter_007d'><span><code class="code">\alph{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005calph_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005calph_007bcounter_007d"></a><span><code class="code">\alph{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005calph_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Print the value of <var class="var">counter</var> in lowercase letters: ‘a’, ‘b’,
 <small class="enddots">...</small> If the counter’s value is less than 1 or more than 26 then
 you get ‘<samp class="samp">LaTeX Error: Counter too large.</samp>’
 </p>
 </dd>
-<dt id='index-_005cAlph_007bcounter_007d'><span><code class="code">\Alph{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005cAlph_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005cAlph_007bcounter_007d"></a><span><code class="code">\Alph{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005cAlph_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Print in uppercase letters: ‘A’, ‘B’, <small class="enddots">...</small> If the counter’s value
 is less than 1 or more than 26 then you get ‘<samp class="samp">LaTeX Error: Counter
 too large.</samp>’
 </p>
 </dd>
-<dt id='index-_005carabic_007bcounter_007d'><span><code class="code">\arabic{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005carabic_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005carabic_007bcounter_007d"></a><span><code class="code">\arabic{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005carabic_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Print in Arabic numbers such as ‘<samp class="samp">5</samp>’ or ‘<samp class="samp">-2</samp>’.
 </p>
 </dd>
-<dt id='index-_005croman_007bcounter_007d'><span><code class="code">\roman{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005croman_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005croman_007bcounter_007d"></a><span><code class="code">\roman{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005croman_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Print in lowercase roman numerals: ‘i’, ‘ii’, <small class="enddots">...</small> If the
 counter’s value is less than 1 then you get no warning or error but
 LaTeX does not print anything in the output.
 </p>
 </dd>
-<dt id='index-_005cRoman_007bcounter_007d'><span><code class="code">\Roman{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005cRoman_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005cRoman_007bcounter_007d"></a><span><code class="code">\Roman{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005cRoman_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Print in uppercase roman numerals: ‘I’, ‘II’, <small class="enddots">...</small> If the
 counter’s value is less than 1 then you get no warning or error but
 LaTeX does not print anything in the output.
 </p>
 </dd>
-<dt id='index-_005cfnsymbol_007bcounter_007d'><span><code class="code">\fnsymbol{<var class="var">counter</var>}</code><a class="copiable-link" href='#index-_005cfnsymbol_007bcounter_007d'> ¶</a></span></dt>
+<dt><a id="index-_005cfnsymbol_007bcounter_007d"></a><span><code class="code">\fnsymbol{<var class="var">counter</var>}</code><a class="copiable-link" href="#index-_005cfnsymbol_007bcounter_007d"> ¶</a></span></dt>
 <dd><p>Prints the value of <var class="var">counter</var> using a sequence of nine symbols that
 are traditionally used for labeling footnotes.  The value of
 <var class="var">counter</var> should be between 1 and 9, inclusive.  If the
@@ -12148,7 +12934,7 @@
 <p>
 Next: <a href="#g_t_005cvalue" accesskey="n" rel="next"><code class="code">\value</code></a>, Previous: <a href="#g_t_005calph-_005cAlph-_005carabic-_005croman-_005cRoman-_005cfnsymbol" accesskey="p" rel="prev"><code class="code">\alph \Alph \arabic \roman \Roman \fnsymbol</code>: Printing counters</a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cusecounter-1">13.2 <code class="code">\usecounter</code></h3>
+<h3 class="section" id="g_t_005cusecounter-1"><span>13.2 <code class="code">\usecounter</code><a class="copiable-link" href="#g_t_005cusecounter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cusecounter"></a>
 <a class="index-entry-id" id="index-list-items_002c-specifying-counter"></a>
@@ -12190,7 +12976,7 @@
 <p>
 Next: <a href="#g_t_005csetcounter" accesskey="n" rel="next"><code class="code">\setcounter</code></a>, Previous: <a href="#g_t_005cusecounter" accesskey="p" rel="prev"><code class="code">\usecounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cvalue-1">13.3 <code class="code">\value</code></h3>
+<h3 class="section" id="g_t_005cvalue-1"><span>13.3 <code class="code">\value</code><a class="copiable-link" href="#g_t_005cvalue-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cvalue"></a>
 <a class="index-entry-id" id="index-counters_002c-getting-value-of"></a>
@@ -12239,7 +13025,7 @@
 <p>
 Next: <a href="#g_t_005caddtocounter" accesskey="n" rel="next"><code class="code">\addtocounter</code></a>, Previous: <a href="#g_t_005cvalue" accesskey="p" rel="prev"><code class="code">\value</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csetcounter-1">13.4 <code class="code">\setcounter</code></h3>
+<h3 class="section" id="g_t_005csetcounter-1"><span>13.4 <code class="code">\setcounter</code><a class="copiable-link" href="#g_t_005csetcounter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csetcounter"></a>
 <a class="index-entry-id" id="index-counters_002c-setting"></a>
@@ -12272,7 +13058,7 @@
 <p>
 Next: <a href="#g_t_005crefstepcounter" accesskey="n" rel="next"><code class="code">\refstepcounter</code></a>, Previous: <a href="#g_t_005csetcounter" accesskey="p" rel="prev"><code class="code">\setcounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005caddtocounter-1">13.5 <code class="code">\addtocounter</code></h3>
+<h3 class="section" id="g_t_005caddtocounter-1"><span>13.5 <code class="code">\addtocounter</code><a class="copiable-link" href="#g_t_005caddtocounter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005caddtocounter"></a>
 
@@ -12301,7 +13087,7 @@
 <p>
 Next: <a href="#g_t_005cstepcounter" accesskey="n" rel="next"><code class="code">\stepcounter</code></a>, Previous: <a href="#g_t_005caddtocounter" accesskey="p" rel="prev"><code class="code">\addtocounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005crefstepcounter-1">13.6 <code class="code">\refstepcounter</code></h3>
+<h3 class="section" id="g_t_005crefstepcounter-1"><span>13.6 <code class="code">\refstepcounter</code><a class="copiable-link" href="#g_t_005crefstepcounter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005crefstepcounter"></a>
 
@@ -12330,7 +13116,7 @@
 <p>
 Next: <a href="#g_t_005cday-_0026-_005cmonth-_0026-_005cyear" accesskey="n" rel="next"><code class="code">\day</code> & <code class="code">\month</code> & <code class="code">\year</code></a>, Previous: <a href="#g_t_005crefstepcounter" accesskey="p" rel="prev"><code class="code">\refstepcounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cstepcounter-1">13.7 <code class="code">\stepcounter</code></h3>
+<h3 class="section" id="g_t_005cstepcounter-1"><span>13.7 <code class="code">\stepcounter</code><a class="copiable-link" href="#g_t_005cstepcounter-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cstepcounter"></a>
 
@@ -12357,7 +13143,7 @@
 <p>
 Previous: <a href="#g_t_005cstepcounter" accesskey="p" rel="prev"><code class="code">\stepcounter</code></a>, Up: <a href="#Counters" accesskey="u" rel="up">Counters</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cday-_0026-_005cmonth-_0026-_005cyear-1">13.8 <code class="code">\day</code> & <code class="code">\month</code> & <code class="code">\year</code></h3>
+<h3 class="section" id="g_t_005cday-_0026-_005cmonth-_0026-_005cyear-1"><span>13.8 <code class="code">\day</code> & <code class="code">\month</code> & <code class="code">\year</code><a class="copiable-link" href="#g_t_005cday-_0026-_005cmonth-_0026-_005cyear-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cday"></a><a class="anchor" id="g_t_005cmonth"></a><a class="anchor" id="g_t_005cyear"></a><a class="index-entry-id" id="index-_005cday"></a>
 <a class="index-entry-id" id="index-_005cmonth"></a>
@@ -12392,7 +13178,7 @@
 <p>
 Next: <a href="#Making-paragraphs" accesskey="n" rel="next">Making paragraphs</a>, Previous: <a href="#Counters" accesskey="p" rel="prev">Counters</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Lengths-1">14 Lengths</h2>
+<h2 class="chapter" id="Lengths-1"><span>14 Lengths<a class="copiable-link" href="#Lengths-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-lengths_002c-defining-and-using"></a>
 
@@ -12425,11 +13211,11 @@
   \fboxsep=0pt\fbox{\hbox to #1{#2}}} 
 </pre></div>
 
-<p>This example uses those commands to show a black bar 100 points
-long between ‘<samp class="samp">XXX</samp>’ and ‘<samp class="samp">YYY</samp>’.  This length is rigid.
+<p>This next example uses those commands to show a black bar 100 points
+long between ‘<samp class="samp">ABC</samp>’ and ‘<samp class="samp">XYZ</samp>’.  This length is rigid.
 </p>
 <div class="example">
-<pre class="example-preformatted">XXX\showhbox{100pt}{\blackbar{100pt}}YYY
+<pre class="example-preformatted">ABC\showhbox{100pt}{\blackbar{100pt}}XYZ
 </pre></div>
 
 <p>As for rubber lengths, shrinking is simpler one: with <code class="code">1cm minus
@@ -12439,10 +13225,10 @@
 98 points between the two bars.
 </p>
 <div class="example">
-<pre class="example-preformatted">XXX\showhbox{300pt}{%
+<pre class="example-preformatted">ABC\showhbox{300pt}{%
   \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY
 
-XXX\showhbox{300pt}{%
+ABC\showhbox{300pt}{%
   \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY
 </pre></div>
 
@@ -12457,10 +13243,10 @@
 producing a space of 110 points between the bars.
 </p>
 <div class="example">
-<pre class="example-preformatted">XXX\showhbox{300pt}{%
+<pre class="example-preformatted">ABC\showhbox{300pt}{%
   \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY
 
-XXX\showhbox{300pt}{%
+ABC\showhbox{300pt}{%
   \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY
 </pre></div>
 
@@ -12476,7 +13262,7 @@
 stretch or shrink in proportion.
 </p>
 <div class="example">
-<pre class="example-preformatted">XXX\showhbox{300pt}{%
+<pre class="example-preformatted">ABC\showhbox{300pt}{%
   \blackbar{100pt}%  left
   \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}%  middle
   \blackbar{100pt}}YYY  % right
@@ -12491,7 +13277,7 @@
 <p>The <code class="code">plus</code> or <code class="code">minus</code> component of a rubber length can contain
 a <em class="dfn">fill</em> component, as in <code class="code">1in plus2fill</code>.  This gives the
 length infinite stretchability or shrinkability so that TeX could set
-it to any distance.  Here the two figures will be equal-spaced across
+it to any distance.  Here the two figures will be equally spaced across
 the page.
 </p>
 <div class="example">
@@ -12530,7 +13316,7 @@
 <p>
 Next: <a href="#g_t_005csetlength" accesskey="n" rel="next"><code class="code">\setlength</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Units-of-length-1">14.1 Units of length</h3>
+<h3 class="section" id="Units-of-length-1"><span>14.1 Units of length<a class="copiable-link" href="#Units-of-length-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-units_002c-of-length"></a>
 
@@ -12538,23 +13324,23 @@
 math mode.
 </p>
 <dl class="ftable">
-<dt id='index-pt'><span><code class="code">pt</code><a class="copiable-link" href='#index-pt'> ¶</a></span></dt>
+<dt><a id="index-pt"></a><span><code class="code">pt</code><a class="copiable-link" href="#index-pt"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-point"></a>
 <a class="anchor" id="units-of-length-pt"></a><p>Point, 1/72.27 inch.  The (approximate) conversion to metric units
 is 1<span class="dmn">point</span> = .35146<span class="dmn">mm</span> = .035146<span class="dmn">cm</span>. 
 </p>
 </dd>
-<dt id='index-pc'><span><code class="code">pc</code><a class="copiable-link" href='#index-pc'> ¶</a></span></dt>
+<dt><a id="index-pc"></a><span><code class="code">pc</code><a class="copiable-link" href="#index-pc"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-pica"></a>
 <a class="anchor" id="units-of-length-pc"></a><p>Pica, 12 pt
 </p>
 </dd>
-<dt id='index-in'><span><code class="code">in</code><a class="copiable-link" href='#index-in'> ¶</a></span></dt>
+<dt><a id="index-in"></a><span><code class="code">in</code><a class="copiable-link" href="#index-in"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-inch"></a>
 <a class="anchor" id="units-of-length-in"></a><p>Inch, 72.27 pt
 </p>
 </dd>
-<dt id='index-bp'><span><code class="code">bp</code><a class="copiable-link" href='#index-bp'> ¶</a></span></dt>
+<dt><a id="index-bp"></a><span><code class="code">bp</code><a class="copiable-link" href="#index-bp"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-big-point"></a>
 <a class="index-entry-id" id="index-PostScript-point"></a>
 <a class="anchor" id="units-of-length-bp"></a><p>Big point, 1/72 inch.  This length is the definition of a point in
@@ -12561,27 +13347,27 @@
 PostScript and many desktop publishing systems.
 </p>
 </dd>
-<dt id='index-mm'><span><code class="code">mm</code><a class="copiable-link" href='#index-mm'> ¶</a></span></dt>
+<dt><a id="index-mm"></a><span><code class="code">mm</code><a class="copiable-link" href="#index-mm"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-millimeter"></a>
 <a class="anchor" id="units-of-length-mm"></a><p>Millimeter, 2.845<span class="dmn">pt</span>
 </p>
 </dd>
-<dt id='index-cm'><span><code class="code">cm</code><a class="copiable-link" href='#index-cm'> ¶</a></span></dt>
+<dt><a id="index-cm"></a><span><code class="code">cm</code><a class="copiable-link" href="#index-cm"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-centimeter"></a>
 <a class="anchor" id="units-of-length-cm"></a><p>Centimeter, 10<span class="dmn">mm</span>
 </p>
 </dd>
-<dt id='index-dd'><span><code class="code">dd</code><a class="copiable-link" href='#index-dd'> ¶</a></span></dt>
+<dt><a id="index-dd"></a><span><code class="code">dd</code><a class="copiable-link" href="#index-dd"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-didot-point"></a>
 <a class="anchor" id="units-of-length-dd"></a><p>Didot point, 1.07 pt
 </p>
 </dd>
-<dt id='index-cc'><span><code class="code">cc</code><a class="copiable-link" href='#index-cc'> ¶</a></span></dt>
+<dt><a id="index-cc"></a><span><code class="code">cc</code><a class="copiable-link" href="#index-cc"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-cicero"></a>
 <a class="anchor" id="units-of-length-cc"></a><p>Cicero, 12 dd
 </p>
 </dd>
-<dt id='index-sp'><span><code class="code">sp</code><a class="copiable-link" href='#index-sp'> ¶</a></span></dt>
+<dt><a id="index-sp"></a><span><code class="code">sp</code><a class="copiable-link" href="#index-sp"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-scaled-point"></a>
 <a class="anchor" id="units-of-length-sp"></a><p>Scaled point, 1/65536 pt
 </p>
@@ -12592,7 +13378,7 @@
 than being an absolute dimension.
 </p>
 <dl class="ftable">
-<dt id='index-ex-1'><span><code class="code">ex</code><a class="copiable-link" href='#index-ex-1'> ¶</a></span></dt>
+<dt><a id="index-ex-1"></a><span><code class="code">ex</code><a class="copiable-link" href="#index-ex-1"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-x_002dheight"></a>
 <a class="index-entry-id" id="index-ex"></a>
 <a class="anchor" id="Lengths_002fex"></a><a class="anchor" id="units-of-length-ex"></a><p>The x-height of the current font <em class="dfn">ex</em>, traditionally the
@@ -12600,7 +13386,7 @@
 lengths.
 </p>
 </dd>
-<dt id='index-em-1'><span><code class="code">em</code><a class="copiable-link" href='#index-em-1'> ¶</a></span></dt>
+<dt><a id="index-em-1"></a><span><code class="code">em</code><a class="copiable-link" href="#index-em-1"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-m_002dwidth"></a>
 <a class="index-entry-id" id="index-em"></a>
 <a class="anchor" id="Lengths_002fem"></a><a class="anchor" id="units-of-length-em"></a><p>Similarly <em class="dfn">em</em>, traditionally the width of the capital
@@ -12610,7 +13396,7 @@
 horizontal spaces based on the em (see <a class="pxref" href="#g_t_005censpace-_0026-_005cquad-_0026-_005cqquad"><code class="code">\enspace</code> & <code class="code">\quad</code> & <code class="code">\qquad</code></a>).
 </p>
 </dd>
-<dt id='index-mu'><span><code class="code">mu</code><a class="copiable-link" href='#index-mu'> ¶</a></span></dt>
+<dt><a id="index-mu"></a><span><code class="code">mu</code><a class="copiable-link" href="#index-mu"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-mu_002c-math-unit"></a>
 <a class="anchor" id="units-of-length-mu"></a><p>Finally, in math mode, many definitions are expressed in terms
 of the math unit <em class="dfn">mu</em>, defined by 1<span class="dmn">em</span> = 18<span class="dmn">mu</span>, where the
@@ -12632,7 +13418,7 @@
 <p>
 Next: <a href="#g_t_005caddtolength" accesskey="n" rel="next"><code class="code">\addtolength</code></a>, Previous: <a href="#Units-of-length" accesskey="p" rel="prev">Units of length</a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csetlength-1">14.2 <code class="code">\setlength</code></h3>
+<h3 class="section" id="g_t_005csetlength-1"><span>14.2 <code class="code">\setlength</code><a class="copiable-link" href="#g_t_005csetlength-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csetlength"></a>
 <a class="index-entry-id" id="index-lengths_002c-setting"></a>
@@ -12673,7 +13459,7 @@
 <p>
 Next: <a href="#g_t_005csettodepth" accesskey="n" rel="next"><code class="code">\settodepth</code></a>, Previous: <a href="#g_t_005csetlength" accesskey="p" rel="prev"><code class="code">\setlength</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005caddtolength-1">14.3 <code class="code">\addtolength</code></h3>
+<h3 class="section" id="g_t_005caddtolength-1"><span>14.3 <code class="code">\addtolength</code><a class="copiable-link" href="#g_t_005caddtolength-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005caddtolength"></a>
 <a class="index-entry-id" id="index-lengths_002c-adding-to"></a>
@@ -12720,7 +13506,7 @@
 <p>
 Next: <a href="#g_t_005csettoheight" accesskey="n" rel="next"><code class="code">\settoheight</code></a>, Previous: <a href="#g_t_005caddtolength" accesskey="p" rel="prev"><code class="code">\addtolength</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csettodepth-1">14.4 <code class="code">\settodepth</code></h3>
+<h3 class="section" id="g_t_005csettodepth-1"><span>14.4 <code class="code">\settodepth</code><a class="copiable-link" href="#g_t_005csettodepth-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csettodepth"></a>
 
@@ -12758,7 +13544,7 @@
 <p>
 Next: <a href="#g_t_005csettowidth" accesskey="n" rel="next"><code class="code">\settowidth</code></a>, Previous: <a href="#g_t_005csettodepth" accesskey="p" rel="prev"><code class="code">\settodepth</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csettoheight-1">14.5 <code class="code">\settoheight</code></h3>
+<h3 class="section" id="g_t_005csettoheight-1"><span>14.5 <code class="code">\settoheight</code><a class="copiable-link" href="#g_t_005csettoheight-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csettoheight"></a>
 
@@ -12797,7 +13583,7 @@
 <p>
 Next: <a href="#g_t_005cstretch" accesskey="n" rel="next"><code class="code">\stretch</code></a>, Previous: <a href="#g_t_005csettoheight" accesskey="p" rel="prev"><code class="code">\settoheight</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005csettowidth-1">14.6 <code class="code">\settowidth</code></h3>
+<h3 class="section" id="g_t_005csettowidth-1"><span>14.6 <code class="code">\settowidth</code><a class="copiable-link" href="#g_t_005csettowidth-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005csettowidth"></a>
 
@@ -12836,7 +13622,7 @@
 <p>
 Next: <a href="#Expressions" accesskey="n" rel="next">Expressions</a>, Previous: <a href="#g_t_005csettowidth" accesskey="p" rel="prev"><code class="code">\settowidth</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cstretch-1">14.7 <code class="code">\stretch</code></h3>
+<h3 class="section" id="g_t_005cstretch-1"><span>14.7 <code class="code">\stretch</code><a class="copiable-link" href="#g_t_005cstretch-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cstretch"></a>
 
@@ -12888,7 +13674,7 @@
 <p>
 Previous: <a href="#g_t_005cstretch" accesskey="p" rel="prev"><code class="code">\stretch</code></a>, Up: <a href="#Lengths" accesskey="u" rel="up">Lengths</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Expressions-1">14.8 Expressions</h3>
+<h3 class="section" id="Expressions-1"><span>14.8 Expressions<a class="copiable-link" href="#Expressions-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-expressions"></a>
 
@@ -13004,7 +13790,7 @@
 <p>
 Next: <a href="#Math-formulas" accesskey="n" rel="next">Math formulas</a>, Previous: <a href="#Lengths" accesskey="p" rel="prev">Lengths</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Making-paragraphs-1">15 Making paragraphs</h2>
+<h2 class="chapter" id="Making-paragraphs-1"><span>15 Making paragraphs<a class="copiable-link" href="#Making-paragraphs-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-making-paragraphs"></a>
 <a class="index-entry-id" id="index-paragraphs"></a>
@@ -13091,7 +13877,7 @@
 <p>
 Next: <a href="#g_t_005cindent-_0026-_005cnoindent" accesskey="n" rel="next"><code class="code">\indent</code> & <code class="code">\noindent</code></a>, Up: <a href="#Making-paragraphs" accesskey="u" rel="up">Making paragraphs</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cpar-1">15.1 <code class="code">\par</code></h3>
+<h3 class="section" id="g_t_005cpar-1"><span>15.1 <code class="code">\par</code><a class="copiable-link" href="#g_t_005cpar-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-_005cpar"></a>
 <a class="index-entry-id" id="index-paragraph_002c-ending"></a>
@@ -13159,7 +13945,7 @@
 <p>
 Next: <a href="#g_t_005cparindent-_0026-_005cparskip" accesskey="n" rel="next"><code class="code">\parindent</code> & <code class="code">\parskip</code></a>, Previous: <a href="#g_t_005cpar" accesskey="p" rel="prev"><code class="code">\par</code></a>, Up: <a href="#Making-paragraphs" accesskey="u" rel="up">Making paragraphs</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cindent-_0026-_005cnoindent-1">15.2 <code class="code">\indent</code> & <code class="code">\noindent</code></h3>
+<h3 class="section" id="g_t_005cindent-_0026-_005cnoindent-1"><span>15.2 <code class="code">\indent</code> & <code class="code">\noindent</code><a class="copiable-link" href="#g_t_005cindent-_0026-_005cnoindent-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cindent"></a><a class="anchor" id="g_t_005cnoindent"></a><a class="index-entry-id" id="index-_005cindent"></a>
 <a class="index-entry-id" id="index-_005cnoindent"></a>
@@ -13231,7 +14017,7 @@
 <p>
 Next: <a href="#Marginal-notes" accesskey="n" rel="next">Marginal notes</a>, Previous: <a href="#g_t_005cindent-_0026-_005cnoindent" accesskey="p" rel="prev"><code class="code">\indent</code> & <code class="code">\noindent</code></a>, Up: <a href="#Making-paragraphs" accesskey="u" rel="up">Making paragraphs</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="g_t_005cparindent-_0026-_005cparskip-1">15.3 <code class="code">\parindent</code> & <code class="code">\parskip</code></h3>
+<h3 class="section" id="g_t_005cparindent-_0026-_005cparskip-1"><span>15.3 <code class="code">\parindent</code> & <code class="code">\parskip</code><a class="copiable-link" href="#g_t_005cparindent-_0026-_005cparskip-1"> ¶</a></span></h3>
 
 <a class="anchor" id="g_t_005cparindent"></a><a class="anchor" id="g_t_005cparskip"></a><a class="index-entry-id" id="index-_005cparindent-2"></a>
 <a class="index-entry-id" id="index-_005cparskip"></a>
@@ -13283,7 +14069,7 @@
 <p>
 Previous: <a href="#g_t_005cparindent-_0026-_005cparskip" accesskey="p" rel="prev"><code class="code">\parindent</code> & <code class="code">\parskip</code></a>, Up: <a href="#Making-paragraphs" accesskey="u" rel="up">Making paragraphs</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Marginal-notes-1">15.4 Marginal notes</h3>
+<h3 class="section" id="Marginal-notes-1"><span>15.4 Marginal notes<a class="copiable-link" href="#Marginal-notes-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-marginal-notes"></a>
 <a class="index-entry-id" id="index-notes-in-the-margin"></a>
@@ -13327,17 +14113,17 @@
 <p>These parameters affect the formatting of the note:
 </p>
 <dl class="ftable">
-<dt id='index-_005cmarginparpush-2'><span><code class="code">\marginparpush</code><a class="copiable-link" href='#index-_005cmarginparpush-2'> ¶</a></span></dt>
+<dt><a id="index-_005cmarginparpush-2"></a><span><code class="code">\marginparpush</code><a class="copiable-link" href="#index-_005cmarginparpush-2"> ¶</a></span></dt>
 <dd><a class="anchor" id="marginal-notes-marginparpush"></a><p>Minimum vertical space between notes; default ‘<samp class="samp">7pt</samp>’ for ‘<samp class="samp">12pt</samp>’
 documents, ‘<samp class="samp">5pt</samp>’ else. See also <a class="ref" href="#page-layout-parameters-marginparpush">page layout parameters marginparpush</a>.
 </p>
 </dd>
-<dt id='index-_005cmarginparsep'><span><code class="code">\marginparsep</code><a class="copiable-link" href='#index-_005cmarginparsep'> ¶</a></span></dt>
+<dt><a id="index-_005cmarginparsep"></a><span><code class="code">\marginparsep</code><a class="copiable-link" href="#index-_005cmarginparsep"> ¶</a></span></dt>
 <dd><a class="anchor" id="marginal-notes-marginparsep"></a><p>Horizontal space between the main text and the note; default
 ‘<samp class="samp">11pt</samp>’ for ‘<samp class="samp">10pt</samp>’ documents, ‘<samp class="samp">10pt</samp>’ else.
 </p>
 </dd>
-<dt id='index-_005cmarginparwidth-2'><span><code class="code">\marginparwidth</code><a class="copiable-link" href='#index-_005cmarginparwidth-2'> ¶</a></span></dt>
+<dt><a id="index-_005cmarginparwidth-2"></a><span><code class="code">\marginparwidth</code><a class="copiable-link" href="#index-_005cmarginparwidth-2"> ¶</a></span></dt>
 <dd><a class="anchor" id="marginal-notes-marginparwidth"></a><p>Width of the note itself; default for a one-sided ‘<samp class="samp">10pt</samp>’ document
 is ‘<samp class="samp">90pt</samp>’, ‘<samp class="samp">83pt</samp>’ for ‘<samp class="samp">11pt</samp>’, and ‘<samp class="samp">68pt</samp>’ for
 ‘<samp class="samp">12pt</samp>’; ‘<samp class="samp">17pt</samp>’ more in each case for a two-sided document.
@@ -13358,7 +14144,7 @@
 <p>
 Next: <a href="#Modes" accesskey="n" rel="next">Modes</a>, Previous: <a href="#Making-paragraphs" accesskey="p" rel="prev">Making paragraphs</a>, Up: <a href="#Top" accesskey="u" rel="up">LaTeX2e: An unofficial reference manual</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h2 class="chapter" id="Math-formulas-1">16 Math formulas</h2>
+<h2 class="chapter" id="Math-formulas-1"><span>16 Math formulas<a class="copiable-link" href="#Math-formulas-1"> ¶</a></span></h2>
 
 <a class="index-entry-id" id="index-math-formulas"></a>
 <a class="index-entry-id" id="index-formulas_002c-math"></a>
@@ -13463,7 +14249,7 @@
 <li><a href="#Math-symbols" accesskey="2">Math symbols</a></li>
 <li><a href="#Math-functions" accesskey="3">Math functions</a></li>
 <li><a href="#Math-accents" accesskey="4">Math accents</a></li>
-<li><a href="#Over_002d-and-Underlining" accesskey="5">Over- and Underlining</a></li>
+<li><a href="#Over_002d-or-under-math" accesskey="5">Over- or under math</a></li>
 <li><a href="#Spacing-in-math-mode" accesskey="6">Spacing in math mode</a></li>
 <li><a href="#Math-styles" accesskey="7">Math styles</a></li>
 <li><a href="#Math-miscellany" accesskey="8">Math miscellany</a></li>
@@ -13474,7 +14260,7 @@
 <p>
 Next: <a href="#Math-symbols" accesskey="n" rel="next">Math symbols</a>, Up: <a href="#Math-formulas" accesskey="u" rel="up">Math formulas</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Subscripts-_0026-superscripts-1">16.1 Subscripts & superscripts</h3>
+<h3 class="section" id="Subscripts-_0026-superscripts-1"><span>16.1 Subscripts & superscripts<a class="copiable-link" href="#Subscripts-_0026-superscripts-1"> ¶</a></span></h3>
 
 <a class="anchor" id="superscript"></a><a class="anchor" id="subscript"></a><a class="index-entry-id" id="index-superscript"></a>
 <a class="index-entry-id" id="index-subscript"></a>
@@ -13565,7 +14351,7 @@
 <p>
 Next: <a href="#Math-functions" accesskey="n" rel="next">Math functions</a>, Previous: <a href="#Subscripts-_0026-superscripts" accesskey="p" rel="prev">Subscripts & superscripts</a>, Up: <a href="#Math-formulas" accesskey="u" rel="up">Math formulas</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<h3 class="section" id="Math-symbols-1">16.2 Math symbols</h3>
+<h3 class="section" id="Math-symbols-1"><span>16.2 Math symbols<a class="copiable-link" href="#Math-symbols-1"> ¶</a></span></h3>
 
 <a class="index-entry-id" id="index-math-symbols"></a>
 <a class="index-entry-id" id="index-symbols_002c-math"></a>
@@ -13590,32 +14376,32 @@
 </p>
 
 <dl class="ftable">
-<dt id='index-_005c_007c'><span><code class="code">\|</code><a class="copiable-link" href='#index-_005c_007c'> ¶</a></span></dt>
+<dt><a id="index-_005c_007c"></a><span><code class="code">\|</code><a class="copiable-link" href="#index-_005c_007c"> ¶</a></span></dt>
 <dd><p>&#x2225; Parallel (relation). Synonym: <code class="code">\parallel</code>.
 </p>
 </dd>
-<dt id='index-_005caleph'><span><code class="code">\aleph</code><a class="copiable-link" href='#index-_005caleph'> ¶</a></span></dt>
+<dt><a id="index-_005caleph"></a><span><code class="code">\aleph</code><a class="copiable-link" href="#index-_005caleph"> ¶</a></span></dt>
 <dd><p>&#x2135; Aleph, transfinite cardinal (ordinary).
 </p>
 </dd>
-<dt id='index-_005calpha'><span><code class="code">\alpha</code><a class="copiable-link" href='#index-_005calpha'> ¶</a></span></dt>
+<dt><a id="index-_005calpha"></a><span><code class="code">\alpha</code><a class="copiable-link" href="#index-_005calpha"> ¶</a></span></dt>
 <dd><p>&#x03B1; Lowercase Greek letter alpha (ordinary).
 </p>
 </dd>
-<dt id='index-_005camalg'><span><code class="code">\amalg</code><a class="copiable-link" href='#index-_005camalg'> ¶</a></span></dt>
+<dt><a id="index-_005camalg"></a><span><code class="code">\amalg</code><a class="copiable-link" href="#index-_005camalg"> ¶</a></span></dt>
 <dd><p>&#x2A3F; Disjoint union (binary)
 </p>
 </dd>
-<dt id='index-_005cangle'><span><code class="code">\angle</code><a class="copiable-link" href='#index-_005cangle'> ¶</a></span></dt>
+<dt><a id="index-_005cangle"></a><span><code class="code">\angle</code><a class="copiable-link" href="#index-_005cangle"> ¶</a></span></dt>
 <dd><p>&#x2220; Geometric angle (ordinary). Similar: less-than
 sign <code class="code"><</code> and angle bracket <code class="code">\langle</code>.
 </p>
 </dd>
-<dt id='index-_005capprox'><span><code class="code">\approx</code><a class="copiable-link" href='#index-_005capprox'> ¶</a></span></dt>
+<dt><a id="index-_005capprox"></a><span><code class="code">\approx</code><a class="copiable-link" href="#index-_005capprox"> ¶</a></span></dt>
 <dd><p>&#x2248; Almost equal to (relation).
 </p>
 </dd>
-<dt id='index-_005cast'><span><code class="code">\ast</code><a class="copiable-link" href='#index-_005cast'> ¶</a></span></dt>
+<dt><a id="index-_005cast"></a><span><code class="code">\ast</code><a class="copiable-link" href="#index-_005cast"> ¶</a></span></dt>
 <dd><p>&#x2217; Asterisk operator, convolution, six-pointed
 (binary). Synonym: <code class="code">*</code>, which is often a superscript or
 subscript, as in the Kleene star. Similar: <code class="code">\star</code>, which is
@@ -13623,198 +14409,198 @@
 sometimes reserved for cross-correlation.
 </p>
 </dd>
-<dt id='index-_005casymp'><span><code class="code">\asymp</code><a class="copiable-link" href='#index-_005casymp'> ¶</a></span></dt>
+<dt><a id="index-_005casymp"></a><span><code class="code">\asymp</code><a class="copiable-link" href="#index-_005casymp"> ¶</a></span></dt>
 <dd><p>&#x224D; Asymptotically equivalent (relation).
 </p>
 </dd>
-<dt id='index-_005cbackslash'><span><code class="code">\backslash</code><a class="copiable-link" href='#index-_005cbackslash'> ¶</a></span></dt>
+<dt><a id="index-_005cbackslash"></a><span><code class="code">\backslash</code><a class="copiable-link" href="#index-_005cbackslash"> ¶</a></span></dt>
 <dd><p>\ Backslash (ordinary).  Similar: set minus <code class="code">\setminus</code>, and
 <code class="code">\textbackslash</code> for backslash outside of math mode.
 </p>
 </dd>
-<dt id='index-_005cbeta'><span><code class="code">\beta</code><a class="copiable-link" href='#index-_005cbeta'> ¶</a></span></dt>
+<dt><a id="index-_005cbeta"></a><span><code class="code">\beta</code><a class="copiable-link" href="#index-_005cbeta"> ¶</a></span></dt>
 <dd><p>&#x03B2; Lowercase Greek letter beta (ordinary).
 </p>
 </dd>
-<dt id='index-_005cbigcap'><span><code class="code">\bigcap</code><a class="copiable-link" href='#index-_005cbigcap'> ¶</a></span></dt>
+<dt><a id="index-_005cbigcap"></a><span><code class="code">\bigcap</code><a class="copiable-link" href="#index-_005cbigcap"> ¶</a></span></dt>
 <dd><p>&#x22C2; Variable-sized, or n-ary, intersection (operator). Similar:
 binary intersection <code class="code">\cap</code>.
 </p>
 </dd>
-<dt id='index-_005cbigcirc'><span><code class="code">\bigcirc</code><a class="copiable-link" href='#index-_005cbigcirc'> ¶</a></span></dt>
+<dt><a id="index-_005cbigcirc"></a><span><code class="code">\bigcirc</code><a class="copiable-link" href="#index-_005cbigcirc"> ¶</a></span></dt>
 <dd><p>&#x26AA; Circle, larger (binary).  Similar: function
 composition <code class="code">\circ</code>.
 </p>
 </dd>
-<dt id='index-_005cbigcup'><span><code class="code">\bigcup</code><a class="copiable-link" href='#index-_005cbigcup'> ¶</a></span></dt>
+<dt><a id="index-_005cbigcup"></a><span><code class="code">\bigcup</code><a class="copiable-link" href="#index-_005cbigcup"> ¶</a></span></dt>
 <dd><p>&#x22C3; Variable-sized, or n-ary, union (operator). Similar: binary
 union <code class="code">\cup</code>.
 </p>
 </dd>
-<dt id='index-_005cbigodot'><span><code class="code">\bigodot</code><a class="copiable-link" href='#index-_005cbigodot'> ¶</a></span></dt>
+<dt><a id="index-_005cbigodot"></a><span><code class="code">\bigodot</code><a class="copiable-link" href="#index-_005cbigodot"> ¶</a></span></dt>
 <dd><p>&#x2A00; Variable-sized, or n-ary, circled dot operator (operator).
 </p>
 </dd>
-<dt id='index-_005cbigoplus'><span><code class="code">\bigoplus</code><a class="copiable-link" href='#index-_005cbigoplus'> ¶</a></span></dt>
+<dt><a id="index-_005cbigoplus"></a><span><code class="code">\bigoplus</code><a class="copiable-link" href="#index-_005cbigoplus"> ¶</a></span></dt>
 <dd><p>&#x2A01; Variable-sized, or n-ary, circled plus operator (operator).
 </p>
 </dd>
-<dt id='index-_005cbigotimes'><span><code class="code">\bigotimes</code><a class="copiable-link" href='#index-_005cbigotimes'> ¶</a></span></dt>
+<dt><a id="index-_005cbigotimes"></a><span><code class="code">\bigotimes</code><a class="copiable-link" href="#index-_005cbigotimes"> ¶</a></span></dt>
 <dd><p>&#x2A02; Variable-sized, or n-ary, circled times operator (operator).
 </p>
 </dd>
-<dt id='index-_005cbigtriangledown'><span><code class="code">\bigtriangledown</code><a class="copiable-link" href='#index-_005cbigtriangledown'> ¶</a></span></dt>
+<dt><a id="index-_005cbigtriangledown"></a><span><code class="code">\bigtriangledown</code><a class="copiable-link" href="#index-_005cbigtriangledown"> ¶</a></span></dt>
 <dd><p>&#x25BD; Variable-sized, or n-ary, open triangle
 pointing down (binary). Synonym: <var class="var">\varbigtriangledown</var>.
 </p>
 </dd>
-<dt id='index-_005cbigtriangleup'><span><code class="code">\bigtriangleup</code><a class="copiable-link" href='#index-_005cbigtriangleup'> ¶</a></span></dt>
+<dt><a id="index-_005cbigtriangleup"></a><span><code class="code">\bigtriangleup</code><a class="copiable-link" href="#index-_005cbigtriangleup"> ¶</a></span></dt>
 <dd><p>&#x25B3; Variable-sized, or n-ary, open triangle
 pointing up (binary). Synonym: <var class="var">\varbigtriangleup</var>.
 </p>
 </dd>
-<dt id='index-_005cbigsqcup'><span><code class="code">\bigsqcup</code><a class="copiable-link" href='#index-_005cbigsqcup'> ¶</a></span></dt>
+<dt><a id="index-_005cbigsqcup"></a><span><code class="code">\bigsqcup</code><a class="copiable-link" href="#index-_005cbigsqcup"> ¶</a></span></dt>
 <dd><p>&#x2A06; Variable-sized, or n-ary, square union (operator).
 </p>
 </dd>
-<dt id='index-_005cbiguplus'><span><code class="code">\biguplus</code><a class="copiable-link" href='#index-_005cbiguplus'> ¶</a></span></dt>
+<dt><a id="index-_005cbiguplus"></a><span><code class="code">\biguplus</code><a class="copiable-link" href="#index-_005cbiguplus"> ¶</a></span></dt>
 <dd><p>&#x2A04; Variable-sized, or n-ary, union operator with a plus
 (operator).  (Note that the name has only one p.)
 </p>
 </dd>
-<dt id='index-_005cbigvee'><span><code class="code">\bigvee</code><a class="copiable-link" href='#index-_005cbigvee'> ¶</a></span></dt>
+<dt><a id="index-_005cbigvee"></a><span><code class="code">\bigvee</code><a class="copiable-link" href="#index-_005cbigvee"> ¶</a></span></dt>
 <dd><p>&#x22C1; Variable-sized, or n-ary, logical-or (operator).
 </p>
 </dd>
-<dt id='index-_005cbigwedge'><span><code class="code">\bigwedge</code><a class="copiable-link" href='#index-_005cbigwedge'> ¶</a></span></dt>
+<dt><a id="index-_005cbigwedge"></a><span><code class="code">\bigwedge</code><a class="copiable-link" href="#index-_005cbigwedge"> ¶</a></span></dt>
 <dd><p>&#x22C0; Variable-sized, or n-ary, logical-and (operator).
 </p>
 </dd>
-<dt id='index-_005cbot'><span><code class="code">\bot</code><a class="copiable-link" href='#index-_005cbot'> ¶</a></span></dt>
+<dt><a id="index-_005cbot"></a><span><code class="code">\bot</code><a class="copiable-link" href="#index-_005cbot"> ¶</a></span></dt>
 <dd><p>&#x22A5;, Up tack, bottom, least element of a partially ordered
 set, or a contradiction (ordinary).  See also <code class="code">\top</code>.
 </p>
 </dd>
-<dt id='index-_005cbowtie'><span><code class="code">\bowtie</code><a class="copiable-link" href='#index-_005cbowtie'> ¶</a></span></dt>
+<dt><a id="index-_005cbowtie"></a><span><code class="code">\bowtie</code><a class="copiable-link" href="#index-_005cbowtie"> ¶</a></span></dt>
 <dd><p>&#x22C8; Natural join of two relations (relation).
 </p>
 </dd>
-<dt id='index-_005cBox'><span><code class="code">\Box</code><a class="copiable-link" href='#index-_005cBox'> ¶</a></span></dt>
+<dt><a id="index-_005cBox"></a><span><code class="code">\Box</code><a class="copiable-link" href="#index-_005cBox"> ¶</a></span></dt>
 <dd><p>&#x25A1; Modal operator for necessity; square open box
 (ordinary).  Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package.
 </p>
 </dd>
-<dt id='index-_005cbullet'><span><code class="code">\bullet</code><a class="copiable-link" href='#index-_005cbullet'> ¶</a></span></dt>
+<dt><a id="index-_005cbullet"></a><span><code class="code">\bullet</code><a class="copiable-link" href="#index-_005cbullet"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-bullet-symbol"></a>
 <p>&#x2022; Bullet (binary).  Similar: multiplication
 dot <code class="code">\cdot</code>.
 </p>
 </dd>
-<dt id='index-_005ccap'><span><code class="code">\cap</code><a class="copiable-link" href='#index-_005ccap'> ¶</a></span></dt>
+<dt><a id="index-_005ccap"></a><span><code class="code">\cap</code><a class="copiable-link" href="#index-_005ccap"> ¶</a></span></dt>
 <dd><p>&#x2229; Intersection of two sets (binary).  Similar: variable-sized
 operator <code class="code">\bigcap</code>.
 </p>
 </dd>
-<dt id='index-_005ccdot'><span><code class="code">\cdot</code><a class="copiable-link" href='#index-_005ccdot'> ¶</a></span></dt>
+<dt><a id="index-_005ccdot"></a><span><code class="code">\cdot</code><a class="copiable-link" href="#index-_005ccdot"> ¶</a></span></dt>
 <dd><p>&#x22C5; Multiplication (binary).  Similar: Bullet
 dot <code class="code">\bullet</code>.
 </p>
 </dd>
-<dt id='index-_005cchi'><span><code class="code">\chi</code><a class="copiable-link" href='#index-_005cchi'> ¶</a></span></dt>
+<dt><a id="index-_005cchi"></a><span><code class="code">\chi</code><a class="copiable-link" href="#index-_005cchi"> ¶</a></span></dt>
 <dd><p>&#x03C7; Lowercase Greek chi (ordinary).
 </p>
 </dd>
-<dt id='index-_005ccirc'><span><code class="code">\circ</code><a class="copiable-link" href='#index-_005ccirc'> ¶</a></span></dt>
+<dt><a id="index-_005ccirc"></a><span><code class="code">\circ</code><a class="copiable-link" href="#index-_005ccirc"> ¶</a></span></dt>
 <dd><p>&#x2218; Function composition, ring operator (binary).  Similar:
 variable-sized operator <code class="code">\bigcirc</code>.
 </p>
 </dd>
-<dt id='index-_005cclubsuit'><span><code class="code">\clubsuit</code><a class="copiable-link" href='#index-_005cclubsuit'> ¶</a></span></dt>
+<dt><a id="index-_005cclubsuit"></a><span><code class="code">\clubsuit</code><a class="copiable-link" href="#index-_005cclubsuit"> ¶</a></span></dt>
 <dd><p>&#x2663; Club card suit (ordinary).
 </p>
 </dd>
-<dt id='index-_005ccomplement'><span><code class="code">\complement</code><a class="copiable-link" href='#index-_005ccomplement'> ¶</a></span></dt>
+<dt><a id="index-_005ccomplement"></a><span><code class="code">\complement</code><a class="copiable-link" href="#index-_005ccomplement"> ¶</a></span></dt>
 <dd><p>&#x2201;, Set complement, used as a superscript as in
 <code class="code">$S^\complement$</code> (ordinary).  Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package. Also used:
 <code class="code">$S^{\mathsf{c}}$</code> or <code class="code">$\bar{S}$</code>.
 </p>
 </dd>
-<dt id='index-_005ccong'><span><code class="code">\cong</code><a class="copiable-link" href='#index-_005ccong'> ¶</a></span></dt>
+<dt><a id="index-_005ccong"></a><span><code class="code">\cong</code><a class="copiable-link" href="#index-_005ccong"> ¶</a></span></dt>
 <dd><p>&#x2245; Congruent (relation).
 </p>
 </dd>
-<dt id='index-_005ccoprod'><span><code class="code">\coprod</code><a class="copiable-link" href='#index-_005ccoprod'> ¶</a></span></dt>
+<dt><a id="index-_005ccoprod"></a><span><code class="code">\coprod</code><a class="copiable-link" href="#index-_005ccoprod"> ¶</a></span></dt>
 <dd><p>&#x2210; Coproduct (operator).
 </p>
 </dd>
-<dt id='index-_005ccup'><span><code class="code">\cup</code><a class="copiable-link" href='#index-_005ccup'> ¶</a></span></dt>
+<dt><a id="index-_005ccup"></a><span><code class="code">\cup</code><a class="copiable-link" href="#index-_005ccup"> ¶</a></span></dt>
 <dd><p>&#x222A; Union of two sets (binary).  Similar: variable-sized
 operator <code class="code">\bigcup</code>.
 </p>
 </dd>
-<dt id='index-_005cdagger'><span><code class="code">\dagger</code><a class="copiable-link" href='#index-_005cdagger'> ¶</a></span></dt>
+<dt><a id="index-_005cdagger"></a><span><code class="code">\dagger</code><a class="copiable-link" href="#index-_005cdagger"> ¶</a></span></dt>
 <dd><p>&#x2020; Dagger relation (binary).
 </p>
 </dd>
-<dt id='index-_005cdashv'><span><code class="code">\dashv</code><a class="copiable-link" href='#index-_005cdashv'> ¶</a></span></dt>
+<dt><a id="index-_005cdashv"></a><span><code class="code">\dashv</code><a class="copiable-link" href="#index-_005cdashv"> ¶</a></span></dt>
 <dd><p>&#x22A3; Dash with vertical, reversed turnstile (relation).  Similar:
 turnstile <code class="code">\vdash</code>.
 </p>
 </dd>
-<dt id='index-_005cddagger'><span><code class="code">\ddagger</code><a class="copiable-link" href='#index-_005cddagger'> ¶</a></span></dt>
+<dt><a id="index-_005cddagger"></a><span><code class="code">\ddagger</code><a class="copiable-link" href="#index-_005cddagger"> ¶</a></span></dt>
 <dd><p>&#x2021; Double dagger relation (binary).
 </p>
 </dd>
-<dt id='index-_005cDelta'><span><code class="code">\Delta</code><a class="copiable-link" href='#index-_005cDelta'> ¶</a></span></dt>
+<dt><a id="index-_005cDelta"></a><span><code class="code">\Delta</code><a class="copiable-link" href="#index-_005cDelta"> ¶</a></span></dt>
 <dd><p>&#x0394; Greek uppercase delta, used for increment (ordinary).
 </p>
 </dd>
-<dt id='index-_005cdelta'><span><code class="code">\delta</code><a class="copiable-link" href='#index-_005cdelta'> ¶</a></span></dt>
+<dt><a id="index-_005cdelta"></a><span><code class="code">\delta</code><a class="copiable-link" href="#index-_005cdelta"> ¶</a></span></dt>
 <dd><p>&#x03B4; Greek lowercase delta (ordinary).
 </p>
 </dd>
-<dt id='index-_005cDiamond'><span><code class="code">\Diamond</code><a class="copiable-link" href='#index-_005cDiamond'> ¶</a></span></dt>
+<dt><a id="index-_005cDiamond"></a><span><code class="code">\Diamond</code><a class="copiable-link" href="#index-_005cDiamond"> ¶</a></span></dt>
 <dd><p>&#x25C7; Large diamond operator (ordinary).  Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package.
 </p>
 </dd>
-<dt id='index-_005cdiamond'><span><code class="code">\diamond</code><a class="copiable-link" href='#index-_005cdiamond'> ¶</a></span></dt>
+<dt><a id="index-_005cdiamond"></a><span><code class="code">\diamond</code><a class="copiable-link" href="#index-_005cdiamond"> ¶</a></span></dt>
 <dd><p>&#x22C4; Diamond operator (binary).  Similar: large
 diamond <code class="code">\Diamond</code>, circle bullet <code class="code">\bullet</code>.
 </p>
 </dd>
-<dt id='index-_005cdiamondsuit'><span><code class="code">\diamondsuit</code><a class="copiable-link" href='#index-_005cdiamondsuit'> ¶</a></span></dt>
+<dt><a id="index-_005cdiamondsuit"></a><span><code class="code">\diamondsuit</code><a class="copiable-link" href="#index-_005cdiamondsuit"> ¶</a></span></dt>
 <dd><p>&#x2662; Diamond card suit (ordinary).
 </p>
 </dd>
-<dt id='index-_005cdiv'><span><code class="code">\div</code><a class="copiable-link" href='#index-_005cdiv'> ¶</a></span></dt>
+<dt><a id="index-_005cdiv"></a><span><code class="code">\div</code><a class="copiable-link" href="#index-_005cdiv"> ¶</a></span></dt>
 <dd><p>&#x00F7; Division sign (binary).
 </p>
 </dd>
-<dt id='index-_005cdoteq'><span><code class="code">\doteq</code><a class="copiable-link" href='#index-_005cdoteq'> ¶</a></span></dt>
+<dt><a id="index-_005cdoteq"></a><span><code class="code">\doteq</code><a class="copiable-link" href="#index-_005cdoteq"> ¶</a></span></dt>
 <dd><p>&#x2250; Approaches the limit (relation).  Similar: geometrically equal
 to <code class="code">\Doteq</code>.
 </p>
 </dd>
-<dt id='index-_005cdownarrow'><span><code class="code">\downarrow</code><a class="copiable-link" href='#index-_005cdownarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cdownarrow"></a><span><code class="code">\downarrow</code><a class="copiable-link" href="#index-_005cdownarrow"> ¶</a></span></dt>
 <dd><p>&#x2193; Down arrow, converges (relation).  Similar:
 <code class="code">\Downarrow</code> double line down arrow.
 </p>
 </dd>
-<dt id='index-_005cDownarrow'><span><code class="code">\Downarrow</code><a class="copiable-link" href='#index-_005cDownarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cDownarrow"></a><span><code class="code">\Downarrow</code><a class="copiable-link" href="#index-_005cDownarrow"> ¶</a></span></dt>
 <dd><p>&#x21D3; Double line down arrow (relation).  Similar:
 <code class="code">\downarrow</code> single line down arrow.
 </p>
 </dd>
-<dt id='index-_005cell'><span><code class="code">\ell</code><a class="copiable-link" href='#index-_005cell'> ¶</a></span></dt>
+<dt><a id="index-_005cell"></a><span><code class="code">\ell</code><a class="copiable-link" href="#index-_005cell"> ¶</a></span></dt>
 <dd><p>&#x2113; Lowercase cursive letter l (ordinary).
 </p>
 </dd>
-<dt id='index-_005cemptyset'><span><code class="code">\emptyset</code><a class="copiable-link" href='#index-_005cemptyset'> ¶</a></span></dt>
+<dt><a id="index-_005cemptyset"></a><span><code class="code">\emptyset</code><a class="copiable-link" href="#index-_005cemptyset"> ¶</a></span></dt>
 <dd><p>&#x2205; Empty set symbol (ordinary).  The variant form is
 <code class="code">\varnothing</code>.
 </p>	
 </dd>
-<dt id='index-_005cepsilon'><span><code class="code">\epsilon</code><a class="copiable-link" href='#index-_005cepsilon'> ¶</a></span></dt>
+<dt><a id="index-_005cepsilon"></a><span><code class="code">\epsilon</code><a class="copiable-link" href="#index-_005cepsilon"> ¶</a></span></dt>
 <dd><p>&#x03F5; Lowercase lunate epsilon (ordinary). Similar to
 Greek text letter. More widely used in mathematics is the script small
 letter epsilon <code class="code">\varepsilon</code> &#x03B5;. Related:
@@ -13821,159 +14607,159 @@
 the set membership relation <code class="code">\in</code> &#x2208;.
 </p>
 </dd>
-<dt id='index-_005cequiv'><span><code class="code">\equiv</code><a class="copiable-link" href='#index-_005cequiv'> ¶</a></span></dt>
+<dt><a id="index-_005cequiv"></a><span><code class="code">\equiv</code><a class="copiable-link" href="#index-_005cequiv"> ¶</a></span></dt>
 <dd><p>&#x2261; Equivalence (relation).
 </p>
 </dd>
-<dt id='index-_005ceta'><span><code class="code">\eta</code><a class="copiable-link" href='#index-_005ceta'> ¶</a></span></dt>
+<dt><a id="index-_005ceta"></a><span><code class="code">\eta</code><a class="copiable-link" href="#index-_005ceta"> ¶</a></span></dt>
 <dd><p>&#x03B7; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cexists'><span><code class="code">\exists</code><a class="copiable-link" href='#index-_005cexists'> ¶</a></span></dt>
+<dt><a id="index-_005cexists"></a><span><code class="code">\exists</code><a class="copiable-link" href="#index-_005cexists"> ¶</a></span></dt>
 <dd><p>&#x2203; Existential quantifier (ordinary).
 </p>
 </dd>
-<dt id='index-_005cflat'><span><code class="code">\flat</code><a class="copiable-link" href='#index-_005cflat'> ¶</a></span></dt>
+<dt><a id="index-_005cflat"></a><span><code class="code">\flat</code><a class="copiable-link" href="#index-_005cflat"> ¶</a></span></dt>
 <dd><p>&#x266D; Musical flat (ordinary).
 </p>
 </dd>
-<dt id='index-_005cforall'><span><code class="code">\forall</code><a class="copiable-link" href='#index-_005cforall'> ¶</a></span></dt>
+<dt><a id="index-_005cforall"></a><span><code class="code">\forall</code><a class="copiable-link" href="#index-_005cforall"> ¶</a></span></dt>
 <dd><p>&#x2200; Universal quantifier (ordinary).
 </p>
 </dd>
-<dt id='index-_005cfrown'><span><code class="code">\frown</code><a class="copiable-link" href='#index-_005cfrown'> ¶</a></span></dt>
+<dt><a id="index-_005cfrown"></a><span><code class="code">\frown</code><a class="copiable-link" href="#index-_005cfrown"> ¶</a></span></dt>
 <dd><p>&#x2322; Downward curving arc (ordinary).
 </p>
 </dd>
-<dt id='index-_005cGamma'><span><code class="code">\Gamma</code><a class="copiable-link" href='#index-_005cGamma'> ¶</a></span></dt>
+<dt><a id="index-_005cGamma"></a><span><code class="code">\Gamma</code><a class="copiable-link" href="#index-_005cGamma"> ¶</a></span></dt>
 <dd><p>&#x0393; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cgamma'><span><code class="code">\gamma</code><a class="copiable-link" href='#index-_005cgamma'> ¶</a></span></dt>
+<dt><a id="index-_005cgamma"></a><span><code class="code">\gamma</code><a class="copiable-link" href="#index-_005cgamma"> ¶</a></span></dt>
 <dd><p>&#x03B3; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cge'><span><code class="code">\ge</code><a class="copiable-link" href='#index-_005cge'> ¶</a></span></dt>
+<dt><a id="index-_005cge"></a><span><code class="code">\ge</code><a class="copiable-link" href="#index-_005cge"> ¶</a></span></dt>
 <dd><p>&#x2265; Greater than or equal to (relation).  This is a synonym
 for <code class="code">\geq</code>.
 </p>
 </dd>
-<dt id='index-_005cgeq'><span><code class="code">\geq</code><a class="copiable-link" href='#index-_005cgeq'> ¶</a></span></dt>
+<dt><a id="index-_005cgeq"></a><span><code class="code">\geq</code><a class="copiable-link" href="#index-_005cgeq"> ¶</a></span></dt>
 <dd><p>&#x2265; Greater than or equal to (relation).  This is a synonym
 for <code class="code">\ge</code>.
 </p>
 </dd>
-<dt id='index-_005cgets'><span><code class="code">\gets</code><a class="copiable-link" href='#index-_005cgets'> ¶</a></span></dt>
+<dt><a id="index-_005cgets"></a><span><code class="code">\gets</code><a class="copiable-link" href="#index-_005cgets"> ¶</a></span></dt>
 <dd><p>&#x2190; Is assigned the value (relation).
 Synonym: <code class="code">\leftarrow</code>.
 </p>
 </dd>
-<dt id='index-_005cgg'><span><code class="code">\gg</code><a class="copiable-link" href='#index-_005cgg'> ¶</a></span></dt>
+<dt><a id="index-_005cgg"></a><span><code class="code">\gg</code><a class="copiable-link" href="#index-_005cgg"> ¶</a></span></dt>
 <dd><p>&#x226B; Much greater than (relation).  Similar: much less
 than <code class="code">\ll</code>.
 </p>
 </dd>
-<dt id='index-_005chbar'><span><code class="code">\hbar</code><a class="copiable-link" href='#index-_005chbar'> ¶</a></span></dt>
+<dt><a id="index-_005chbar"></a><span><code class="code">\hbar</code><a class="copiable-link" href="#index-_005chbar"> ¶</a></span></dt>
 <dd><p>&#x210F; Planck constant over two pi (ordinary).
 </p>
 </dd>
-<dt id='index-_005cheartsuit'><span><code class="code">\heartsuit</code><a class="copiable-link" href='#index-_005cheartsuit'> ¶</a></span></dt>
+<dt><a id="index-_005cheartsuit"></a><span><code class="code">\heartsuit</code><a class="copiable-link" href="#index-_005cheartsuit"> ¶</a></span></dt>
 <dd><p>&#x2661; Heart card suit (ordinary).
 </p>
 </dd>
-<dt id='index-_005chookleftarrow'><span><code class="code">\hookleftarrow</code><a class="copiable-link" href='#index-_005chookleftarrow'> ¶</a></span></dt>
+<dt><a id="index-_005chookleftarrow"></a><span><code class="code">\hookleftarrow</code><a class="copiable-link" href="#index-_005chookleftarrow"> ¶</a></span></dt>
 <dd><p>&#x21A9; Hooked left arrow (relation).
 </p>
 </dd>
-<dt id='index-_005chookrightarrow'><span><code class="code">\hookrightarrow</code><a class="copiable-link" href='#index-_005chookrightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005chookrightarrow"></a><span><code class="code">\hookrightarrow</code><a class="copiable-link" href="#index-_005chookrightarrow"> ¶</a></span></dt>
 <dd><p>&#x21AA; Hooked right arrow (relation).
 </p>
 </dd>
-<dt id='index-_005ciff'><span><code class="code">\iff</code><a class="copiable-link" href='#index-_005ciff'> ¶</a></span></dt>
+<dt><a id="index-_005ciff"></a><span><code class="code">\iff</code><a class="copiable-link" href="#index-_005ciff"> ¶</a></span></dt>
 <dd><p>&#x27F7; If and only if (relation).  It is <code class="code">\Longleftrightarrow</code>
 with a <code class="code">\thickmuskip</code> on either side.
 </p>
 </dd>
-<dt id='index-_005cIm'><span><code class="code">\Im</code><a class="copiable-link" href='#index-_005cIm'> ¶</a></span></dt>
+<dt><a id="index-_005cIm"></a><span><code class="code">\Im</code><a class="copiable-link" href="#index-_005cIm"> ¶</a></span></dt>
 <dd><p>&#x2111; Imaginary part (ordinary).  See: real part <code class="code">\Re</code>.
 </p>
 </dd>
-<dt id='index-_005cimath'><span><code class="code">\imath</code><a class="copiable-link" href='#index-_005cimath'> ¶</a></span></dt>
+<dt><a id="index-_005cimath"></a><span><code class="code">\imath</code><a class="copiable-link" href="#index-_005cimath"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-dotless-i_002c-math"></a>
 <p>Dotless i; used when you are putting an accent on an i (see <a class="pxref" href="#Math-accents">Math accents</a>).
 </p>
 </dd>
-<dt id='index-_005cin'><span><code class="code">\in</code><a class="copiable-link" href='#index-_005cin'> ¶</a></span></dt>
+<dt><a id="index-_005cin"></a><span><code class="code">\in</code><a class="copiable-link" href="#index-_005cin"> ¶</a></span></dt>
 <dd><p>&#x2208; Set element (relation).  See also: lowercase lunate
 epsilon <code class="code">\epsilon</code>&#x03F5; and small letter script
 epsilon <code class="code">\varepsilon</code>.
 </p>
 </dd>
-<dt id='index-_005cinfty'><span><code class="code">\infty</code><a class="copiable-link" href='#index-_005cinfty'> ¶</a></span></dt>
+<dt><a id="index-_005cinfty"></a><span><code class="code">\infty</code><a class="copiable-link" href="#index-_005cinfty"> ¶</a></span></dt>
 <dd><p>&#x221E; Infinity (ordinary).
 </p>
 </dd>
-<dt id='index-_005cint'><span><code class="code">\int</code><a class="copiable-link" href='#index-_005cint'> ¶</a></span></dt>
+<dt><a id="index-_005cint"></a><span><code class="code">\int</code><a class="copiable-link" href="#index-_005cint"> ¶</a></span></dt>
 <dd><p>&#x222B; Integral (operator).
 </p>
 </dd>
-<dt id='index-_005ciota'><span><code class="code">\iota</code><a class="copiable-link" href='#index-_005ciota'> ¶</a></span></dt>
+<dt><a id="index-_005ciota"></a><span><code class="code">\iota</code><a class="copiable-link" href="#index-_005ciota"> ¶</a></span></dt>
 <dd><p>&#x03B9; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cJoin'><span><code class="code">\Join</code><a class="copiable-link" href='#index-_005cJoin'> ¶</a></span></dt>
+<dt><a id="index-_005cJoin"></a><span><code class="code">\Join</code><a class="copiable-link" href="#index-_005cJoin"> ¶</a></span></dt>
 <dd><p>&#x2A1D; Condensed bowtie symbol (relation).  Not available in Plain
 TeX.
 </p>
 </dd>
-<dt id='index-_005cjmath'><span><code class="code">\jmath</code><a class="copiable-link" href='#index-_005cjmath'> ¶</a></span></dt>
+<dt><a id="index-_005cjmath"></a><span><code class="code">\jmath</code><a class="copiable-link" href="#index-_005cjmath"> ¶</a></span></dt>
 <dd><a class="index-entry-id" id="index-dotless-j_002c-math"></a>
 <p>Dotless j; used when you are putting an accent on a j (see <a class="pxref" href="#Math-accents">Math accents</a>).
 </p>
 </dd>
-<dt id='index-_005ckappa'><span><code class="code">\kappa</code><a class="copiable-link" href='#index-_005ckappa'> ¶</a></span></dt>
+<dt><a id="index-_005ckappa"></a><span><code class="code">\kappa</code><a class="copiable-link" href="#index-_005ckappa"> ¶</a></span></dt>
 <dd><p>&#x03BA; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cLambda'><span><code class="code">\Lambda</code><a class="copiable-link" href='#index-_005cLambda'> ¶</a></span></dt>
+<dt><a id="index-_005cLambda"></a><span><code class="code">\Lambda</code><a class="copiable-link" href="#index-_005cLambda"> ¶</a></span></dt>
 <dd><p>&#x039B; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005clambda'><span><code class="code">\lambda</code><a class="copiable-link" href='#index-_005clambda'> ¶</a></span></dt>
+<dt><a id="index-_005clambda"></a><span><code class="code">\lambda</code><a class="copiable-link" href="#index-_005clambda"> ¶</a></span></dt>
 <dd><p>&#x03BB; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cland'><span><code class="code">\land</code><a class="copiable-link" href='#index-_005cland'> ¶</a></span></dt>
+<dt><a id="index-_005cland"></a><span><code class="code">\land</code><a class="copiable-link" href="#index-_005cland"> ¶</a></span></dt>
 <dd><p>&#x2227; Logical and (binary).  Synonym: <code class="code">\wedge</code>.
 See also logical or <code class="code">\lor</code>.
 </p>
 </dd>
-<dt id='index-_005clangle'><span><code class="code">\langle</code><a class="copiable-link" href='#index-_005clangle'> ¶</a></span></dt>
+<dt><a id="index-_005clangle"></a><span><code class="code">\langle</code><a class="copiable-link" href="#index-_005clangle"> ¶</a></span></dt>
 <dd><p>&#x27E8; Left angle, or sequence, bracket (opening).  Similar:
 less-than <code class="code"><</code>. Matches <code class="code">\rangle</code>.
 </p>
 </dd>
-<dt id='index-_005clbrace'><span><code class="code">\lbrace</code><a class="copiable-link" href='#index-_005clbrace'> ¶</a></span></dt>
+<dt><a id="index-_005clbrace"></a><span><code class="code">\lbrace</code><a class="copiable-link" href="#index-_005clbrace"> ¶</a></span></dt>
 <dd><p>&#x007B; Left curly brace
 (opening). Synonym: <code class="code">\{</code>. Matches <code class="code">\rbrace</code>.
 </p>
 </dd>
-<dt id='index-_005clbrack'><span><code class="code">\lbrack</code><a class="copiable-link" href='#index-_005clbrack'> ¶</a></span></dt>
+<dt><a id="index-_005clbrack"></a><span><code class="code">\lbrack</code><a class="copiable-link" href="#index-_005clbrack"> ¶</a></span></dt>
 <dd><p>&#x005B; Left square bracket (opening).
 Synonym: <code class="code">[</code>. Matches <code class="code">\rbrack</code>.
 </p>
 </dd>
-<dt id='index-_005clceil'><span><code class="code">\lceil</code><a class="copiable-link" href='#index-_005clceil'> ¶</a></span></dt>
+<dt><a id="index-_005clceil"></a><span><code class="code">\lceil</code><a class="copiable-link" href="#index-_005clceil"> ¶</a></span></dt>
 <dd><p>&#x2308; Left ceiling bracket, like a square bracket but with the bottom
 shaved off (opening). Matches <code class="code">\rceil</code>.
 </p>
 </dd>
-<dt id='index-_005cle'><span><code class="code">\le</code><a class="copiable-link" href='#index-_005cle'> ¶</a></span></dt>
+<dt><a id="index-_005cle"></a><span><code class="code">\le</code><a class="copiable-link" href="#index-_005cle"> ¶</a></span></dt>
 <dd><p>&#x2264; Less than or equal to (relation).  This is a synonym
 for <code class="code">\leq</code>.
 </p>
 </dd>
-<dt id='index-_005cleadsto'><span><code class="code">\leadsto</code><a class="copiable-link" href='#index-_005cleadsto'> ¶</a></span></dt>
+<dt><a id="index-_005cleadsto"></a><span><code class="code">\leadsto</code><a class="copiable-link" href="#index-_005cleadsto"> ¶</a></span></dt>
 <dd><p>&#x21DD; Squiggly right arrow (relation).
 To get this symbol outside of math mode you can put
 <code class="code">\newcommand*{\Leadsto}{\ensuremath{\leadsto}}</code> in the
@@ -13980,45 +14766,45 @@
 preamble and then use <code class="code">\Leadsto</code> instead.
 </p>
 </dd>
-<dt id='index-_005cLeftarrow'><span><code class="code">\Leftarrow</code><a class="copiable-link" href='#index-_005cLeftarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cLeftarrow"></a><span><code class="code">\Leftarrow</code><a class="copiable-link" href="#index-_005cLeftarrow"> ¶</a></span></dt>
 <dd><p>&#x21D0; Is implied by, double-line left arrow (relation).  Similar:
 single-line left arrow <code class="code">\leftarrow</code>.
 </p>
 </dd>
-<dt id='index-_005cleftarrow'><span><code class="code">\leftarrow</code><a class="copiable-link" href='#index-_005cleftarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cleftarrow"></a><span><code class="code">\leftarrow</code><a class="copiable-link" href="#index-_005cleftarrow"> ¶</a></span></dt>
 <dd><p>&#x2190; Single-line left arrow (relation).
 Synonym: <code class="code">\gets</code>. Similar: double-line left
 arrow <code class="code">\Leftarrow</code>.
 </p>
 </dd>
-<dt id='index-_005cleftharpoondown'><span><code class="code">\leftharpoondown</code><a class="copiable-link" href='#index-_005cleftharpoondown'> ¶</a></span></dt>
+<dt><a id="index-_005cleftharpoondown"></a><span><code class="code">\leftharpoondown</code><a class="copiable-link" href="#index-_005cleftharpoondown"> ¶</a></span></dt>
 <dd><p>&#x21BD; Single-line left harpoon, barb under bar (relation).
 </p>
 </dd>
-<dt id='index-_005cleftharpoonup'><span><code class="code">\leftharpoonup</code><a class="copiable-link" href='#index-_005cleftharpoonup'> ¶</a></span></dt>
+<dt><a id="index-_005cleftharpoonup"></a><span><code class="code">\leftharpoonup</code><a class="copiable-link" href="#index-_005cleftharpoonup"> ¶</a></span></dt>
 <dd><p>&#x21BC; Single-line left harpoon, barb over bar (relation).
 </p>
 </dd>
-<dt id='index-_005cLeftrightarrow'><span><code class="code">\Leftrightarrow</code><a class="copiable-link" href='#index-_005cLeftrightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cLeftrightarrow"></a><span><code class="code">\Leftrightarrow</code><a class="copiable-link" href="#index-_005cLeftrightarrow"> ¶</a></span></dt>
 <dd><p>&#x21D4; Bi-implication; double-line double-headed arrow (relation).
 Similar: single-line double headed arrow <code class="code">\leftrightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005cleftrightarrow'><span><code class="code">\leftrightarrow</code><a class="copiable-link" href='#index-_005cleftrightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cleftrightarrow"></a><span><code class="code">\leftrightarrow</code><a class="copiable-link" href="#index-_005cleftrightarrow"> ¶</a></span></dt>
 <dd><p>&#x2194; Single-line double-headed arrow (relation).  Similar:
 double-line double headed arrow <code class="code">\Leftrightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005cleq'><span><code class="code">\leq</code><a class="copiable-link" href='#index-_005cleq'> ¶</a></span></dt>
+<dt><a id="index-_005cleq"></a><span><code class="code">\leq</code><a class="copiable-link" href="#index-_005cleq"> ¶</a></span></dt>
 <dd><p>&#x2264; Less than or equal to (relation).  This is a synonym
 for <code class="code">\le</code>.
 </p>
 </dd>
-<dt id='index-_005clfloor'><span><code class="code">\lfloor</code><a class="copiable-link" href='#index-_005clfloor'> ¶</a></span></dt>
+<dt><a id="index-_005clfloor"></a><span><code class="code">\lfloor</code><a class="copiable-link" href="#index-_005clfloor"> ¶</a></span></dt>
 <dd><p>&#x230A; Left floor bracket (opening). Matches: <code class="code">\floor</code>.
 </p>
 </dd>
-<dt id='index-_005clhd'><span><code class="code">\lhd</code><a class="copiable-link" href='#index-_005clhd'> ¶</a></span></dt>
+<dt><a id="index-_005clhd"></a><span><code class="code">\lhd</code><a class="copiable-link" href="#index-_005clhd"> ¶</a></span></dt>
 <dd><p>&#x25C1; Arrowhead, that is, triangle, pointing left (binary).
 For the normal subgroup symbol you should load
 <code class="code">amssymb</code> and use <code class="code">\vartriangleleft</code> (which is a relation
@@ -14025,51 +14811,51 @@
 and so gives better spacing).
 </p>
 </dd>
-<dt id='index-_005cll'><span><code class="code">\ll</code><a class="copiable-link" href='#index-_005cll'> ¶</a></span></dt>
+<dt><a id="index-_005cll"></a><span><code class="code">\ll</code><a class="copiable-link" href="#index-_005cll"> ¶</a></span></dt>
 <dd><p>&#x226A; Much less than (relation).  Similar: much greater
 than <code class="code">\gg</code>.
 </p>
 </dd>
-<dt id='index-_005clnot'><span><code class="code">\lnot</code><a class="copiable-link" href='#index-_005clnot'> ¶</a></span></dt>
+<dt><a id="index-_005clnot"></a><span><code class="code">\lnot</code><a class="copiable-link" href="#index-_005clnot"> ¶</a></span></dt>
 <dd><p>&#x00AC; Logical negation (ordinary). Synonym: <code class="code">\neg</code>.
 </p>
 </dd>
-<dt id='index-_005clongleftarrow'><span><code class="code">\longleftarrow</code><a class="copiable-link" href='#index-_005clongleftarrow'> ¶</a></span></dt>
+<dt><a id="index-_005clongleftarrow"></a><span><code class="code">\longleftarrow</code><a class="copiable-link" href="#index-_005clongleftarrow"> ¶</a></span></dt>
 <dd><p>&#x27F5; Long single-line left arrow (relation).  Similar: long
 double-line left arrow <code class="code">\Longleftarrow</code>.
 </p>
 </dd>
-<dt id='index-_005clongleftrightarrow'><span><code class="code">\longleftrightarrow</code><a class="copiable-link" href='#index-_005clongleftrightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005clongleftrightarrow"></a><span><code class="code">\longleftrightarrow</code><a class="copiable-link" href="#index-_005clongleftrightarrow"> ¶</a></span></dt>
 <dd><p>&#x27F7; Long single-line double-headed arrow (relation).  Similar: long
 double-line double-headed arrow <code class="code">\Longleftrightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005clongmapsto'><span><code class="code">\longmapsto</code><a class="copiable-link" href='#index-_005clongmapsto'> ¶</a></span></dt>
+<dt><a id="index-_005clongmapsto"></a><span><code class="code">\longmapsto</code><a class="copiable-link" href="#index-_005clongmapsto"> ¶</a></span></dt>
 <dd><p>&#x27FC; Long single-line left arrow starting with vertical bar
 (relation).  Similar: shorter version <code class="code">\mapsto</code>.
 </p>
 </dd>
-<dt id='index-_005clongrightarrow'><span><code class="code">\longrightarrow</code><a class="copiable-link" href='#index-_005clongrightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005clongrightarrow"></a><span><code class="code">\longrightarrow</code><a class="copiable-link" href="#index-_005clongrightarrow"> ¶</a></span></dt>
 <dd><p>&#x27F6; Long single-line right arrow (relation).  Similar: long
 double-line right arrow <code class="code">\Longrightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005clor'><span><code class="code">\lor</code><a class="copiable-link" href='#index-_005clor'> ¶</a></span></dt>
+<dt><a id="index-_005clor"></a><span><code class="code">\lor</code><a class="copiable-link" href="#index-_005clor"> ¶</a></span></dt>
 <dd><p>&#x2228; Logical or (binary).  Synonym: <code class="code">\vee</code>.
 See also logical and <code class="code">\land</code>.
 </p>
 </dd>
-<dt id='index-_005cmapsto'><span><code class="code">\mapsto</code><a class="copiable-link" href='#index-_005cmapsto'> ¶</a></span></dt>
+<dt><a id="index-_005cmapsto"></a><span><code class="code">\mapsto</code><a class="copiable-link" href="#index-_005cmapsto"> ¶</a></span></dt>
 <dd><p>&#x21A6; Single-line left arrow starting with vertical bar
 (relation).
 Similar: longer version <code class="code">\longmapsto</code>.
 </p>
 </dd>
-<dt id='index-_005cmho'><span><code class="code">\mho</code><a class="copiable-link" href='#index-_005cmho'> ¶</a></span></dt>
+<dt><a id="index-_005cmho"></a><span><code class="code">\mho</code><a class="copiable-link" href="#index-_005cmho"> ¶</a></span></dt>
 <dd><p>&#x2127; Conductance, half-circle rotated capital omega (ordinary).
 </p>
 </dd>
-<dt id='index-_005cmid'><span><code class="code">\mid</code><a class="copiable-link" href='#index-_005cmid'> ¶</a></span></dt>
+<dt><a id="index-_005cmid"></a><span><code class="code">\mid</code><a class="copiable-link" href="#index-_005cmid"> ¶</a></span></dt>
 <dd><p>&#x2223; Single-line vertical bar (relation).  A typical use of
 <code class="code">\mid</code> is for a set <code class="code">\{\, x \mid x\geq 5 \,\}</code>.
 </p>
@@ -14080,52 +14866,52 @@
 for <code class="code">\vert</code> and for norm see the entry for <code class="code">\Vert</code>.
 </p>
 </dd>
-<dt id='index-_005cmodels'><span><code class="code">\models</code><a class="copiable-link" href='#index-_005cmodels'> ¶</a></span></dt>
+<dt><a id="index-_005cmodels"></a><span><code class="code">\models</code><a class="copiable-link" href="#index-_005cmodels"> ¶</a></span></dt>
 <dd><p>&#x22A8; Entails, or satisfies; double turnstile, short double dash
 (relation).  Similar: long double dash <code class="code">\vDash</code>.
 </p>
 </dd>
-<dt id='index-_005cmp'><span><code class="code">\mp</code><a class="copiable-link" href='#index-_005cmp'> ¶</a></span></dt>
+<dt><a id="index-_005cmp"></a><span><code class="code">\mp</code><a class="copiable-link" href="#index-_005cmp"> ¶</a></span></dt>
 <dd><p>&#x2213; Minus or plus (relation).
 </p>
 </dd>
-<dt id='index-_005cmu'><span><code class="code">\mu</code><a class="copiable-link" href='#index-_005cmu'> ¶</a></span></dt>
+<dt><a id="index-_005cmu"></a><span><code class="code">\mu</code><a class="copiable-link" href="#index-_005cmu"> ¶</a></span></dt>
 <dd><p>&#x03BC; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cnabla'><span><code class="code">\nabla</code><a class="copiable-link" href='#index-_005cnabla'> ¶</a></span></dt>
+<dt><a id="index-_005cnabla"></a><span><code class="code">\nabla</code><a class="copiable-link" href="#index-_005cnabla"> ¶</a></span></dt>
 <dd><p>&#x2207; Hamilton’s del, or differential, operator (ordinary).
 </p>
 </dd>
-<dt id='index-_005cnatural'><span><code class="code">\natural</code><a class="copiable-link" href='#index-_005cnatural'> ¶</a></span></dt>
+<dt><a id="index-_005cnatural"></a><span><code class="code">\natural</code><a class="copiable-link" href="#index-_005cnatural"> ¶</a></span></dt>
 <dd><p>&#x266E; Musical natural notation (ordinary).
 </p>
 </dd>
-<dt id='index-_005cne'><span><code class="code">\ne</code><a class="copiable-link" href='#index-_005cne'> ¶</a></span></dt>
+<dt><a id="index-_005cne"></a><span><code class="code">\ne</code><a class="copiable-link" href="#index-_005cne"> ¶</a></span></dt>
 <dd><p>&#x2260; Not equal (relation). Synonym: <code class="code">\neq</code>.
 </p>
 </dd>
-<dt id='index-_005cnearrow'><span><code class="code">\nearrow</code><a class="copiable-link" href='#index-_005cnearrow'> ¶</a></span></dt>
+<dt><a id="index-_005cnearrow"></a><span><code class="code">\nearrow</code><a class="copiable-link" href="#index-_005cnearrow"> ¶</a></span></dt>
 <dd><p>&#x2197; North-east arrow (relation).
 </p>
 </dd>
-<dt id='index-_005cneg'><span><code class="code">\neg</code><a class="copiable-link" href='#index-_005cneg'> ¶</a></span></dt>
+<dt><a id="index-_005cneg"></a><span><code class="code">\neg</code><a class="copiable-link" href="#index-_005cneg"> ¶</a></span></dt>
 <dd><p>&#x00AC; Logical negation (ordinary).
 Synonym: <code class="code">\lnot</code>. Sometimes instead used for
 negation: <code class="code">\sim</code>.
 </p>
 </dd>
-<dt id='index-_005cneq'><span><code class="code">\neq</code><a class="copiable-link" href='#index-_005cneq'> ¶</a></span></dt>
+<dt><a id="index-_005cneq"></a><span><code class="code">\neq</code><a class="copiable-link" href="#index-_005cneq"> ¶</a></span></dt>
 <dd><p>&#x2260; Not equal (relation). Synonym: <code class="code">\ne</code>.
 </p>
 </dd>
-<dt id='index-_005cni'><span><code class="code">\ni</code><a class="copiable-link" href='#index-_005cni'> ¶</a></span></dt>
+<dt><a id="index-_005cni"></a><span><code class="code">\ni</code><a class="copiable-link" href="#index-_005cni"> ¶</a></span></dt>
 <dd><p>&#x220B; Reflected membership epsilon; has the member
 (relation). Synonym: <code class="code">\owns</code>. Similar: is a member
 of <code class="code">\in</code>.
 </p>
 </dd>
-<dt id='index-_005cnot'><span><code class="code">\not</code><a class="copiable-link" href='#index-_005cnot'> ¶</a></span></dt>
+<dt><a id="index-_005cnot"></a><span><code class="code">\not</code><a class="copiable-link" href="#index-_005cnot"> ¶</a></span></dt>
 <dd><p>&#x0020;    Long solidus, or slash, used to overstrike a
 following operator (relation).
 </p>
@@ -14134,107 +14920,107 @@
 is typographically preferable to <code class="code">\not\in</code>.
 </p>
 </dd>
-<dt id='index-_005cnotin'><span><code class="code">\notin</code><a class="copiable-link" href='#index-_005cnotin'> ¶</a></span></dt>
+<dt><a id="index-_005cnotin"></a><span><code class="code">\notin</code><a class="copiable-link" href="#index-_005cnotin"> ¶</a></span></dt>
 <dd><p>&#x2209; Not an element of (relation).  Similar: not subset
 of <code class="code">\nsubseteq</code>.
 </p>
 </dd>
-<dt id='index-_005cnu'><span><code class="code">\nu</code><a class="copiable-link" href='#index-_005cnu'> ¶</a></span></dt>
+<dt><a id="index-_005cnu"></a><span><code class="code">\nu</code><a class="copiable-link" href="#index-_005cnu"> ¶</a></span></dt>
 <dd><p>&#x03BD; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cnwarrow'><span><code class="code">\nwarrow</code><a class="copiable-link" href='#index-_005cnwarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cnwarrow"></a><span><code class="code">\nwarrow</code><a class="copiable-link" href="#index-_005cnwarrow"> ¶</a></span></dt>
 <dd><p>&#x2196; North-west arrow (relation).
 </p>
 </dd>
-<dt id='index-_005codot'><span><code class="code">\odot</code><a class="copiable-link" href='#index-_005codot'> ¶</a></span></dt>
+<dt><a id="index-_005codot"></a><span><code class="code">\odot</code><a class="copiable-link" href="#index-_005codot"> ¶</a></span></dt>
 <dd><p>&#x2299; Dot inside a circle (binary).  Similar: variable-sized
 operator <code class="code">\bigodot</code>.
 </p>
 </dd>
-<dt id='index-_005coint'><span><code class="code">\oint</code><a class="copiable-link" href='#index-_005coint'> ¶</a></span></dt>
+<dt><a id="index-_005coint"></a><span><code class="code">\oint</code><a class="copiable-link" href="#index-_005coint"> ¶</a></span></dt>
 <dd><p>&#x222E; Contour integral, integral with circle in the middle
 (operator).
 </p>
 </dd>
-<dt id='index-_005cOmega'><span><code class="code">\Omega</code><a class="copiable-link" href='#index-_005cOmega'> ¶</a></span></dt>
+<dt><a id="index-_005cOmega"></a><span><code class="code">\Omega</code><a class="copiable-link" href="#index-_005cOmega"> ¶</a></span></dt>
 <dd><p>&#x03A9; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005comega'><span><code class="code">\omega</code><a class="copiable-link" href='#index-_005comega'> ¶</a></span></dt>
+<dt><a id="index-_005comega"></a><span><code class="code">\omega</code><a class="copiable-link" href="#index-_005comega"> ¶</a></span></dt>
 <dd><p>&#x03C9; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cominus'><span><code class="code">\ominus</code><a class="copiable-link" href='#index-_005cominus'> ¶</a></span></dt>
+<dt><a id="index-_005cominus"></a><span><code class="code">\ominus</code><a class="copiable-link" href="#index-_005cominus"> ¶</a></span></dt>
 <dd><p>&#x2296; Minus sign, or dash, inside a circle (binary).
 </p>
 </dd>
-<dt id='index-_005coplus'><span><code class="code">\oplus</code><a class="copiable-link" href='#index-_005coplus'> ¶</a></span></dt>
+<dt><a id="index-_005coplus"></a><span><code class="code">\oplus</code><a class="copiable-link" href="#index-_005coplus"> ¶</a></span></dt>
 <dd><p>&#x2295; Plus sign inside a circle (binary).  Similar: variable-sized
 operator <code class="code">\bigoplus</code>.
 </p>
 </dd>
-<dt id='index-_005coslash'><span><code class="code">\oslash</code><a class="copiable-link" href='#index-_005coslash'> ¶</a></span></dt>
+<dt><a id="index-_005coslash"></a><span><code class="code">\oslash</code><a class="copiable-link" href="#index-_005coslash"> ¶</a></span></dt>
 <dd><p>&#x2298; Solidus, or slash, inside a circle (binary).
 </p>
 </dd>
-<dt id='index-_005cotimes'><span><code class="code">\otimes</code><a class="copiable-link" href='#index-_005cotimes'> ¶</a></span></dt>
+<dt><a id="index-_005cotimes"></a><span><code class="code">\otimes</code><a class="copiable-link" href="#index-_005cotimes"> ¶</a></span></dt>
 <dd><p>&#x2297; Times sign, or cross, inside a circle (binary).  Similar:
 variable-sized operator <code class="code">\bigotimes</code>.
 </p>
 </dd>
-<dt id='index-_005cowns'><span><code class="code">\owns</code><a class="copiable-link" href='#index-_005cowns'> ¶</a></span></dt>
+<dt><a id="index-_005cowns"></a><span><code class="code">\owns</code><a class="copiable-link" href="#index-_005cowns"> ¶</a></span></dt>
 <dd><p>&#x220B; Reflected membership epsilon; has the member
 (relation). Synonym: <code class="code">\ni</code>. Similar: is a member
 of <code class="code">\in</code>.
 </p>
 </dd>
-<dt id='index-_005cparallel'><span><code class="code">\parallel</code><a class="copiable-link" href='#index-_005cparallel'> ¶</a></span></dt>
+<dt><a id="index-_005cparallel"></a><span><code class="code">\parallel</code><a class="copiable-link" href="#index-_005cparallel"> ¶</a></span></dt>
 <dd><p>&#x2225; Parallel (relation). Synonym: <code class="code">\|</code>.
 </p>
 </dd>
-<dt id='index-_005cpartial'><span><code class="code">\partial</code><a class="copiable-link" href='#index-_005cpartial'> ¶</a></span></dt>
+<dt><a id="index-_005cpartial"></a><span><code class="code">\partial</code><a class="copiable-link" href="#index-_005cpartial"> ¶</a></span></dt>
 <dd><p>&#x2202; Partial differential (ordinary).
 </p>
 </dd>
-<dt id='index-_005cperp'><span><code class="code">\perp</code><a class="copiable-link" href='#index-_005cperp'> ¶</a></span></dt>
+<dt><a id="index-_005cperp"></a><span><code class="code">\perp</code><a class="copiable-link" href="#index-_005cperp"> ¶</a></span></dt>
 <dd><p>&#x27C2; Perpendicular (relation).  Similar: <code class="code">\bot</code> uses the
 same glyph but the spacing is different because it is in the class
 ordinary.
 </p>
 </dd>
-<dt id='index-_005cPhi'><span><code class="code">\Phi</code><a class="copiable-link" href='#index-_005cPhi'> ¶</a></span></dt>
+<dt><a id="index-_005cPhi"></a><span><code class="code">\Phi</code><a class="copiable-link" href="#index-_005cPhi"> ¶</a></span></dt>
 <dd><p>&#x03A6; Uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cphi'><span><code class="code">\phi</code><a class="copiable-link" href='#index-_005cphi'> ¶</a></span></dt>
+<dt><a id="index-_005cphi"></a><span><code class="code">\phi</code><a class="copiable-link" href="#index-_005cphi"> ¶</a></span></dt>
 <dd><p>&#x03D5; Lowercase Greek letter (ordinary).  The variant form is
 <code class="code">\varphi</code> &#x03C6;.
 </p>
 </dd>
-<dt id='index-_005cPi'><span><code class="code">\Pi</code><a class="copiable-link" href='#index-_005cPi'> ¶</a></span></dt>
+<dt><a id="index-_005cPi"></a><span><code class="code">\Pi</code><a class="copiable-link" href="#index-_005cPi"> ¶</a></span></dt>
 <dd><p>&#x03A0; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cpi'><span><code class="code">\pi</code><a class="copiable-link" href='#index-_005cpi'> ¶</a></span></dt>
+<dt><a id="index-_005cpi"></a><span><code class="code">\pi</code><a class="copiable-link" href="#index-_005cpi"> ¶</a></span></dt>
 <dd><p>&#x03C0; Lowercase Greek letter (ordinary).  The variant form is
 <code class="code">\varpi</code> &#x03D6;.
 </p>
 </dd>
-<dt id='index-_005cpm'><span><code class="code">\pm</code><a class="copiable-link" href='#index-_005cpm'> ¶</a></span></dt>
+<dt><a id="index-_005cpm"></a><span><code class="code">\pm</code><a class="copiable-link" href="#index-_005cpm"> ¶</a></span></dt>
 <dd><p>&#x00B1; Plus or minus (binary).
 </p>
 </dd>
-<dt id='index-_005cprec'><span><code class="code">\prec</code><a class="copiable-link" href='#index-_005cprec'> ¶</a></span></dt>
+<dt><a id="index-_005cprec"></a><span><code class="code">\prec</code><a class="copiable-link" href="#index-_005cprec"> ¶</a></span></dt>
 <dd><p>&#x227A; Precedes (relation). Similar: less than <code class="code"><</code>.
 </p>
 </dd>
-<dt id='index-_005cpreceq'><span><code class="code">\preceq</code><a class="copiable-link" href='#index-_005cpreceq'> ¶</a></span></dt>
+<dt><a id="index-_005cpreceq"></a><span><code class="code">\preceq</code><a class="copiable-link" href="#index-_005cpreceq"> ¶</a></span></dt>
 <dd><p>&#x2AAF; Precedes or equals (relation). Similar: less than or
 equals <code class="code">\leq</code>.
 </p>
 </dd>
-<dt id='index-_005cprime'><span><code class="code">\prime</code><a class="copiable-link" href='#index-_005cprime'> ¶</a></span></dt>
+<dt><a id="index-_005cprime"></a><span><code class="code">\prime</code><a class="copiable-link" href="#index-_005cprime"> ¶</a></span></dt>
 <dd><p>&#x2032; Prime, or minute in a time expression (ordinary).
 Typically used as a superscript: <code class="code">$f^\prime$</code>; <code class="code">$f^\prime$</code>
 and <code class="code">$f'$</code> produce the same result.  An advantage of the second
@@ -14245,63 +15031,63 @@
 (apostrophe).
 </p>
 </dd>
-<dt id='index-_005cprod'><span><code class="code">\prod</code><a class="copiable-link" href='#index-_005cprod'> ¶</a></span></dt>
+<dt><a id="index-_005cprod"></a><span><code class="code">\prod</code><a class="copiable-link" href="#index-_005cprod"> ¶</a></span></dt>
 <dd><p>&#x220F; Product (operator).
 </p>
 </dd>
-<dt id='index-_005cpropto'><span><code class="code">\propto</code><a class="copiable-link" href='#index-_005cpropto'> ¶</a></span></dt>
+<dt><a id="index-_005cpropto"></a><span><code class="code">\propto</code><a class="copiable-link" href="#index-_005cpropto"> ¶</a></span></dt>
 <dd><p>&#x221D; Is proportional to (relation)
 </p>
 </dd>
-<dt id='index-_005cPsi'><span><code class="code">\Psi</code><a class="copiable-link" href='#index-_005cPsi'> ¶</a></span></dt>
+<dt><a id="index-_005cPsi"></a><span><code class="code">\Psi</code><a class="copiable-link" href="#index-_005cPsi"> ¶</a></span></dt>
 <dd><p>&#x03A8; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005cpsi'><span><code class="code">\psi</code><a class="copiable-link" href='#index-_005cpsi'> ¶</a></span></dt>
+<dt><a id="index-_005cpsi"></a><span><code class="code">\psi</code><a class="copiable-link" href="#index-_005cpsi"> ¶</a></span></dt>
 <dd><p>&#x03C8; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005crangle'><span><code class="code">\rangle</code><a class="copiable-link" href='#index-_005crangle'> ¶</a></span></dt>
+<dt><a id="index-_005crangle"></a><span><code class="code">\rangle</code><a class="copiable-link" href="#index-_005crangle"> ¶</a></span></dt>
 <dd><p>&#x27E9; Right angle, or sequence, bracket (closing).
 Similar: greater than <code class="code">></code>. Matches:<code class="code">\langle</code>.
 </p>
 </dd>
-<dt id='index-_005crbrace'><span><code class="code">\rbrace</code><a class="copiable-link" href='#index-_005crbrace'> ¶</a></span></dt>
+<dt><a id="index-_005crbrace"></a><span><code class="code">\rbrace</code><a class="copiable-link" href="#index-_005crbrace"> ¶</a></span></dt>
 <dd><p>&#x007D; Right curly brace
 (closing). Synonym: <code class="code">\}</code>. Matches <code class="code">\lbrace</code>.
 </p>
 </dd>
-<dt id='index-_005crbrack'><span><code class="code">\rbrack</code><a class="copiable-link" href='#index-_005crbrack'> ¶</a></span></dt>
+<dt><a id="index-_005crbrack"></a><span><code class="code">\rbrack</code><a class="copiable-link" href="#index-_005crbrack"> ¶</a></span></dt>
 <dd><p>&#x005D; Right square bracket
 (closing). Synonym: <code class="code">]</code>. Matches <code class="code">\lbrack</code>.
 </p>
 </dd>
-<dt id='index-_005crceil'><span><code class="code">\rceil</code><a class="copiable-link" href='#index-_005crceil'> ¶</a></span></dt>
+<dt><a id="index-_005crceil"></a><span><code class="code">\rceil</code><a class="copiable-link" href="#index-_005crceil"> ¶</a></span></dt>
 <dd><p>&#x2309; Right ceiling bracket (closing). Matches <code class="code">\lceil</code>.
 </p>
 </dd>
-<dt id='index-_005cRe'><span><code class="code">\Re</code><a class="copiable-link" href='#index-_005cRe'> ¶</a></span></dt>
+<dt><a id="index-_005cRe"></a><span><code class="code">\Re</code><a class="copiable-link" href="#index-_005cRe"> ¶</a></span></dt>
 <dd><p>&#x211C; Real part, real numbers, cursive capital R (ordinary). Related:
 double-line, or blackboard bold, R <code class="code">\mathbb{R}</code>; to access
 this, load the <code class="code">amsfonts</code> package.
 </p>
 </dd>
-<dt id='index-_005crestriction'><span><code class="code">\restriction</code><a class="copiable-link" href='#index-_005crestriction'> ¶</a></span></dt>
+<dt><a id="index-_005crestriction"></a><span><code class="code">\restriction</code><a class="copiable-link" href="#index-_005crestriction"> ¶</a></span></dt>
 <dd><p>&#x21BE;, Restriction of a function (relation). Synonym:
 <code class="code">\upharpoonright</code>.  Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package.
 </p>
 </dd>
-<dt id='index-_005crevemptyset'><span><code class="code">\revemptyset</code><a class="copiable-link" href='#index-_005crevemptyset'> ¶</a></span></dt>
+<dt><a id="index-_005crevemptyset"></a><span><code class="code">\revemptyset</code><a class="copiable-link" href="#index-_005crevemptyset"> ¶</a></span></dt>
 <dd><p>&#x29B0;, Reversed empty set symbol (ordinary).  Related:
 <code class="code">\varnothing</code>. Not available in plain TeX. In LaTeX you need to load the <samp class="file">stix</samp> package.
 </p>
 </dd>
-<dt id='index-_005crfloor'><span><code class="code">\rfloor</code><a class="copiable-link" href='#index-_005crfloor'> ¶</a></span></dt>
+<dt><a id="index-_005crfloor"></a><span><code class="code">\rfloor</code><a class="copiable-link" href="#index-_005crfloor"> ¶</a></span></dt>
 <dd><p>&#x230B; Right floor bracket, a right square bracket with the top cut
 off (closing). Matches <code class="code">\lfloor</code>.
 </p>
 </dd>
-<dt id='index-_005crhd'><span><code class="code">\rhd</code><a class="copiable-link" href='#index-_005crhd'> ¶</a></span></dt>
+<dt><a id="index-_005crhd"></a><span><code class="code">\rhd</code><a class="copiable-link" href="#index-_005crhd"> ¶</a></span></dt>
 <dd><p>&#x25C1; Arrowhead, that is, triangle, pointing right (binary).
 For the normal subgroup symbol you should instead
 load <code class="code">amssymb</code> and use <code class="code">\vartriangleright</code> (which is a
@@ -14308,113 +15094,113 @@
 relation and so gives better spacing).
 </p>
 </dd>
-<dt id='index-_005crho'><span><code class="code">\rho</code><a class="copiable-link" href='#index-_005crho'> ¶</a></span></dt>
+<dt><a id="index-_005crho"></a><span><code class="code">\rho</code><a class="copiable-link" href="#index-_005crho"> ¶</a></span></dt>
 <dd><p>&#x03C1; Lowercase Greek letter (ordinary).  The variant form is
 <code class="code">\varrho</code> &#x03F1;.
 </p>
 </dd>
-<dt id='index-_005cRightarrow'><span><code class="code">\Rightarrow</code><a class="copiable-link" href='#index-_005cRightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cRightarrow"></a><span><code class="code">\Rightarrow</code><a class="copiable-link" href="#index-_005cRightarrow"> ¶</a></span></dt>
 <dd><p>&#x21D2; Implies, right-pointing double line arrow
 (relation). Similar: right single-line arrow <code class="code">\rightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005crightarrow'><span><code class="code">\rightarrow</code><a class="copiable-link" href='#index-_005crightarrow'> ¶</a></span></dt>
+<dt><a id="index-_005crightarrow"></a><span><code class="code">\rightarrow</code><a class="copiable-link" href="#index-_005crightarrow"> ¶</a></span></dt>
 <dd><p>&#x2192; Right-pointing single line arrow (relation).
 Synonym: <code class="code">\to</code>. Similar: right double line
 arrow <code class="code">\Rightarrow</code>.
 </p>
 </dd>
-<dt id='index-_005crightharpoondown'><span><code class="code">\rightharpoondown</code><a class="copiable-link" href='#index-_005crightharpoondown'> ¶</a></span></dt>
+<dt><a id="index-_005crightharpoondown"></a><span><code class="code">\rightharpoondown</code><a class="copiable-link" href="#index-_005crightharpoondown"> ¶</a></span></dt>
 <dd><p>&#x21C1; Right-pointing harpoon with barb below
 the line (relation). 
 </p>
 </dd>
-<dt id='index-_005crightharpoonup'><span><code class="code">\rightharpoonup</code><a class="copiable-link" href='#index-_005crightharpoonup'> ¶</a></span></dt>
+<dt><a id="index-_005crightharpoonup"></a><span><code class="code">\rightharpoonup</code><a class="copiable-link" href="#index-_005crightharpoonup"> ¶</a></span></dt>
 <dd><p>&#x21C0; Right-pointing harpoon with barb above the
 line (relation).
 </p>
 </dd>
-<dt id='index-_005crightleftharpoons'><span><code class="code">\rightleftharpoons</code><a class="copiable-link" href='#index-_005crightleftharpoons'> ¶</a></span></dt>
+<dt><a id="index-_005crightleftharpoons"></a><span><code class="code">\rightleftharpoons</code><a class="copiable-link" href="#index-_005crightleftharpoons"> ¶</a></span></dt>
 <dd><p>&#x21CC; Right harpoon up above left harpoon down
 (relation).
 </p>
 </dd>
-<dt id='index-_005csearrow'><span><code class="code">\searrow</code><a class="copiable-link" href='#index-_005csearrow'> ¶</a></span></dt>
+<dt><a id="index-_005csearrow"></a><span><code class="code">\searrow</code><a class="copiable-link" href="#index-_005csearrow"> ¶</a></span></dt>
 <dd><p>&#x2198; Arrow pointing southeast (relation).
 </p>
 </dd>
-<dt id='index-_005csetminus'><span><code class="code">\setminus</code><a class="copiable-link" href='#index-_005csetminus'> ¶</a></span></dt>
+<dt><a id="index-_005csetminus"></a><span><code class="code">\setminus</code><a class="copiable-link" href="#index-_005csetminus"> ¶</a></span></dt>
 <dd><p>&#x29F5; Set difference, reverse solidus or reverse slash,
 like \ (binary). Similar: backslash <code class="code">\backslash</code> and also
 <code class="code">\textbackslash</code> outside of math mode.
 </p>
 </dd>
-<dt id='index-_005csharp'><span><code class="code">\sharp</code><a class="copiable-link" href='#index-_005csharp'> ¶</a></span></dt>
+<dt><a id="index-_005csharp"></a><span><code class="code">\sharp</code><a class="copiable-link" href="#index-_005csharp"> ¶</a></span></dt>
 <dd><p>&#x266F; Musical sharp (ordinary).
 </p>
 </dd>
-<dt id='index-_005cSigma'><span><code class="code">\Sigma</code><a class="copiable-link" href='#index-_005cSigma'> ¶</a></span></dt>
+<dt><a id="index-_005cSigma"></a><span><code class="code">\Sigma</code><a class="copiable-link" href="#index-_005cSigma"> ¶</a></span></dt>
 <dd><p>&#x03A3; uppercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005csigma'><span><code class="code">\sigma</code><a class="copiable-link" href='#index-_005csigma'> ¶</a></span></dt>
+<dt><a id="index-_005csigma"></a><span><code class="code">\sigma</code><a class="copiable-link" href="#index-_005csigma"> ¶</a></span></dt>
 <dd><p>&#x03C3; Lowercase Greek letter (ordinary). The variant form is
 <code class="code">\varsigma</code> &#x03C2;.
 </p>
 </dd>
-<dt id='index-_005csim'><span><code class="code">\sim</code><a class="copiable-link" href='#index-_005csim'> ¶</a></span></dt>
+<dt><a id="index-_005csim"></a><span><code class="code">\sim</code><a class="copiable-link" href="#index-_005csim"> ¶</a></span></dt>
 <dd><p>&#x223C; Similar, in a relation (relation).
 </p>
 </dd>
-<dt id='index-_005csimeq'><span><code class="code">\simeq</code><a class="copiable-link" href='#index-_005csimeq'> ¶</a></span></dt>
+<dt><a id="index-_005csimeq"></a><span><code class="code">\simeq</code><a class="copiable-link" href="#index-_005csimeq"> ¶</a></span></dt>
 <dd><p>&#x2243; Similar or equal to, in a relation (relation).
 </p>
 </dd>
-<dt id='index-_005csmallint'><span><code class="code">\smallint</code><a class="copiable-link" href='#index-_005csmallint'> ¶</a></span></dt>
+<dt><a id="index-_005csmallint"></a><span><code class="code">\smallint</code><a class="copiable-link" href="#index-_005csmallint"> ¶</a></span></dt>
 <dd><p>&#x222B; Integral sign that does not change to a larger size in a
 display (operator).
 </p>
 </dd>
-<dt id='index-_005csmile'><span><code class="code">\smile</code><a class="copiable-link" href='#index-_005csmile'> ¶</a></span></dt>
+<dt><a id="index-_005csmile"></a><span><code class="code">\smile</code><a class="copiable-link" href="#index-_005csmile"> ¶</a></span></dt>
 <dd><p>&#x2323; Upward curving arc, smile (ordinary).
 </p>
 </dd>
-<dt id='index-_005cspadesuit'><span><code class="code">\spadesuit</code><a class="copiable-link" href='#index-_005cspadesuit'> ¶</a></span></dt>
+<dt><a id="index-_005cspadesuit"></a><span><code class="code">\spadesuit</code><a class="copiable-link" href="#index-_005cspadesuit"> ¶</a></span></dt>
 <dd><p>&#x2660; Spade card suit (ordinary).
 </p>
 </dd>
-<dt id='index-_005csqcap'><span><code class="code">\sqcap</code><a class="copiable-link" href='#index-_005csqcap'> ¶</a></span></dt>
+<dt><a id="index-_005csqcap"></a><span><code class="code">\sqcap</code><a class="copiable-link" href="#index-_005csqcap"> ¶</a></span></dt>
 <dd><p>&#x2293; Square intersection symbol (binary). Similar:
 intersection <code class="code">cap</code>.
 </p>
 </dd>
-<dt id='index-_005csqcup'><span><code class="code">\sqcup</code><a class="copiable-link" href='#index-_005csqcup'> ¶</a></span></dt>
+<dt><a id="index-_005csqcup"></a><span><code class="code">\sqcup</code><a class="copiable-link" href="#index-_005csqcup"> ¶</a></span></dt>
 <dd><p>&#x2294; Square union symbol (binary). Similar:
 union <code class="code">cup</code>. Related: variable-sized
 operator <code class="code">\bigsqcup</code>.
 </p>
 </dd>
-<dt id='index-_005csqsubset'><span><code class="code">\sqsubset</code><a class="copiable-link" href='#index-_005csqsubset'> ¶</a></span></dt>
+<dt><a id="index-_005csqsubset"></a><span><code class="code">\sqsubset</code><a class="copiable-link" href="#index-_005csqsubset"> ¶</a></span></dt>
 <dd><p>&#x228F;, Square subset symbol (relation). Similar:
 subset <code class="code">\subset</code>. Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package.
 </p>
 </dd>
-<dt id='index-_005csqsubseteq'><span><code class="code">\sqsubseteq</code><a class="copiable-link" href='#index-_005csqsubseteq'> ¶</a></span></dt>
+<dt><a id="index-_005csqsubseteq"></a><span><code class="code">\sqsubseteq</code><a class="copiable-link" href="#index-_005csqsubseteq"> ¶</a></span></dt>
 <dd><p>&#x2291; Square subset or equal symbol (binary). Similar: subset or
 equal to <code class="code">\subseteq</code>.
 </p>
 </dd>
-<dt id='index-_005csqsupset'><span><code class="code">\sqsupset</code><a class="copiable-link" href='#index-_005csqsupset'> ¶</a></span></dt>
+<dt><a id="index-_005csqsupset"></a><span><code class="code">\sqsupset</code><a class="copiable-link" href="#index-_005csqsupset"> ¶</a></span></dt>
 <dd><p>&#x2290;, Square superset symbol (relation). Similar:
 superset <code class="code">\supset</code>. Not available in plain TeX. In LaTeX you need to load the <code class="code">amssymb</code> package.
 </p>
 </dd>
-<dt id='index-_005csqsupseteq'><span><code class="code">\sqsupseteq</code><a class="copiable-link" href='#index-_005csqsupseteq'> ¶</a></span></dt>
+<dt><a id="index-_005csqsupseteq"></a><span><code class="code">\sqsupseteq</code><a class="copiable-link" href="#index-_005csqsupseteq"> ¶</a></span></dt>
 <dd><p>&#x2292; Square superset or equal symbol (binary).
 Similar: superset or equal <code class="code">\supseteq</code>.
 </p>
 </dd>
-<dt id='index-_005cstar'><span><code class="code">\star</code><a class="copiable-link" href='#index-_005cstar'> ¶</a></span></dt>
+<dt><a id="index-_005cstar"></a><span><code class="code">\star</code><a class="copiable-link" href="#index-_005cstar"> ¶</a></span></dt>
 <dd><p>&#x22C6; Five-pointed star, sometimes used as a general binary
 operation but sometimes reserved for cross-correlation (binary).
 Similar: the synonyms asterisk <code class="code">*</code> and <code class="code">\ast</code>, which
@@ -14422,76 +15208,76 @@
 as with the Kleene star.
 </p>
 </dd>
-<dt id='index-_005csubset'><span><code class="code">\subset</code><a class="copiable-link" href='#index-_005csubset'> ¶</a></span></dt>
+<dt><a id="index-_005csubset"></a><span><code class="code">\subset</code><a class="copiable-link" href="#index-_005csubset"> ¶</a></span></dt>
 <dd><p>&#x2282; Subset (occasionally, is implied by) (relation).
 </p>
 </dd>
-<dt id='index-_005csubseteq'><span><code class="code">\subseteq</code><a class="copiable-link" href='#index-_005csubseteq'> ¶</a></span></dt>
+<dt><a id="index-_005csubseteq"></a><span><code class="code">\subseteq</code><a class="copiable-link" href="#index-_005csubseteq"> ¶</a></span></dt>
 <dd><p>&#x2286; Subset or equal to (relation).
 </p>
 </dd>
-<dt id='index-_005csucc'><span><code class="code">\succ</code><a class="copiable-link" href='#index-_005csucc'> ¶</a></span></dt>
+<dt><a id="index-_005csucc"></a><span><code class="code">\succ</code><a class="copiable-link" href="#index-_005csucc"> ¶</a></span></dt>
 <dd><p>&#x227B; Comes after, succeeds (relation). Similar: is less
 than <code class="code">></code>.
 </p>
 </dd>
-<dt id='index-_005csucceq'><span><code class="code">\succeq</code><a class="copiable-link" href='#index-_005csucceq'> ¶</a></span></dt>
+<dt><a id="index-_005csucceq"></a><span><code class="code">\succeq</code><a class="copiable-link" href="#index-_005csucceq"> ¶</a></span></dt>
 <dd><p>&#x2AB0; Succeeds or is equal to (relation). Similar: less
 than or equal to <code class="code">\leq</code>.
 </p>
 </dd>
-<dt id='index-_005csum'><span><code class="code">\sum</code><a class="copiable-link" href='#index-_005csum'> ¶</a></span></dt>
+<dt><a id="index-_005csum"></a><span><code class="code">\sum</code><a class="copiable-link" href="#index-_005csum"> ¶</a></span></dt>
 <dd><p>&#x2211; Summation (operator). Similar: Greek capital
 sigma <code class="code">\Sigma</code>.
 </p>
 </dd>
-<dt id='index-_005csupset'><span><code class="code">\supset</code><a class="copiable-link" href='#index-_005csupset'> ¶</a></span></dt>
+<dt><a id="index-_005csupset"></a><span><code class="code">\supset</code><a class="copiable-link" href="#index-_005csupset"> ¶</a></span></dt>
 <dd><p>&#x2283; Superset (relation).
 </p>
 </dd>
-<dt id='index-_005csupseteq'><span><code class="code">\supseteq</code><a class="copiable-link" href='#index-_005csupseteq'> ¶</a></span></dt>
+<dt><a id="index-_005csupseteq"></a><span><code class="code">\supseteq</code><a class="copiable-link" href="#index-_005csupseteq"> ¶</a></span></dt>
 <dd><p>&#x2287; Superset or equal to (relation).
 </p>
 </dd>
-<dt id='index-_005csurd'><span><code class="code">\surd</code><a class="copiable-link" href='#index-_005csurd'> ¶</a></span></dt>
+<dt><a id="index-_005csurd"></a><span><code class="code">\surd</code><a class="copiable-link" href="#index-_005csurd"> ¶</a></span></dt>
 <dd><p>&#x221A; Radical symbol (ordinary).  The LaTeX command
 <code class="code">\sqrt{...}</code> typesets the square root of the argument, with a bar
 that extends to cover the argument.
 </p>
 </dd>
-<dt id='index-_005cswarrow'><span><code class="code">\swarrow</code><a class="copiable-link" href='#index-_005cswarrow'> ¶</a></span></dt>
+<dt><a id="index-_005cswarrow"></a><span><code class="code">\swarrow</code><a class="copiable-link" href="#index-_005cswarrow"> ¶</a></span></dt>
 <dd><p>&#x2199; Southwest-pointing  arrow (relation).
 </p>
 </dd>
-<dt id='index-_005ctau'><span><code class="code">\tau</code><a class="copiable-link" href='#index-_005ctau'> ¶</a></span></dt>
+<dt><a id="index-_005ctau"></a><span><code class="code">\tau</code><a class="copiable-link" href="#index-_005ctau"> ¶</a></span></dt>
 <dd><p>&#x03C4; Lowercase Greek letter (ordinary).
 </p>
 </dd>
-<dt id='index-_005ctheta'><span><code class="code">\theta</code><a class="copiable-link" href='#index-_005ctheta'> ¶</a></span></dt>
+<dt><a id="index-_005ctheta"></a><span><code class="code">\theta</code><a class="copiable-link" href="#index-_005ctheta"> ¶</a></span></dt>
 <dd><p>&#x03B8; Lowercase Greek letter (ordinary). The variant form is
 <code class="code">\vartheta</code> &#x03D1;.
 </p>
 </dd>
-<dt id='index-_005ctimes'><span><code class="code">\times</code><a class="copiable-link" href='#index-_005ctimes'> ¶</a></span></dt>
+<dt><a id="index-_005ctimes"></a><span><code class="code">\times</code><a class="copiable-link" href="#index-_005ctimes"> ¶</a></span></dt>
 <dd><p>&#x00D7; Primary school multiplication sign (binary). See
 also <code class="code">\cdot</code>.
 </p>
 </dd>
-<dt id='index-_005cto'><span><code class="code">\to</code><a class="copiable-link" href='#index-_005cto'> ¶</a></span></dt>
+<dt><a id="index-_005cto"></a><span><code class="code">\to</code><a class="copiable-link" href="#index-_005cto"> ¶</a></span></dt>
 <dd><p>&#x2192; Right-pointing single line arrow (relation).
 Synonym: <code class="code">\rightarrow</code>.
 </p>
 </dd>

@@ Diff output truncated at 1234567 characters. @@


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