summaryrefslogtreecommitdiff
path: root/macros/latex/base
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
committerNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
commit72c9345e5bafe708888bf65448a81d1aee8275ed (patch)
treea1a99929b3d7307572844833f09ad7ba5ad1405d /macros/latex/base
parent9d9c04e14d0da9dd7829d0ec896aabfd50414fd8 (diff)
CTAN sync 201910050301
Diffstat (limited to 'macros/latex/base')
-rw-r--r--macros/latex/base/README.md103
-rw-r--r--macros/latex/base/README.txt115
-rw-r--r--macros/latex/base/TEMPLATE-IncludeInRelease.txt19
-rw-r--r--macros/latex/base/alltt.dtx4
-rw-r--r--macros/latex/base/alltt.ins12
-rw-r--r--macros/latex/base/alltt.pdfbin172918 -> 172940 bytes
-rw-r--r--macros/latex/base/cfgguide.pdfbin0 -> 219622 bytes
-rw-r--r--macros/latex/base/cfgguide.tex561
-rw-r--r--macros/latex/base/changes.txt155
-rw-r--r--macros/latex/base/classes.dtx65
-rw-r--r--macros/latex/base/classes.ins12
-rw-r--r--macros/latex/base/classes.pdfbin517484 -> 520779 bytes
-rw-r--r--macros/latex/base/clsguide.pdfbin0 -> 371688 bytes
-rw-r--r--macros/latex/base/clsguide.tex1874
-rw-r--r--macros/latex/base/cmextra.ins12
-rw-r--r--macros/latex/base/cmfonts.fdd4
-rw-r--r--macros/latex/base/cmfonts.ins12
-rw-r--r--macros/latex/base/cmfonts.pdfbin270751 -> 270773 bytes
-rw-r--r--macros/latex/base/cyrguide.pdfbin0 -> 223458 bytes
-rw-r--r--macros/latex/base/cyrguide.tex398
-rw-r--r--macros/latex/base/doc.dtx4
-rw-r--r--macros/latex/base/doc.pdfbin628100 -> 628229 bytes
-rw-r--r--macros/latex/base/docstrip.dtx4
-rw-r--r--macros/latex/base/docstrip.ins12
-rw-r--r--macros/latex/base/docstrip.pdfbin469558 -> 469987 bytes
-rw-r--r--macros/latex/base/ec.ins12
-rw-r--r--macros/latex/base/encguide.pdfbin0 -> 1244570 bytes
-rw-r--r--macros/latex/base/encguide.tex1481
-rw-r--r--macros/latex/base/exscale.dtx4
-rw-r--r--macros/latex/base/exscale.ins12
-rw-r--r--macros/latex/base/exscale.pdfbin195869 -> 195896 bytes
-rw-r--r--macros/latex/base/fix-cm.dtx4
-rw-r--r--macros/latex/base/fix-cm.ins12
-rw-r--r--macros/latex/base/fix-cm.pdfbin261902 -> 261921 bytes
-rw-r--r--macros/latex/base/fntguide.pdfbin0 -> 356964 bytes
-rw-r--r--macros/latex/base/fntguide.tex1905
-rw-r--r--macros/latex/base/fontdef.dtx92
-rw-r--r--macros/latex/base/fontdef.pdfbin259398 -> 0 bytes
-rw-r--r--macros/latex/base/format.ins14
-rw-r--r--macros/latex/base/github-0049.pdfbin39592 -> 0 bytes
-rw-r--r--macros/latex/base/github-0081.pdfbin28904 -> 0 bytes
-rw-r--r--macros/latex/base/github-0081b.pdfbin4683 -> 0 bytes
-rw-r--r--macros/latex/base/graphpap.dtx4
-rw-r--r--macros/latex/base/graphpap.ins12
-rw-r--r--macros/latex/base/graphpap.pdfbin156279 -> 156299 bytes
-rw-r--r--macros/latex/base/idx.tex4
-rw-r--r--macros/latex/base/ifthen.dtx4
-rw-r--r--macros/latex/base/ifthen.ins12
-rw-r--r--macros/latex/base/ifthen.pdfbin205203 -> 205224 bytes
-rw-r--r--macros/latex/base/inputenc.dtx4
-rw-r--r--macros/latex/base/inputenc.ins15
-rw-r--r--macros/latex/base/inputenc.pdfbin294753 -> 294774 bytes
-rw-r--r--macros/latex/base/lablst.tex4
-rw-r--r--macros/latex/base/latex209.dtx4
-rw-r--r--macros/latex/base/latex209.ins12
-rw-r--r--macros/latex/base/latexchanges.pdfbin0 -> 391042 bytes
-rw-r--r--macros/latex/base/latexchanges.tex836
-rw-r--r--macros/latex/base/latexrelease.dtx4
-rw-r--r--macros/latex/base/latexrelease.ins12
-rw-r--r--macros/latex/base/latexrelease.pdfbin245911 -> 245932 bytes
-rw-r--r--macros/latex/base/latexsym.dtx6
-rw-r--r--macros/latex/base/latexsym.ins16
-rw-r--r--macros/latex/base/latexsym.pdfbin192282 -> 192302 bytes
-rw-r--r--macros/latex/base/lb2.err1622
-rw-r--r--macros/latex/base/lb2.pdfbin238174 -> 0 bytes
-rw-r--r--macros/latex/base/legal.txt2
-rw-r--r--macros/latex/base/letter.dtx4
-rw-r--r--macros/latex/base/letter.ins12
-rw-r--r--macros/latex/base/letter.pdfbin304931 -> 305223 bytes
-rw-r--r--macros/latex/base/lgc2.err697
-rw-r--r--macros/latex/base/lgc2.pdfbin202891 -> 0 bytes
-rw-r--r--macros/latex/base/lppl.pdfbin125823 -> 0 bytes
-rw-r--r--macros/latex/base/lppl.tex511
-rw-r--r--macros/latex/base/ltalloc.dtx4
-rw-r--r--macros/latex/base/ltbibl.dtx4
-rw-r--r--macros/latex/base/ltboxes.dtx32
-rw-r--r--macros/latex/base/ltclass.dtx282
-rw-r--r--macros/latex/base/ltclass.pdfbin275113 -> 0 bytes
-rw-r--r--macros/latex/base/ltcntrl.dtx4
-rw-r--r--macros/latex/base/ltcounts.dtx4
-rw-r--r--macros/latex/base/ltdefns.dtx187
-rw-r--r--macros/latex/base/ltdirchk.dtx8
-rw-r--r--macros/latex/base/lterror.dtx48
-rw-r--r--macros/latex/base/ltfiles.dtx224
-rw-r--r--macros/latex/base/ltfinal.dtx37
-rw-r--r--macros/latex/base/ltfloat.dtx4
-rw-r--r--macros/latex/base/ltfntcmd.dtx8
-rw-r--r--macros/latex/base/ltfssbas.dtx67
-rw-r--r--macros/latex/base/ltfsscmp.dtx4
-rw-r--r--macros/latex/base/ltfssdcl.dtx199
-rw-r--r--macros/latex/base/ltfssini.dtx28
-rw-r--r--macros/latex/base/ltfsstrc.dtx4
-rw-r--r--macros/latex/base/lthyphen.dtx4
-rw-r--r--macros/latex/base/ltidxglo.dtx7
-rw-r--r--macros/latex/base/ltlength.dtx19
-rw-r--r--macros/latex/base/ltlists.dtx4
-rw-r--r--macros/latex/base/ltlogos.dtx9
-rw-r--r--macros/latex/base/ltluatex.dtx62
-rw-r--r--macros/latex/base/ltluatex.pdfbin302368 -> 302614 bytes
-rw-r--r--macros/latex/base/ltmath.dtx179
-rw-r--r--macros/latex/base/ltmiscen.dtx186
-rw-r--r--macros/latex/base/ltnews.cls4
-rw-r--r--macros/latex/base/ltnews.pdfbin0 -> 874488 bytes
-rw-r--r--macros/latex/base/ltnews.tex277
-rw-r--r--macros/latex/base/ltnews01.pdfbin0 -> 150037 bytes
-rw-r--r--macros/latex/base/ltnews01.tex152
-rw-r--r--macros/latex/base/ltnews02.pdfbin0 -> 141568 bytes
-rw-r--r--macros/latex/base/ltnews02.tex154
-rw-r--r--macros/latex/base/ltnews03.pdfbin0 -> 141553 bytes
-rw-r--r--macros/latex/base/ltnews03.tex145
-rw-r--r--macros/latex/base/ltnews04.pdfbin0 -> 135588 bytes
-rw-r--r--macros/latex/base/ltnews04.tex143
-rw-r--r--macros/latex/base/ltnews05.pdfbin0 -> 163996 bytes
-rw-r--r--macros/latex/base/ltnews05.tex158
-rw-r--r--macros/latex/base/ltnews06.pdfbin0 -> 133153 bytes
-rw-r--r--macros/latex/base/ltnews06.tex149
-rw-r--r--macros/latex/base/ltnews07.pdfbin0 -> 130846 bytes
-rw-r--r--macros/latex/base/ltnews07.tex146
-rw-r--r--macros/latex/base/ltnews08.pdfbin0 -> 144488 bytes
-rw-r--r--macros/latex/base/ltnews08.tex154
-rw-r--r--macros/latex/base/ltnews09.pdfbin0 -> 120228 bytes
-rw-r--r--macros/latex/base/ltnews09.tex142
-rw-r--r--macros/latex/base/ltnews10.pdfbin0 -> 147958 bytes
-rw-r--r--macros/latex/base/ltnews10.tex153
-rw-r--r--macros/latex/base/ltnews11.pdfbin0 -> 104961 bytes
-rw-r--r--macros/latex/base/ltnews11.tex141
-rw-r--r--macros/latex/base/ltnews12.pdfbin0 -> 137932 bytes
-rw-r--r--macros/latex/base/ltnews12.tex154
-rw-r--r--macros/latex/base/ltnews13.pdfbin0 -> 161084 bytes
-rw-r--r--macros/latex/base/ltnews13.tex201
-rw-r--r--macros/latex/base/ltnews14.pdfbin0 -> 150934 bytes
-rw-r--r--macros/latex/base/ltnews14.tex169
-rw-r--r--macros/latex/base/ltnews15.pdfbin0 -> 122102 bytes
-rw-r--r--macros/latex/base/ltnews15.tex169
-rw-r--r--macros/latex/base/ltnews16.pdfbin0 -> 137511 bytes
-rw-r--r--macros/latex/base/ltnews16.tex161
-rw-r--r--macros/latex/base/ltnews17.pdfbin0 -> 156570 bytes
-rw-r--r--macros/latex/base/ltnews17.tex230
-rw-r--r--macros/latex/base/ltnews18.pdfbin0 -> 36022 bytes
-rw-r--r--macros/latex/base/ltnews18.tex51
-rw-r--r--macros/latex/base/ltnews19.pdfbin0 -> 235086 bytes
-rw-r--r--macros/latex/base/ltnews19.tex116
-rw-r--r--macros/latex/base/ltnews20.pdfbin0 -> 283194 bytes
-rw-r--r--macros/latex/base/ltnews20.tex153
-rw-r--r--macros/latex/base/ltnews21.pdfbin0 -> 236117 bytes
-rw-r--r--macros/latex/base/ltnews21.tex255
-rw-r--r--macros/latex/base/ltnews22.pdfbin0 -> 302730 bytes
-rw-r--r--macros/latex/base/ltnews22.tex244
-rw-r--r--macros/latex/base/ltnews23.pdfbin0 -> 274345 bytes
-rw-r--r--macros/latex/base/ltnews23.tex257
-rw-r--r--macros/latex/base/ltnews24.pdfbin0 -> 255315 bytes
-rw-r--r--macros/latex/base/ltnews24.tex263
-rw-r--r--macros/latex/base/ltnews25.pdfbin0 -> 196347 bytes
-rw-r--r--macros/latex/base/ltnews25.tex137
-rw-r--r--macros/latex/base/ltnews26.pdfbin0 -> 365476 bytes
-rw-r--r--macros/latex/base/ltnews26.tex239
-rw-r--r--macros/latex/base/ltnews27.pdfbin0 -> 239777 bytes
-rw-r--r--macros/latex/base/ltnews27.tex135
-rw-r--r--macros/latex/base/ltnews28.pdfbin0 -> 368527 bytes
-rw-r--r--macros/latex/base/ltnews28.tex365
-rw-r--r--macros/latex/base/ltnews29.pdfbin0 -> 435477 bytes
-rw-r--r--macros/latex/base/ltnews29.tex526
-rw-r--r--macros/latex/base/ltnews30.pdfbin0 -> 490987 bytes
-rw-r--r--macros/latex/base/ltnews30.tex668
-rw-r--r--macros/latex/base/ltoutenc.dtx35
-rw-r--r--macros/latex/base/ltoutenc.ins12
-rw-r--r--macros/latex/base/ltoutput.dtx9
-rw-r--r--macros/latex/base/ltpage.dtx45
-rw-r--r--macros/latex/base/ltpageno.dtx4
-rw-r--r--macros/latex/base/ltpar.dtx4
-rw-r--r--macros/latex/base/ltpictur.dtx154
-rw-r--r--macros/latex/base/ltplain.dtx8
-rw-r--r--macros/latex/base/ltsect.dtx86
-rw-r--r--macros/latex/base/ltspace.dtx89
-rw-r--r--macros/latex/base/lttab.dtx92
-rw-r--r--macros/latex/base/ltthm.dtx4
-rw-r--r--macros/latex/base/ltvers.dtx40
-rw-r--r--macros/latex/base/ltx3info.pdfbin0 -> 197812 bytes
-rw-r--r--macros/latex/base/ltx3info.tex474
-rw-r--r--macros/latex/base/ltxcheck.tex4
-rw-r--r--macros/latex/base/ltxdoc.dtx9
-rw-r--r--macros/latex/base/ltxdoc.pdfbin215545 -> 215398 bytes
-rw-r--r--macros/latex/base/ltxguide.cls4
-rw-r--r--macros/latex/base/ltxref.dtx190
-rw-r--r--macros/latex/base/makeindx.dtx4
-rw-r--r--macros/latex/base/makeindx.ins12
-rw-r--r--macros/latex/base/makeindx.pdfbin160672 -> 160694 bytes
-rw-r--r--macros/latex/base/manual.err365
-rw-r--r--macros/latex/base/manual.pdfbin151351 -> 0 bytes
-rw-r--r--macros/latex/base/minimal.cls4
-rw-r--r--macros/latex/base/modguide.pdfbin0 -> 226754 bytes
-rw-r--r--macros/latex/base/modguide.tex412
-rw-r--r--macros/latex/base/newdc.ins12
-rw-r--r--macros/latex/base/newlfont.dtx4
-rw-r--r--macros/latex/base/nfssfont.dtx24
-rw-r--r--macros/latex/base/nfssfont.ins12
-rw-r--r--macros/latex/base/nfssfont.pdfbin201797 -> 202443 bytes
-rw-r--r--macros/latex/base/olddc.ins12
-rw-r--r--macros/latex/base/oldlfont.dtx4
-rw-r--r--macros/latex/base/preload.dtx4
-rw-r--r--macros/latex/base/proc.dtx4
-rw-r--r--macros/latex/base/proc.ins12
-rw-r--r--macros/latex/base/proc.pdfbin216889 -> 216911 bytes
-rw-r--r--macros/latex/base/slides.dtx4
-rw-r--r--macros/latex/base/slides.ins20
-rw-r--r--macros/latex/base/slides.pdfbin351760 -> 351783 bytes
-rw-r--r--macros/latex/base/slifonts.fdd20
-rw-r--r--macros/latex/base/slifonts.pdfbin213756 -> 214312 bytes
-rw-r--r--macros/latex/base/source2e.pdfbin2774471 -> 2867799 bytes
-rw-r--r--macros/latex/base/source2e.tex4
-rw-r--r--macros/latex/base/syntonly.dtx4
-rw-r--r--macros/latex/base/syntonly.ins12
-rw-r--r--macros/latex/base/syntonly.pdfbin181770 -> 181755 bytes
-rw-r--r--macros/latex/base/testpage.tex4
-rw-r--r--macros/latex/base/texpert.txt2
-rw-r--r--macros/latex/base/tlb1144.pdfbin115391 -> 0 bytes
-rw-r--r--macros/latex/base/tlc2.err4630
-rw-r--r--macros/latex/base/tlc2.pdfbin273648 -> 0 bytes
-rw-r--r--macros/latex/base/tulm.fdd6
-rw-r--r--macros/latex/base/tulm.ins12
-rw-r--r--macros/latex/base/tulm.pdfbin156527 -> 156547 bytes
-rw-r--r--macros/latex/base/unpack.ins4
-rw-r--r--macros/latex/base/usrguide.pdfbin0 -> 396665 bytes
-rw-r--r--macros/latex/base/usrguide.tex1817
-rw-r--r--macros/latex/base/utf8ienc.dtx508
-rw-r--r--macros/latex/base/utf8ienc.pdfbin318843 -> 337638 bytes
-rw-r--r--macros/latex/base/webcomp.err381
-rw-r--r--macros/latex/base/webcomp.pdfbin136153 -> 0 bytes
228 files changed, 19120 insertions, 9184 deletions
diff --git a/macros/latex/base/README.md b/macros/latex/base/README.md
new file mode 100644
index 0000000000..7679c72c38
--- /dev/null
+++ b/macros/latex/base/README.md
@@ -0,0 +1,103 @@
+The LaTeX kernel
+================
+
+Release 2019-10-01
+
+Overview
+--------
+
+This bundle provides the core LaTeX kernel. In addition to this bundle,
+a minimal LaTeX system also needs the files contained in the
+
+- LaTeX team documentation (`doc`)
+- Packages which must be available (`required`). These are
+ - Essential tools (`tools`)
+ - Core graphics and color support (`graphics`)
+ - Key mathematics support (`amsmath`)
+
+This file contains a small set of pointers to other more complete
+documentation on installing and using a LaTeX system.
+
+Documentation
+-------------
+
+Full documentation of the LaTeX system is provided by
+
+- _LaTeX: A Document Preparation System_; Lamport, Addison-Wesley
+- _The LaTeX Companion_, 2ed; Mittelbach and Goossens with Braams, Carlisle
+ and Rowley, Addison-Wesley
+- _Guide to LaTeX_, 4ed; Kopka and Daly, Addison-Wesley
+
+The distribution is described in files ending `.txt` or `.md`; briefly,
+the most significant of these files are
+
+- `README.md` is this file
+- `manifest.txt` lists all the files in this LaTeX distribution,
+ with one line of information about the contents
+- `unpacked.txt` lists all the files in the unpacked LaTeX distribution
+- `legal.txt` and `lppl.txt` (LaTeX Project Public License) describe the
+ LaTeX copyright, warranty and copying restrictions.
+- `patches.txt` describes the how important changes will be distributed
+ between releases
+- `texpert.txt` contains information about the system that may still be
+ useful for TeX experts
+- `tex2.txt` contains important information for users of extremely
+ old versions of TeX (pre 1990)
+- `autoload.txt` describes a variant of LaTeX that is no longer supported
+- `bugs.txt` describes how to submit a bug report for LaTeX
+
+Other documentation files include files with names of the form:
+
+ <xxx>guide.tex
+
+You will probably need to update your system before you can typeset
+these files. Each file needs three LaTeX runs. Some of these are
+also available as PDF files on [CTAN](https://www.ctan.org).
+
+The following files contain further information:
+
+- `ltx3info.tex` gives you some historical information about the LaTeX3
+ project
+- `manual.err` lists errata in _LaTeX: A Document Preparation System_ (Lamport)
+- `tlc2.err` lists errata in _The LaTeX Companion_ (Mittelbach et al.)
+
+The files `ltnews*.tex` (part of the `doc` bundle) contain the LaTeX
+newsletters, the highest number being the most recent.
+
+For historical reasons, the base distribution and the core documentation
+are bundled separately. Documentation is found in the `doc` bundle. In an
+installed TeX system, `base` and `doc` should be placed within the same
+location; the distinction is therefore primarily of importance when looking
+at the development code.
+
+Installation
+------------
+
+We no longer distribute installation instructions for the various TeX
+implementations. All modern TeX systems include LaTeX as-standard, and end
+users should in general use the release versions supplied in this way.
+
+Release distribution is carried out only through the CTAN archives.
+
+Requirements
+------------
+
+The LaTeX kernel requires the e-TeX extensions to TeX, which were finalised
+in the late 1990s and are available in modern TeX-derived engines. Some new
+features require `\ifincsname`, which is currently available in release
+versions of pdfTeX, XeTeX and LuaTeX, and is being introduced shortly in
+e-pTeX and e-upTeX.
+
+License
+-------
+
+The contents of this bundle are distributed under the [LaTeX Project
+Public License](https://www.latex-project.org/lppl/lppl-1-3c/),
+version 1.3c or later.
+
+-----
+
+<p>Copyright (C) 1989-2019 The LaTeX Project <br />
+<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
+All rights reserved.</p>
+
diff --git a/macros/latex/base/README.txt b/macros/latex/base/README.txt
deleted file mode 100644
index 9da405eafc..0000000000
--- a/macros/latex/base/README.txt
+++ /dev/null
@@ -1,115 +0,0 @@
- LaTeX Distribution Guide
-
- 2018-04-01
-
-
-WELCOME TO LaTeX!
-
-This file contains a brief distribution guide for the latest standard
-version of the LaTeX document preparation system.
-
-This system is maintained by The LaTeX3 Project Team.
-
- ********************************************************
- * Please read this file carefully because it contains *
- * important information about other sources of *
- * documentation related to this LaTeX system, *
- * including what is contained in this distribution. *
- ********************************************************
-
- ********************************************************
- * The files ltnews*.tex (and related files in the *
- * document folder) contain the LaTeX newsletters, *
- * the highest number being the most recent. *
- * *
- * Please print this latest edition and distribute it *
- * to all users ... and to anyone else who may be *
- * interested. *
- ********************************************************
-
-
-The LaTeX system is described in:
-
- * LaTeX: A Document Preparation System; Leslie Lamport, Addison-Wesley
-
- * The LaTeX Companion, 2ed; Mittelbach and Goossens with Braams,
- Carlisle and Rowley, Addison-Wesley
-
- * Guide to LaTeX 4ed; Kopka and Daly, Addison-Wesley
-
-
-This distribution is described in the files ending with .txt.
-
-Here is a brief description of some of these files:
-
- * readme.txt is this file.
-
- * manifest.txt lists all the files in this LaTeX distribution,
- with one line of information about the contents.
-
- * unpacked.txt lists all the files in the unpacked LaTeX distribution.
-
- * legal.txt and lppl.txt (LaTeX Project Public License) describe the
- LaTeX copyright, warranty and copying restrictions.
-
- * patches.txt describes the how important changes will be distributed
- between releases.
-
- * texpert.txt contains information about the system that may still be
- useful for TeX experts.
-
- * tex2.txt contains important information for users of extremely
- old versions of TeX (pre 1990).
-
- * autoload.txt describes a variant of LaTeX that is no longer supported.
-
- * bugs.txt describes how to submit a bug report for LaTeX.
-
-
-
-Other documentation files include files with names of the form:
-
- <xxx>guide.tex
-
-You will probably need to update your system before you can typeset
-these files. Each file needs three LaTeX runs. Some of these are
-also available as PDF files.
-
-
-The following files contain further information:
-
- * ltx3info.tex gives you some historical information about the LaTeX3
- project.
-
- * the older files ltnews*.* are the news files from previous releases:
- these contain useful information but be warned that some of it may
- be out-of-date as these files are never changed.
-
- * manual.err lists errata in:
- LaTeX: A Document Preparation System; Leslie Lamport, Addison-Wesley
-
- * tlc2.err lists errata in:
- The LaTeX Companion 2ed; Mittelbach, Goossens et al, Addison-Wesley
-
- * bl2.err lists errata in:
- Der LaTeX-Begleiter 2ed; Mittelbach, Goossens et al, Addison-Wesley
-
- * grphcomp.err lists errata in:
- The LaTeX Graphics Companion; Goossens, Rahtz, and Mittelbach,
- Addison-Wesley
-
- * webcomp.err lists errata in:
- The LaTeX Web Companion; Goossens and Rahtz, Addison-Wesley
-
-
-We no longer distribute installation instructions for the various TeX
-implementations. Unless you have a custom-built TeX system, some
-version of standard LaTeX should already be installed on your system;
-look at the system documentation, or ask your system supplier, to
-discover how to update the LaTeX part of the system.
-
-Please do not request updates from us. Distribution is done only through the
-CTAN archives.
-
-
---- Copyright 2018 the LaTeX3 project. All rights reserved ---
diff --git a/macros/latex/base/TEMPLATE-IncludeInRelease.txt b/macros/latex/base/TEMPLATE-IncludeInRelease.txt
deleted file mode 100644
index 0f1c53d3a3..0000000000
--- a/macros/latex/base/TEMPLATE-IncludeInRelease.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-%</2ekernel>
-%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2018/12/01}%
-%<latexrelease> {\XXX}{Info}%
-
-
-
-
-
-
-%</2ekernel|latexrelease>
-%<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\XXX}{Info}%
-%<latexrelease>
-%<latexrelease>
-%<latexrelease>
-%<latexrelease>\EndIncludeInRelease
-%<*2ekernel>
diff --git a/macros/latex/base/alltt.dtx b/macros/latex/base/alltt.dtx
index 358a059902..c106b5a97f 100644
--- a/macros/latex/base/alltt.dtx
+++ b/macros/latex/base/alltt.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/alltt.ins b/macros/latex/base/alltt.ins
index 73d2d0b420..e60d1f6df3 100644
--- a/macros/latex/base/alltt.ins
+++ b/macros/latex/base/alltt.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/alltt.pdf b/macros/latex/base/alltt.pdf
index 0933300eb5..a7728590cd 100644
--- a/macros/latex/base/alltt.pdf
+++ b/macros/latex/base/alltt.pdf
Binary files differ
diff --git a/macros/latex/base/cfgguide.pdf b/macros/latex/base/cfgguide.pdf
new file mode 100644
index 0000000000..20597b329c
--- /dev/null
+++ b/macros/latex/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex/base/cfgguide.tex b/macros/latex/base/cfgguide.tex
new file mode 100644
index 0000000000..651b59bc20
--- /dev/null
+++ b/macros/latex/base/cfgguide.tex
@@ -0,0 +1,561 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: cfgguide.tex
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1995/11/28]
+
+\newcommand{\filesection}[1]{\subsection{\sffamily{#1}}}
+\newcommand{\iniTeX}{ini\TeX}
+
+\setcounter{secnumdepth}{0}
+
+\title{Configuration options for \LaTeXe}
+
+\author{\copyright~Copyright 1998, 2001, 2003 \LaTeX3 Project Team.\\
+ All rights reserved.}
+
+\date{14 February 2003}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\newpage
+
+\section{Configuring \LaTeX}
+
+Since one of the main aims of the new standard \LaTeX{} is to give all
+users the freedom provided by a reliable document processing system
+linked to a highly portable document format, the number of
+configuration possibilities is strictly limited. The reasons for this
+are explained in more detail in the article
+\textit{Modifying \LaTeX{}} in the file \texttt{modguide.tex}.
+An important consequence of this is that any document that relies on
+any extension package must declare this package within the document
+file; this helps to ensure that the document will work at a different
+site, where the \LaTeX{} system may be configured differently.
+
+Local configuration options are, by convention, placed in
+`configuration files', which have extension |.cfg|. This document
+describes the possibilities for configuration in this release of
+\LaTeX; it also explains how to configure the font definition files to
+take advantage of the available fonts.
+
+The last section considers briefly how to proceed if you require
+further customisation of the formatter.
+
+
+\section{System configuration}
+
+\filesection{texsys.cfg}
+
+This is the only configuration file that \emph{must} be present.
+During installation, if \LaTeX\ cannot find a file with this name
+then a default file |texsys.cfg|, consisting entirely of comments, is
+written out and used. Note that, until this file has been read,
+\LaTeX{} is not able to test reliably whether a given file exists on
+the system.
+
+The contents of the file |texsys.cfg| allow \LaTeX{} to cope with
+various differences between the behaviours of different \TeX{} systems,
+mainly in relation to file handling. The default version of this file
+contains, in its comments, possible settings that may be needed for a
+range of \TeX{} systems. For more information, typeset the file
+|ltdirchk.dtx|.
+
+If you have copied your \LaTeX{} installation from a computer that
+used a different operating system then you may well have a version of
+|texsys.cfg| that will make it difficult to install \LaTeX{} on your
+system. If this happens then start the process again with an empty
+|texsys.cfg| file; this will produce an installation that should, at
+least, allow you to typeset the documentation. However, it is
+possible that \LaTeX{} can still find only those files that are in the
+current directory; in this case you must set the macro |\input@path|
+correctly for your system.
+
+
+\section{Configuring the \LaTeX\ format}
+
+There are four configuration files that enable personal preferences to
+be incorporated into the \LaTeX{} format file |latex.fmt|. The range
+of preferences that can be configured by these files is strictly
+limited as this helps to ensure document portability.
+
+All four files work in the same way: if the file \m{file}|.cfg| is
+found, it will be input by \iniTeX; otherwise a default file
+\m{file}|.ltx| will be input; this is sometimes done via a
+minimal \m{file}|.cfg| that simply inputs \m{file}|.ltx|. Thus,
+providing your own version of any of these |.cfg| files can completely
+override any settings in the corresponding default standard |.ltx|
+file.
+
+
+\subsection{Font configuration}
+
+Before you even think about configuring the font declarations by
+producing a file |fontmath.cfg| or |fonttext.cfg|, you should
+read the documented file |fontdef.dtx|. This is the source file from
+which the default files |fonttext.ltx| and |fontmath.ltx| are
+produced; it contains information concerning the
+contents of the default files and what sort of customisation is
+possible. In particular, it describes in detail the effects of
+individual customisations on document portability including: which
+customisations can be made without endangering the ability to exchange
+documents with other sites (even if the formatting differs); and which
+things should be left untouched because they will make your system so
+different from others that the documents it produces will be
+non-portable.
+
+\textbf{WARNING } Please note that use of either of these font
+configuration files has the following consequences.
+ \begin{itemize}
+ \item Since the content of the file |fontdef.dtx| \emph{might}
+ change in the future, anyone writing a font configuration file
+ must be prepared to update it for use with future releases.
+ \item Documents produced on your system are likely, at best, to be
+ portable only in the sense of being processable at a different
+ site---the actual formatting will not be the same if different
+ fonts are used.
+ \item The \LaTeX3 project team will not be able to support you in
+ diagnosing problems if these cannot be reproduced with a format
+ that does not use any configuration files.
+ \end{itemize}
+
+\filesection{fonttext.cfg}
+
+The file |fonttext.cfg| can contain declarations relating to the use
+of fonts in text modes.
+
+If it exists, it defines which font shapes, families and encodings are
+normally used in text mode, as well as the behavior of font attribute
+commands such as |\textbf| etc.
+
+It could be used, for example, to produce a \LaTeX\ format that, by
+default, typesets documents using Times fonts. Be warned, however,
+that such customisation can have unfortunate consequences; so please
+read carefully this section and the file |fontdef.dtx| below if you
+are thinking of doing this.
+
+Please note carefully the above \textbf{warning}.
+
+\filesection{fontmath.cfg}
+
+The file |fontmath.cfg| can contain declarations relating to the use
+of fonts in math mode.
+
+If it exists, it defines which fonts in which sizes are used in math
+mode, and how they are used. It also defines all the math mode
+commands that `are likely to' depend on the choice of math fonts used
+(e.g.~commands that depend on the position of a glyph in a math font).
+
+The main reason for the existence of this file is to provide for future
+updates when a standard math font encoding is available. Right now we
+do \emph{not} encourage the use of this configuration file other than
+for special applications. Writing a proper configuration file for math
+mode needs expert knowledge!
+
+Please note carefully the above \textbf{warning}.
+
+\filesection{preload.cfg}
+
+The contents of the file |preload.cfg| can control the preloading of
+commonly used fonts. Preloading fonts speeds up the processing of
+documents but, because fonts cannot be `unloaded', you should not
+preload too many; otherwise you may be unable to process documents
+requiring unusual font families.
+
+The default file |preload.ltx| is produced from |preload.dtx|. It
+loads only a few fonts and these are a good choice if you normally use
+documents at the default, 10\,pt, size. If you normally use 11\,pt
+or~12\,pt then the time for \LaTeX\ to startup may be noticeably
+decreased if you preload the corresponding fonts for the sizes you
+use. Similarly, if you normally use a different font family, for
+example Times Roman (|ptm|) then you may want to preload fonts in this
+family rather than the default Computer Modern fonts.
+
+\subsection{Hyphenation configuration}
+
+\filesection{hyphen.cfg}
+
+In order to hyphenate text, \TeX{} must have hyphenation patterns and,
+since these patterns can be loaded only by \iniTeX, the choice of
+which patterns to load must be made when the format is created.
+
+The hyphenation patterns for American English are stored in the file
+named |hyphen.tex|; \LaTeX~2.09 always loaded this file when its
+format was made.
+
+With \LaTeXe{} it is possible to configure which hyphenation patterns
+are to be loaded into the format. When \iniTeX{} is processing
+|latex.ltx|, it looks for a file called |hyphen.cfg|; this file can
+be used to control which hyphenation patterns are loaded. If a file
+|hyphen.cfg| cannot be found then \iniTeX{} will load the file
+|hyphen.ltx|.
+
+The file |hyphen.ltx| loads the file |hyphen.tex| if it can find it;
+otherwise it stops with an error since a format with no hyphenation
+patterns is not very useful. It then sets |\language=0| and it sets
+the values |\lefthyphenmin=2| and |\righthyphenmin=3|, which are
+needed for American English.
+
+Thus, if you want any other patterns to be loaded then you should
+create a file |hyphen.cfg|. For each language for which you wish to
+load hyphenation patterns this file should:
+\begin{itemize}
+\item set |\language=|\m{number};
+\item load the file which contains the hyphenation patterns for that
+ language.
+\end{itemize}
+If the patterns you use require some definitions or assignments then
+a group should be used to keep such changes local to their file.
+
+\textbf{Note.} The hyphenation files that are read in should \emph{only}
+set the hyphenation tables for the language, using the commands
+|\hyphenation| and |\patterns|. In particular they should make no
+assignments to the lowercase/uppercase tables (|\lccode| and
+|\uccode|) and should not make any global command definitions to be
+used after the file has been read. Unfortunately some older
+hyphenation files do contain such settings; thus they are
+\emph{incompatible} with the mechanisms \LaTeX\ uses to ensure
+independence of input and output encodings.
+
+After this the file |hyphen.cfg| should:
+\begin{itemize}
+\item set |\language| to its default value;
+\item set |\lefthyphenmin| and |\righthyphenmin| to the correct values
+ for this default language.
+\end{itemize}
+
+There are packages available, such as `french', that can help you with
+this configuration. The `babel' collection contains many examples of
+setting up a multi-lingual \LaTeX{} format. The documentation in
+|lthyphen.dtx| (the source file for |hyphen.ltx|) also contains some
+useful examples.
+
+[We intend in a future release of \LaTeX{} to provide a set of
+standard commands for use in configuring hyphenation.]
+
+
+\section{Configuring the font definition files}
+
+If you have special fonts available (or if some fonts are unavailable)
+at your site then you may need to produce customised versions of the
+font definition files; these have extension \texttt{.fd} and are read
+by \LaTeX{} to obtain information about the font files installed at your
+system and when to load them.
+
+Although we do not encourage such customisation, you will find
+information about the content of these files and its syntax in the
+documented source file \texttt{cmfonts.fdd} and
+\textit{\LaTeXe{} font selection} in the file \texttt{fntguide.tex}.
+[We hope to be able to provide further information and examples on
+this subject at some time in the future.]
+
+Please note that the use of customised font definition files has the
+following consequences.
+ \begin{itemize}
+ \item Documents produced on your system will, at best, to be
+ portable only in the sense of being processable at a different
+ site---the actual formatting will not be the same if different
+ fonts are used.
+ \item The \LaTeX3 project team will not be able to support you in
+ diagnosing problems if these cannot be reproduced with a format
+ that does not use any customised font definition files.
+ \end{itemize}
+
+Please also note that the whilst licence conditions on the standard
+font definition files allow you to produce a customised version for
+your own use, they do not allow you to distribute such a customised
+font definition file under the original file name!
+
+
+\subsection*{Note to system administrators}
+
+If you install a version of \LaTeX{} with a locally configured font
+set-up then this system is likely to produce documents that are no
+longer `formatting compatible'; for example, the use of different
+default fonts will most likely produce different line and page breaks.
+If you do install, on a multi-user system, a system that is configured
+in such a way that it is not `formatting compatible' then you should
+consider carefully the needs of users who need to create portable
+documents. A good way to provide for their needs is to make
+available, in addition, a standard form of \LaTeX{} without any
+`formatting incompatible' customisations.
+
+
+\section{Configuring compatibility mode}
+
+When processing documents that begin with |\documentstyle|, \LaTeXe{}
+tries to emulate the old \LaTeX~2.09 system as far as possible.
+
+\filesection{latex209.cfg}
+
+Whenever a \LaTeX{} document starts with |\documentstyle|, rather than
+with |\documentclass|, \LaTeX{} assumes that it is a \LaTeX~2.09
+document and therefore processes it in `compatibility mode'. This
+does the following:
+\begin{itemize}
+\item sets the flag |\@compatibilitytrue|;
+\item inputs the file |latex209.def|;
+\item inputs the file |latex209.cfg| if it exists.
+\end{itemize}
+
+The \LaTeX~2.09 set-up allowed the format itself to be customised.
+When making the format with \iniTeX, the process ended with this
+request:
+\begin{quote}\tt
+ Input any local modifications here.
+\end{quote}
+
+If your site did input any modifications at that point then the
+\LaTeXe{} `compatibility mode' will not fully emulate \LaTeX~2.09
+\emph{as installed at your site}. In this case you should put all
+these `local modifications' into a file called |latex209.cfg| and put
+this file in the default input path at your site. These `local
+modifications', although not stored in the format, will then be loaded
+before any old-style document is processed. This should ensure that
+you can continue to process any old documents that made use of this
+local customisation.
+
+
+\section[Configuration files for standard packages and classes]%
+ {Configuration files for standard packages\\ and classes}
+
+Most of the packages in the distribution do not have any associated
+configuration files. The exceptions are listed here.
+
+\filesection{sfonts.cfg}
+
+The file |sfonts.cfg| can contain declarations relating to the use of
+fonts in the slides class.
+If it exists, it is read instead of the file |sfonts.def|.
+
+Please note that use of this configuration file has the following
+consequences.
+ \begin{itemize}
+ \item Since the font set-up for slides has not yet been revised to
+ fit modern usage, the content of this file should be completely
+ updated sometime. Thus anyone writing such a configuration
+ file must be prepared to update it for use with future releases.
+ \item Documents are portable only in the sense of being processable
+ at a different site---the actual formatting will not be the same
+ if different fonts are used.
+ \item The \LaTeX3 project team will not be able to support you in
+ diagnosing problems if these cannot be reproduced with a format
+ that does not use this configuration file.
+ \end{itemize}
+
+
+\filesection{ltnews.cfg}
+
+The file |ltnews.cfg| can be used to customise some aspects of the
+behaviour of the \textsf{ltnews} class; this class is used to typeset
+the the one page newsletter accompanying every \LaTeX{} distribution.
+If this file is present then it is read in at the beginning of the
+file |ltnews.cls|.
+
+
+\filesection{ltxdoc.cfg}
+
+The file |ltxdoc.cfg| can be used to customise some aspects of the
+behaviour of the \textsf{ltxdoc} class; this class is used to typeset
+the documented code in the |.dtx| files. If this file is present then
+it is read in at the beginning of the file |ltxdoc.cls|.
+
+As this file is read before the \textsf{article} class is loaded, you
+may pass options to \textsf{article}. For example the following line
+might be added to |ltxdoc.cfg| to format the documentation for A4 paper
+instead of the default US letter paper size.
+\begin{quote}
+|\PassOptionsToClass{a4paper}{article}|
+\end{quote}
+You should note however, that even if paper size options are specified,
+the \textsf{ltxdoc} class always sets the |\textwidth| parameter to
+355\,pt, to enable 72 columns of text to appear in the verbatim code
+listings. If you really need to over-ride this you could use:
+\begin{quote}
+|\AtEndOfClass{\setlength{\textwidth}{ ...}}|
+\end{quote}
+To set the |\textwidth| to your desired value at the end of the
+\textsf{ltxdoc} class.
+
+By default, most of the |.dtx| documented code files in the
+distribution will produce a `description' section followed by full
+source listing of the package. If you wish to suppress the source
+listings you may add the following line to |ltxdoc.cfg|:
+\begin{quote}
+|\AtBeginDocument{\OnlyDescription}|
+\end{quote}
+
+The documentation of the \textsf{ltxdoc} package, which may be typeset
+from the file |ltxdoc.dtx|, contains more examples of the use of this
+configuration file.
+
+\filesection{ltxguide.cfg}
+
+The class \textsf{ltxguide} is used by the `guide' documents, such as
+this document, in the \LaTeX\ distribution. A configuration file
+|ltxguide.cfg| may be used with this class in a way very similar to
+the customisation of the \textsf{ltxdoc} class described in the
+previous section.
+
+\section{Configuration for other supported packages}
+
+The `graphics' bundle of packages needs two configuration files,
+primarily to specify the driver used to process the |.dvi| file that
+\LaTeX{} produces. More documentation on these files comes with the
+graphics bundle but we mention them here for completeness.
+
+\filesection{graphics.cfg}
+ Normally this file just specifies a default option, by calling
+ |\ExecuteOptions|, for example |\ExecuteOptions{dvips}| or
+ |\ExecuteOptions{textures}|.
+
+ This file is read by the \textsf{graphics} package, and so affects
+ all the packages in the bundle that are based on \textsf{graphics}:
+ \textsf{graphicx}, \textsf{epsfig}, \textsf{lscape}.
+
+\filesection{color.cfg}
+ Normally this file is identical to |graphics.cfg|. It specifies the
+ default driver option for the \textsf{color} package.
+
+\section{Non-standard versions}
+
+If you feel the need to make a version of \LaTeX{} that differs from
+the standard version in ways that are not possible using the above
+configuration possibilities, then you should first read
+\textit{Modifying \LaTeX{}} in the file |modguide.tex|; this
+will probably make you realise that you do not have any such need.
+
+Thus we are sure that you will never need to create a non-standard
+version and, even if you do create one, we hope that you will not
+distribute such a version. Nevertheless, you are permitted to do this
+provided you take great care to do the following:
+\begin{itemize}
+\item
+respect the conditions in legal.txt and individual files regarding
+modification of files and changing the name;
+
+\item
+change all the relevant `|\typeout| banners': i.e.~those produced by
+all the non-standard files in your version and by the format;
+
+\item
+ ensure that the method used to run your version is clearly
+ distinguished from that used to run standard \LaTeX{}; e.g.~by using
+ a command name or menu entry that is clearly different from
+ \texttt{latex} (or \texttt{LaTeX} etc).
+\end{itemize}
+
+\subsection{Examples}
+
+Since we have been prompted, despite our misgivings, to document how
+to do this by members of the League for Programming Freedom, it seems
+appropriate to describe here a possible modification of \LaTeX{} to
+produce a system called fsf\TeX.
+
+To do this, you should create a file called \texttt{fsftex.tex} and
+then run it using \iniTeX{} and the standard \LaTeX{} format.
+
+The contents of the file \texttt{fsftex.tex} should be as shown on
+page \pageref{fsfcode}. The particular changes to the \LaTeX{} kernel
+that you wish to make need to be added to the file at the position
+indicated. You can also choose the extensions you want to use for the
+class and package files in your system.
+
+\newpage
+\label{fsfcode}
+
+\begin{footnotesize}
+\begin{verbatim}
+% fsftex.tex
+%
+% iniTEX Source code to make a `fsftex' format.
+%
+% To make this format on Unix:
+%
+% initex \&latex fsftex
+%
+% Then to run the format on file.tex:
+%
+% tex &fsftex file
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% *** VERY IMPORTANT!!! ***
+% Change the typeout banner so users know that they
+% are NOT running Standard LaTeX.
+\everyjob{\typeout{fsfTeX 1.0 based on LaTeX2e \fmtversion}}
+\makeatletter
+
+% fsfTeX changes some LaTeX internals:
+% ... put what you like here ...
+\def \fsf@xxxx {Some arbitrary \emph{freely modifiable} code goes here}
+
+% fsfTeX class files have extension .fcl (this week):
+\def \@clsextension {fcl}
+
+% fsfTeX package files have extension .fsy:
+\def \@pkgextension {fsy}
+
+% Change the file handling so that when a fsfTeX package or class
+% is not available, the standard LaTeX file will be read.
+%
+% For example, \documentclass{article} will load article.fcl if such
+% a file exists, but article.cls otherwise. This allows arbitrary
+% processing on `article' documents without changing the standard
+% article.cls file.
+
+\let\fsf@missingfileerror\@missingfileerror
+
+\def\@missingfileerror#1#2{%
+ \ifx #2\@clsextension
+ \InputIfFileExists {#1.cls}%
+ {\wlog {fsfTeX: loading #1.cls rather than #1.#2.}}%
+ {\fsf@missingfileerror {#1}{#2}}%
+ \else
+ \ifx #2\@pkgextension
+ \InputIfFileExists {#1.sty}%
+ {\wlog {fsfTeX: loading #1.sty rather than #1.#2.}}%
+ {\fsf@missingfileerror {#1}{#2}}%
+ \else
+ \fsf@missingfileerror {#1}{#2}%
+ \fi
+ \fi
+}
+
+\makeatother
+\dump
+\end{verbatim}
+\end{footnotesize}
+
+\end{document}
diff --git a/macros/latex/base/changes.txt b/macros/latex/base/changes.txt
index 39c56074ba..5415b5b002 100644
--- a/macros/latex/base/changes.txt
+++ b/macros/latex/base/changes.txt
@@ -5,6 +5,161 @@ are not part of the distribution.
=======================================================================
#########################
+# 2019-10-01 Release
+#########################
+
+2019-09-21 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * fontdef.dtx:
+ Make alias definition robust independently (gh/184)
+
+2019-09-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{Old Comments}):
+ Say that oldcomments may not be accurate any more (gh/180)
+
+2019-09-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfinal.dtx (subsection{Lccodes and uccodes}):
+ process UTF-8 chars prior to case changing (github/177)
+
+2019-09-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltclass.dtx (subsection{Providing shipment}):
+ Support optional argument for filecontents to allow overwrite
+ and nosearch
+
+2019-08-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lterror.dtx (subsection{Tracing}):
+ Dummy defs for \conditionally@traceon and \conditionally@traceoff added
+
+2019-08-29 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Make \begin/\end robust
+
+2019-08-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttab.dtx: Make various commands robust
+
+ * ltspace.dtx: Make various commands robust
+
+ * ltsect.dtx: Make various commands robust
+
+ * ltpictur.dtx: Make various commands robust
+
+ * ltpage.dtx: Make various commands robust
+
+ * ltoutput.dtx: Make \AtBeginDvi robust
+
+ * ltmiscen.dtx: Make various commands robust
+
+ * ltmath.dtx: Make various commands robust
+
+ * ltlogos.dtx: Make \TeX logo robust
+
+ * ltidxglo.dtx: Make \index and \glossary robust
+
+ * ltfssini.dtx: Various commands made robust
+
+ * ltfssdcl.dtx: Make math accents and delimiters robust
+
+ * ltfssbas.dtx: Various commands made robust
+
+ * ltfiles.dtx: Make \IfFileExists and \InputIf FileExists robust
+
+ * ltdefns.dtx: Various commands made robust
+ Make assignments by \MakeRobust global as we need to apply them
+ in a group once in a while.
+
+ * ltclass.dtx: Various commands made robust
+
+ * ltboxes.dtx: Various commands made robust
+
+ * classes.dtx: Various commands made robust
+
+ * fontdef.dtx: Various commands made robust
+
+2019-08-22 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxref.dtx (subsection{Cross Referencing}):
+ Allow \p@... commands in \refstepcounter definition to have an
+ argument (receiving the \the...). This was previously only the
+ case when varioref was loaded.
+
+2019-07-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Accept typical f-ligatures and st in utf8 encoding (github/154)
+
+2019-07-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{Housekeeping}):
+ Temp rollback fix for e-pTeX as that engines doesn't yet know
+ \ifincsname (so now features are unavailable there)
+
+ * ltfssbas.dtx (subsection{Macros for loading fonts}):
+ Don't set any \f@... macros in \DeclareErrorFont as this side
+ effect is wrong! (pr/4399)
+
+ * ltfssini.dtx (subsection{Miscellaneous}):
+ Explicitly set some defaults for NFSS
+ (because of change to \DeclareErrorFont)
+
+ * slifonts.fdd: Explicitly set some defaults for NFSS
+ (because of change to \DeclareErrorFont)
+
+2019-07-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfiles.dtx (section{File Handling}):
+ Support UTF-8 in \includeonly
+ (subsection{Safe Input Macros}):
+ Support UTF-8 and spaces in \IfFileExists and \InputIfFileExists
+
+ * ltclass.dtx (subsection{Providing shipment}):
+ Support UTF-8 and spaces in filecontents environment file name.
+
+2019-04-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx: adjustment for extended UTF-8 support in pdftex,
+ supporting UTF-8 in labels and refs and in filenames and typeouts.
+
+ * ltfinal.dtx: adjustment for extened UTF-8 support in pdftex
+
+2019-03-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * nfssfont.dtx (section{The code}): Added a default action
+ "\table\bye" which is the most common case, so one can now simply
+ hit enter and doesn't need to type something in.
+
+2019-02-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Added 27E8 and 27E9 (github/110)
+
+2019-02-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfssbas.dtx (subsection{Macros for loading fonts}):
+ Changed wording of warning (github/107)
+
+2019-02-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfiles.dtx (subsection{Safe Input Macros}):
+ Expand \@filef@und before executing second argument (github/109)
+
+2019-02-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Fixed U+012F which should have an i not a dotless i (github/122)
+
+2018-12-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttab.dtx (subsection{array and tabular environments}):
+ Add extra \hskip1sp to guard against an \unskip at the start of
+ a c-column cell (gh/102)
+
+#########################
# 2018-12-01 Release
#########################
diff --git a/macros/latex/base/classes.dtx b/macros/latex/base/classes.dtx
index a2dde6ade1..9fed94dfdd 100644
--- a/macros/latex/base/classes.dtx
+++ b/macros/latex/base/classes.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2018/09/03 v1.4i
+ [2019/08/27 v1.4j
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -213,6 +213,7 @@
% \changes{v1.3l}{1995/10/20}{Disabled in compatibility mode all
% options that are new in \LaTeXe.}
% \changes{v1.3v}{1997/06/16}{Documentation fixes.}
+% \changes{v1.4j}{2019/08/27}{Various commands made robust}
%
%
% \title{Standard Document Classes for \LaTeX{} version 2e\thanks{This
@@ -220,7 +221,8 @@
%
% \author{%
% Copyright (C) 1992 by Leslie Lamport \and
-% Copyright (C) 1994-97 by Frank Mittelbach \and Johannes Braams
+% Copyright (C) 1994-2019 by Frank Mittelbach \and Johannes Braams \and
+% \LaTeX3 Project Team
% }
% \date{\filedate}
% \MaintainedByLaTeXTeam{latex}
@@ -608,6 +610,11 @@
% \begin{macrocode}
\normalsize
% \end{macrocode}
+% We use |\MakeRobust| instead of |\DeclareRobustCommand| above to avoid a log
+% entry for the redefinition.
+% \begin{macrocode}
+\MakeRobust\normalsize
+% \end{macrocode}
% \end{macro}
% \end{macro}
%
@@ -618,7 +625,7 @@
% \changes{v1.2e}{1994/04/14}{\cs{small} is no longer defined in the
% kernel; use \cs{newcommand}}
% \begin{macrocode}
-\newcommand\small{%
+\DeclareRobustCommand\small{%
%<*10pt>
\@setfontsize\small\@ixpt{11}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
@@ -660,7 +667,7 @@
% kernel, so use \cs{renewcommand}. ASAJ.}
% \changes{v1.2e}{1994/04/14}{use \cs{newcommand} again}
% \begin{macrocode}
-\newcommand\footnotesize{%
+\DeclareRobustCommand\footnotesize{%
%<*10pt>
\@setfontsize\footnotesize\@viiipt{9.5}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
@@ -712,30 +719,30 @@
% \changes{v1.2e}{1994/04/14}{use \cs{newcommand} again}
% \begin{macrocode}
%<*10pt>
-\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
-\newcommand\large{\@setfontsize\large\@xiipt{14}}
-\newcommand\Large{\@setfontsize\Large\@xivpt{18}}
-\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
-\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xiipt{14}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xivpt{18}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxpt{25}}
+\DeclareRobustCommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
%</10pt>
%<*11pt>
-\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
-\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
-\newcommand\large{\@setfontsize\large\@xiipt{14}}
-\newcommand\Large{\@setfontsize\Large\@xivpt{18}}
-\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
-\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xiipt{14}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xivpt{18}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxpt{25}}
+\DeclareRobustCommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
%</11pt>
%<*12pt>
-\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
-\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
-\newcommand\large{\@setfontsize\large\@xivpt{18}}
-\newcommand\Large{\@setfontsize\Large\@xviipt{22}}
-\newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
-\newcommand\huge{\@setfontsize\huge\@xxvpt{30}}
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xivpt{18}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xviipt{22}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxvpt{30}}
\let\Huge=\huge
%</12pt>
% \end{macrocode}
@@ -1766,9 +1773,9 @@
% information provided. The definitions of these macros are shown
% here for information.
% \begin{macrocode}
-% \newcommand*{\title}[1]{\gdef\@title{#1}}
-% \newcommand*{\author}[1]{\gdef\@author{#1}}
-% \newcommand*{\date}[1]{\gdef\@date{#1}}
+% \DeclareRobustCommand*{\title}[1]{\gdef\@title{#1}}
+% \DeclareRobustCommand*{\author}[1]{\gdef\@author{#1}}
+% \DeclareRobustCommand*{\date}[1]{\gdef\@date{#1}}
% \end{macrocode}
% The |\date| macro gets today's date by default.
% \begin{macrocode}
diff --git a/macros/latex/base/classes.ins b/macros/latex/base/classes.ins
index b87115cee6..b56871b111 100644
--- a/macros/latex/base/classes.ins
+++ b/macros/latex/base/classes.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/classes.pdf b/macros/latex/base/classes.pdf
index 6ef4607a19..502249fa08 100644
--- a/macros/latex/base/classes.pdf
+++ b/macros/latex/base/classes.pdf
Binary files differ
diff --git a/macros/latex/base/clsguide.pdf b/macros/latex/base/clsguide.pdf
new file mode 100644
index 0000000000..b58c4abd53
--- /dev/null
+++ b/macros/latex/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex/base/clsguide.tex b/macros/latex/base/clsguide.tex
new file mode 100644
index 0000000000..2b3c4b3b00
--- /dev/null
+++ b/macros/latex/base/clsguide.tex
@@ -0,0 +1,1874 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: clsguide.tex
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1995/11/28]
+
+\title{\LaTeXe~for class and package writers}
+
+\author{Copyright \copyright~1995--2006 The \LaTeX3 Project\\
+ All rights reserved}
+
+\date{15 February 2006}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+This document is an introduction to writing classes and packages for
+\LaTeX{}, with special attention given to upgrading existing
+\LaTeX~2.09 packages to \LaTeXe{}. The latter subject is also
+covered in an article by Johannes Braams published in TUGboat~15.3.
+
+\subsection{Writing classes and packages for \LaTeXe}
+
+\LaTeX{} is a document preparation system that enables the document
+writer to concentrate on the contents of their text, without bothering
+too much about the formatting of it. For example, chapters are
+indicated by |\chapter{<title>}| rather than by selecting 18pt bold.
+
+The file that contains the information about how to turn logical
+structure (like `|\chapter|') into formatting (like `18pt bold ragged
+right') is a \emph{document class}. In addition, some features (such
+as colour or included graphics) are independent of the document class
+and these are contained in \emph{packages}.
+
+One of the largest differences between \LaTeX~2.09 and \LaTeXe{} is in
+the commands used to write packages and classes. In \LaTeX~2.09,
+there was very little support for writing |.sty| files, and so writers
+had to resort to using low-level commands.
+
+\LaTeXe{} provides high-level commands for structuring packages.
+It is also much easier to build classes and packages on top of each
+other, for example writing a local technical report class |cetechr|
+(for the Chemical Engineering department) based on |article|.
+
+\subsection{Overview}
+
+This document contains an overview of how to write classes and
+packages for \LaTeX{}. It does \emph{not} introduce all of the
+commands necessary to write packages: these can be found in either
+\emph{\LaTeXbook} or \emph{\LaTeXcomp}. But it does describe the new
+commands for structuring classes and packages.
+
+\begin{description}
+
+\item[Section~\ref{Sec:general}] contains some general advice about
+ writing classes and packages. It describes the difference between
+ classes and packages, the command naming conventions, the use of
+ |doc| and |docstrip|, how \TeX's primitive file and box commands
+ interact with \LaTeX{}. It also contains some hints about general
+ \LaTeX{} style.
+
+\item[Section~\ref{Sec:structure}] describes the structure of classes
+ and packages. This includes building classes and packages on top of
+ other classes and packages, declaring options and declaring
+ commands. It also contains example classes.
+
+\item[Section~\ref{Sec:commands}] lists the new class and package
+ commands.
+
+ \item[Section~\ref{Sec:upgrade}] gives detailed advice on how to
+ upgrade existing \LaTeX~2.09 classes and packages to \LaTeXe{}.
+
+\end{description}
+
+\subsection{Further information}
+
+For a general introduction to \LaTeX{}, including the new features of
+\LaTeXe{}, you should read \emph{\LaTeXbook}
+by Leslie Lamport~\cite{A-W:LLa94}.
+
+A more detailed description of the new features of \LaTeX, including an
+overview of more than 200 packages and nearly 1000 ready to run examples, is
+to be found in \emph{\LaTeXcomp\ second edition} by Frank Mittelbach and
+Michel Goossens~\cite{A-W:MG2004}.
+
+The \LaTeX{} system is based on \TeX{}, which is
+described in \emph{The \TeX book} by Donald E.~Knuth~\cite{A-W:DEK91}.
+
+There are a number of documentation files which accompany every copy
+of \LaTeX{}. A copy of \emph{\LaTeX{} News} will come out with each
+six-monthly release of \LaTeX{}, and is found in the files
+|ltnews*.tex|. The author's guide \emph{\usrguide} describes the new
+\LaTeX{} document features; it is in |usrguide.tex|. The guide
+\emph{\fntguide} describes the \LaTeX{} font selection scheme for
+class- and package-writers; it is in |fntguide.tex|. Configuring
+\LaTeX{} is covered by the guide \emph{\cfgguide} in
+\texttt{cfgguide.tex} whilst the philosophy behind our policy on
+modifying \LaTeX{} is described in \emph{\modguide} in
+\texttt{modguide.tex}.
+
+The documented source code (from the files used to produce the kernel
+format via |latex.ltx|) is now available as
+\emph{The \LaTeXe\ Sources}.
+This very large document also includes an index of
+\LaTeX{} commands. It can be typeset from the \LaTeX{} file
+|source2e.tex| in the |base| directory, using the source files and
+the class file |ltxdoc.cls| from this directory.
+
+For more information about \TeX{} and \LaTeX{}, please contact your
+local \TeX{} Users Group, or the international \TeX{} Users Group.
+Addresses and other details can be found at:
+\begin{quote}\small\label{addrs}
+ \texttt{http://www.tug.org/lugs.html}
+\end{quote}
+
+
+\subsection{Policy on standard classes}
+
+Many of the problem reports we receive concerning the standard classes
+are not concerned with bugs but are suggesting, more or less politely,
+that the design decisions embodied in them are `not optimal' and
+asking us to modify them.
+
+There are several reasons why we should not make such changes to these
+files.
+\begin{itemize}
+\item
+ However misguided, the current behaviour is clearly what was
+ intended when these classes were designed.
+\item
+ It is not good practice to change such aspects of `standard classes'
+ because many people will be relying on them.
+\end{itemize}
+
+We have therefore decided not to even consider making such
+modifications, nor to spend time justifying that decision. This does
+not mean that we do not agree that there are many deficiencies in the
+design of these classes, but we have many tasks with higher priority
+than continually explaining why the standard classes for \LaTeX{}
+cannot be changed.
+
+We would, of course, welcome the production of better classes, or of
+packages that can be used to enhance these classes. So your first
+thought when you consider such a deficiency will, we hope, be ``what
+can I do to improve this?''
+
+Similar considerations apply to those parts of the kernel that are
+implementing design decisions, many of which should be left to the
+class file but are not in the current system. We realise that in such
+cases it is much more difficult for you to rectify the problem
+yourself but it is also the case that making such changes in the
+kernel would probably be a major project for us; therefore such
+enhancements will have to wait for \LaTeX3.
+
+\section{Writing classes and packages}
+\label{Sec:writing}
+
+This section covers some general points concerned with writing
+\LaTeX{} classes and packages.
+
+
+\subsection{Old versions}
+
+If you are upgrading an existing \LaTeX~2.09 style file then we
+recommend freezing the 2.09 version and no longer maintaining it.
+Experience with the various dialects of \LaTeX{} which existed in the
+early 1990's suggests that maintaining packages for different versions
+of \LaTeX{} is almost impossible. It will, of course, be necessary
+for some organisations to maintain both versions in parallel for some
+time but this is not essential for those packages and classes
+supported by individuals: they should support only the new standard
+\LaTeXe{}, not obsolete versions of \LaTeX{}.
+
+
+\subsection{Using `docstrip' and `doc'}
+
+If you are going to write a large class or package for \LaTeX{} then
+you should consider using the |doc| software which comes with
+\LaTeX{}.
+\LaTeX{} classes and packages written using this can be
+processed in two ways: they can be run through \LaTeX{}, to produce
+documentation; and they can be processed with |docstrip|, to produce
+the |.cls| or |.sty| file.
+
+The |doc| software can automatically generate indexes of definitions,
+indexes of command use, and change-log lists. It is very useful for
+maintaining and documenting large \TeX{} sources.
+
+The documented sources of the \LaTeX{} kernel itself, and of the
+standard classes, etc, are |doc| documents; they are in the |.dtx|
+files in the distribution. You can, in fact, typeset the source code
+of the kernel as one long document, complete with index, by running
+\LaTeX{} on |source2e.tex|. Typesetting these documents uses the
+class file |ltxdoc.cls|.
+
+For more information on |doc| and |docstrip|, consult the files
+|docstrip.dtx|, |doc.dtx|, and \emph{\LaTeXcomp}. For examples of its
+use, look at the |.dtx| files.
+
+\subsection{Is it a class or a package?}
+\label{Sec:classorpkg}
+
+The first thing to do when you want to put some new \LaTeX{} commands
+in a file is to decide whether it should be a \emph{document class} or a
+\emph{package}. The rule of thumb is:
+\begin{quote}
+ If the commands could be used with any document class, then make
+ them a package; and if not, then make them a class.
+\end{quote}
+
+There are two major types of class: those like |article|, |report| or
+|letter|, which are free-standing; and those which are extensions or
+variations of other classes---for example, the |proc| document class,
+which is built on the |article| document class.
+
+Thus, a company might have a local |ownlet| class for printing letters
+with their own headed note-paper. Such a class would build on top of
+the existing |letter| class but it cannot be used with any other
+document class, so we have |ownlet.cls| rather than |ownlet.sty|.
+
+The |graphics| package, in contrast, provides commands for including
+images into a \LaTeX{} document. Since these commands can be used
+with any document class, we have |graphics.sty| rather than
+|graphics.cls|.
+
+
+\subsection{Command names}
+
+\LaTeX{} has three types of command.
+
+There are the author commands, such as |\section|, |\emph| and
+|\times|: most of these have short names, all in lower case.
+
+There are also the class and package writer commands:
+most of these have long mixed-case names such as the following.
+\begin{verbatim}
+ \InputIfFileExists \RequirePackage \PassOptionsToClass
+\end{verbatim}
+
+Finally, there are the internal commands used in the \LaTeX{}
+implementation, such as |\@tempcnta|, |\@ifnextchar| and |\@eha|:
+most of these commands contain |@| in their name, which means they
+cannot be used in documents, only in class and package files.
+
+Unfortunately, for historical reasons the distinction between these
+commands is often blurred. For example, |\hbox| is an internal
+command which should only be used in the \LaTeX{} kernel, whereas
+|\m@ne| is the constant $-1$ and could have been |\MinusOne|.
+
+However, this rule of thumb is still useful: if a command has |@| in
+its name then it is not part of the supported \LaTeX{} language---and
+its behaviour may change in future releases! If a command is
+mixed-case, or is described in \emph{\LaTeXbook}, then you can rely on
+future releases of \LaTeXe{} supporting the command.
+
+\subsection{Box commands and colour}
+\label{Sec:colour}
+
+Even if you do not intend to use colour in your own documents, by
+taking note of the points in this section you can ensure that your
+class or package is compatible with the |color| package. This may
+benefit people using your class or package who have access to colour
+printers.
+
+The simplest way to ensure `colour safety' is to always use \LaTeX{}
+box commands rather than \TeX{} primitives, that is use |\sbox| rather
+than |\setbox|, |\mbox| rather than |\hbox| and |\parbox| or
+the |minipage| environment rather than |\vbox|.
+The \LaTeX{} box commands have new options which mean that they are now
+as powerful as the \TeX{} primitives.
+
+As an example of what can go wrong, consider that in
+|{\ttfamily <text>}|
+the font is restored just \emph{before} the |}|, whereas in the
+similar looking construction
+|{\color{green} <text>}|
+the colour is restored just \emph{after} the final |}|. Normally this
+distinction does not matter at all; but consider a primitive \TeX{}
+box assignment such as:
+\begin{verbatim}
+ \setbox0=\hbox{\color{green} <text>}
+\end{verbatim}
+Now the colour-restore occurs after the |}| and so is \emph{not}
+stored in the box. Exactly what bad effects this can have depends on
+how colour is implemented: it can range from getting the wrong
+colours in the rest of the document, to causing errors in the
+dvi-driver used to print the document.
+
+Also of interest is the command |\normalcolor|. This is
+normally just |\relax| (i.e., does nothing)
+but you can use it rather like |\normalfont| to
+set regions of the page such as captions or section headings to the
+`main document colour'.
+
+
+\subsection{Defining text and math characters}
+\label{Sec:chars}
+
+Because \LaTeXe{} supports different encodings, definitions of commands
+for producing symbols, accents, composite glyphs, etc.\ must be
+defined using the commands provided for this purpose and described in
+\emph{\fntguide}. This part of the system is still under development
+so such tasks should be undertaken with great caution.
+
+Also, |\DeclareRobustCommand| should be used for encoding-independent
+commands of this type.
+
+Note that it is no longer possible to refer to the math font set-up
+outside math mode: for example, neither |\textfont 1| nor
+|\scriptfont 2| are guaranteed to be defined in other modes.
+
+
+\subsection{General style}
+\label{Sec:general}
+
+The new system provides many commands designed to help you produce
+well-structured class and package files that are both robust and
+portable. This section outlines some ways to make intelligent use of
+these.
+
+\subsubsection{Loading other files}
+\label{Sec:loading}
+
+\NEWdescription{1995/12/01}
+\LaTeX{} provides these commands:
+\begin{verbatim}
+ \LoadClass \LoadClassWithOptions
+ \RequirePackage \RequirePackageWithOptions
+\end{verbatim}
+for using classes or packages inside other classes or packages. We
+recommend strongly that you use them, rather than the primitive
+|\input| command, for a number of reasons.
+
+Files loaded with |\input <filename>| will not be listed in the
+|\listfiles| list.
+
+If a package is always loaded with |\RequirePackage...| or |\usepackage|
+then, even if its loading is requested several times, it will be
+loaded only once. By contrast, if it is loaded with |\input| then it
+can be loaded more than once; such an extra loading may waste time and
+memory and it may produce strange results.
+
+If a package provides option-processing then, again, strange results
+are possible if the package is |\input| rather than loaded by means of
+|\usepackage| or |\RequirePackage...|.
+
+If the package |foo.sty| loads the package |baz.sty| by use of
+|\input baz.sty| then the user will get a warning:
+\begin{verbatim}
+ LaTeX Warning: You have requested package `foo',
+ but the package provides `baz'.
+\end{verbatim}
+Thus, for several reasons, using |\input| to load packages is not a
+good idea.
+
+Unfortunately, if you are upgrading the file |myclass.sty| to a class
+file then you have to make sure that any old files which contain
+|\input myclass.sty| still work.
+
+This was also true for the standard classes (|article|, |book| and
+|report|), since a lot of existing \LaTeX~2.09 document styles contain
+|\input article.sty|. The approach which we use to solve this is
+to provide minimal files |article.sty|, |book.sty| and |report.sty|,
+which simply load the appropriate class files.
+
+For example, |article.sty| contains just the following lines:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \@obsoletefile{article.cls}{article.sty}
+ \LoadClass{article}
+\end{verbatim}
+You may wish to do the same or, if you think that it is safe to do so,
+you may decide to just remove |myclass.sty|.
+
+\subsubsection{Make it robust}
+
+We consider it good practice, when writing packages and classes, to use
+\LaTeX{} commands as much as possible.
+
+Thus, instead of using |\def...| we recommend using one of
+|\newcommand|, |\renewcommand| or |\providecommand|; |\CheckCommand| is
+also useful. Doing this makes
+it less likely that you will inadvertently redefine a command, giving
+unexpected results.
+
+When you define an environment, use |\newenvironment| or
+|\renewenvironment| instead |\def\foo{...}| and |\def\endfoo{...}|.
+
+If you need to set or change the value of a \m{dimen} or \m{skip}
+register, use |\setlength|.
+
+To manipulate boxes, use \LaTeX{} commands such as |\sbox|,
+|\mbox| and |\parbox| rather than |\setbox|, |\hbox| and |\vbox|.
+
+Use |\PackageError|, |\PackageWarning| or |\PackageInfo| (or the
+equivalent class commands) rather than |\@latexerr|, |\@warning| or
+|\wlog|.
+
+It is still possible to declare options by defining |\ds@<option>| and
+calling |\@options|; but we recommend the |\DeclareOption| and
+|\ProcessOptions| commands instead. These are more powerful and use
+less memory. So rather than using:
+\begin{verbatim}
+ \def\ds@draft{\overfullrule 5pt}
+ \@options
+\end{verbatim}
+you should use:
+\begin{verbatim}
+ \DeclareOption{draft}{\setlength{\overfullrule}{5pt}}
+ \ProcessOptions\relax
+\end{verbatim}
+
+The advantage of this kind of practice is that your code is more
+readable and, more important, that it is less likely to break when
+used with future versions of \LaTeX{}.
+
+\subsubsection{Make it portable}
+
+It is also sensible to make your files are as portable as possible. To
+ensure this; they should contain only visible 7-bit text; and the
+filenames should contain at most eight characters (plus the three
+letter extension). Also, of course, it \textbf{must not} have the
+same name as a file in the standard \LaTeX{} distribution, however
+similar its contents may be to one of these files.
+
+It is also useful if local classes or packages have a common prefix,
+for example the University of Nowhere classes might begin with |unw|.
+This helps to avoid every University having its own thesis class, all
+called |thesis.cls|.
+
+If you rely on some features of the \LaTeX{} kernel, or on a package,
+please specify the release-date you need. For example, the package
+error commands were introduced in the June 1994 release so, if you use
+them then you should put:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\end{verbatim}
+
+\subsubsection{Useful hooks}
+
+Some packages and document styles had to redefine the command
+|\document| or |\enddocument| to achieve their goal. This is no
+longer necessary. You can now use the `hooks' |\AtBeginDocument| and
+|\AtEndDocument| (see Section~\ref{Sec:delays}). Again, using these
+hooks makes it less likely that your code breaks with future versions
+of \LaTeX{}. It also makes it more likely that your package can work
+together with someone else's.
+
+\NEWdescription{1996/12/01}
+However, note that code in the |\AtBeginDocument| hook is part of the
+preamble. Thus there are restrictions on what can be put there; in
+particular, no typesetting can be done.
+
+\section{The structure of a class or package}
+\label{Sec:structure}
+
+\LaTeXe{} classes and packages have more structure than \LaTeX~2.09
+style files did. The outline of a class or package file is:
+\begin{description}
+\item[Identification] The file says that it is a \LaTeXe{} package or
+ class, and gives a short description of itself.
+\item[Preliminary declarations]
+ Here the file declares some commands and can also load
+ other files. Usually these commands will be just those needed for
+ the code used in the declared options.
+\item[Options] The file declares and processes its options.
+\item[More declarations] This is where the file does most of its work:
+ declaring new variables, commands and fonts; and loading other files.
+\end{description}
+
+\subsection{Identification}
+
+The first thing a class or package file does is identify itself.
+Package files do this as follows:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesPackage{<package>}[<date> <other information>]
+\end{verbatim}
+For example:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesPackage{latexsym}[1994/06/01 Standard LaTeX package]
+\end{verbatim}
+Class files do this as follows:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesClass{<class-name>}[<date> <other information>]
+\end{verbatim}
+For example:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesClass{article}[1994/06/01 Standard LaTeX class]
+\end{verbatim}
+\NEWdescription{1998/06/19}
+The \m{date} should be given in the form `\textsc{yyyy/mm/dd}' and
+must be present if the optional argument is used (this is also true
+for the |\NeedsTeXFormat| command).
+Any derivation from this syntax will result in low-level \TeX{}
+errors---the commands expect a valid syntax to speed up the daily
+usage of the package or class and make no provision for the case that
+the developer made a mistake!
+
+This date is checked whenever a user specifies a date in their
+|\documentclass| or |\usepackage| command. For example, if you wrote:
+\begin{verbatim}
+ \documentclass{article}[1995/12/23]
+\end{verbatim}
+then users at a different location
+would get a warning that their copy of |article| was out of
+date.
+
+The description of a class is displayed when the class is used. The
+description of a package is put into the log file. These descriptions
+are also displayed by the |\listfiles| command. The phrase
+\texttt{Standard LaTeX} \textbf{must not} be used in the identification
+banner of any file other than those in the standard \LaTeX{}
+distribution.
+
+
+\subsection{Using classes and packages}
+
+The first major difference between \LaTeX~2.09 style files and
+\LaTeXe{} packages and classes is that \LaTeXe{} supports
+\emph{modularity}, in the sense of building files from small
+building-blocks rather than using large single files.
+
+A \LaTeX{} package or class can load a package as follows:
+\begin{verbatim}
+ \RequirePackage[<options>]{<package>}[<date>]
+\end{verbatim}
+For example:
+\begin{verbatim}
+ \RequirePackage{ifthen}[1994/06/01]
+\end{verbatim}
+This command has the same syntax as the author command |\usepackage|.
+It allows packages or classes to use features provided by other
+packages. For example, by loading the |ifthen| package, a package
+writer can use the `if\dots then\dots else\dots' commands provided
+by that package.
+
+A \LaTeX{} class can load one other class as follows:
+\begin{verbatim}
+ \LoadClass[<options>]{<class-name>}[<date>]
+\end{verbatim}
+For example:
+\begin{verbatim}
+ \LoadClass[twocolumn]{article}
+\end{verbatim}
+This command has the same syntax as the author command |\documentclass|.
+It allows classes to be based on the syntax and appearance of another
+class. For example, by loading the |article| class, a class writer
+only has to change the bits of |article| they don't like, rather than
+writing a new class from scratch.
+
+\NEWfeature{1995/12/01}
+The following commands can be used in the common case that you want to
+simply load a class or package file with exactly those options that
+are being used by the current class.
+\begin{verbatim}
+ \LoadClassWithOptions{<class-name>}[<date>]
+ \RequirePackageWithOptions{<package>}[<date>]
+\end{verbatim}
+For example:
+\begin{verbatim}
+ \LoadClassWithOptions{article}
+ \RequirePackageWithOptions{graphics}[1995/12/01]
+\end{verbatim}
+
+\subsection{Declaring options}
+
+\NEWdescription{1998/12/01}
+The other major difference between \LaTeX~2.09 styles and \LaTeXe{}
+packages and classes is in option handling. Packages and classes can
+now declare options and these can be specified by authors; for
+example, the |twocolumn| option is declared by the |article| class.
+Note that the name of an option should contain only those characters
+allowed in a `\LaTeX{} name'; in particular it must not contain any
+control sequences.
+
+An option is declared as follows:
+\begin{verbatim}
+ \DeclareOption{<option>}{<code>}
+\end{verbatim}
+For example, the |dvips| option (slightly simplified)
+to the |graphics| package is implemented as:
+\begin{verbatim}
+ \DeclareOption{dvips}{\input{dvips.def}}
+\end{verbatim}
+This means that when an author writes |\usepackage[dvips]{graphics}|,
+the file |dvips.def| is loaded. As another example, the |a4paper|
+option is declared in the |article| class to set the |\paperheight|
+and |\paperwidth| lengths:
+\begin{verbatim}
+ \DeclareOption{a4paper}{%
+ \setlength{\paperheight}{297mm}%
+ \setlength{\paperwidth}{210mm}%
+ }
+\end{verbatim}
+Sometimes a user will request an option which the class
+or package has not explicitly declared. By default this will produce
+a warning (for classes) or error (for packages); this behaviour
+can be altered as follows:
+\begin{verbatim}
+ \DeclareOption*{<code>}
+\end{verbatim}
+For example, to make the package |fred| produce a warning rather than
+an error for unknown options, you could specify:
+\begin{verbatim}
+ \DeclareOption*{%
+ \PackageWarning{fred}{Unknown option `\CurrentOption'}%
+ }
+\end{verbatim}
+Then, if an author writes |\usepackage[foo]{fred}|, they will get a
+warning \texttt{Package fred Warning: Unknown option `foo'.} As
+another example, the |fontenc| package tries to load a file
+|<ENC>enc.def| whenever the \m{ENC} option is used. This
+can be done by writing:
+\begin{verbatim}
+ \DeclareOption*{%
+ \input{\CurrentOption enc.def}%
+ }
+\end{verbatim}
+\NEWdescription{1998/12/01}
+It is possible to pass options on to another package or class, using
+the command |\PassOptionsToPackage| or |\PassOptionsToClass| (note
+that this is a specialised operation that works only for option
+names). For example, to pass every unknown option on to the |article|
+class, you can use:
+\begin{verbatim}
+ \DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{article}%
+ }
+\end{verbatim}
+If you do this then you should make sure you load the class at some
+later point, otherwise the options will never be processed!
+
+So far, we have explained only how to declare options, not how to
+execute them. To process the options with which the file was called,
+you should use:
+\begin{verbatim}
+ \ProcessOptions\relax
+\end{verbatim}
+This executes the \m{code} for each option that was both specified and
+declared (see Section~\ref{Sec:commands.options} for details of how
+this is done).
+
+For example, if the |jane| package file contains:
+\begin{verbatim}
+ \DeclareOption{foo}{\typeout{Saw foo.}}
+ \DeclareOption{baz}{\typeout{Saw baz.}}
+ \DeclareOption*{\typeout{What's \CurrentOption?}}
+ \ProcessOptions\relax
+\end{verbatim}
+and an author writes |\usepackage[foo,bar]{jane}|, then they will see
+the messages \texttt{Saw foo.} and \texttt{What's bar?}
+
+\subsection{A minimal class file}
+
+Most of the work of a class or package is in defining new commands, or
+changing the appearance of documents. This is done in the body of the
+package, using commands such as |\newcommand| or |\setlength|.
+
+\LaTeXe{} provides several new commands to help class and package
+writers; these are described in detail in Section~\ref{Sec:commands}.
+
+There are four things that every class file \emph{must} contain: these
+are a definition of |\normalsize|, values for |\textwidth| and
+|\textheight| and a specification for page-numbering. So a minimal
+document class file\footnote {This class is now in the standard
+distribution, as \texttt{minimal.cls}.} looks like this:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesClass{minimal}[1995/10/30 Standard LaTeX minimal class]
+ \renewcommand{\normalsize}{\fontsize{10pt}{12pt}\selectfont}
+ \setlength{\textwidth}{6.5in}
+ \setlength{\textheight}{8in}
+ \pagenumbering{arabic} % needed even though this class will
+ % not show page numbers
+\end{verbatim}
+However, this class file will not support footnotes, marginals,
+floats, etc., nor will it provide any of the 2-letter font commands
+such as |\rm|; thus most classes will contain more than this minimum!
+
+\subsection{Example: a local letter class}
+
+A company may have its own letter class, for setting letters in the
+company style. This section shows a simple implementation of such a
+class, although a real class would need more structure.
+
+The class begins by announcing itself as |neplet.cls|.
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesClass{neplet}[1995/04/01 NonExistent Press letter class]
+\end{verbatim}
+Then this next bit passes any options on to the |letter| class, which
+is loaded with the |a4paper| option.
+\begin{verbatim}
+ \DeclareOption*{\PassOptionsToClass{\CurrentOption}{letter}}
+ \ProcessOptions\relax
+ \LoadClass[a4paper]{letter}
+\end{verbatim}
+In order to use the company letter head, it redefines the
+|firstpage| page style: this is the page style that is used on
+the first page of letters.
+\begin{verbatim}
+ \renewcommand{\ps@firstpage}{%
+ \renewcommand{\@oddhead}{<letterhead goes here>}%
+ \renewcommand{\@oddfoot}{<letterfoot goes here>}%
+ }
+\end{verbatim}
+And that's it!
+
+\subsection{Example: a newsletter class}
+
+A simple newsletter can be typeset with \LaTeX{}, using a variant of the
+|article| class.
+The class begins by announcing itself as |smplnews.cls|.
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesClass{smplnews}[1995/04/01 The Simple News newsletter class]
+
+ \newcommand{\headlinecolor}{\normalcolor}
+\end{verbatim}
+It passes most specified options on to the |article| class: apart from
+the |onecolumn| option, which is switched off, and the |green| option,
+which sets the headline in green.
+\begin{verbatim}
+ \DeclareOption{onecolumn}{\OptionNotUsed}
+ \DeclareOption{green}{\renewcommand{\headlinecolor}{\color{green}}}
+
+ \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+
+ \ProcessOptions\relax
+\end{verbatim}
+It then loads the class |article| with the option |twocolumn|.
+\begin{verbatim}
+ \LoadClass[twocolumn]{article}
+\end{verbatim}
+Since the newsletter is to be printed in colour, it now loads the
+|color| package. The class does not specify a device driver option
+since this should be specified by the user of the |smplnews| class.
+\begin{verbatim}
+ \RequirePackage{color}
+\end{verbatim}
+The class then redefines |\maketitle| to produce the title in 72pt
+Helvetica bold oblique, in the appropriate colour.
+\begin{verbatim}
+ \renewcommand{\maketitle}{%
+ \twocolumn[%
+ \fontsize{72}{80}\fontfamily{phv}\fontseries{b}%
+ \fontshape{sl}\selectfont\headlinecolor
+ \@title
+ ]%
+ }
+\end{verbatim}
+It redefines |\section| and switches off section numbering.
+\begin{verbatim}
+ \renewcommand{\section}{%
+ \@startsection
+ {section}{1}{0pt}{-1.5ex plus -1ex minus -.2ex}%
+ {1ex plus .2ex}{\large\sffamily\slshape\headlinecolor}%
+ }
+
+ \setcounter{secnumdepth}{0}
+\end{verbatim}
+It also sets the three essential things.
+\begin{verbatim}
+ \renewcommand{\normalsize}{\fontsize{9}{10}\selectfont}
+ \setlength{\textwidth}{17.5cm}
+ \setlength{\textheight}{25cm}
+\end{verbatim}
+In practice, a class would need more than this: it would provide
+commands for issue numbers, authors of articles, page styles and so
+on; but this skeleton gives a start. The |ltnews| class file is not
+much more complex than this one.
+
+\section{Commands for class and package writers}
+\label{Sec:commands}
+
+This section describes briefly each of the new commands for class and
+package writers. To find out about other aspects of the new system,
+you should also read \emph{\LaTeXbook}, \emph{\LaTeXcomp} and
+\emph{\usrguide}.
+
+\subsection{Identification}
+
+The first group of commands discussed here are those used
+to identify your class or package file.
+
+\begin{decl}
+|\NeedsTeXFormat| \arg{format-name} \oarg{release-date}
+\end{decl}
+This command tells \TeX{} that this file should be processed using a
+format with name \m{format-name}. You can use the optional argument
+\m{release-date} to further specify the earliest release date of the
+format that is needed. When the release date of the format is older
+than the one specified a warning will be generated. The standard
+\m{format-name} is \texttt{LaTeX2e}. The date, if present, must be in
+the form \textsc{yyyy/mm/dd}.
+
+Example:
+\begin{verbatim}
+ \NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\end{verbatim}
+
+\begin{decl}
+|\ProvidesClass| \arg{class-name} \oarg{release-info} \\
+|\ProvidesPackage| \arg{package-name} \oarg{release-info}
+\end{decl}
+This declares that the current file contains the definitions for the
+document class \m{class-name} or package \m{package-name}.
+
+The optional \m{release-info}, if used, must contain:
+\begin{itemize}
+ \item the release date of
+ this version of the file, in the form \textsc{yyyy/mm/dd};
+\item optionally followed by a space and a short description, possibly
+ including a version number.
+\end{itemize}
+The above syntax must be followed exactly so that this information
+can be used by |\LoadClass| or |\documentclass| (for classes) or
+|\RequirePackage| or |\usepackage| (for packages) to test that the
+release is not too old.
+
+The whole of this \m{release-info} information is displayed by
+|\listfiles| and should therefore not be too long.
+
+Example:
+\begin{verbatim}
+ \ProvidesClass{article}[1994/06/01 v1.0 Standard LaTeX class]
+ \ProvidesPackage{ifthen}[1994/06/01 v1.0 Standard LaTeX package]
+\end{verbatim}
+
+\begin{decl}
+ |\ProvidesFile| \arg{file-name} \oarg{release-info}
+\end{decl}
+This is similar to the two previous commands except that here the full
+filename, including the extension, must be given. It is used for
+declaring any files other than main class and package files.
+
+Example:
+\begin{verbatim}
+ \ProvidesFile{T1enc.def}[1994/06/01 v1.0 Standard LaTeX file]
+\end{verbatim}
+
+Note that the phrase \texttt{Standard LaTeX} \textbf{must not} be used
+in the identification banner of any file other than those in the
+standard \LaTeX{} distribution.
+
+\subsection{Loading files}
+\label{Sec:loadf}
+
+\NEWfeature{1995/12/01}
+This group of commands can be used to create your own document class or
+package by building on existing classes or packages.
+\begin{decl}
+ |\RequirePackage| \oarg{options-list} \arg{package-name}
+ \oarg{release-info}\\
+ |\RequirePackageWithOptions| \arg{package-name}
+ \oarg{release-info}
+\end{decl}
+Packages and classes should use these commands to load other packages.
+
+The use of |\RequirePackage| is the same as the author command
+|\usepackage|.
+
+Examples:
+\begin{verbatim}
+ \RequirePackage{ifthen}[1994/06/01]
+ \RequirePackageWithOptions{graphics}[1995/12/01]
+\end{verbatim}
+
+\begin{decl}
+ |\LoadClass| \oarg{options-list} \arg{class-name}
+ \oarg{release-info}\\
+ |\LoadClassWithOptions| \arg{class-name}
+ \oarg{release-info}
+\end{decl}
+\NEWfeature{1995/12/01}
+These commands are for use \emph{only} in class files, they cannot be
+used in packages files;
+they can be used at most once within a class file.
+
+The use of |\LoadClass| is the same as
+the use of |\documentclass| to load a class file.
+
+Examples:
+\begin{verbatim}
+ \LoadClass{article}[1994/06/01]
+ \LoadClassWithOptions{article}[1995/12/01]
+\end{verbatim}
+
+\NEWfeature{1995/12/01}
+The two |WithOptions| versions simply load the class (or package) file
+with exactly those options that are being used by the current file
+(class or package). See below, in \ref{Sec:opmove}, for further
+discussion of their use.
+
+
+\subsection{Option declaration}
+\label{Sec:commands.options.dec}
+
+\NEWdescription{1998/12/01}
+The following commands deal with the declaration and handling of
+options to document classes and packages. Every option name must be a
+`\LaTeX{} name'.
+
+There are some commands designed especially for use within the
+\m{code} argument of these commands (see below).
+
+\begin{decl}
+ |\DeclareOption| \arg{option-name} \arg{code}
+\end{decl}
+This makes \m{option-name} a `declared option' of the class or package
+in which it is put.
+
+The \m{code} argument contains the code to be executed if that option
+is specified for the class or package; it can contain any valid
+\LaTeXe{} construct.
+
+Example:
+\begin{verbatim}
+ \DeclareOption{twoside}{\@twosidetrue}
+\end{verbatim}
+
+\begin{decl}
+ |\DeclareOption*| \arg{code}
+\end{decl}
+This declares the \m{code} to be executed for every option which is
+specified for, but otherwise not explicitly declared by, the class or
+package; this code is called the `default option code' and it can
+contain any valid \LaTeXe{} construct.
+
+If a class file contains no |\DeclareOption*| then, by default, all
+specified but undeclared options for that class will be silently
+passed to all packages (as will the specified and declared options for
+that class).
+
+If a package file contains no |\DeclareOption*| then, by default, each
+specified but undeclared option for that package will produce an error.
+
+
+\subsection{Commands within option code}
+\label{Sec:within.code}
+
+These two commands can be used only within the \m{code} argument of
+either |\DeclareOption| or |\DeclareOption*|. Other commands commonly
+used within these arguments can be found in the next few subsections.
+
+\begin{decl}
+ |\CurrentOption|
+\end{decl}
+This expands to the name of the current option.
+
+\begin{decl}
+ |\OptionNotUsed|
+\end{decl}
+This causes the current option to
+be added to the list of `unused options'.
+
+\NEWfeature{1995/06/01}
+ You can now include hash marks (\texttt{\#}) within these \m{code}
+ arguments without special treatment (formerly, it had been
+ necessary to double them).
+
+\subsection{Moving options around}
+\label{Sec:opmove}
+
+These two commands are also very useful within the \m{code} argument
+of |\DeclareOption| or |\DeclareOption*|:
+\begin{decl}
+ |\PassOptionsToPackage| \arg{options-list} \arg{package-name}\\
+ |\PassOptionsToClass| \arg{options-list} \arg{class-name}
+\end{decl}
+The command |\PassOptionsToPackage| passes the option names in
+\m{options-list} to package \m{package-name}.
+This means that it adds the \m{option-list} to the
+list of options used by any future |\RequirePackage| or |\usepackage|
+command for package \m{package-name}.
+
+Example:
+\begin{verbatim}
+ \PassOptionsToPackage{foo,bar}{fred}
+ \RequirePackage[baz]{fred}
+\end{verbatim}
+is the same as:
+\begin{verbatim}
+ \RequirePackage[foo,bar,baz]{fred}
+\end{verbatim}
+
+Similarly, |\PassOptionsToClass| may be used in a class file to pass
+options to another class to be loaded with |\LoadClass|.
+
+\NEWdescription{1995/12/01}
+The effects and use of these two commands should be contrasted with
+those of the following two (documented above, in \ref{Sec:loadf}):
+\begin{verbatim}
+ \LoadClassWithOptions
+ \RequirePackageWithOptions
+\end{verbatim}
+The command |\RequirePackageWithOptions| is similar to
+|\RequirePackage|, but it always loads the required package with
+exactly the same option list as that being used by the current class
+or package, rather than with any option explicitly supplied or passed
+on by |\PassOptionsToPackage|.
+
+The main purpose of |\LoadClassWithOptions| is to allow one class to
+simply build on another, for example:
+\begin{verbatim}
+ \LoadClassWithOptions{article}
+\end{verbatim}
+This should be compared with the slightly different construction
+\begin{verbatim}
+ \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+ \ProcessOptions\relax
+ \LoadClass{article}
+\end{verbatim}
+As used above, the effects are more or less the same, but the first is
+a lot less to type; also the |\LoadClassWithOptions| method runs
+slightly quicker.
+
+If, however, the class declares options of its own then
+the two constructions are different. Compare, for example:
+\begin{verbatim}
+ \DeclareOption{landscape}{\@landscapetrue}
+ \ProcessOptions\relax
+ \LoadClassWithOptions{article}
+\end{verbatim}
+with:
+\begin{verbatim}
+ \DeclareOption{landscape}{\@landscapetrue}
+ \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+ \ProcessOptions\relax
+ \LoadClass{article}
+\end{verbatim}
+In the first example, the \textsf{article} class will be loaded with
+option |landscape| precisely when the current class is called with
+this option. By contrast, in the second example it will never be
+called with option \texttt{landscape} as in that case \textsf{article}
+is passed options only by the default option handler, but this handler
+is not used for |landscape| because that option is explicitly
+declared.
+
+\subsection{Delaying code}
+\label{Sec:delays}
+
+These first two commands are also intended primarily for use within
+the \m{code} argument of |\DeclareOption| or |\DeclareOption*|.
+
+\begin{decl}
+ |\AtEndOfClass| \arg{code}\\
+ |\AtEndOfPackage| \arg{code}
+\end{decl}
+These commands declare \m{code} that is saved away internally and then
+executed after processing the whole of the current class or package
+file.
+
+Repeated use of these commands is permitted: the code in the
+arguments is stored (and later executed) in the order of their
+declarations.
+
+\begin{decl}
+ |\AtBeginDocument| \arg{code}\\
+ |\AtEndDocument| \arg{code}
+\end{decl}
+These commands declare \m{code} to be saved internally and executed
+while \LaTeX{} is executing |\begin{document}| or |\end{document}|.
+
+The \m{code} specified in the argument to |\AtBeginDocument| is
+executed near the end of the |\begin{document}| code, \emph{after} the
+font selection tables have been set up. It is therefore a useful
+place to put code which needs to be executed after everything has been
+prepared for typesetting and when the normal font for the document is
+the current font.
+
+\NEWdescription{1995/12/01}
+The |\AtBeginDocument| hook should not be used for code that does any
+typesetting since the typeset result would be unpredictable.
+
+The \m{code} specified in the argument to |\AtEndDocument| is
+executed at the beginning of the |\end{document}| code,
+\emph{before} the final page is finished and before any leftover
+floating environments are processed. If some of the \m{code} is to be
+executed after these two processes, you should include a |\clearpage|
+at the appropriate point in \m{code}.
+
+Repeated use of these commands is permitted: the code in the
+arguments is stored (and later executed) in the order of their
+declarations.
+
+\begin{decl}[1994/12/01]
+ |\AtBeginDvi| \arg{specials}
+\end{decl}
+These commands save in a box register things which are written to the
+|.dvi| file at the beginning of the `shipout' of the first page of the
+document.
+
+This should not be used for anything that will add any typeset
+material to the |.dvi| file.
+
+Repeated use of this command is permitted.
+
+
+\subsection{Option processing}
+\label{Sec:commands.options}
+
+\begin{decl}
+ |\ProcessOptions|
+\end{decl}
+This command executes the \m{code} for each selected option.
+
+We shall first describe how |\ProcessOptions| works in a package file,
+and then how this differs in a class file.
+
+To understand in detail what |\ProcessOptions| does in a package file,
+you have to know the difference between \emph{local} and \emph{global}
+options.
+\begin{itemize}
+\item \textbf{Local options} are those which have been explicitly
+ specified for this particular package in the \m{options} argument of
+ any of these:
+\begin{quote}
+ |\PassOptionsToPackage{<options>}| \ |\usepackage[<options>]|\\
+ |\RequirePackage[<options>]|
+\end{quote}
+\item \textbf{Global options} are any other options that are specified
+ by the author in the \m{options} argument of
+ |\documentclass[<options>]|.
+\end{itemize}
+For example, suppose that a document begins:
+\begin{verbatim}
+ \documentclass[german,twocolumn]{article}
+ \usepackage{gerhardt}
+\end{verbatim}
+whilst package |gerhardt| calls package |fred| with:
+\begin{verbatim}
+ \PassOptionsToPackage{german,dvips,a4paper}{fred}
+ \RequirePackage[errorshow]{fred}
+\end{verbatim}
+then:
+\begin{itemize}
+\item |fred|'s local options are |german|, |dvips|, |a4paper|
+ and |errorshow|;
+\item |fred|'s only global option is |twocolumn|.
+\end{itemize}
+
+When |\ProcessOptions| is called, the following happen.
+\begin{itemize}
+\item \emph{First}, for each option so far declared in |fred.sty|
+ by |\DeclareOption|, it looks to see if that option is either a
+ global or a local option for |fred|: if it is then the corresponding
+ code is executed.
+
+ This is done in the order in which these options
+ were declared in |fred.sty|.
+\item \emph{Then}, for each remaining \emph{local} option, the command
+ |\ds@<option>| is executed if it has been defined somewhere (other
+ than by a |\DeclareOption|); otherwise, the `default option code' is
+ executed. If no default option code has been declared then an error
+ message is produced.
+
+ This is done in the order in which these
+ options were specified.
+\end{itemize}
+Throughout this process, the system ensures that the code declared for
+an option is executed at most once.
+
+Returning to the example, if |fred.sty| contains:
+\begin{verbatim}
+ \DeclareOption{dvips}{\typeout{DVIPS}}
+ \DeclareOption{german}{\typeout{GERMAN}}
+ \DeclareOption{french}{\typeout{FRENCH}}
+ \DeclareOption*{\PackageWarning{fred}{Unknown `\CurrentOption'}}
+ \ProcessOptions\relax
+\end{verbatim}
+then the result of processing this document will be:
+\begin{verbatim}
+ DVIPS
+ GERMAN
+ Package fred Warning: Unknown `a4paper'.
+ Package fred Warning: Unknown `errorshow'.
+\end{verbatim}
+Note the following:
+
+\begin{itemize}
+\item the code for the |dvips| option is executed before that for the
+ |german| option, because that is the order in which they are declared
+ in |fred.sty|;
+\item the code for the |german| option is executed only once, when the
+ declared options are being processed;
+\item the |a4paper| and |errorshow| options produce the warning from
+ the code declared by |\DeclareOption*| (in the order in which they
+ were specified), whilst the |twocolumn| option does not: this is
+ because |twocolumn| is a global option.
+\end{itemize}
+
+In a class file, |\ProcessOptions| works in the same way, except
+that: \emph{all} options are local; and the default value for
+|\DeclareOption*| is |\OptionNotUsed| rather than an error.
+
+\NEWdescription{1995/12/01}
+Note that, because |\ProcessOptions| has a |*|-form, it is wise to
+follow the non-star form with |\relax|, as in the previous examples,
+since this prevents unnecessary look ahead and possibly misleading
+error messages being issued.
+
+\begin{decl}
+ |\ProcessOptions*| \\
+ |\@options|
+\end{decl}
+This is like |\ProcessOptions| but it executes the options in the
+order specified in the calling commands, rather than in the order of
+declaration in the class or package. For a package this means that the
+global options are processed first.
+
+The |\@options| command from \LaTeX~2.09 has been made equivalent to
+this in order to ease the task of updating old document styles to
+\LaTeXe{} class files.
+
+\begin{decl}
+ |\ExecuteOptions| \arg{options-list}
+\end{decl}
+
+For each option in the \m{options-list}, in order,
+this command simply executes the command
+|\ds@<option>| (if this command is not defined, then that option is
+silently ignored).
+
+It can be used to provide a `default option list' just before
+|\ProcessOptions|. For example, suppose that in a class file you want
+to set up the default design to be: two-sided printing; 11pt fonts;
+in two columns. Then it could specify:
+\begin{verbatim}
+ \ExecuteOptions{11pt,twoside,twocolumn}
+\end{verbatim}
+
+
+\subsection{Safe file commands}
+
+These commands deal with file input; they ensure that the non-existence
+of a requested file can be handled in a user-friendly way.
+
+\begin{decl}
+|\IfFileExists| \arg{file-name} \arg{true} \arg{false}
+\end{decl}
+If the file exists then the code specified in \m{true} is
+executed.
+
+If the file does not exist then the code specified in \m{false} is
+executed.
+
+This command does \emph{not} input the file.
+
+\begin{decl}
+ |\InputIfFileExists| \arg{file-name} \arg{true} \arg{false}
+\end{decl}
+This inputs the file \m{file-name} if it exists and, immediately
+before the input, the code specified in \m{true} is executed.
+
+If the file does not exist then the code specified in \m{false} is
+executed.
+
+It is implemented using |\IfFileExists|.
+
+
+\subsection{Reporting errors, etc}
+
+These commands should be used by third party classes and packages to
+report errors, or to provide information to authors.
+
+\begin{decl}
+ |\ClassError| \arg{class-name} \arg{error-text} \arg{help-text}\\
+ |\PackageError| \arg{package-name} \arg{error-text} \arg{help-text}
+\end{decl}
+These produce an error message. The \m{error-text} is displayed and the
+|?| error prompt is shown. If the user types |h|, they will be shown
+the \m{help-text}.
+
+Within the \m{error-text} and \m{help-text}: |\protect| can be used to
+stop a command from expanding; |\MessageBreak| causes a line-break;
+and |\space| prints a space.
+
+Note that the \m{error-text} will have a full stop added to it, so do
+not put one into the argument.
+
+For example:
+\begin{verbatim}
+ \newcommand{\foo}{FOO}
+ \PackageError{ethel}{%
+ Your hovercraft is full of eels,\MessageBreak
+ and \protect\foo\space is \foo
+ }{%
+ Oh dear! Something's gone wrong.\MessageBreak
+ \space \space Try typing \space <<return>>
+ \space to proceed, ignoring \protect\foo.
+ }
+\end{verbatim}
+produces this display:
+\begin{verbatim}
+ ! Package ethel Error: Your hovercraft is full of eels,
+ (ethel) and \foo is FOO.
+
+ See the ethel package documentation for explanation.
+\end{verbatim}
+If the user types |h|, this will be shown:
+\begin{verbatim}
+ Oh dear! Something's gone wrong.
+ Try typing <<return>> to proceed, ignoring \foo.
+\end{verbatim}
+
+\begin{decl}
+ |\ClassWarning| \arg{class-name} \arg{warning-text}\\
+ |\PackageWarning| \arg{package-name} \arg{warning-text}\\
+ |\ClassWarningNoLine| \arg{class-name} \arg{warning-text}\\
+ |\PackageWarningNoLine| \arg{package-name} \arg{warning-text}\\
+ |\ClassInfo| \arg{class-name} \arg{info-text}\\
+ |\PackageInfo| \arg{package-name} \arg{info-text}
+\end{decl}
+The four |Warning| commands are similar to the error commands, except
+that they produce only a warning on the screen, with no error prompt.
+
+The first two, |Warning| versions, also show the line number where the
+warning occurred, whilst the second two, |WarningNoLine| versions, do
+not.
+
+The two |Info| commands are similar except that they log the
+information only in the transcript file, including the line number.
+There are no |NoLine| versions of these two.
+
+Within the \m{warning-text} and \m{info-text}: |\protect| can be used to
+stop a command from expanding; |\MessageBreak| causes a line-break;
+and |\space| prints a space.
+Also, these should not end with a full stop as one is
+automatically added.
+
+
+\subsection{Defining commands}
+\label{Sec:commands.define}
+
+\LaTeXe{} provides some extra methods of (re)defining commands that are
+intended for use in class and package files.
+
+\NEWfeature{1994/12/01}
+The \texttt{*}-forms of these commands should be used to define
+commands that are not, in \TeX{} terms, long. This can be useful for
+error-trapping with commands whose arguments are not intended to
+contain whole paragraphs of text.
+
+\begin{decl}
+ |\DeclareRobustCommand| \arg{cmd} \oarg{num} \oarg{default}
+ \arg{definition}\\
+ |\DeclareRobustCommand*| \arg{cmd} \oarg{num} \oarg{default}
+ \arg{definition}
+\end{decl}
+This command takes the same arguments as |\newcommand| but it declares
+a robust command, even if some code within the \m{definition} is
+fragile. You can use this command to define new robust commands, or
+to redefine existing commands and make them robust. A log is put into
+the transcript file if a command is redefined.
+
+For example, if |\seq| is defined as follows:
+\begin{verbatim}
+ \DeclareRobustCommand{\seq}[2][n]{%
+ \ifmmode
+ #1_{1}\ldots#1_{#2}%
+ \else
+ \PackageWarning{fred}{You can't use \protect\seq\space in text}%
+ \fi
+ }
+\end{verbatim}
+Then the command |\seq| can be used in moving arguments, even though
+|\ifmmode| cannot, for example:
+\begin{verbatim}
+ \section{Stuff about sequences $\seq{x}$}
+\end{verbatim}
+
+Note also that there is no need to put a |\relax| before the
+|\ifmmode| at the beginning of the definition; this is because the
+protection given by this |\relax| against expansion at the wrong time
+will be provided internally.
+
+\begin{decl}
+ |\CheckCommand| \arg{cmd} \oarg{num} \oarg{default}
+ \arg{definition}\\
+ |\CheckCommand*| \arg{cmd} \oarg{num} \oarg{default}
+ \arg{definition}
+\end{decl}
+This takes the same arguments as |\newcommand| but, rather than define
+\m{cmd}, it just checks that the current definition of \m{cmd} is
+exactly as given by \m{definition}. An error is raised if these
+definitions differ.
+
+This command is useful for checking the state of the system before
+your package starts altering the definitions of commands. It allows
+you to check, in particular, that no other package has redefined the
+same command.
+
+\subsection{Moving arguments}
+
+\NEWdescription{1994/12/01}
+The setting of protect whilst processing (i.e.~moving) moving arguments
+has been reimplemented, as has the method of writing information from
+the |.aux| file to other files such as the |.toc| file. Details can
+be found in the file |ltdefns.dtx|.
+
+We hope that these changes will not affect many packages.
+
+\section{Miscellaneous commands, etc}
+\label{Sec:commands.misc}
+
+\subsection{Layout parameters}
+
+\begin{decl}
+|\paperheight|\\
+|\paperwidth|
+\end{decl}
+These two parameters are usually set by the class to be the size of
+the paper being used. This should be actual paper size, unlike
+|\textwidth| and |\textheight| which are the size of the main text
+body within the margins.
+
+
+\subsection{Case changing}
+\label{sec:case}
+
+\begin{decl}
+ |\MakeUppercase| \arg{text} \\
+ |\MakeLowercase| \arg{text}
+\end{decl}
+
+\NEWfeature{1995/06/01}
+\TeX{} provides two primitives |\uppercase| and |\lowercase| for
+changing the case of text. These are sometimes used in document
+classes, for example to set information in running heads in all
+capitals.
+
+Unfortunately, these \TeX{} primitives do not change the case of
+characters accessed by commands like |\ae| or |\aa|. To overcome this
+problem, \LaTeX{} provides two new commands |\MakeUppercase| and
+|\MakeLowercase| to do this.
+
+For example:
+\begin{quotation}
+\begin{tabular}{rl}
+ |\uppercase{aBcD\ae\AA\ss\OE}| & \uppercase{aBcD\ae\AA\ss\OE}\\
+ |\lowercase{aBcD\ae\AA\ss\OE}| & \lowercase{aBcD\ae\AA\ss\OE}\\
+ |\MakeUppercase{aBcD\ae\AA\ss\OE}| &
+ \MakeUppercase{aBcD\ae\AA\ss\OE}\\
+ |\MakeLowercase{aBcD\ae\AA\ss\OE}| & \MakeLowercase{aBcD\ae\AA\ss\OE}
+\end{tabular}
+\end{quotation}
+
+The commands |\MakeUppercase| and |\MakeLowercase| themselves are
+robust, but they have moving arguments.
+
+The commands use the \TeX{} primitives |\uppercase| and |\lowercase|,
+and so have a number of unexpected `features'. In particular, they
+change the case of everything (except characters in the names of
+control-sequences) in their text argument: this includes mathematics,
+environment names, and label names.
+
+For example:
+\begin{verbatim}
+ \MakeUppercase{$x+y$ in \ref{foo}}
+\end{verbatim}
+produces $X+Y$ and the warning:
+\begin{verbatim}
+ LaTeX Warning: Reference `FOO' on page ... undefined on ...
+\end{verbatim}
+In the long run, we would like to use all-caps fonts rather than any
+command like |\MakeUppercase| but this is not possible at the moment
+because such fonts do not exist.
+
+\NEWdescription{1995/12/01}
+In order that upper/lower-casing will work reasonably well, and in
+order to provide any correct hyphenation, \LaTeXe{} \emph{must} use,
+throughout a document, the same fixed table for changing case.
+The table used is designed for the font encoding |T1|; this works well
+with the standard \TeX{} fonts for all Latin alphabets but will cause
+problems when using other alphabets.
+
+\subsection{The `openany' option in the `book' class}
+
+\NEWdescription{1996/06/01}
+The |openany| option allows chapter and similar openings to
+occur on left hand pages. Previously this option affected only
+|\chapter| and |\backmatter|. It now also affects
+|\part|, |\frontmatter| and |\mainmatter|.
+
+\subsection{Better user-defined math display environments}
+
+\begin{decl}
+ |\ignorespacesafterend|
+\end{decl}
+
+\NEWfeature{1996/12/01}
+\NEWdescription{2003/12/01}
+Suppose that you want to define an environment for displaying text
+that is numbered as an equation. A straightforward way to do this is
+as follows:
+\begin{verbatim}
+ \newenvironment{texteqn}
+ {\begin{equation}
+ \begin{minipage}{0.9\linewidth}}
+ {\end{minipage}
+ \end{equation}}
+\end{verbatim}
+However, if you have tried this then you will probably have noticed
+that it does not work perfectly when used in the middle of a paragraph
+because an inter-word space appears at the beginning of the first
+line after the environment.
+
+There is now an extra command (with a very long name) available that
+you can use to avoid this problem; it should be inserted as shown here:
+\begin{verbatim}
+ \newenvironment{texteqn}
+ {\begin{equation}
+ \begin{minipage}{0.9\linewidth}}
+ {\end{minipage}
+ \end{equation}
+ \ignorespacesafterend}
+\end{verbatim}
+
+This command may also have other uses.
+
+\subsection{Normalising spacing}
+
+\begin{decl}
+ |\normalsfcodes|
+\end{decl}
+
+\NEWfeature{1997/06/01}
+This command should be used to restore the normal settings of the
+parameters that affect spacing between words, sentences, etc.
+
+An important use of this feature is to correct a problem, reported by
+Donald Arseneau, that punctuation in page headers has always (in all
+known \TeX{} formats) been potentially wrong whenever a page break
+happens while a local setting of the space codes is in effect. These
+space codes are changed by, for example, the command
+\verb|\frenchspacing|) and the \textsf{verbatim} environment.
+
+It is normally given the correct definition automatically in
+|\begin{document}| and so need not be explicitly set; however, if it
+is explicitly made nonempty in a class file then automatic
+default setting will be over-ridden.
+
+
+\section{Upgrading \LaTeX~2.09 classes and packages}
+\label{Sec:upgrade}
+
+This section describes the changes you may need to make when you
+upgrade an existing \LaTeX{} style to a package or class but we shall
+start in optimistic mode.
+
+Many existing style files will run with \LaTeXe{} without any
+modification to the file itself. When everything is running OK,
+please put a note in the newly created package or class file to record
+that it runs with the new standard \LaTeX{}; then distribute it to
+your users.
+
+\subsection{Try it first!}
+\label{Sec:try-it}
+
+The first thing you should do is to test your style in `compatibility
+mode'. The only change you need to make in order to do this is,
+possibly, to change the extension of the file to |.cls|: you should
+make this change only if your file was used as a main document style.
+Now, without any other modifications, run \LaTeXe{} on a document that
+uses your file. This assumes that you have a suitable collection of
+files that tests all the functionality provided by your style file.
+(If you haven't, now is the time to make one!)
+
+You now need to change the test document files so that they are
+\LaTeXe{} documents: see \emph{\usrguide} for details of how to do
+this and then try them again. You have now tried the test documents
+in both \LaTeXe{} native mode and \LaTeX~2.09 compatibility mode.
+
+\subsection{Troubleshooting}
+\label{Sec:trouble}
+
+If your file does not work with \LaTeXe{}, there are two likely
+reasons.
+\begin{itemize}
+\item \LaTeX{} now has a robust, well-defined designer's interface for
+ selecting fonts, which is very different from the \LaTeX~2.09
+ internals.
+\item Your style file may have used some \LaTeX~2.09 internal commands
+ which have changed, or which have been removed.
+\end{itemize}
+
+When you are debugging your file, you will probably need more
+information than is normally displayed by \LaTeXe. This is achieved
+by resetting the counter |errorcontextlines| from its default value of
+$-1$ to a much higher value, e.g.~999.
+
+\subsection{Accommodating compatibility mode}
+
+Sometimes an existing collection of \LaTeX~2.09 documents makes it
+inconvenient or impossible to abandon the old commands entirely.
+If this is the case, then it is possible to accommodate both conventions
+by making special provision for documents processed in compatibility
+mode.
+
+\begin{decl}
+|\if@compatibility|
+\end{decl}
+This switch is set when a document begins with |\documentstyle| rather
+than |\documentclass|. Appropriate code can be supplied for either
+condition, as follows:
+\begin{verbatim}
+ \if@compatibility
+ <code emulating LaTeX 2.09 behavior>
+ \else
+ <code suitable for LaTeX2e>
+ \fi
+\end{verbatim}
+
+
+\subsection{Font commands}
+
+Some font and size commands are now defined by the document class
+rather than by the \LaTeX{} kernel. If you are upgrading a
+\LaTeX~2.09 document style to a class that does not load one of the
+standard classes, then you will probably need to add definitions for
+these commands.
+
+\begin{decl}
+ |\rm| |\sf| |\tt| |\bf| |\it| |\sl| |\sc|
+\end{decl}
+None of these short-form font selection commands are defined in the
+\LaTeXe{} kernel. They are defined by all the standard class files.
+
+If you want to define them in your class file, there are several
+reasonable ways to do this.
+
+One possible definition is:
+\begin{verbatim}
+ \newcommand{\rm}{\rmfamily}
+ ...
+ \newcommand{\sc}{\scshape}
+\end{verbatim}
+This would make the font commands orthogonal; for example
+|{\bf\it text}| would produce bold italic, thus: \textbf{\textit{text}}.
+It will also make them produce an error if used in math mode.
+
+Another possible definition is:
+\begin{verbatim}
+ \DeclareOldFontCommand{\rm}{\rmfamily}{\mathrm}
+ ...
+ \DeclareOldFontCommand{\sc}{\scshape}{\mathsc}
+\end{verbatim}
+This will make |\rm| act like |\rmfamily| in text mode (see above) and
+it will make |\rm| select the |\mathrm| math alphabet in math mode.
+
+Thus |${\rm math} = X + 1$| will produce `${\rm math} = X + 1$'.
+
+If you do not want font selection to be orthogonal then you can
+follow the standard classes and define:
+\begin{verbatim}
+ \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+ ...
+ \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\mathsc}
+\end{verbatim}
+This means, for example, that |{\bf\it text}| will produce medium
+weight (rather than bold) italic, thus: \textit{text}.
+
+\begin{decl}
+ |\normalsize| \\
+ |\@normalsize|
+\end{decl}
+The command |\@normalsize| is retained for compatibility with
+\LaTeX~2.09 packages which may have used its value; but redefining it
+in a class file will have no effect since it is always reset to have
+the same meaning as |\normalsize|.
+
+This means that classes \emph{must} now redefine |\normalsize| rather
+than redefining |\@normalsize|; for example (a rather incomplete one):
+\begin{verbatim}
+ \renewcommand{\normalsize}{\fontsize{10}{12}\selectfont}
+\end{verbatim}
+Note that |\normalsize| is defined by the \LaTeX{} kernel to be an
+error message.
+
+\begin{decl}
+ |\tiny| |\footnotesize| |\small| |\large|\\
+ |\Large| |\LARGE| |\huge| |\Huge|
+\end{decl}
+None of these other `standard' size-changing commands are defined in
+the kernel: each needs to be defined in a class file if you need it.
+They are all defined by the standard classes.
+
+This means you should use |\renewcommand| for |\normalsize| and
+|\newcommand| for the other size-changing commands.
+
+
+\subsection{Obsolete commands}
+
+Some packages will not work with \LaTeXe{}, normally because they relied
+on an internal \LaTeX{} command which was never supported and has now
+changed, or been removed.
+
+In many cases there will now be a robust, high-level means of
+achieving what previously required low-level commands. Please consult
+Section~\ref{Sec:commands} to see if you can now use the \LaTeXe{}
+class and package writers commands.
+
+Also, of course, if your package or class redefined any of the kernel
+commands (i.e.~those defined in the files |latex.tex|, |slitex.tex|,
+|lfonts.tex|, |sfonts.tex|) then you will need to check it very
+carefully against the new kernel in case the implementation has
+changed or the command no longer exists in the \LaTeX2e{} kernel.
+
+Too many of the internal commands of \LaTeX~2.09 have been
+re-implemented or removed to be able to list them all here. You must
+check any that you have used or changed.
+
+We shall, however, list some of the more important commands which are
+no longer supported.
+
+\begin{decl}
+ |\tenrm| |\elvrm| |\twlrm| \dots\\
+ |\tenbf| |\elvbf| |\twlbf| \dots\\
+ |\tensf| |\elvsf| |\twlsf| \dots\\
+ \qquad$\vdots$
+\end{decl}
+The (approximately) seventy internal commands of this form are no longer
+defined. If your class or package uses them then \emph{please}
+replace them with new font commands described in \emph{\fntguide}.
+
+For example, the command |\twlsf| should be replaced by:
+\begin{verbatim}
+ \fontsize{12}{14}\normalfont\sffamily\selectfont
+\end{verbatim}
+
+Another possibility is to use the |rawfonts| package, described in
+\emph{\usrguide}.
+
+Also, remember that many of the fonts preloaded by \LaTeX~2.09
+are no longer preloaded.
+
+\begin{decl}
+ |\vpt| |\vipt| |\viipt| \dots
+\end{decl}
+These were the internal size-selecting commands in \LaTeX~2.09.
+(They can still be used in \LaTeX~2.09 compatibility mode.)
+Please use the command |\fontsize| instead: see \emph{\fntguide} for
+details.
+
+For example, |\vpt| should be replaced by:
+\begin{verbatim}
+ \fontsize{5}{6}\normalfont\selectfont
+\end{verbatim}
+
+\begin{decl}
+ |\prm|, |\pbf|, |\ppounds|, |\pLaTeX| \dots
+\end{decl}
+\LaTeX~2.09 used several commands beginning with |\p| in order to
+provide `protected' commands. For example, |\LaTeX| was defined to be
+|\protect\pLaTeX|, and |\pLaTeX| was defined to produce the \LaTeX{}
+logo. This made |\LaTeX| robust, even though |\pLaTeX| was not.
+
+These commands have now been reimplemented using
+|\DeclareRobustCommand|
+(described in Section~\ref{Sec:commands.define}).
+If your package redefined one of the |\p|-commands then you must
+remove the redefinition and use |\DeclareRobustCommand| to redefine the
+non-|\p| command.
+
+\begin{decl}
+|\footheight|\\
+|\@maxsep|\\
+|\@dblmaxsep|
+\end{decl}
+These parameters are not used by \LaTeXe{} so they have been removed,
+except in \LaTeX~2.09 compatibility mode. Classes should no longer
+set them.
+
+\begin{thebibliography}{1}
+
+\bibitem{A-W:DEK91}
+Donald~E. Knuth.
+\newblock {\em The \TeX book}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1986.
+\newblock Revised to cover \TeX3, 1991.
+
+\bibitem{A-W:LLa94}
+Leslie Lamport.
+\newblock {\em {\LaTeX:} A Document Preparation System}.
+\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
+
+\bibitem{A-W:MG2004}
+Frank Mittelbach and Michel Goossens.
+\newblock {\em The {\LaTeX} Companion second edition}.
+\newblock With Johannes Braams, David Carlisle, and Chris Rowley.
+\newblock Addison-Wesley, Reading, Massachusetts, 2004.
+
+\end{thebibliography}
+
+\newpage
+\thispagestyle{empty}
+
+\section*{\LaTeXe{} Summary sheet: updating old styles}
+
+Section references below are to \emph{\clsguide}.
+
+\begin{enumerate}
+
+\item Should it become a class or a package?
+ See Section~\ref{Sec:classorpkg} for how to answer this question.
+
+\item If it uses another style file, then you will need to obtain an
+ updated version of this other file. Look at Section~\ref{Sec:loading}
+ for information on how to load other class and package files.
+
+\item Try it: see Section~\ref{Sec:try-it}.
+
+\item It worked? Excellent, but there are probably still some things
+ you should change in order to make your file into a well-structured
+ \LaTeXe{} file that is both robust and portable. So you should now
+ read Section~\ref{Sec:writing}, especially~\ref{Sec:general}. You
+ will also find some useful examples in Section~\ref{Sec:structure}.
+
+ If your file sets up new fonts, font-changing commands or symbols,
+ you should also read \emph{\fntguide}.
+
+\item It did not work? There are three possibilities here:
+ \begin{itemize}
+ \item error messages are produced whilst reading your file;
+ \item error messages are produced whilst processing test documents;
+ \item there are no errors but the output is not as it should be.
+ \end{itemize}
+ Don't forget to check carefully for this last possibility.
+
+ If you have got to this stage then you will need to read
+ Section~\ref{Sec:upgrade} to find the solutions that will make your
+ file work.
+\end{enumerate}
+
+\end{document}
+
diff --git a/macros/latex/base/cmextra.ins b/macros/latex/base/cmextra.ins
index 292bcd46d6..00a8554464 100644
--- a/macros/latex/base/cmextra.ins
+++ b/macros/latex/base/cmextra.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2018
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2018
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/cmfonts.fdd b/macros/latex/base/cmfonts.fdd
index 1c83814ee5..f330394792 100644
--- a/macros/latex/base/cmfonts.fdd
+++ b/macros/latex/base/cmfonts.fdd
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/cmfonts.ins b/macros/latex/base/cmfonts.ins
index 79da8994db..b28cb7ba29 100644
--- a/macros/latex/base/cmfonts.ins
+++ b/macros/latex/base/cmfonts.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/cmfonts.pdf b/macros/latex/base/cmfonts.pdf
index b72e4c8e45..c298bad40a 100644
--- a/macros/latex/base/cmfonts.pdf
+++ b/macros/latex/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex/base/cyrguide.pdf b/macros/latex/base/cyrguide.pdf
new file mode 100644
index 0000000000..b08cb4a94a
--- /dev/null
+++ b/macros/latex/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex/base/cyrguide.tex b/macros/latex/base/cyrguide.tex
new file mode 100644
index 0000000000..ed73423510
--- /dev/null
+++ b/macros/latex/base/cyrguide.tex
@@ -0,0 +1,398 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1999/02/28]
+
+\title{Cyrillic languages support in \LaTeX}
+
+\author{\copyright~Copyright 1998--1999,\\ Vladimir Volovich,
+ Werner Lemberg and \LaTeX3 Project Team.\\ All rights reserved.}
+
+\date{12 March 1999}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\begin{abstract}
+ This document contains basic information on the Cyrillic setup for
+ \LaTeX{}: how to get the fonts, how to set them up, how to use
+ the interface, its interaction with \babel{}, etc. This is only a first
+ draft of the document and it will probably be modified in future; so
+ please send in comments on it via the \texttt{latexbug} system
+ (see below).
+\end{abstract}
+
+
+\section{Introduction}
+
+Most Latin-based European languages were supported in \LaTeX{} by
+introducing the~|T1|~font encoding and by using the \textsf{fontenc}
+and \textsf{inputenc} packages; these use only standard \TeX{} means
+to support any \mbox{8-bit} input encoding and this one standard font
+encoding. The restriction to a single font encoding guarantees that
+multiple languages can happily coexist in one document (\eg
+hyphenation will be correct for all languages).
+
+Starting with the December~1998 Release, \LaTeX{} finally supports
+Cyrillic languages. This support is based on the new standard
+Cyrillic \TeX{} font encodings---|T2A|, |T2B|, |T2C|, and~|X2|. The
+first three of these satisfy some basic requirements for
+\LaTeX{}~|T*|~encodings, and thus can be used in multi-lingual documents
+with other languages based on standard font encodings.
+
+The reason why we need four different Cyrillic font encodings is that
+these font encodings support \emph{all} the Cyrillic languages that
+have been used during the twentieth century (see
+Section~\ref{fontencs})! The number of Cyrillic glyphs is large, so
+they cannot be represented with 128~character slots; the other (lower)
+128~slots are reserved for Latin letters and other invariant symbols
+that are needed for the encoding to be a conformant
+\LaTeX{}~\texttt{T}~encoding.
+
+There are some glyphs in the |T2*|~encodings which do not yet have
+associated characters in \emph{Unicode}, the world-wide character
+standard. Also, one more font encoding, |T2D|,~is planned for a
+forthcoming release of \LaTeX{}. A lot of Cyrillic input encodings
+are already supported (see Section~\ref{inputencs}), and additional
+encodings could be added easily.
+
+
+\subsection{Acknowledgments}
+\label{sec:acks}
+
+The work on |T2*|~encodings was carried out by the T2~Team, led by
+Alexander Berdnikov (other members are Mikhail Kolodin and Andrew
+Janishewskii). The LH~fonts were produced by Olga Lapko (with
+A.~Khodulev). The \textsf{T2} bundle and \textsf{ruhyphen} package
+were written by Werner Lemberg and Vladimir Volovich (except that the
+concrete hyphenation patterns which are part of \textsf{ruhyphen} came
+from individual authors). The support for the Ukrainian language was
+prepared by Andrij Shvaika.
+
+
+\section{Installation}
+
+The \textsf{fontenc} and \textsf{inputenc} packages are installed
+automatically in every base \LaTeX{} distribution.
+
+All the necessary extra files to use with these packages for Cyrillic
+are in the \textsf{cyrillic} bundle, which at present contains the
+following: four font encoding definition files (|t2aenc.def|,
+|t2benc.def|, |t2cenc.def|, |x2enc.def|); several input encoding
+definition files (all the other |*.def| files), and font definition
+files (|*.fd|).
+The installation of these is described here.
+
+\subsection{Fonts}
+
+The default font families in \LaTeX{} are the Computer Modern
+families, namely the CM~fonts (|OT1|~encoded) and the EC~fonts
+(|T1|~encoded). The LH~fonts, which are now available, provide
+Computer Modern fonts for all Cyrillic font encodings. They are
+designed to be compatible with the EC~fonts, and they provide the same
+font shapes and sizes; they are available at |CTAN:fonts/cyrillic/lh|
+(the latest version is 3.20). The installation instructions for the
+fonts are in the file |INSTALL| in the font distribution.
+
+Other fonts, including Type~1 fonts, can also be used, provided that
+their encoding (for \TeX{}) is \mbox{|T2|-compatible}. Some
+ready-to-use packages supporting such fonts are also available, \eg at
+\URL{ftp://ftp.vsu.ru/pub/tex} (they should soon be on \ctan). Currently,
+you will find two packages there: \textsf{PsCyr}, which contains some
+freely distributable Cyrillic Type~1 fonts with support for \LaTeX{};
+and \textsf{c1fonts}, which contains virtual fonts similar to the
+\textsf{AE}~fonts package using the BlueSky and BaKoMa fonts
+available from \ctan{} (see the |README| file in that package for
+detailed information). Further font packages are expected soon.
+
+\subsection{Hyphenation patterns}
+
+You can find a collection of hyphenation patterns for the Russian
+language in the \textsf{ruhyphen} package at
+|CTAN:language/hyphenation/ruhyphen|. These patterns support the
+|T2*|~encodings, as well as other popular font encodings used for
+Russian typesetting (including the Omega internal encoding).
+Patterns for other Cyrillic languages should be adapted to work with
+the |T2*|~encodings.
+
+\subsection{\babel{} support for Russian and Ukrainian}
+\label{bblrus}
+
+Version~3.6k of \babel{} includes support for the |T2*|~encodings and
+for typesetting both Russian and Ukrainian texts using the Cyrillic
+letters. The temporary fontencoding |LWN|, which was used in earlier
+releases of \babel{}, will be withdrawn in the near future and replaced
+by the |OT2| encoding.
+
+\subsection{Getting pre-built packages}
+
+Many of the major \TeX{} distributions, such as te\TeX{}, fp\TeX{} and
+\TeX{}live, contain (or soon will) everything that is needed,
+including the LH~fonts, \textsf{ruhyphen} and the latest version of
+\babel{}. We hope that all \TeX{} distributions will soon include all
+of these, so that the chances are that you will not need to install
+this by yourself (but it is not difficult).
+
+If you are using em\TeX, Mik\TeX, or fp\TeX, you
+can download the \textsf{ruemtex} package from
+\URL{ftp://ftp.vsu.ru/pub/tex}.
+
+\section{Usage}
+
+Support for Cyrillic is based on these standard \LaTeX{} mechanisms:
+the \textsf{fontenc} and \textsf{inputenc} packages (and on \babel{}).
+Thus the basic principles for its use are similar to those for other
+European languages: you simply add, to your document preamble, lines
+like the following.
+
+\begin{verbatim}
+\usepackage[T2A]{fontenc}
+\usepackage[koi8-r]{inputenc}
+\end{verbatim}
+
+Here you can put any desired input encoding instead of
+\mbox{\texttt{koi8-r}}: for example, it would be \texttt{cp866} if you are
+using a MS-DOS text editor with this Cyrillic code page to prepare your
+documents, or \texttt{cp1251} if you are a MS~Windows user with Cyrillic
+support. A full list of the available Cyrillic encodings can be found in
+Section~\ref{inputencs} and in the file |cyinpenc.dtx|.
+
+Documents are, naturally, not restricted to a single font encoding;
+this is essential for multi-lingual journals or documents. Such
+changes can be made by using the |\fontencoding| command as part of a
+font-change. However, it is best to access these font encodings via a
+higher-level interface.
+
+Since such changes are often closely related to other
+language-dependent settings, it is often sensible to use the \babel{}
+system, which provides further useful `localisation' and standardised
+multi-lingual interfaces (for further details, see
+Section~\ref{bblrus}). Then you can use lines like the following in
+your document:
+
+\begin{verbatim}
+\usepackage[koi8-r]{inputenc}
+\usepackage[russian]{babel}
+\end{verbatim}
+
+This will automatically choose the default font encoding for Russian,
+which is |T2A|, if available. Documentation of the complete set of
+font-encoding selection rules can be found in |cyrillic.dtx| which is
+part of |rusbabel|.
+
+These \LaTeX{} interfaces are very convenient because they make your
+documents completely portable, being based solely on standard \TeX{}
+features. This will mean that your documents can be processed on any
+\TeX{} system without any need for re-encoding to the `native'
+encoding used on each platform; this is because the encoding of the
+document is specified in the document itself.
+
+Moreover, if necessary, more than one input encoding can be used
+within a document; this could be useful if, for example, you need to
+combine articles prepared by authors on different machines. Each part
+of the document is then identified by a |\inputencoding| command,
+which can therefore only be used between paragraphs.
+
+Please note that you must always use the two standard \LaTeX{}
+commands, |\MakeUppercase| and |\MakeLowercase| to produce uppercase
+or lowercase text in your documents. This is because |\uppercase| and
+|\lowercase| will not work at all for Cyrillic (note that these latter
+two commands are not, and never have been, available for use directly
+in \LaTeX{} documents).
+
+
+\section{Font encodings for Cyrillic languages}
+\label{fontencs}
+
+The Cyrillic font encodings support the following languages. Note
+that some languages can be properly typeset with more than one
+encoding.
+
+\begin{itemize}
+\raggedright
+\item[|T2A|:]
+ Abaza, Avar, Agul, Adyghei, Azerbaijani, Altai, Balkar, Bashkir,
+ Bulgarian, Buryat, Byelorussian, Gagauz, Dargin, Dungan, Ingush,
+ Kabardino-Cherkess, Kazakh, Kalmyk, Karakalpak, Karachaevskii,
+ Karelian, Kirghiz, Komi-Zyrian, Komi-Permyak, Kumyk, Lak, Lezghin,
+ Macedonian, Mari-Mountain, Mari-Valley, Moldavian, Mongolian,
+ Mordvin-Moksha, Mordvin-Erzya, Nogai, Oroch, Osetin, Russian, Rutul,
+ Serbian, Tabasaran, Tadzhik, Tatar, Tati, Teleut, Tofalar, Tuva,
+ Turkmen, Udmurt, Uzbek, Ukrainian, Hanty-Obskii, Hanty-Surgut,
+ Gipsi, Chechen, Chuvash, Crimean-Tatar.
+\item[|T2B|:]
+ Abaza, Avar, Agul, Adyghei, Aleut, Altai, Balkar, Byelorussian,
+ Bulgarian, Buryat, Gagauz, Dargin, Dolgan, Dungan, Ingush, Itelmen,
+ Kabardino-Cherkess, Kalmyk, Karakalpak, Karachaevskii, Karelian,
+ Ketskii, Kirghiz, Komi-Zyrian, Komi-Permyak, Koryak, Kumyk, Kurdian,
+ Lak, Lezghin, Mansi, Mari-Valley, Moldavian, Mongolian,
+ Mordvin-Moksha, Mordvin-Erzya, Nanai, Nganasan, Negidal, Nenets,
+ Nivh, Nogai, Oroch, Russian, Rutul, Selkup, Tabasaran, Tadzhik,
+ Tatar, Tati, Teleut, Tofalar, Tuva, Turkmen, Udyghei, Uigur, Ulch,
+ Khakass, Hanty-Vahovskii, Hanty-Kazymskii, Hanty-Obskii,
+ Hanty-Surgut, Hanty-Shurysharskii, Gipsi, Chechen, Chukcha, Shor,
+ Evenk, Even, Enets, Eskimo, Yukagir, Crimean Tatar, Yakut.
+\item[|T2C|:]
+ Abkhazian, Bulgarian, Gagauz, Karelian, Komi-Zyrian, Komi-Permyak,
+ Kumyk, Mansi, Moldavian, Mordvin-Moksha, Mordvin-Erzya, Nanai,
+ Orok (Uilta), Negidal, Nogai, Oroch, Russian, Saam, Old-Bulgarian,
+ Old-Russian, Tati, Teleut, Hanty-Obskii, Hanty-Surgut, Evenk,
+ Crimean Tatar.
+\end{itemize}
+
+The |X2|~encoding was designed to support all the above languages.
+Its name does not start with |T| because, for example, it contains no
+Latin letters (it is purely a Cyrillic glyph container); it therefore
+cannot be used in mixed-script documents along with the other |T*|
+encodings. Please consult Section~6.4 \textit{Naming conventions} of
+the file |fntguide.tex| in the base \LaTeX{} distribution for details
+of the differences between \LaTeX{} font encodings and how they are
+named.
+
+There are two other \LaTeX{} Cyrillic font encodings, |OT2| and |LCY|,
+that are not included in the base \LaTeX{} distribution. The first is
+a \mbox{7-bit} encoding (hence the |O|) developed by the AMS; it is
+useful for typesetting relatively small fragments of text in Cyrillic,
+using a Latin transliteration scheme. The other, |LCY|, is an
+\mbox{8-bit} Cyrillic encoding which is not compatible with the
+requirements for \LaTeX{} |T*|~encodings (hence the |L|); thus it is not
+suitable for typesetting multi-lingual documents, but it can be used in
+Plain \TeX{}-based macro packages because it is an extension of |OT1|.
+These two encodings are supported by \babel{} and by \textsf{ot2cyr}.
+
+
+\section{Input encodings}
+\label{inputencs}
+
+Several Cyrillic code-pages are widely used. Currently, \LaTeX{}
+contains support for 20~Cyrillic input encodings (some of which are
+variants of each other).
+
+\begin{itemize}
+
+\item |cp855| --- the standard \mbox{MS-DOS} Cyrillic code-page.
+
+\item |cp866| --- the standard \mbox{MS-DOS} Russian code-page.
+ Several code-pages very similar to this are also supported
+ (the differences are all in the range 242--254).
+ \begin{itemize}
+ \item |cp866av| -- the `Cyrillic Alternative' code-page (an
+ alternative variant of cp866);
+ \item |cp866mav| -- the `Modified Alternative Variant';
+ \item |cp866nav| -- the `New Alternative Variant';
+ \item |cp866tat| -- an experimental Tatarian code-page.
+ \end{itemize}
+
+\item |cp1251| --- the standard MS Windows Cyrillic code-page.
+
+\item \mbox{\texttt{koi8-r}} --- a standard Cyrillic code-page widely
+ used in UNIX-like systems for Russian language support that is
+ specified in RFC~1489. The situation with \mbox{\texttt{koi8-r}} is
+ somewhat similar to that for |cp866|: there are several similar
+ code-pages which coincide for all Russian letters but add some other
+ Cyrillic letters. The following are supported:
+ \begin{itemize}
+ \item \mbox{\texttt{koi8-u}} -- for Ukrainian;
+ \item \mbox{\texttt{koi8-ru}} -- this is described in a draft RFC
+ document specifying a widely used character set for mail and news
+ exchange in the Ukrainian internet community, as well as for
+ presenting WWW information resources in the Ukrainian language;
+ \item |isoir111| -- the \mbox{ISO-IR-111 ECMA} Cyrillic Code Page.
+ \end{itemize}
+
+\item |iso88595| --- the \mbox{ISO 8859-5} Cyrillic code-page (also called
+ \mbox{ISO-IR-144}).
+
+\item |maccyr| --- the Apple Macintosh Cyrillic code-page (also known
+ as Microsoft cp10007) and |macukr|, the Apple Macintosh Ukrainian
+ code-page, very similar to the Cyrillic code-page.
+
+\item The Mongolian code-pages: |ctt| |dbk| |mnk| |mos| |ncc| |mls|.
+ These code-pages were taken from Oliver Corff's `Mon\TeX' package
+ (available at |CTAN:language/mongolian/montex|). Since the |T2*|
+ encodings support the Mongolian Cyrillic script, it is convenient to
+ have support for Mongolian input encodings as well. Pointers to
+ documentation for these code-pages will be much appreciated.
+
+\end{itemize}
+
+
+\section{Reporting bugs}
+
+In case you find a bug and want to report it, please follow the
+guidelines given in the file |bugs.txt| in the base \LaTeX{}
+distributions. Note that there is a category specifically for
+reporting any bugs that occur only when using Cyrillic fonts or
+support packages.
+
+
+\section{Miscellanea in the \textsf{T2} bundle}
+\label{t2m}
+
+The \textsf{T2}~bundle at |CTAN:macros/latex/contrib/supported/t2|
+contains some other useful files, including support for Plain
+\TeX{}-based macro packages, support for Bib\TeX{} and MakeIndex (see
+also the \textsf{xindy} program and package---highly recommended for
+making indices with Cyrillic), support for the \textsf{fontinst}
+package, mapping tables relating these Cyrillic font encodings (and
+input encodings) to the Unicode character names and slots (these are
+in the subdirectory |enc-maps|), and more!
+
+To produce documented source listings of the \textsf{T2}~package, run
+\LaTeX{} on the |*.dtx| and |*.fdd| files therein.
+
+When typesetting Cyrillic texts, there is a tradition of using
+Cyrillic letters (in some situations) within math formul\ae, in
+exactly the same way as most of the world uses Latin letters.
+By default this does not work, because symbols declared with
+|\DeclareTextSymbol| may not be used in math.
+
+If you need within math to `transparently' typeset glyphs declared in
+font encoding definition files, then you could try using the
+experimental \textsf{mathtext} package, which is also in the
+\textsf{T2}~bundle. Note that this package uses up at least one
+additional math alphabet per font encoding. For this and other
+reasons, The \LaTeX3 Project Team considers that this experimental
+extension to \LaTeX{}'s glyph-handling mechanisms should be used with
+caution; but please try it out and send us your opinions and ideas.
+Note that it is not included in the core of \LaTeX{} because both the
+coding and the interfaces are likely to change at some point in the
+future.
+
+Finally, here are some pointers to further information:
+
+\begin{quote}
+ \URL{http://www.cemi.rssi.ru/cyrtug}\\
+ \URL{http://xtalk.price.ru/tex}
+\end{quote}
+
+\end{document}
diff --git a/macros/latex/base/doc.dtx b/macros/latex/base/doc.dtx
index aad1551543..971bb6053e 100644
--- a/macros/latex/base/doc.dtx
+++ b/macros/latex/base/doc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/doc.pdf b/macros/latex/base/doc.pdf
index e3599b7e19..93faf53cd7 100644
--- a/macros/latex/base/doc.pdf
+++ b/macros/latex/base/doc.pdf
Binary files differ
diff --git a/macros/latex/base/docstrip.dtx b/macros/latex/base/docstrip.dtx
index be3dda6d32..5ee3d1b7ae 100644
--- a/macros/latex/base/docstrip.dtx
+++ b/macros/latex/base/docstrip.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/docstrip.ins b/macros/latex/base/docstrip.ins
index 61a9343af6..7b68b7ce85 100644
--- a/macros/latex/base/docstrip.ins
+++ b/macros/latex/base/docstrip.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -52,7 +52,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -65,7 +65,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/docstrip.pdf b/macros/latex/base/docstrip.pdf
index 98948a6c36..e2360ec12d 100644
--- a/macros/latex/base/docstrip.pdf
+++ b/macros/latex/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex/base/ec.ins b/macros/latex/base/ec.ins
index c611508981..196396a24a 100644
--- a/macros/latex/base/ec.ins
+++ b/macros/latex/base/ec.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/encguide.pdf b/macros/latex/base/encguide.pdf
new file mode 100644
index 0000000000..669aeb3926
--- /dev/null
+++ b/macros/latex/base/encguide.pdf
Binary files differ
diff --git a/macros/latex/base/encguide.tex b/macros/latex/base/encguide.tex
new file mode 100644
index 0000000000..ec18fab6f8
--- /dev/null
+++ b/macros/latex/base/encguide.tex
@@ -0,0 +1,1481 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+%
+
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1994/11/20]
+
+\usepackage[T1]{fontenc}
+\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
+\usepackage{textcomp}
+\usepackage{url}
+\usepackage{mflogo}
+
+\addtolength\textheight{6\baselineskip}
+\addtolength\topmargin{-2\baselineskip}
+
+
+\newcommand\ttverb[1]{\texttt{\string#1}}
+
+
+% for encodings
+\providecommand{\Enc}[1]{\texttt{#1}}
+
+% for packages
+\providecommand{\Pkg}[1]{%
+ \textsf{#1}}
+
+% for files
+\providecommand{\File}[1]{%
+ \texttt{#1}}
+
+% let's have meta values too
+\providecommand{\meta}[1]{%
+ \ensuremath{\langle}\emph{#1}\ensuremath{\rangle}}
+
+\usepackage{tabularx}
+
+% eine Umgebung zur Darstellung von Kodierungen
+%
+% Argumente:
+% #1: Name in LaTeX (z.B. OT1)
+% #2: Name der Kodierung (z.B. TeX text)
+% #3: Name des Autors (z.B. Don Knuth)
+% #4: Bereich der benützten Glyphindizes
+% #5: variable Positionen
+% #6: Beispielzeichensatz
+% #7: Referenz
+%
+% XXX add code to handle more than a single font example (e.g., larm1000,
+% lbrm1000, and lcrm1000).
+%
+\newenvironment{encodinginfo}[7]%
+ {\noindent
+ \begin{tabularx}{\linewidth}{@{}l>{\raggedright\let\\\tabularnewline}X}%
+ \LaTeX{} name: & \texttt{#1}\\%
+ Public name: & #2\\%
+ Author: & #3\\%
+ Glyph slots used: & #4\\%
+ Variable slots: & #5\\%
+ Font example: & \def\@tempa{#6}\ifx\@tempa\@empty---%
+ \else\texttt{#6}\referenceftable{#6}\fi\\%
+ Further reference: & #7%
+ \end{tabularx}%
+ \par\nobreak
+ \vspace*{3pt}%
+ \quote
+ }%
+ {\endquote
+ \vspace{6pt}}
+
+\makeatletter
+\def\referenceftable#1{
+ \@ifundefined{r@fonttable:#1}%
+ \relax
+ {;\space encoding table on page~\pageref{fonttable:#1}}%
+}
+
+% font table macros mainly lifted from manmac.tex
+\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}}
+\def\hex#1{\hbox{\rm\H{}\tt#1}}
+
+\def\oddline#1{\cr\noalign{\nointerlineskip}
+ \multispan{19}\hrulefill&
+ \setbox0=\hbox{\lower 2.3pt\hbox{\hex{#1x}}}\smash{\box0}\cr
+ \noalign{\nointerlineskip}}
+\def\evenline{\cr\noalign{\hrule}}
+\def\chartstrut{\lower4.5pt\vbox to14pt{}}
+\def\beginchart#1#2{$$\global\count@=0 #1
+ \halign to\hsize\bgroup
+ \chartstrut##\tabskip0pt plus10pt&
+ &\hfil##\hfil&\vrule##\cr
+ \lower6.5pt\null
+ &#2&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
+\def\endchart{\raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
+ &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$}
+\def\:{\setbox0=\hbox{\noboundary\char\count@\noboundary}%
+ \ifdim\ht0>7.5pt\reposition
+ \else\ifdim\dp0>2.5pt\reposition\fi\fi
+ \box0\global\advance\count@ by1 }
+\def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}
+\def\normalchart{%
+ &\oct{00x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline0
+ &\oct{01x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{02x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline1
+ &\oct{03x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{04x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline2
+ &\oct{05x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{06x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline3
+ &\oct{07x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{10x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline4
+ &\oct{11x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{12x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline5
+ &\oct{13x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{14x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline6
+ &\oct{15x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{16x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline7
+ &\oct{17x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ \top}
+
+\def\notophalf{}
+\def\tophalf{%
+%\noalign{\vskip 5pt\hrule}
+ &\oct{20x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline8
+ &\oct{21x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{22x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline9
+ &\oct{23x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{24x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline A
+ &\oct{25x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{26x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline B
+ &\oct{27x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{30x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline C
+ &\oct{31x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{32x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline D
+ &\oct{33x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{34x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline E
+ &\oct{35x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline
+ &\oct{36x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\oddline F
+ &\oct{37x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&\evenline}
+
+\def\ftable#1#2{%
+ \batchmode
+ \font\X=#1%
+ \errorstopmode
+ \ifx\X\nullfont
+ \@warning{Font #1 not found, table omitted}
+ \else
+ \count@="80
+ \setbox0=\hbox{\X
+ \loop\char\count@\advance\count@ by1 \ifnum\count@<"100
+ \repeat}%
+ \ifdim\wd0>0pt \let\top\tophalf\else\let\top\notophalf\fi
+ \beginchart\X{\hfill\llap{\textbf{#1, \large#2}\label{fonttable:#1}}}\normalchart
+ \endchart\par\vfill
+ \fi}
+\makeatother
+
+
+\setcounter{tocdepth}{3}
+
+\title{\LaTeX{} font encodings}
+
+\author{Frank Mittelbach \and Robin
+ Fairbairns \and Werner Lemberg \and \LaTeX3 Project Team.}
+
+\date{\copyright~Copyright 1995--2016 \\[5pt] 18 February 2016}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+This document explains the ideas that underpin \LaTeX{} font
+encodings and the constraints that apply when defining a new encoding; it
+also lists the encodings that have already been defined.
+
+\subsection{Encodings in \TeX{}}
+
+\TeX{} (the program) implicitly recognises three sorts of encoding,
+and all are (in a sense) discussed in the \TeX{}book~\cite{A-W:DKn86}:
+\begin{itemize}
+\item[1.] The input encoding, which specifies the meanings of characters
+ in files presented to \TeX{} for processing. The \TeX{}book
+ suggests that `your version of \TeX{} will recognise the characters
+ you type on your keyboard' (\TeX{} the program has provision for
+ static translations of input characters).
+\end{itemize}
+Such direct use of \TeX{}'s facilities is not the way modern
+\LaTeX{} (or indeed any other \TeX{} macro package) is likely to deal
+with input encodings. This document does not address the topic of
+input encodings; the interested reader should examine the \LaTeX{}
+base package \Pkg{inputenc} \cite[sec.~7.5.2, p.~357]{A-W:MG2004}.
+\begin{itemize}
+\item[2.] The token stream that \TeX{} processes internally. This stream
+ of \TeX{}'s consciousness is discussed in great detail in the
+ \TeX{}book.
+\end{itemize}
+Again, this document does not address the topic. \LaTeX's internal
+character representation (\textsc{licr}) is well discussed in
+\cite[sec.~7.11.2, p.~442]{A-W:MG2004}.
+\begin{itemize}
+\item[3.] The font encoding---i.e., the mapping of character codes to
+ glyphs in the fonts that are used to typeset \TeX{}'s output.
+ Again, a set of font encodings is enumerated in the \TeX{}book, but
+ that set has proved inadequate to the needs of modern multilingual
+ use of \LaTeX.
+\end{itemize}
+This document explains \emph{why} Knuth's original set of encodings is
+inadequate to modern conditions, and discusses the issues that
+surround the design and definition of new font encodings.
+
+Font encodings are important for more than their r\^{o}le in mapping the
+glyphs of the fonts to be used for typesetting: their glyph tables are
+also the context in which \TeX{}'s hyphenation algorithm operates.
+There are constraints imposed by \TeX{} that affect the way in which
+new font encodings, for use in a multi-lingual environment, may be
+structured (see section~\ref{sec:restrictions} for details).
+
+\subsection{The history of \TeX{} font encodings}
+
+Little attention was paid to font encodings prior to the arrival of
+\TeX{}\,3. Up to that time, one used Donald Knuth's fonts (the
+Computer Modern family, using the encodings we now refer to as \Enc{OT1} and
+the \Enc{OM} series), or one was on one's own.
+
+The Computer Modern text encoding raises problems in unmodified
+\TeX{}, because hyphenation cannot break words containing
+\verb"\accent" commands. Even in those Western European languages for
+which the \Enc{OT1} encoding has symbols for the necessary
+\verb"\accent"-based diacritics, this shortcoming ruins typesetting of
+running text.
+
+With the advent of \TeX{}\,3, with its ability to switch between
+hyphenation pattern sets, it was clear that the situation could not
+continue. Thus a group at the TUG Annual General Meeting in Cork,
+Ireland, specified a uniform encoding for 256-glyph fonts, that
+contains accented letters and non-\textsc{ascii} letters necessary to
+express most Western European languages (and some Eastern European ones)
+without recourse to the \verb"\accent" command.
+
+This ``Cork'' encoding has since been realised in a series of fonts
+designed with Metafont, in at least one font series that is available
+both in Adobe Type 1 format and in OpenType format, % viz., Latin Modern
+and in a number of virtual-font mappings of other font series.
+
+Since the time of the Cork meeting, much effort has been devoted to
+the design of encodings for text fonts to use with \TeX{}, and the
+Cork encoding influenced the design of many such encodings.
+
+Encodings for mathematical fonts have, in contrast, changed little
+since Knuth's contributions. A TUG Technical Working Group was
+established at the Cork meeting, whose aim was to define a set of
+256-glyph encodings to regularise and extend Knuth's originals, using
+ideas from several other fonts that had appeared since, and from the
+known needs of researchers in mathematics and the mathematical sciences.
+
+Independently, a first proposal (the so-called \emph{Aston proposal}) was worked
+out by Justin Ziegler together with Frank Mittelbach and other members of the
+\LaTeX3 project team~\cite{ziegler}. A first implementation of
+this propsal was realized by Matthias Clasen und Ulrik
+Vieth~\cite{clasen,clasen-vieth}.
+
+However, the slow progress of these Mathematical encodings has been
+overtaken by the addition (in the last decade or so) of a large number
+of mathematical symbols to Unicode~\cite{beeton}; one can expect
+further changes so that new public mathematical font encodings will
+most likely be delayed still further.
+
+
+
+\subsection{Further information}
+
+For a general introduction to \LaTeX, including the new features of
+\LaTeXe, you should read \emph{\LaTeXbook},
+Leslie Lamport, Addison Wesley, 2nd~ed, 1994.
+
+A more detailed description of the new features of \LaTeX, including an
+overview of more than 200 packages and nearly 1000 ready to run examples, is
+to be found in \emph{\LaTeXcomp{} second edition} by Frank Mittelbach and
+Michel Goossens~\cite{A-W:MG2004}.
+
+The \LaTeX{} project sponsored a report on Mathematical % spelt out in full
+font encodings, which
+is worth reading for its insight into the problems of defining the way
+in which math is used: see~\cite{ziegler,clasen,clasen-vieth}.
+
+The \LaTeX{} font selection scheme is based on \TeX, which is described
+by its developer in \emph{The \TeX book}, Donald E.~Knuth, Addison
+Wesley, 1986, revised in 1991 to include the features of \TeX~3.
+
+For more information about \TeX{} and \LaTeX, please contact your local
+\TeX{} Users Group, or the international \TeX{} Users Group
+(\url{http://www.tug.org}).
+
+
+
+\section{Existing font encodings}
+
+This section lists the encodings currently assigned; for each
+encoding, we list the registered (\LaTeX{}) name, the assigned purpose
+of the encoding, and the author. Further details may list the code
+positions used in the encoding, the \emph{variable slots} (see below),
+an example font (for which a listing will be provided later in the
+document if the relevant fonts are present), and a source for further
+reference.
+
+While the characteristic feature of an encoding is that each font
+encoded according to the encoding should have the same glyph set,
+there are some encodings (notably \Enc{OT1} and its descendants) in
+which a few glyph code slots differ in their contents in different
+fonts.
+
+\subsection{Naming conventions}
+
+Names for encoding schemes are strings of up to three letters (all
+upper case) plus digits.
+
+The \LaTeX3 project reserves the use of encoding names starting with the
+following letters: |T| (standard 256-long text encodings), |TS|
+(symbols that are designed to extend a corresponding |T| encoding),
+|X| (text encodings that do not conform to the strict requirements for
+|T| encodings), |M| (standard 256-long mathematical encodings), |S| (other
+symbol encodings), |A| (other special applications), |OT| (standard
+128-long text encodings), and |OM| (standard 128-long mathematical encodings).
+
+Please do not use the above starting letters for non-portable
+encodings. If new standard encodings emerge then we shall add them in
+a later release of \LaTeX.
+
+Encoding schemes which are local to a site or a system should start
+with |L|, experimental encodings intended for wide distribution will
+start with |E|, whilst |U| is for Unknown or Unclassified encodings.
+
+\begin{quote}
+ \itshape We recommend that new encoding names should not be
+ introduced unless careful consideration and discussion in the user
+ community has confirmed the need for the encoding. If encodings have to
+ change from font to font, a number of problems arise, so it is best to
+ develop encodings that can be used with a large number of fonts in parallel.
+ This allows documents to be typeset using different fonts without problems.
+
+ The \Enc{TS1} encoding is a good example of a \emph{bad} encoding (even
+ though it was developed with the best intentions) as a huge number of fonts
+ can only implement parts of it. Similarly, the fact that the few sets of
+ available mathematical fonts (beside Computer Modern Math) nearly
+ all implement slightly different encodings is a huge source of
+ problems. Don't add to this if possible!
+\end{quote}
+
+
+\subsection{128$^+$ glyph encodings (text)}
+
+The `OT' series of font encodings start with Donald Knuth's original
+text encoding, that used for the text fonts in the earliest releases
+of \TeX{} itself. The `O' of the encoding designator may be taken as
+signifying `original', or just `old'.
+
+\begin{encodinginfo}{OT1}
+ {\TeX{} text}
+ {Donald Ervin Knuth}
+ {0x00--0x7F}
+ {0x0B--0x0F, 0x24, 0x3C, 0x3E, 0x5C, 0x7B--0x7D}
+% {0X--'177}
+% {'13--'17, '44, '74, '76, '134, '173--'175}
+ {cmr10}
+ {\cite[p.427]{A-W:DKn86}}
+
+ Donald Knuth designed his font encoding (and hence his fonts) in a
+ very different environment from that which now pervades the \TeX{}
+ world: his (mainframe) computer had very little memory, there was
+ little experience in (or demand for) for multilingual technical
+ typesetting, and as a result it was appropriate to sacrifice
+ uniformity for efficiency.
+
+ Thus Knuth's original fonts differ slightly in some encoded slots:
+ for example, the glyphs \texttt{\string<}, \texttt{\string>},
+ \verb=\=, \verb={=, and \verb=}= are only available in the
+ typewriter fonts and the \textdollar{} and \textsterling{} signs
+ share the same position (in different font shapes).
+
+ This means that direct selection of these slots can produce
+ unpredictable results, e.g., typing \texttt{\string<} or
+ \verb=\symbol{'74}= in a document can yield `\textquestiondown'.
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{OT2}
+ {UW cyrillic encoding}
+ {University of Washington}
+ {0x00--0x7F}
+ {---}
+ {wnr10}
+ {\cite{Beeton:TB6-3-124}}
+ Support for this encoding is available in the Cyrillic bundle although for
+ all practical purposes it is better to use one of the \Enc{T2} encodings.
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{OT3}
+ {UW IPA encoding}
+ {University of Washington}
+ {0x00--0x7f}
+ {---}
+ {wsuipa10}
+ {\cite[p.149]{CorkGW:91}}
+ The \Enc{OT3} encoding was never really used with \LaTeXe{}
+ following the introduction of the TIPA system which offers much
+ better support for IPA. In particular, no \File{ot3enc.def}
+ file was ever produced.
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{OT4}
+ {Polish text encoding}
+ {B.~Jackowski and M.~Ry\'cko} %% ? Marcin Woli\'nski
+ {0x00--0x7F, 0x81, 0x82, 0x86, 0x8A, 0x8B, 0x91, 0x99, 0x9B, 0xA1,
+ 0xA2, 0xA6, 0xAA, 0xAB, 0xAE, 0xAF, 0xB1, 0xB9, 0xBB, 0xD3, 0xF3,
+ 0xFF}
+ {0x0B--0x0F, 0x24, 0x3C, 0x3E, 0x5C, 0x7B--0x7D}
+ {plr10}
+ {---}
+
+ While Knuth included the means of typesetting the `lost L' (\L) in
+ his \Enc{OT1} encoding, he omitted the ogonek (\,\,\k{}), a diacritic
+ mark that is also needed in Polish text; hence the appearance, well
+ before the \Enc{T1} encoding, of fonts using this encoding.
+\end{encodinginfo}
+
+\begin{encodinginfo}{OT5}
+ {Not currently allocated}
+ {---}
+ {---}
+ {---}
+ {}
+ {---}
+
+\end{encodinginfo}
+
+
+
+\begin{encodinginfo}{OT6}
+ {Armenian text encoding}
+ {Serguei Dachian}
+ {0x03--0x0F, 0x13--0x7F}
+ {---}
+ {artmr10}
+ {---}
+
+ This encoding was allocated to permit use of Dachian's
+ Armenian fonts in a standard \LaTeX{} environment.
+
+ Because of license issues the \texttt{artmr} fonts are not necessarily
+ included in distributed \TeX{} installations (and for this reason the
+ corresponding encoding table is not shown below). However, the fonts
+ and the support macros can be found on the CTAN archives (look for
+ \texttt{armtex}).
+
+\end{encodinginfo}
+
+
+
+\subsection{256 glyph encodings (text)}
+
+\begin{encodinginfo}{T1}
+ {Cork encoding}
+ {Euro \TeX{} conference at Cork}
+ {0x00--0xFF}
+ {---}
+ {ecrm1000}
+ {\cite[p.514]{tub:MFe90}, \cite[p.99]{Knappen:TB17-2-96}}
+
+ The Cork encoding was developed so that advantage could be taken of
+ the (then) new facilities of \TeX{}\,3, allowing hyphenation of
+ most Western European (and some Eastern European) languages in an
+ unmodified version of \TeX{}.
+
+ The encoding was developed in the absence of any extant effort at
+ font design, but instances written in Metafont (the `EC' fonts), and
+ more recently Adobe Type 1 instances of the same fonts have become
+ available.
+
+ Substantial (but incomplete) instances have also been developed,
+ which use virtual fonts. These latter instances map either Knuth's
+ original (OT1-encoded) fonts, or commercial fonts that contain the
+ Adobe `standard' set of 224 glyphs.
+\end{encodinginfo}
+
+\begin{encodinginfo}
+ {T2A, T2B, T2C}
+ {Cyrillic encodings}
+ {The CyrTUG font team}
+ {0x00--0xFF}
+ {--- (within each encoding)}
+ {larm1000}
+ {\cite{Berdnikov:eurotex-98}}
+
+ There are too many glyphs in the full Cyrillic complement of
+ languages for all of them to be covered by a single
+ \LaTeX{}-compliant encoding (the lower half of each
+ \Enc{T2}~encoding is identical to that of \Enc{T1}, in order that
+ each should be a conforming \LaTeX{} encoding~--- see
+ section~\ref{sec:restrictions}). The approach taken is
+ therefore to develop a single encoding, \Enc{X2} (see \ref{sec:extendedenc})
+ which contains all the glyphs needed for the full set of
+ languages, and then to derive the three \LaTeX{}-complaint
+ \Enc{T2}-family encodings using the \Enc{X2} set together with that of
+ \Enc{T1}.
+
+\end{encodinginfo}
+
+
+
+\begin{encodinginfo}{T3}
+ {IPA encoding}
+ {FUKUI Rei, University of Tokyo}
+ {0x00--0xFF}
+ {---}
+ {tipa10}
+ {\cite[p.102]{Rei:TB17-2-102}}
+
+
+ The \Enc{T3} encoding (and associated macros) provides the glyphs required
+ in phonetic description according to current International Phonetic
+ Association recommendations \cite{ipa}.
+
+ The \Enc{T3} encoding does \emph{not fulfil} the requirements for \Enc{T}
+ encodings---the name is a historical accident. The correct name would be
+ \Enc{X3}, but due to the fact that this font family has been used under its
+ current encoding name for a long time, the name will not change for
+ compatibility reasons.
+
+\end{encodinginfo}
+
+
+
+\begin{encodinginfo}{T4}
+ {African Latin (fc)} % public name
+ {J\"org Knappen} % author name
+ {0x00--0xFF} % range(s) of slots used for glyphs
+ {0x24} % range(s) of slots with variable glyphs if any
+ {fcr10} % name of an example font
+ {\cite{tub:JKn93}}
+
+The African Latin fonts contain in their lower half (0--127) the same
+characters as the European Latin (T1-encoded) Fonts, while in their
+upper half (128--255) they
+contain letters and symbols for African languages that use extended
+Latin alphabets.
+Due to lack of space, J\"org had to play the unfortunate trick of
+assigning \verb=\textdollar= and \verb=\textsterling=
+the same position; users should take these characters
+from the text companion font, if they are needed. Instead of defining
+a lot of new control sequences for the single letters, there are three
+accent-like control sequences with general purpose:
+\verb=\m= (Modified-1),
+\verb=\M= (Modified-2) and
+\verb=\B= (Barred).
+Most standard \LaTeX{} encoding-dependent commands
+work. However, the Icelandic special letters are not available and `best
+replacements' for \verb=\Th=, \verb=\th=, and \verb=\dh=
+are used (barred T and d resp.).
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{T5}
+ {Vietnamese encoding}
+ {Werner Lemberg and
+ Vladimir Volovich}
+ {0x00--0xFF}
+ {---}
+ {vnr10}
+ {\cite{vnr}}
+
+ The \Enc{T5} encoding was developed for Vietnamese. Again, this encoding
+ \emph{does not} conform to the requirements for a \Enc{T}-encoding
+ because its large number of accented letters prevent the \verb=\lccode= and
+ \verb=\uccode= mapping requirements for \Enc{T} encodings from being
+ fulfilled. However, since the Vietnamese language does not
+ use word division in typesetting so that this requirement is
+ actually not important for this particular language.
+ Since every glyph used in Vietnamese text is internally
+ represented as \textsc{licr} macros, the commands \verb=\MakeUppercase= and
+ \verb=\MakeLowercase= still work as expected (as they change the case of the
+ \textsc{ascii} characters in \textsc{licr} definitions).
+
+\end{encodinginfo}
+
+\begin{encodinginfo}
+ {T6}
+ {Armenian}
+ {---}
+ {---}
+ {---}
+ {}
+ {---}
+
+ This encoding is reserved to permit future expansion of Armenian
+ \TeX{} to use 256-character (hyphenatable) fonts.
+\end{encodinginfo}
+
+\begin{encodinginfo}{T7}
+ {Greek encoding}
+ {---}
+ {---}
+ {---}
+ {}
+ {---}
+
+The name is already reserved for a 256 glyph greek encoding. The encoding
+itself hasn't been defined so far.
+
+\end{encodinginfo}
+
+
+
+\subsection{256$^-$ glyph encodings (text symbols)}
+
+\begin{encodinginfo}{TS1}
+ {Text Companion encoding (Cork)}
+ {J\"org Knappen}
+ {0x00--0x0D, 0x12, 0x15, 0x16, 0x18--0x1D, 0x20, 0x24, 0x27, 0x2A,
+ 0x2C--0x3A, 0x3C--0x3E, 0x4D, 0x4F, 0x57, 0x5B, 0x5D--0x60,
+ 0x62--0x64, 0x6C--0x6E, 0x7E--0xBF, 0xD6, 0xF6}
+ {---}
+ {tcrm1000}
+ {\cite{Knappen:TB17-2-96}}
+
+ The text symbol encoding offers access to symbolic glyphs that are
+ commonly used in text (for a variety of reasons), and whose style
+ should vary with the text that surrounds them.
+
+ Unfortunately, the \Enc{TS1} encoding was developed without
+ reference to the glyphs available in existing commercial fonts.
+ As a result, only font families
+ explicitly developed for \TeX{} (i.e., typically originating with
+ \MF{}) actually contain all glyphs required by the \Enc{TS1}
+ encoding. Most other font families (whether free or commercial)
+ often only provide half of the set%
+%%
+%% don't show the comment if the tables are not generated
+%%
+\expandafter\ifx\csname r@fonttable:tcrm1000\endcsname\relax
+\else
+ \expandafter\ifx\csname r@fonttable:ptmr8c\endcsname\relax
+ \else
+ \space (compare the two tables for \Enc{TS1} on
+ pages~\pageref{fonttable:tcrm1000}
+ and~\pageref{fonttable:ptmr8c})%
+ \fi
+\fi.
+ To improve this situation somewhat, NFSS provides a way to define encoding
+ subsets on a per family basis in the \Pkg{textcomp} package (which
+ package offers support for the \Enc{TS1} encoding).
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{TS3}
+ {IPA symbol encoding}
+ {FUKUI Rei, University of Tokyo}
+ {0x00--0x0A, 0x20--0x49, 0x50--0x56, 0x70--0x7B}
+ {---}
+ {tipx10}
+ {\cite{Rei:TB17-2-102}}
+
+ The \Enc{TS3} encoding (together with the \Enc{T3} encoding) provides the
+ glyphs for typesetting phonetic transcriptions following the
+ guidelines of the International Phonetic Association \cite{ipa}. Support
+ is offered through the \Pkg{tipa} package.
+\end{encodinginfo}
+
+
+
+
+\subsection{256 glyph encodings (text extended)}
+\label{sec:extendedenc}
+
+\begin{encodinginfo}
+ {X2}
+ {Cyrillic glyph container}
+ {The CyrTUG font team}
+ {0x00--0xFF}
+ {---}
+ {rxrm1000}
+ {\cite{Berdnikov:eurotex-98}}
+
+ This encoding specifies the glyph container for Cyrillic characters,
+ which is used in specifying the \Enc{T2A}, \Enc{T2B} and \Enc{T2C} encodings.
+\end{encodinginfo}
+
+
+
+
+\subsection{128$^+$ glyph encodings (mathematics)}
+
+
+\begin{encodinginfo}{OML}
+ {\TeX{} math italic}
+ {Donald Ervin Knuth}
+ {0x00--0x7F}
+ {---}
+ {cmmi10}
+ {\cite[p.430]{A-W:DKn86}}
+
+ The \Enc{OML} encoding contains italic Latin and Greek letters for
+ use in mathematical formulas (typically used for variables) together
+ with some symbols.
+
+\end{encodinginfo}
+
+\begin{encodinginfo}{OMS}
+ {\TeX{} math symbol}
+ {Donald Ervin Knuth}
+ {0x00--0x7F}
+ {---}
+ {cmsy10}
+ {\cite[p.431]{A-W:DKn86}}
+
+ The \Enc{OMS} encoding contains basic mathematical symbols,
+ together with an uppercase ``calligraphic'' Latin alphabet.
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{OMX}
+ {\TeX{} math extension}
+ {Donald Ervin Knuth}
+ {0x00--0x7F}
+ {---}
+ {cmex10}
+ {\cite[p.432]{A-W:DKn86}}
+
+ \Enc{OMS} encodes mathematical symbols with variable sizes, such as
+ the $\sum$ sign, which changes its size if used in displayed
+ formulas, and the construction parts for
+ brackets, braces and radicals, etc., which can stretch to accommodate
+ the thing they're enclosing.
+
+\end{encodinginfo}
+
+
+
+
+\subsection{256 glyph encodings (mathematics)}
+
+So far there are no 256 glyph mathematical encodings. A proposal is
+given in \cite{ziegler}.
+
+
+\subsection{Other encodings}
+
+\begin{encodinginfo}
+ {C..}
+ {CJK encodings}
+ {Werner Lemberg}
+ {0x00--0xFF}
+ {---}
+ {} % no font, of course
+ {\cite{CJK}}
+
+ The \Pkg{CJK} package defines a number of encodings which access Chinese,
+ Japanese and Korean fonts.
+
+\end{encodinginfo}
+
+\begin{encodinginfo}
+ {E..}
+ {Experimental encodings}
+ {---}
+ {0x00--0xFF}
+ {all}
+ {}
+ {\cite[p.416]{A-W:MG2004}}
+
+ As the name indicates, encodings starting with the letter \Enc{E} are
+ intended for experimental encodings, that are still likely to change.
+\end{encodinginfo}
+
+\begin{encodinginfo}{L..}
+ {Local encoding (site dependent)}
+ {---}
+ {0x00--0xFF}
+ {all}
+ {}
+ {\cite[p.416]{A-W:MG2004}}
+
+ `Local' encodings provide the means to develop representation
+ techniques that are suited to a particular \TeX{} environment. While
+ the developer has freedom to specify their encoding as he or she
+ pleases, there is a strong incentive to obey the \LaTeX{} rules for
+ encodings, since it will otherwise be difficult to compose text using
+ the encoding.
+
+ At least it was the intention that \Enc{L..} encodings are local and
+ site dependent. However, a number of such encodings became generally
+ used without ever getting a different name allocated.
+
+\end{encodinginfo}
+
+
+
+\begin{encodinginfo}{LY1}
+ {Y\&Y 256 glyph encoding}
+ {Berthold Horn}
+ {0x00--0x08, 0x0C, 0x10, 0x12--0xFF}
+ {\emph{believed none}}
+ {ptmr8y}
+ {\cite[p.416]{A-W:MG2004}}
+
+ This is an alternative to the \Enc{T1} encoding developed by Y\&Y and
+ used in their commercial \TeX{} implementation.
+
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{LV1}
+ {MicroPress encoding}
+ {Michael Vulis}
+ {\emph{unknown}}
+ {\emph{unknown}}
+ {}
+ {\cite[p.416]{A-W:MG2004}}
+
+ This is an encoding developed by MicroPress and used for some of their
+ fonts.
+
+\end{encodinginfo}
+
+
+\begin{encodinginfo}{LGR}
+ {Greek 256 glyph encoding}
+ {\emph{unknown}}
+ {0x00--0xFF}
+ {\emph{believed none}}
+ {grmn1000}
+ {\cite[p.575]{A-W:MG2004}}
+
+ Currently the main encoding in use for the Greek language.
+
+ This encoding doesn't conform to the restrictions for
+ \Enc{T}-encodings described in section~\ref{sec:restrictions} on
+ page~\pageref{sec:restrictions} as it doesn't have \textsc{ascii}
+ glyphs at all.
+
+\end{encodinginfo}
+
+
+\begin{encodinginfo}
+ {PD1}
+ {PDF DocEncoding}
+ {Adobe}
+ {0x08--0x0A, 0x0C, 0x0D, 0x18--0x7E, 0x80--0x9E, 0xA0--0xAE, 0xB0--0xFF}
+ {---}
+ {}
+ {\cite{Adobe:PDF-1.6}, \cite{hyperref}}
+
+ The \Enc{PD1} encoding is a virtual encoding with 256 glyphs needed to
+ produce bookmarks and similar text in PDF document generated with pdf\LaTeX.
+ The encoding is ``virtual'' because by design there are no \TeX{}
+ fonts that cover \Enc{PD1}. Details can be found in appendix D.1
+ of~\cite{Adobe:PDF-1.6}.
+\end{encodinginfo}
+
+\begin{encodinginfo}
+ {PU}
+ {PDF Unicode Encoding}
+ {Adobe}
+ {---}
+ {---}
+ {}
+ {\cite{Adobe:PDF-1.6}, \cite{hyperref}}
+
+ Another virtual encoding (with more than 600 characters) for
+ Unicode-encoded bookmarks in PDF documents.
+\end{encodinginfo}
+
+\begin{encodinginfo}{U}
+ {Unknown encoding}
+ {---}
+ {potentially 0x00-0xFF}
+ {all}
+ {wasy10}
+ {\cite[p.416]{A-W:MG2004}}
+
+ This encoding should be used for fonts that resist classification,
+ e.g., when it is clear that there will never be more than one font
+ using the same encoding.
+
+\end{encodinginfo}
+
+
+
+\section{Restrictions}
+\label{sec:restrictions}
+
+
+\subsection{Required glyphs for general text encodings}
+
+Encodings that are supposed to be used with \LaTeX{} for `general
+purpose text fonts' need to have certain fixed glyphs in certain
+encoding slots. A `general purpose text font' is one intended for
+arbitrary natural language text and not just within special
+environments (such as the phonetic alphabet) or just for typesetting
+individual symbols (e.g., the text companion font with encoding
+\Enc{TS1}).
+
+This is the case for the following glyphs that have to be in their
+\textsc{ascii} positions for general purpose text encodings:
+\begin{center}
+\begin{tabular}[t]{cc}
+ Glyph & Position \\ \hline
+ ! & \number`\! \\
+ ' & \number`\' \\
+ ( & \number`\( \\
+ ) & \number`\) \\
+ \relax* & \number`\* \\
+ + & \number`\+ \\
+ , & \number`\, \\
+ - & \number`\- \\
+ . & \number`\. \\
+ / & \number`\/ \\
+ 0 \ldots\ 9 & \number`\0\ to \number`\9 \\
+ \end{tabular}
+ \quad
+ \begin{tabular}[t]{cc}
+ Glyph & Position \\ \hline
+ : & \number`\: \\
+ ; & \number`\; \\
+ = & \number`\= \\
+ ? & \number`\? \\
+ @ & \number`\@ \\
+ A \ldots\ Z & \number`\A\ to \number`\Z \\
+ \relax[ & \number`\[ \\
+ ] & \number`\] \\
+ ` & \number`\` \\
+ a \ldots\ z & \number`\a\ to \number`\z \\
+\end{tabular}
+\quad
+\begin{tabular}[t]{cc}
+Glyph\footnotemark & Position \\ \hline
+< & \number`\< \\
+> & \number`\> \\
+\string| & \number`\| \\
+\end{tabular}\footnotetext{The requirement for these three glyphs is
+ violated in the Latin alphabet \Enc{OT} encodings.}
+\end{center}
+In addition the following glyphs have to be present
+somewhere\footnote{The position in this case is not important as they
+are generated from ligature programs.} in the encoding together with
+corresponding ligature programs to generate them:
+\begin{center}
+\begin{tabular}[t]{cc}
+Glyph & Ligature program \\ \hline
+ `` & \texttt{`\/`} \\
+ '' & \texttt{'\/'} \\
+ -- & \texttt{-\/-} \\
+ --- & \texttt{-\/-\/-} \\
+\end{tabular}
+\end{center}
+
+This is $33 + 2 * 26 = 85$ positions ``required'', which leaves 171
+positions free.
+
+If there are free slots available then adding all or some of the
+diacritics would be the best way to fill them.
+
+If there are insufficient slots for the characters needed, a possible
+technique is to create a subsidiary encoding, and to move non-letter
+characters to it. Since only ``letters'' take part in the hyphenation
+algorithm, this technique doesn't affect the appearance of the typeset
+result.
+
+\subsection{The constraints on upper/lower case tables}
+
+Due to some technical restrictions of \TeX{} related to hyphenation it
+is not possible in \LaTeX{} to use more than one \verb=\lccode= or
+\verb=\uccode= table. Therefore all encodings need to share these two
+tables which are defined to be those of the \Enc{T1} encoding.
+
+The \Enc{T1} encoding has some nasty peculiarities which make certain slot
+positions more or less unusable for other encodings if this
+restriction is to be obeyed. This is unfortunate but since \Enc{T1} is well
+established and the basis for a large number of languages it seemed
+better to live with this situation instead of trying to replace \Enc{T1} with a
+slightly better standard (with the result that for a long time
+different \LaTeX{} installations would not be able to communicate with
+each other because of incompatible font sets).
+
+The positions that are problematic are as follows.
+\begin{center}
+\begin{tabular}{lp{.8\linewidth}}
+25 (\char 25) & uppercase maps strangely (same as for 105, \char 105)\\
+26 (\char 26) & uppercase maps strangely (same as for 106, \char 106)\\
+27 (\char 27) & lowercase maps to itself which makes this slot subject
+ to hyphenation (used to support \Enc{OT1} encoding) \\
+157 (\char 157) & lowercase maps strangely (same as for 73, \char 73) \\
+158 (\char 158) & uppercase maps strangely (same as for 240, \char 240) \\
+\end{tabular}
+\end{center}
+One way to use such slots is to fill them with ligature glyphs as
+\TeX{} will not consult these tables for glyphs constructed through
+ligatures programs but instead uses the entries for the individual
+glyphs used to produce the ligature.
+
+A complete listing of the uppercase/lowercase mapping tables is to be
+found in section~\ref{sec:uclc-tab} (page \pageref{sec:uclc-tab}).
+
+\newcount\temp \newcount\tempL \newcount\tempU
+
+\def\nextstep{\global\tempL=\lccode\temp
+ \global\tempU=\uccode\temp
+ \lctablenumbersize\the\temp &
+ \the\tempL&
+ \the\tempU&\printlowerupper{\the\temp}{\the\tempL}{\the\tempU}\\
+ \global\advance\temp by 1
+ \stepprint}
+
+\def\printlowerupper#1#2#3{\char#1\relax
+ (\ifnum#2=0\relax--\else\char#2\fi
+ /\ifnum#3=0\relax--\else\char#3\fi)}
+
+\def\stepprint{\relax\ifnum\temp<\endval
+ \let\next=\nextstep
+ \else
+ \let\next=\relax
+ \fi
+ \next}
+
+\def\dolctable#1#2{{\temp=#1\relax
+\def\endval{#2}%
+\setlength\tabcolsep{1.5pt}%
+\begin{tabular}[t]{@{}cccc@{}}
+pos&lc&uc&glyphs\\\hline
+\stepprint
+\end{tabular}}}
+
+\iffalse
+\begin{center}
+\tiny\let\lctablenumbersize\tiny
+\mbox{\dolctable{0}{52}\vrule
+\dolctable{52}{104}\vrule
+\dolctable{104}{156}\vrule
+\dolctable{156}{208}\vrule
+\dolctable{208}{256}}
+\end{center}
+\fi
+
+\iffalse
+\begin{center}\tiny
+\mbox{\dolctable{0}{65}\vrule
+\dolctable{65}{128}\vrule
+\dolctable{128}{193}\vrule
+\dolctable{193}{256}}
+\end{center}
+\fi
+
+
+
+\section{Encoding specific commands}
+
+An encoding specific command is one that generates a glyph (or
+glyphs), to produce a graphic effect that may be implemented
+differently in different encodings. The encoding specific command
+automatically changes its implementation when the encoding changes in
+the course of the document. Encoding specific commands figure in
+\LaTeX's internal character representation (\textsc{licr}) and are also
+discussed in \cite[sec.~7.11.2, p.~442]{A-W:MG2004}.
+
+The following table only covers the encoding specific commands from
+the \Enc{OT1} and \Enc{T1} encodings. Other encodings may specify
+additional encoding specific commands. In the table, the first 15
+commands are `accent-like' and need as an argument the character to be
+accented. For example, |\v{c}| is the \textsc{licr} for `\v{c}'.
+
+\begin{tabbing}
+\ttverb\textvisiblespace\quad\=bbbbbbbbbbbbbb\=b'b'\=ccccccccccc\kill
+\ttverb\`{} \>OT1,T1\> \a`{}\> (grave) \\
+\ttverb\'{} \>OT1,T1\> \a'{}\> (acute) \\
+\ttverb\^{} \>OT1,T1\> \^{}\> (circumflex) \\
+\ttverb\~{} \>OT1,T1\> \~{}\> (tilde) \\
+\ttverb\"{} \>OT1,T1\> \"{}\> (umlaut) \\
+\ttverb\H{} \>OT1,T1\> \H{}\> (Hungarian umlaut) \\
+\ttverb\r{} \>OT1,T1\> \r{}\> (ring) \\
+\ttverb\v{} \>OT1,T1\> \v{}\> (ha\v{c}ek) \\
+\ttverb\u{} \>OT1,T1\> \u{}\> (breve) \\
+\ttverb\t{} \>OT1,T1\> \t{}\> (tie) \\
+\ttverb\={} \>OT1,T1\> \a={}\> (macron) \\
+\ttverb\.{} \>OT1,T1\> \.{}\> (dot) \\
+\ttverb\b{} \>OT1,T1\> \b{}\> (underbar) \\
+\ttverb\c{} \>OT1,T1\> \c{}\> (cedilla) \\
+\ttverb\d{} \>OT1,T1\> \d{}\> (dot under) \\
+\ttverb\k{} \>T1 \> \k{}\> (ogonek) \\
+% \ttverb\AA \>OT1,T1\> \AA \> \\ % no longer
+\ttverb\AE \>OT1,T1\> \AE \> \\
+\ttverb\DH \>T1 \> \DH \> \\
+\ttverb\DJ \>T1 \> \DJ \> \\
+\ttverb\L \>OT1,T1\> \L \> \\
+\ttverb\NG \>T1 \> \NG \> \\
+\ttverb\OE \>OT1,T1\> \OE \> \\
+\ttverb\O \>OT1,T1\> \O \> \\
+\ttverb\SS \>OT1,T1\> \SS \> \\
+\ttverb\TH \>T1 \> \TH \> \\
+% \ttverb\aa \>OT1,T1\> \aa \> \\ no-longer
+\ttverb\ae \>OT1,T1\> \ae \> \\
+\ttverb\dh \>T1 \> \dh \> \\
+\ttverb\dj \>T1 \> \dj \> \\
+\ttverb\guillemotleft \>T1 \> \guillemotleft \> (guillemet) \\
+\ttverb\guillemotright \>T1 \> \guillemotright \> (guillemet) \\
+\ttverb\guilsinglleft \>T1 \> \guilsinglleft \> (guillemet) \\
+\ttverb\guilsinglright \>T1 \> \guilsinglright \> (guillemet) \\
+\ttverb\i \>OT1,T1\> \i \> \\
+\ttverb\j \>OT1,T1\> \j \> \\
+\ttverb\l \>OT1,T1\> \l \> \\
+\ttverb\ng \>T1 \> \ng \> \\
+\ttverb\oe \>OT1,T1\> \oe \> \\
+\ttverb\o \>OT1,T1\> \o \> \\
+\ttverb\quotedblbase \>T1 \> \quotedblbase \> \\
+\ttverb\quotesinglbase \>T1 \> \quotesinglbase \> \\
+\ttverb\ss \>OT1,T1\> \ss \> \\
+\ttverb\textasciicircum \>OT1,T1\> \textasciicircum \> \\
+\ttverb\textasciitilde \>OT1,T1\> \textasciitilde \> \\
+\ttverb\textbackslash \>OT1,T1\> \textbackslash \> \\
+\ttverb\textbar \>OT1,T1\> \textbar \> \\
+\ttverb\textbraceleft \>OT1,T1\> \textbraceleft \> \\
+\ttverb\textbraceright \>OT1,T1\> \textbraceright \> \\
+\ttverb\textcompwordmark \>OT1,T1\> \textcompwordmark\> (invisible) \\
+\ttverb\textdollar \>OT1,T1\> \textdollar \> \\
+\ttverb\textemdash \>OT1,T1\> \textemdash \> \\
+\ttverb\textendash \>OT1,T1\> \textendash \> \\
+\ttverb\textexclamdown \>OT1,T1\> \textexclamdown \> \\
+\ttverb\textgreater \>OT1,T1\> \textgreater \> \\
+\ttverb\textless \>OT1,T1\> \textless \> \\
+\ttverb\textquestiondown \>OT1,T1\> \textquestiondown\> \\
+\ttverb\textquotedbl \>T1 \> \textquotedbl \> \\
+\ttverb\textquotedblleft \>OT1,T1\> \textquotedblleft\> \\
+\ttverb\textquotedblright \>OT1,T1\> \textquotedblright\> \\
+\ttverb\textquoteleft \>OT1,T1\> \textquoteleft \> \\
+\ttverb\textquoteright \>OT1,T1\> \textquoteright \> \\
+\ttverb\textregistered \>OT1,T1\> \textregistered \> \\
+\ttverb\textsection \>OT1,T1\> \textsection \> \\
+\ttverb\textsterling \>OT1,T1\> \textsterling \> \\
+\ttverb\texttrademark \>OT1,T1\> \texttrademark \> \\
+\ttverb\textunderscore \>OT1,T1\> \textunderscore \> \\
+\ttverb\textvisiblespace \>OT1,T1\> \textvisiblespace\> \\
+\ttverb\th \>T1 \> \th \>
+\end{tabbing}
+
+\section{Encodings for Unicode based \TeX\ systems}
+\label{sec:unicode}
+
+The preceding text has assumed a classic TeX system that is
+restricted to the use of fonts with at most 256 characters. In order
+to accommodate all the characters needed for different languages and
+mathematics it is necessary to have multiple encodings as described
+above, and \LaTeX\ needs to be aware of the encoding used for each
+font.
+
+Unicode aims to provide a single encoding that removes most of the
+need to switch encodings, apart from very specialist use for non-standard characters. Rather than assign codes in the range 0--256 (hex
+FF) Unicode codes are in the range 0--1,114,111 (hex 10FFFF), although
+not all slots are available for distinct characters for technical
+reasons. Unicode offers the possibility to use a single input encoding
+(usually UTF-8) for all documents and to use essentially the same
+Unicode encoding for all fonts, so removing the need to switch
+encodings in different contexts.
+
+Omega was perhaps the first widely used \TeX\ extension that
+supported Unicode. Currently the two actively supported systems that are
+present in most modern \TeX\ distributions are Xe\TeX\ and Lua\TeX.
+
+When used with these extended \TeX\ engines, \LaTeX's font system can
+refer to Unicode fonts (typically OpenType fonts installed system-wide
+on your operating system rather than fonts specifically encoded/installed for
+\TeX). Currently the usual method of accessing these fonts is through
+the contributed \Pkg{fontspec} package. This uses as encoding \Enc{TU}:
+``\TeX{} Unicode'' (historically two experimental encodings \Enc{EU1}
+and \Enc{EU2}
+were used, depending on the engine, but these are deprecated).
+The exact rules for \LaTeX\ encodings
+for Unicode engines have not yet been finalised in terms of the (usual)
+requirement that each slot should be defined. (This is not realistic for
+a Unicode font, as almost all fonts address subsets of the full range.)
+It is rare to need to specify the \Enc{TU} encoding a document as the
+\Pkg{fontspec} package sets up the correct encoding when loaded.
+
+The restrictions described in section \ref{sec:restrictions} do not
+apply, or need to be modified in a Unicode based engine. Clearly the
+lowercase table (and hyphenation patterns) can not be restricted to
+the values used for \Enc{T1} and do only refer to the first 256
+characters.
+
+When the \LaTeX\ format is made \LaTeX\ sets up the lowercase table
+and classifies characters as letter- or non-letter-based on \Enc{T1} if
+a classic \TeX\ or pdf\TeX\ is being used. If a Unicode based \TeX\ is
+detected, the values are instead based on the classification and
+lower-case mappings provided by the Unicode Character Database
+\cite{ucd}. The \LaTeX{} team have written a generic loader bundle,
+\Pkg{unicode-data}, which provides the mechanism to load this information
+directly from the Unicode Character Database data files and which is read
+when a Unicode-compliant engine is detected during format-building.
+
+Similarly in the default configuration files used by modern \TeX\
+distribution, the hyphenation files for each supported language are
+written in UTF-8 encoding, using Unicode code points for all letters,
+then if a classic \TeX\ system is detected, some additional macros are
+loaded to convert these files to 256-character encodings where
+possible, and assuming the \Enc{T1} lowercase table. For Unicode engines
+no conversion takes place. (The hyphenation patterns for a small number of
+languages require that some punctuation characters have non-zero
+c values. This are set during pattern reading, and may at some
+stage in the future use the e-\TeX{} \verb=\savinghyphcodes= mechanism to
+avoid any need to manipulate \verb=\lccode= in the document.)
+
+
+
+
+\begin{thebibliography}{99}
+\addcontentsline{toc}{section}{\numberline{\relax}\refname}
+
+
+\bibitem{Adobe:PDF-1.6} \emph{\textsc{PDF} reference}:
+ Adobe portable document format version~1.6. Adobe Systems
+ Incorporated, 2005. % why \textsuperscript{3}?
+ \url{http://partners.adobe.com/public/developer/en/pdf/PDFReference16.pdf}.
+
+\bibitem{Beeton:TB6-3-124} Barbara Beeton:
+ \emph{Mathematical symbols and cyrillic fonts ready for
+ distribution}. In: TUGBoat, 6\#3), 1985.
+ \url{http://tug.org/TUGboat/Articles/tb06-3/tb13beetcyr.pdf}.
+
+\bibitem{beeton} Barbara Beeton: \emph{Unicode
+ and math, a combination whose time has come -- Finally!}. In:
+ TUGBoat, 21\#3, 2000.
+ \url{http://www.tug.org/TUGboat/Articles/tb21-3/tb68beet.pdf}.
+
+
+\bibitem{Berdnikov:eurotex-98} A.\@ Berdnikov, O.\@
+ Lapko, M.\@ Kolodin, A.\@ Janishevsky and
+ A.\@ Burykin: \emph{The Encoding Paradigm in
+ \LaTeXe{} and the Projected X2 Encoding for Cyrillic Texts}.
+ Euro\TeX~98.
+ \url{http://www.gutenberg.eu.org/pub/GUTenberg/publicationsPDF/28-29-berdnikova.pdf}.
+
+\bibitem{CJK} \emph{The \Pkg{CJK} package}:
+ \url{http://cjk.ffii.org}.
+
+\bibitem{clasen} Matthias Clasen: \emph{A new
+ implementation of \LaTeX{} math}, 1997-98.
+ \url{http://www.tug.org/twg/mfg/papers/current/newmath.ps.gz}.
+
+\bibitem{clasen-vieth} Matthias Clasen and Ulrik
+ Vieth: \emph{Towards a new Math Font Encoding
+ for (La)\TeX}. March 1998,
+ \url{http://www.tug.org/twg/mfg/papers/current/mfg-euro-all.ps.gz}.
+
+\bibitem{CorkGW:91}
+Dean Guenther and Janene Winter.
+\newblock An international phonetic alphabet.
+\newblock In Guenther \cite{proc:MGu91}, pages 149--156.
+\newblock Published as {TUG}boat 12\#1.
+
+\bibitem{proc:MGu91}
+Mary Guenther, editor.
+\newblock {\em {\TeX} 90 Conference Proceedings}, March 1991.
+\newblock Published as {TUG}boat 12\#1.
+
+\bibitem{tub:MFe90}
+Michael~J. Ferguson.
+\newblock Report on multilingual activities.
+\newblock {\em {TUG}boat}, 11(4):514--516, 1990.
+
+\bibitem{fontinst} \emph{The \Pkg{fontinst} package}:
+ \textlangle CTAN\textrangle\url{/fonts/utilities/fontinst}.
+
+\bibitem{Rei:TB17-2-102} Fukui Rei:
+ \emph{\textsl{TIPA}: A system for processing phonetic
+ symbols in \LaTeX}. In: TUGBoat, 17\#, 1996.
+ \url{http://www.tug.org/TUGboat/Articles/tb17-2/tb51rei.pdf}.
+
+\bibitem{hyperref} \emph{The \Pkg{hyperref} package}:
+ \url{http://www.tug.org/applications/hyperref}.
+
+\bibitem{tub:JKn93}
+J\"org Knappen.
+\newblock Fonts for Africa: The fc Fonts.
+\newblock {\em {TUG}boat}, 14(2):104, 1993.
+
+\bibitem{Knappen:TB17-2-96} J\"org Knappen:
+ \emph{The \Pkg{dc} fonts~1.3: Move towards stability
+ and completeness}. In: TUGBoat 17\#2, 1996.
+ \url{http://www.tug.org/TUGboat/Articles/tb17-2/tb51knap.pdf}.
+
+\bibitem{A-W:DKn86}
+Donald~E. Knuth.
+\newblock {\em The {\TeX}book}.
+\newblock Volume~A of {\em Computers \& {T}ypesetting\/},
+ May 1989.
+\newblock Eight printing.
+
+\bibitem{vnr} \emph{The \Pkg{vnr} font family}, developed by
+ the author of pdf\TeX, {H\`an Th\^e\protect\llap{\raise 0.5ex\hbox{\'{\relax}}} Th\`anh}.
+ \url{http://vntex.org/download/vntex}.
+
+ \bibitem{ipa} Home page of the International Phonetic Association.
+ \url{http://www.arts.gla.ac.uk/IPA/ipa.html}
+
+\bibitem{A-W:LLa94}
+Leslie Lamport.
+\newblock {\em {\LaTeX:} A Document Preparation System}.
+\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
+
+\bibitem{LH-Fonts} \emph{The \Pkg{lh}-Fonts for Cyrillic}:
+ \textlangle CTAN\textrangle\url{/fonts/cyrillic/lh}.
+
+\bibitem{A-W:MG2004}
+Frank Mittelbach and Michel Goossens.
+\newblock {\em The {\LaTeX} Companion second edition}.
+\newblock With Johannes Braams, David Carlisle, and Chris Rowley.
+\newblock Addison-Wesley, Reading, Massachusetts, 2004.
+
+\bibitem{Unicode} \emph{The Unicode Standard}.
+ \url{http://unicode.org}.
+
+\bibitem{ucd} \emph{The Unicode Character Database}.
+ \url{http://unicode.org/ucd}.
+
+\bibitem{ziegler} Justin Ziegler, \emph{Technical
+ Report on Math Font Encodings}, June 1994,
+ \url{http://www.tug.org/twg/mfg/papers/ltx3pub/l3d007.ps.gz}.
+
+\end{thebibliography}
+
+\clearpage\appendix
+\begin{center}
+ \Large\bfseries Appendices
+\end{center}
+
+\section{Example code tables}
+
+This appendix contains a table of each font mentioned as an ``example''
+font above, providing that the font was available when the document
+was processed with \LaTeX{}. (\LaTeX{} generates a warning message
+for each font it fails to find.)
+
+\subsection{Text encodings}
+
+\ftable{cmr10}{OT1}
+
+\ftable{wnr10}{OT2}
+
+\ftable{wsuipa10}{OT3}
+
+\ftable{plr10}{OT4}
+
+%\ftable{artmr10}{OT6}
+
+\ftable{ecrm1000}{T1}
+
+\ftable{larm1000}{T2A}
+
+\ftable{lbrm1000}{T2B}
+
+\ftable{lcrm1000}{T2C}
+
+\ftable{tipa10}{T3}
+
+\ftable{fcr10}{T4}
+
+\ftable{vnr10}{T5}
+
+
+\subsection{Text symbol encodings}
+
+The full table for \Enc{TS1} as provided by European Computer Modern family:
+\ftable{tcrm1000}{TS1}
+
+\pagebreak
+
+In contrast typical PostScript fonts usually have incomplete implementations
+of \Enc{TS1} sometimes missing more than half of the glyphs:
+
+\ftable{ptmr8c}{TS1}
+
+\ftable{tipx10}{TS3}
+
+
+
+\subsection{Extended text encodings}
+
+\ftable{rxrm1000}{X2}
+
+
+\subsection{Mathematical encodings}
+
+\ftable{cmmi10}{OML}
+
+\ftable{cmsy10}{OMS}
+
+\ftable{cmex10}{OMX}
+
+
+\subsection{Other encodings}
+
+\ftable{ptmr8y}{LY1}
+
+%%\ftable{????}{LV1}
+
+\ftable{grmn1000}{LGR}
+
+\ftable{wasy10}{U}
+\ftable{logo10}{U}
+
+\clearpage
+\section{Uppercase and lowercase tables}
+\label{sec:uclc-tab}
+
+The following two sets of tables list the \verb"\uppercase" and
+\verb"\lowercase" values for each position in the \LaTeX{} standard
+256-character tables.
+
+Each row of each table lists:
+\begin{quote}
+ \begin{tabular}{lp{0.7\textwidth}}
+ pos & The position in the table (0-255) \\
+ lc & The value in the \verb"\lowercase" table at the position \\
+ & (note that value 0 here means that \verb"\lowercase" is
+ ineffective for this character, and hyphenation does not apply
+ to it) \\
+ uc & The value in the \verb"\uppercase" table at the position \\
+ & (note that value 0 here means that \verb"\uppercase" is
+ ineffective for this character) \\
+ glyphs & The glyphs specified for the T1 encoding for this
+ position, laid out as \meta{glyph}\textbf{(}\meta{lowercase
+ glyph}\textbf{/}\meta{uppercase glyph}\textbf{)}
+ \end{tabular}
+\end{quote}
+
+\begin{center}
+ \let\lctablenumbersize\footnotesize
+ \makebox[\textwidth]{\hss
+ \dolctable{0}{32}\quad\dolctable{32}{64}\quad
+ \dolctable{64}{96}\quad\dolctable{96}{128}%
+ \hss}
+
+ \makebox[\textwidth]{\hss
+ \dolctable{128}{160}\quad\dolctable{160}{192}\quad
+ \dolctable{192}{224}\quad\dolctable{224}{256}%
+ \hss}
+\end{center}
+\end{document}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/base/exscale.dtx b/macros/latex/base/exscale.dtx
index 49e53ca5f8..575a89ce68 100644
--- a/macros/latex/base/exscale.dtx
+++ b/macros/latex/base/exscale.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/exscale.ins b/macros/latex/base/exscale.ins
index 4e4a36996d..cc8d8d9ae9 100644
--- a/macros/latex/base/exscale.ins
+++ b/macros/latex/base/exscale.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/exscale.pdf b/macros/latex/base/exscale.pdf
index 27cf9e3775..f9a7789fc0 100644
--- a/macros/latex/base/exscale.pdf
+++ b/macros/latex/base/exscale.pdf
Binary files differ
diff --git a/macros/latex/base/fix-cm.dtx b/macros/latex/base/fix-cm.dtx
index b4311efa3c..7f770cf8c0 100644
--- a/macros/latex/base/fix-cm.dtx
+++ b/macros/latex/base/fix-cm.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/fix-cm.ins b/macros/latex/base/fix-cm.ins
index 56a7923a13..eb4547d576 100644
--- a/macros/latex/base/fix-cm.ins
+++ b/macros/latex/base/fix-cm.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/fix-cm.pdf b/macros/latex/base/fix-cm.pdf
index 6e928410ea..fc0cb78ba7 100644
--- a/macros/latex/base/fix-cm.pdf
+++ b/macros/latex/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex/base/fntguide.pdf b/macros/latex/base/fntguide.pdf
new file mode 100644
index 0000000000..a8a45dd8d9
--- /dev/null
+++ b/macros/latex/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex/base/fntguide.tex b/macros/latex/base/fntguide.tex
new file mode 100644
index 0000000000..f3231a8183
--- /dev/null
+++ b/macros/latex/base/fntguide.tex
@@ -0,0 +1,1905 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+%
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: fntguide.tex
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1995/11/28]
+
+\title{\LaTeXe{} font selection}
+
+\author{\copyright~Copyright 1995--2019, \LaTeX3 Project Team.\\
+ All rights reserved.}
+
+\date{July 2019}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+This document describes the new font selection features of the \LaTeX{}
+Document Preparation System. It is intended for package writers who
+want to write font-loading packages similar to |times| or |latexsym|.
+
+This document is only a brief introduction to the new facilities and
+is intended for package writers who are familiar with \TeX{} fonts and
+\LaTeX{} packages. It is \emph{neither} a user-guide \emph{nor} a
+reference manual for fonts in \LaTeXe.
+
+\subsection{\LaTeXe~fonts}
+
+The most important difference between \LaTeX~2.09 and \LaTeXe{} is the
+way that fonts are selected. In \LaTeX~2.09, the Computer Modern fonts
+were built into the \LaTeX~format, and so customizing \LaTeX{} to use
+other fonts was a major effort.
+
+In \LaTeXe, very few fonts are built into the format, and there are
+commands to load new text and math fonts. Packages such as |times| or
+|latexsym| allow authors to access these fonts.
+This document describes how to write similar font-loading packages.
+
+The \LaTeXe{} font selection system was first released as the `New Font
+Selection Scheme' (NFSS) in 1989, and then in release~2 in 1993.
+\LaTeXe{} includes NFSS release~2 as standard.
+
+\subsection{Overview}
+
+This document contains an overview of the new font commands
+of \LaTeX.
+
+\begin{description}
+
+\item[Section~\ref{Sec:text}] describes the commands for selecting fonts
+ in classes and packages. It lists the five \LaTeX{} font
+ attributes, and lists the commands for selecting fonts. It also
+ describes how to customize the author commands such as |\textrm| and
+ |\textit| to suit your document design.
+
+\item[Section~\ref{Sec:math}] explains the commands for controlling
+ \LaTeX{} math fonts. It describes how to specify new math fonts and
+ new math symbols.
+
+\item[Section~\ref{Sec:install}] explains how to install new fonts into
+ \LaTeX. It shows how \LaTeX{} font attributes are turned into \TeX{}
+ font names, and how to specify your own fonts using font definition
+ files.
+
+\item[Section~\ref{Sec:encode}] discusses text font encodings.
+ It describes how to declare a new encoding and how to define
+ commands, such as |\AE| or |\"|, which have different definitions in
+ different encodings, depending on whether ligatures, etc.\ are
+ available in the encoding.
+
+\item[Section~\ref{Sec:misc}] covers font miscellanea. It describes how
+ \LaTeX{} performs font substitution, how to customize fonts that are
+ preloaded in the \LaTeX{} format, and the naming conventions used in
+ \LaTeX{} font selection.
+
+\end{description}
+
+\subsection{Further information}
+
+For a general introduction to \LaTeX, including the new features of
+\LaTeXe, you should read \emph{\LaTeXbook},
+Leslie Lamport, Addison Wesley, 2nd~ed, 1994.
+
+A more detailed description of the \LaTeX{} font selection scheme is to
+be found in \emph{\LaTeXcomp}, 2nd~ed, by Mittelbach and Goossens, Addison
+Wesley, 2004.
+
+The \LaTeX{} font selection scheme is based on \TeX, which is described
+by its developer in \emph{The \TeX book}, Donald E.~Knuth, Addison
+Wesley, 1986, revised in 1991 to include the features of \TeX~3.
+
+Sebastian Rahtz's |psnfss| software contains the software for using a
+large number of Type~1 fonts (including the Adobe Laser Writer 35 and
+the Monotype CD-ROM fonts) in \LaTeX. It should be available from the
+same source as your copy of \LaTeX.
+
+The |psnfss| software uses fonts generated by Alan Jeffrey's
+|fontinst| software. This can convert fonts from Adobe Font Metric
+format into a format readable by \LaTeX, including the generation of
+the font definition files described in Section~\ref{Sec:install}. The
+|fontinst| software should be available from the same source as your
+copy of \LaTeX.
+
+Whenever practical, \LaTeX{} uses the font naming scheme called
+`fontname'; this was described in \emph{Filenames for fonts},%
+\footnote{An up-to-date electronic version
+of this document can be found on any CTAN server, in the directory
+\texttt{info/fontname}.}
+\emph{TUGboat}~11(4),~1990.
+
+The class-writer's guide \emph{\clsguide} describes
+the new \LaTeX{} features for writers of document classes and packages
+and is kept in |clsguide.tex|. Configuring
+\LaTeX{} is covered by the guide \emph{\cfgguide} in
+\texttt{cfgguide.tex} whilst the philosophy behind our policy on
+modifying \LaTeX{} is described in \emph{\modguide} in
+\texttt{modguide.tex}.
+
+The documented source code (from the files used to produce
+the kernel format via |latex.ltx|) is now available as
+\emph{The \LaTeXe\ Sources}.
+This very large document also includes an index of \LaTeX{}
+commands. It can be typeset from the \LaTeX{} file |source2e.tex|
+in the |base| directory; this uses the class file |ltxdoc.cls|.
+
+For more information about \TeX{} and \LaTeX{}, please contact your
+local \TeX{} Users Group, or the international \TeX{} Users Group.
+Addresses and other details can be found at:
+\begin{quote}\small\label{addrs}
+ \texttt{http://www.tug.org/lugs.html}
+\end{quote}
+
+
+\section{Text fonts}
+\label{Sec:text}
+
+This section describes the commands available to class and package
+writers for specifying and selecting fonts.
+
+\subsection{Text font attributes}
+
+Every text font in \LaTeX{} has five \emph{attributes}:
+\begin{description}
+
+\item[encoding] This specifies the order that characters appear in the
+ font. The two most common text encodings used in \LaTeX{} are
+ Knuth's `\TeX{} text' encoding, and the `\TeX{} text extended'
+ encoding developed by the \TeX{} Users Group members during a \TeX{}
+ Conference at Cork in~1990 (hence its informal name `Cork encoding').
+
+\item[family] The name for a collection of fonts, usually grouped under
+ a common name by the font foundry. For example, `Adobe Times', `ITC
+ Garamond', and Knuth's `Computer Modern Roman' are all font families.
+
+\item[series] How heavy and/or expanded a font is. For example, `medium
+ weight', `narrow' and `bold extended' are all series.
+
+\item[shape] The form of the letters within a font family. For
+ example, `italic', `oblique' and `upright' (sometimes called
+ `roman') are all font shapes.
+
+\item[size] The design size of the font, for example `10pt'. If no
+ dimension is specified, `pt' is assumed.
+
+\end{description}
+The possible values for these attributes are given short acronyms by
+\LaTeX. The most common values for the font encoding are:
+\begin{center}
+\begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |OT1| & \TeX{} text \\
+ |T1| & \TeX{} extended text \\
+ |OML| & \TeX{} math italic \\
+ |OMS| & \TeX{} math symbols \\
+ |OMX| & \TeX{} math large symbols \\
+ |U| & Unknown \\
+ |L<xx>| & A local encoding
+ \end{tabular}
+\end{minipage}
+\end{center}
+The `local' encodings are intended for font encodings which are only
+locally available, for example a font containing an organization's
+logo in various sizes.
+
+There are far too many font families to list them all, but some common
+ones are:
+\begin{center}
+\begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |cmr| & Computer Modern Roman \\
+ |cmss| & Computer Modern Sans \\
+ |cmtt| & Computer Modern Typewriter \\
+ |cmm| & Computer Modern Math Italic \\
+ |cmsy| & Computer Modern Math Symbols \\
+ |cmex| & Computer Modern Math Extensions \\
+ |ptm| & Adobe Times \\
+ |phv| & Adobe Helvetica \\
+ |pcr| & Adobe Courier
+ \end{tabular}
+\end{minipage}
+\end{center}
+\NEWdescription{2019/07/10}
+The font series is denoting a combination of the weight (boldness) and
+the width (amount of expansion). The standard supported for weights
+and widths are:
+\begin{center}
+%\begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |ul| & Ultra Light \\
+ |el| & Extra Light \\
+ |l| & Light \\
+ |sl| & Semi Light \\
+ |m| & Medium (normal)\\
+ |sb| & Semi Bold \\
+ |b| & Bold \\
+ |eb| & Extra Bold \\
+ |ub| & Ultra Bold \\
+ \end{tabular}
+\qquad
+ \begin{tabular}{rlr}
+ |uc| & Ultra Condensed & 50\% \\
+ |ec| & Extra Condensed & 62.5\% \\
+ |c| & Condensed & 75\% \\
+ |sc| & Semi Condensed & 87.5\% \\
+ |m| & Medium & 100\% \\
+ |sx| & Semi Expanded & 112.5\% \\
+ |x| & Expanded & 125\% \\
+ |ex| & Extra Expanded & 150\% \\
+ |ux| & Ultra Expanded & 200\% \\
+ \end{tabular}
+\end{center}
+These are concatenated to a single series value except that |m| is
+dropped unless both weight and width are medium in which case a single
+|m| is used.
+
+Examples for series values are then:
+\begin{center}
+\begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |m| & Medium weight and width \\
+ |b| & Bold weight, medium width \\
+ |bx| & Bold extended \\
+ |sb| & Semi-bold, medium width\\
+ |sbx| & Semi-bold extended\\
+ |c| & Medium weight, condensed width
+ \end{tabular}
+\end{minipage}
+\end{center}
+\NEWdescription{2019/07/10}
+Note, that there are a large variety of names floating around like
+``regular'', ``black'', ``demi-bold'', ``thin'', ``heavy'' and many
+more. If at all possible they should be matched into the standard
+naming scheme to allow for sensible default substitutions if
+necessary, e.g., ``demi-bold'' is normally just another name for
+``semi-bold'', so should get |sb| assigned, etc.
+
+The most common values for the font shape are:
+\begin{center}
+\begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |n| & Normal (that is `upright' or `roman') \\
+ |it| & Italic \\
+ |sl| & Slanted (or `oblique') \\
+ |sc| & Caps and small caps
+ \end{tabular}
+\end{minipage}
+\end{center}
+The font size is specified as a dimension, for example |10pt| or
+|1.5in| or |3mm|; if no unit is specified, |pt| is assumed. These five
+parameters specify every \LaTeX{} font, for example:
+\begin{center}
+ \begin{tabular}{@{}r@{\,}l@{\,}c@{\,}c@{\,}cc@{}r@{}}
+ \multicolumn{5}{@{}c}{\emph{\LaTeX{} specification}} &
+ \emph{Font} &
+ \emph{\TeX{} font name} \\
+ |OT1| & |cmr| & |m| & |n| & |10| &
+ Computer Modern Roman 10 point &
+ |cmr10| \\
+ |OT1| & |cmss| & |m| & |sl| & |1pc| &
+ Computer Modern Sans Oblique 1 pica &
+ |cmssi12| \\
+ |OML| & |cmm| & |m| & |it| & |10pt| &
+ Computer Modern Math Italic 10 point &
+ |cmmi10| \\
+ |T1| & |ptm| & |b| & |it| & |1in| &
+ Adobe Times Bold Italic 1 inch &
+ |ptmb8t at 1in|
+ \end{tabular}
+\end{center}
+These five parameters are displayed whenever \LaTeX{} gives an overfull
+box warning, for example:
+\begin{verbatim}
+ Overfull \hbox (3.80855pt too wide) in paragraph at lines 314--318
+ []\OT1/cmr/m/n/10 Normally [] and [] will be iden-ti-cal,
+\end{verbatim}
+The author commands for fonts set the five attributes:
+\begin{center}
+ \begin{tabular}{rcl}
+ \emph{Author command} &
+ \emph{Attribute} &
+ \emph{Value in} |article| \emph{class} \\
+ |\textnormal{..}| or |\normalfont| & family & |cmr| \\
+ |\textrm{..}| or |\rmfamily| & family & |cmr| \\
+ |\textsf{..}| or |\sffamily| & family & |cmss| \\
+ |\texttt{..}| or |\ttfamily| & family & |cmtt| \\
+ |\textmd{..}| or |\mdseries| & series & |m| \\
+ |\textbf{..}| or |\bfseries| & series & |bx| \\
+ |\textup{..}| or |\upshape| & shape & |n| \\
+ |\textit{..}| or |\itshape| & shape & |it| \\
+ |\textsl{..}| or |\slshape| & shape & |sl| \\
+ |\textsc{..}| or |\scshape| & shape & |sc| \\
+ |\tiny| & size & |5pt| \\
+ |\scriptsize| & size & |7pt| \\
+ |\footnotesize| & size & |8pt| \\
+ |\small| & size & |9pt| \\
+ |\normalsize| & size & |10pt| \\
+ |\large| & size & |12pt| \\
+ |\Large| & size & |14.4pt| \\
+ |\LARGE| & size & |17.28pt| \\
+ |\huge| & size & |20.74pt| \\
+ |\Huge| & size & |24.88pt|
+ \end{tabular}
+\end{center}
+The values used by these commands are determined by the document class,
+using the parameters defined in Section~\ref{Sec:text.param}.
+
+Note that there are no author commands for selecting new encodings.
+These should be provided by packages, such as the |fontenc| package.
+
+This section does not explain how \LaTeX{} font specifications are
+turned into \TeX{} font names. This is described in
+Section~\ref{Sec:install}.
+
+\subsection{Selection commands}
+
+The low-level commands used to select a text font are as follows.
+
+\begin{decl}
+|\fontencoding| \arg{encoding} \\
+|\fontfamily| \arg{family}\\
+|\fontseries| \arg{series}\\
+|\fontshape| \arg{shape}\\
+|\fontsize| \arg{size} \arg{baselineskip}\\
+|\linespread| \arg{factor}
+\end{decl}
+
+\NEWdescription{1998/12/01}
+Each of the commands starting with |\font...| sets one of the font
+attributes; |\fontsize| also sets |\baselineskip|. The |\linespread|
+command prepares to multiply the current (or newly defined)
+|\baselineskip| with \m{factor} (e.g., spreads the lines apart for
+values greater one).
+
+The actual font in use is not altered by these commands, but the
+current attributes are used to determine which font and baseline skip
+to use after the next |\selectfont| command.
+
+
+\begin{decl}
+|\selectfont|
+\end{decl}
+Selects a text font, based on the current values of the font attributes.
+
+\emph{Warning}: There \emph{must} be a |\selectfont| command
+immediately after any settings of the font parameters by (some of)
+the six commands above, before any following text.
+For example, it is legal to say:
+\begin{verbatim}
+ \fontfamily{ptm}\fontseries{b}\selectfont Some text.
+\end{verbatim}
+but it is \emph{not} legal to say:
+\begin{verbatim}
+ \fontfamily{ptm} Some \fontseries{b}\selectfont text.
+\end{verbatim}
+You may get unexpected results if you put text between a
+|\font<parameter>| command (or |\linespread|) and a |\selectfont|.
+
+\begin{decl}
+|\usefont| \arg{encoding} \arg{family} \arg{series} \arg{shape}
+\end{decl}
+A short hand for the equivalent |\font...| commands followed by a
+call to |\selectfont|.
+
+
+\subsection{Internals}
+
+The current values of the font attributes are held in internal macros.
+
+\begin{decl}
+ |\f@encoding| \\
+ |\f@family| \\
+ |\f@series| \\
+ |\f@shape| \\
+ |\f@size| \\
+ |\f@baselineskip| \\
+ |\tf@size| \\
+ |\sf@size| \\
+ |\ssf@size|
+\end{decl}
+
+These hold the current values of the encoding, the family, the series,
+the shape, the size, the baseline skip, the main math size, the
+`script' math size and the `scriptscript' math size. The last three
+are accessible only within a formula; outside of math they may contain
+arbitrary values.
+
+For example, to set the size to 12 without
+changing the baseline skip:
+\begin{verbatim}
+ \fontsize{12}{\f@baselineskip}
+\end{verbatim}
+However, you should \emph{never} alter the values of the internal
+commands directly; they must only be modified using the low-level
+commands like |\fontfamily|, |\fontseries|, etc. If you disobey this
+warning you might produce code that loops.
+
+\subsection{Parameters for author commands}
+\label{Sec:text.param}
+
+The parameter values set by author commands such as |\textrm| and
+|\rmfamily|, etc.\ are not hard-wired into \LaTeX; instead these
+commands use the values of a number of parameters set by the document
+class and packages. For example, |\rmdefault| is the name of the
+default family selected by |\textrm| and |\rmfamily|. Thus to set a
+document in Adobe Times, Helvetica and Courier, the document designer
+specifies:
+\begin{verbatim}
+ \renewcommand{\rmdefault}{ptm}
+ \renewcommand{\sfdefault}{phv}
+ \renewcommand{\ttdefault}{pcr}
+\end{verbatim}
+
+\begin{decl}
+ |\encodingdefault| \\
+ |\familydefault| \\
+ |\seriesdefault| \\
+ |\shapedefault|
+\end{decl}
+The encoding, family, series and shape of the main body font. By
+default these are |OT1|, |\rmdefault|, |m| and |n|. Note that since
+the default family is |\rmdefault|, this means that changing
+|\rmdefault| will change the main body font of the document.
+
+\begin{decl}
+ |\rmdefault| \\
+ |\sfdefault| \\
+ |\ttdefault|
+\end{decl}
+The families selected by |\textrm|, |\rmfamily|, |\textsf|,
+|\sffamily|, |\texttt| and |\ttfamily|. By default these are |cmr|,
+|cmss| and |cmtt|.
+
+\begin{decl}
+ |\bfdefault| \\
+ |\mddefault|
+\end{decl}
+The series selected by |\textbf|, |\bfseries|, |\textmd| and
+|\mdseries|. By default these are |bx| and |m|.
+These values are suitable for the default families used. If other
+fonts are used as standard document fonts (for example, certain
+PostScript fonts) it might be necessary to adjust the value of
+|\bfdefault| to |b| since only a few such families have a `bold
+extended' series. An alternative (taken for the fonts provided by
+|psnfss|) is to define silent substitutions from |bx| series to |b|
+series with special |\DeclareFontShape| declarations and the |ssub|
+size function, see Section~\ref{sec:sizefunct}.
+
+
+\begin{decl}
+ |\itdefault| \\
+ |\sldefault| \\
+ |\scdefault| \\
+ |\updefault|
+\end{decl}
+The shapes selected by |\textit|, |\itshape|, |\textsl|, |\slshape|,
+|\textsc|, |\scshape|, |\textup| and |\upshape|. By default these are
+|it|, |sl|, |sc| and |n|.
+
+Note that there are no parameters for the size commands. These should
+be defined directly in class files, for example:
+\begin{verbatim}
+ \renewcommand{\normalsize}{\fontsize{10}{12}\selectfont}
+\end{verbatim}
+More elaborate examples (setting additional parameters when the text
+size is changed) can be found in |classes.dtx| the source
+documentation for the classes |article|, |report|, and |book|.
+
+
+\subsection{Special font declaration commands}
+
+\begin{decl}
+|\DeclareFixedFont| \arg{cmd} \arg{encoding} \arg{family} \arg{series}
+ \arg{shape} \arg{size}
+\end{decl}
+
+Declares command \m{cmd} to be a font switch which selects the font
+that is specified by the attributes \m{encoding}, \m{family},
+\m{series}, \m{shape}, and \m{size}.
+
+The font is selected without any adjustments to baselineskip and other
+surrounding conditions.
+
+This example makes |{\picturechar .}| select a small dot very quickly:
+\begin{verbatim}
+ \DeclareFixedFont{\picturechar}{OT1}{cmr}{m}{n}{5}
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareTextFontCommand| \arg{cmd} \arg{font-switches}
+\end{decl}
+
+Declares command \m{cmd} to be a font command with one argument.
+The current font attributes are locally modified by \m{font-switches}
+and then the argument of \m{cmd} is typeset in the resulting new font.
+
+Commands defined by |\DeclareTextFontCommand| automatically take care
+of any necessary italic correction (on either side).
+
+The following example shows how |\textrm| is defined by the kernel.
+\begin{verbatim}
+ \DeclareTextFontCommand{\textrm}{\rmfamily}
+\end{verbatim}
+
+To define a command that always typeset its argument in the italic
+shape of the main document font you could declare:
+\begin{verbatim}
+ \DeclareTextFontCommand{\normalit}{\normalfont\itshape}
+\end{verbatim}
+
+This declaration can be used to change the meaning of a command; if
+\m{cmd} is already defined, a log that it has been redefined
+is put in the transcript file.
+
+\begin{decl}
+|\DeclareOldFontCommand| \arg{cmd} \arg{text-switch}
+ \arg{math-switch}
+\end{decl}
+
+Declares command \m{cmd} to be a font switch (i.e.~used with the
+syntax |{<cmd>...}|) having the definition \m{text-switch}
+when used in text and the definition \m{math-switch} when used in a
+formula.
+Math alphabet commands, like |\mathit|, when used within \m{math-switch}
+should not have an argument. Their use in this argument causes their
+semantics to change so that they here act as a font switch, as
+required by the usage of the \m{cmd}.
+
+This declaration is useful for setting up commands like |\rm| to behave
+as they did in \LaTeX~2.09. We strongly urge you \emph{not} to misuse
+this declaration to invent new font commands.
+
+The following example defines |\it| to produce the italic shape of the
+main document font if used in text and to switch to the font that would
+normally be produced by the math alphabet |\mathit| if used in a
+formula.
+\begin{verbatim}
+ \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\end{verbatim}
+
+This declaration can be used to change the meaning of a command; if
+\m{cmd} is already defined, a log that it has been redefined
+is put in the transcript file.
+
+
+\section{Math fonts}
+\label{Sec:math}
+
+This section describes the commands available to class and package
+writers for specifying math fonts and math commands.
+
+\subsection{Math font attributes}
+
+The selection of fonts within math mode is quite different to that of
+text fonts.
+
+Some math fonts are selected explicitly by one-argument commands such
+as |\mathsf{max}| or |\mathbf{vec}|; such fonts are called \emph{math
+alphabets}. These math alphabet commands affect only the font used
+for letters and symbols of type |\mathalpha| (see
+Section~\ref{Sec:math.commands}); other symbols within the argument
+will be left unchanged. The predefined math alphabets are:
+\begin{center}
+ \begin{tabular}{ccc}
+ \emph{Alphabet} & \emph{Description} & \emph{Example} \\
+ |\mathnormal| & default & $abcXYZ$ \\
+ |\mathrm| & roman & $\mathrm{abcXYZ}$ \\
+ |\mathbf| & bold roman & $\mathbf{abcXYZ}$ \\
+ |\mathsf| & sans serif & $\mathsf{abcXYZ}$ \\
+ |\mathit| & text italic & $\mathit{abcXYZ}$ \\
+ |\mathtt| & typewriter & $\mathtt{abcXYZ}$ \\
+ |\mathcal| & calligraphic & $\mathcal{XYZ}$
+ \end{tabular}
+\end{center}
+Other math fonts are selected implicitly by \TeX{} for symbols, with
+commands such as |\oplus| (producing $\oplus$) or with straight
+characters like |>>| or |+|. Fonts containing such math symbols are
+called \emph{math symbol fonts}. The predefined math symbol fonts
+are:
+\begin{center}
+ \begin{tabular}{ccc}
+ \emph{Symbol font} & \emph{Description} & \emph{Example} \\
+ |operators| & symbols from |\mathrm| & $[\;+\;]$ \\
+ |letters| & symbols from |\mathnormal| & $<<\star>>$ \\
+ |symbols| & most \LaTeX{} symbols & $\leq*\geq$ \\
+ |largesymbols| & large symbols & $\sum\prod\int$
+ \end{tabular}
+\end{center}
+Some math fonts are both \emph{math alphabets} and \emph{math symbol
+fonts}, for example |\mathrm| and |operators| are the same font, and
+|\mathnormal| and |letters| are the same font.
+
+Math fonts in \LaTeX{} have the same five attributes as text fonts:
+encoding, family, series, shape and size. However, there are no
+commands that allow the attributes to be individually changed.
+Instead, the conversion from math fonts to these five attributes is
+controlled by the \emph{math version}. For example, the |normal| math
+version maps:
+\begin{center}
+ \begin{tabular}{rlc@{ }c@{ }c@{ }c}
+ \multicolumn{2}{c}{\emph{Math font}} &
+ \multicolumn{4}{c}{\emph{External font}} \\
+ \emph{Alphabets} & \emph{Symbol fonts} &
+ \multicolumn{4}{c}{\emph{Attributes}} \\
+ |\mathnormal| & |letters| & |OML| & |cmm| & |m| & |it| \\
+ |\mathrm| & |operators| & |OT1| & |cmr| & |m| & |n| \\
+ |\mathcal| & |symbols| & |OMS| & |cmsy| & |m| & |n| \\
+ & |largesymbols| & |OMX| & |cmex| & |m| & |n| \\
+ |\mathbf| & & |OT1| & |cmr| & |bx| & |n| \\
+ |\mathsf| & & |OT1| & |cmss| & |m| & |n| \\
+ |\mathit| & & |OT1| & |cmr| & |m| & |it| \\
+ |\mathtt| & & |OT1| & |cmtt| & |m| & |n|
+ \end{tabular}
+\end{center}
+The |bold| math version is similar except that it contains bold fonts.
+The command |\boldmath| selects the |bold| math version.
+
+Math versions can only be changed outside of math mode.
+
+The two predefined math versions are:
+\begin{center}
+ \begin{tabular}{rl}
+ |normal| & the default math version \\
+ |bold| & the bold math version
+ \end{tabular}
+\end{center}
+Packages may define new math alphabets, math symbol fonts, and math
+versions. This section describes the commands for writing such
+packages.
+
+\subsection{Selection commands}
+
+There are no commands for selecting symbol fonts. Instead, these are
+selected indirectly through symbol commands like |\oplus|.
+Section~\ref{Sec:math.commands} explains how to define symbol commands.
+
+\begin{decl}
+ |\mathnormal{<math>}|\\
+ |\mathcal{<math>}|\\
+ |\mathrm{<math>}|\\
+ |\mathbf{<math>}|\\
+ |\mathsf{<math>}|\\
+ |\mathit{<math>}|\\
+ |\mathtt{<math>}|
+\end{decl}
+Each math alphabet is a command which can only be used inside math
+mode. For example, |$x + \mathsf{y} + \mathcal{Z}$| produces $x +
+\mathsf{y} + \mathcal{Z}$.
+
+\begin{decl}
+|\mathversion{<version>}|
+\end{decl}
+This command selects a math version; it can only be used outside math
+mode. For example, |\boldmath| is defined to be |\mathversion{bold}|.
+
+\subsection{Declaring math versions}
+
+\begin{decl}
+|\DeclareMathVersion| \arg{version}
+\end{decl}
+
+Defines \m{version} to be a math version.
+
+The newly declared version is initialized with the defaults for all
+symbol fonts and math alphabets declared so far (see the commands
+|\DeclareSymbolFont| and |\DeclareMathAlphabet|).
+
+If used on an already existing version, an information message is
+written to the transcript file and all previous |\SetSymbolFont| or
+|\SetMathAlphabet| declarations for this version are overwritten by
+the math alphabet and symbol font defaults, i.e.~one ends up with a
+virgin math version.
+
+Example:
+\begin{verbatim}
+ \DeclareMathVersion{normal}
+\end{verbatim}
+
+
+\subsection{Declaring math alphabets}
+
+\begin{decl}
+|\DeclareMathAlphabet| \arg{math-alph} \arg{encoding} \arg{family}
+ \arg{series} \arg{shape}
+\end{decl}
+
+\NEWdescription{1997/12/01}
+If this is the first declaration for \m{math-alph} then a new math
+alphabet with this as its command name is created.
+
+The arguments \m{encoding} \m{family} \m{series} \m{shape} are used to
+set, or reset, the default values for this math alphabet in all math
+versions; if required, these must be further reset later for a
+particular math version by a |\SetMathAlphabet| command.
+
+If \m{shape} is empty then this \m{math-alph} is declared to be invalid
+in all versions, unless it is set by a later |\SetMathAlphabet|
+command for a particular math version.
+
+Checks that the command \m{math-alph} is either already a math
+alphabet command or is undefined; and that \m{encoding} is a known
+encoding scheme, i.e., has been previously declared.
+
+
+In these examples, |\foo| is defined for all math versions but |\baz|,
+by default, is defined nowhere.
+\begin{verbatim}
+ \DeclareMathAlphabet{\foo}{OT1}{cmtt}{m}{n}
+ \DeclareMathAlphabet{\baz}{OT1}{}{}{}
+\end{verbatim}
+
+
+\begin{decl}
+|\SetMathAlphabet| \arg{math-alph} \arg{version}\\
+ \null\hfill\arg{encoding} \arg{family} \arg{series} \arg{shape}
+\end{decl}
+
+Changes, or sets, the font for the math alphabet \m{math-alph} in math
+version \m{version} to \m{encoding}\m{family}\m{series}\m{shape}.
+
+Checks that \m{math-alph} has been declared as a math alphabet,
+\m{version} is a known math version and \m{encoding} is a known
+encoding scheme.
+
+
+This example defines |\baz| for the `normal' math version only:
+\begin{verbatim}
+ \SetMathAlphabet{\baz}{normal}{OT1}{cmss}{m}{n}
+\end{verbatim}
+
+Note that this declaration is not used for all math alphabets:
+Section~\ref{sec:symalph} describes |\DeclareSymbolFontAlphabet|,
+which is used to set up math alphabets contained in fonts which have
+been declared as symbol fonts.
+
+
+\subsection{Declaring symbol fonts}
+\label{sec:symalph}
+
+\begin{decl}
+|\DeclareSymbolFont| \arg{sym-font} \arg{encoding} \arg{family}
+ \arg{series} \arg{shape}
+\end{decl}
+
+\NEWdescription{1997/12/01}
+If this is the first declaration for \m{sym-font} then a new
+symbol font with this name is created (i.e.~this identifier is assigned
+to a new \TeX{} math group).
+
+The arguments \m{encoding} \m{family} \m{series} \m{shape} are used to
+set, or reset. the default values for this symbol font in \emph{all}
+math versions; if required, these must be further reset later for
+a particular math version by a |\SetSymbolFont| command.
+
+Checks that \m{encoding} is a declared encoding scheme.
+
+
+For example, the following sets up the first four standard math symbol
+fonts:
+\begin{verbatim}
+ \DeclareSymbolFont{operators}{OT1}{cmr}{m}{n}
+ \DeclareSymbolFont{letters}{OML}{cmm}{m}{it}
+ \DeclareSymbolFont{symbols}{OMS}{cmsy}{m}{n}
+ \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
+\end{verbatim}
+
+
+\begin{decl}
+|\SetSymbolFont| \arg{sym-font} \arg{version}\\
+ \null\hfill \arg{encoding} \arg{family} \arg{series} \arg{shape}
+\end{decl}
+
+Changes the symbol font \m{sym-font} for math version \m{version}
+to \m{encoding} \m{family} \m{series} \m{shape}.
+
+Checks that \m{sym-font} has been declared as a symbol font,
+\m{version} is a known math version and \m{encoding} is a
+declared encoding scheme.
+
+
+For example, the following come from the set up of the `bold'
+math version:
+\begin{verbatim}
+ \SetSymbolFont{operators}{bold}{OT1}{cmr}{bx}{n}
+ \SetSymbolFont{letters}{bold}{OML}{cmm}{b}{it}
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareSymbolFontAlphabet| \arg{math-alph} \arg{sym-font}
+\end{decl}
+
+\NEWdescription{1997/12/01}
+Allows the previously declared symbol font \m{sym-font} to be the
+math alphabet with command \m{math-alph} in \emph{all} math versions.
+
+Checks that the command \m{math-alph} is either already a math alphabet
+command or is undefined; and that \m{sym-font} is a symbol font.
+
+
+Example:
+\begin{verbatim}
+ \DeclareSymbolFontAlphabet{\mathrm}{operators}
+ \DeclareSymbolFontAlphabet{\mathcal}{symbols}
+\end{verbatim}
+
+This declaration should be used in preference to
+|\DeclareMathAlphabet| and |\SetMathAlphabet| when a math alphabet is
+the same as a symbol font; this is because it makes better use of the
+limited number (only 16) of \TeX's math groups.
+
+\NEWdescription{1997/12/01}
+Note that, whereas a \TeX{} math group is allocated to each symbol font
+when it is first declared, a math alphabet uses a \TeX{} math group
+only when its command is used within a math formula.
+
+
+\subsection{Declaring math symbols}
+\label{Sec:math.commands}
+
+\begin{decl}
+|\DeclareMathSymbol| \arg{symbol} \arg{type} \arg{sym-font}
+ \arg{slot}
+\end{decl}
+
+The \m{symbol} can be either a single character such as `|>>|', or a
+macro name, such as |\sum|.
+
+Defines the \m{symbol} to be a math symbol of type
+\m{type} in slot \m{slot} of symbol font \m{sym-font}. The
+\m{type} can be given as a number or as a command:
+\begin{center}
+ \begin{tabular}{ccc}
+ \emph{Type} & \emph{Meaning} & \emph{Example} \\
+ |0| or |\mathord | & Ordinary & $\alpha$ \\
+ |1| or |\mathop | & Large operator & $\sum$ \\
+ |2| or |\mathbin | & Binary operation & $\times$ \\
+ |3| or |\mathrel | & Relation & $\leq$ \\
+ |4| or |\mathopen | & Opening & $\langle$ \\
+ |5| or |\mathclose| & Closing & $\rangle$ \\
+ |6| or |\mathpunct| & Punctuation & $;$ \\
+ |7| or |\mathalpha| & Alphabet character & $A$
+ \end{tabular}
+\end{center}
+Only symbols of type |\mathalpha| will be affected by math alphabet
+commands: within the argument of a math alphabet command they will
+produce the character in slot \m{slot} of that math alphabet's font.
+Symbols of other types will always produce the same symbol
+(within one math version).
+
+|\DeclareMathSymbol| allows a macro \m{symbol} to be redefined only if
+it was previously defined to be a math symbol. It also checks that
+the \m{sym-font} is a declared symbol font.
+
+Example:
+\begin{verbatim}
+ \DeclareMathSymbol{\alpha}{0}{letters}{"0B}
+ \DeclareMathSymbol{\lessdot}{\mathbin}{AMSb}{"0C}
+ \DeclareMathSymbol{\alphld}{\mathalpha}{AMSb}{"0C}
+\end{verbatim}
+
+\begin{decl}
+ |\DeclareMathDelimiter| \arg{cmd} \arg{type}
+ \arg{sym-font-1} \arg{slot-1}\\
+ \null\hfill \arg{sym-font-2} \arg{slot-2}
+\end{decl}
+Defines \m{cmd} to be a math delimiter where the small variant is in
+slot \m{slot-1} of symbol font \m{sym-font-1} and the large
+variant is in slot \m{slot-2} of symbol font \m{sym-font-2}.
+Both symbol fonts must have been declared previously.
+
+Checks that \m{sym-font-i} are both declared symbol fonts.
+
+If \TeX{} is not looking for a delimiter, \m{cmd} is treated just as
+if it had been defined with |\DeclareMathSymbol| using
+\m{type}, \m{sym-font-1} and \m{slot-1}. In other words, if a
+command is defined as a delimiter then this automatically defines it
+as a math symbol.
+
+\NEWdescription{1998/06/01}
+In case \m{cmd} is a single character such as `|[|', the same syntax is
+used. Previously the \arg{type} argument was not present (and thus the
+corresponding math symbol declaration had to be provided separately).
+
+Example:
+\begin{verbatim}
+ \DeclareMathDelimiter{\langle}{\mathopen}{symbols}{"68}
+ {largesymbols}{"0A}
+ \DeclareMathDelimiter{(} {\mathopen}{operators}{"28}
+ {largesymbols}{"00}
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareMathAccent| \arg{cmd} \arg{type} \arg{sym-font} \arg{slot}
+\end{decl}
+
+Defines \m{cmd} to act as a math accent.
+
+The accent character comes from slot \m{slot} in
+\m{sym-font}. The \m{type} can be either
+|\mathord| or |\mathalpha|; in the latter case the accent character
+changes font when used in a math alphabet.
+
+Example:
+\begin{verbatim}
+ \DeclareMathAccent{\acute}{\mathalpha}{operators}{"13}
+ \DeclareMathAccent{\vec}{\mathord}{letters}{"7E}
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareMathRadical| \arg{cmd}
+ \arg{sym-font-1} \arg{slot-1}\\
+ \null\hfill \arg{sym-font-2} \arg{slot-2}
+\end{decl}
+
+Defines \m{cmd} to be a radical where the small variant is in
+slot \m{slot-1} of symbol font \m{sym-font-1} and the
+large variant is in slot \m{slot-2} of symbol font
+\m{sym-font-2}. Both symbol fonts must have been declared
+previously.
+
+Example (probably the only use for it!):
+\begin{verbatim}
+ \DeclareMathRadical{\sqrt}{symbols}{"70}{largesymbols}{"70}
+\end{verbatim}
+
+\subsection{Declaring math sizes}
+
+\begin{decl}
+|\DeclareMathSizes| \arg{t-size} \arg{mt-size} \arg{s-size}
+ \arg{ss-size}
+\end{decl}
+
+Declares that \m{mt-size} is the (main) math text size, \m{s-size} is
+the `script' size and \m{ss-size} the `scriptscript' size to be used
+in math, when \m{t-size} is the current text size. For text sizes for
+which no such declaration is given the `script' and `scriptscript'
+size will be calculated and then fonts are loaded for the calculated
+sizes or the best approximation (this may result in a warning
+message).
+
+Normally, \m{t-size} and \m{mt-size} will be identical; however, if,
+for example, PostScript text fonts are mixed with bit-map math fonts
+then you may not have available a \m{mt-size} for every \m{t-size}.
+
+Example:
+\begin{verbatim}
+ \DeclareMathSizes{13.82}{14.4}{10}{7}
+\end{verbatim}
+
+\section{Font installation}
+\label{Sec:install}
+
+This section explains how \LaTeX's font attributes are turned into
+\TeX{} font specifications.
+
+\subsection{Font definition files}
+
+\NEWdescription{1997/12/01}
+The description of how \LaTeX{} font attributes are turned into \TeX{}
+fonts is usually kept in a \emph{font definition file} (|.fd|). The
+file for family \m{family} in encoding \m{ENC} must be
+called |<enc><family>.fd|: for example, |ot1cmr.fd| for Computer
+Modern Roman with encoding |OT1| or |t1ptm.fd| for Adobe Times with
+encoding |T1|. Note that encoding names are converted to lowercase
+when used as part of file names.
+
+Whenever \LaTeX{} encounters an encoding/family combination that it
+does not know (e.g.~if the document designer says
+|\fontfamily{ptm}\selectfont|) then \LaTeX{} attempts to load the
+appropriate |.fd| file. ``Not known'' means: there was no
+|\DeclareFontFamily| declaration issued for this encoding/family
+combination. If the |.fd| file could not be found, a warning is
+issued and font substitutions are made.
+
+The declarations in the font definition file are responsible for
+telling \LaTeX{} how to load fonts for that encoding/family
+combination.
+
+\subsection{Font definition file commands}
+
+\emph{Note}: A font definition file should contain only commands
+from this subsection.
+
+Note that these commands can also be used outside a font definition
+file: they can be put in package or class files, or even in the
+preamble of a document.
+
+\begin{decl}
+ |\ProvidesFile{<file-name>}[<release-info>]|
+\end{decl}
+The file should announce itself with a |\ProvidesFile| command,
+as described in \emph{\clsguide}. For example:
+\begin{verbatim}
+ \ProvidesFile{t1ptm.fd}[1994/06/01 Adobe Times font definitions]
+\end{verbatim}
+
+Spaces within the arguments specific to font definition files are
+ignored to avoid surplus spaces in the document. If a real space is
+necessary use |\space|.
+\NEWdescription{2004/02/10}However, note that this is only true if the
+declaration is made at top level! If used within the definition of
+another command, within |\AtBeginDocument|, option code or in similar
+places, then spaces within the argument will remain and may result in
+incorrect table entries.
+
+\begin{decl}
+|\DeclareFontFamily| \arg{encoding} \arg{family} \arg{loading-settings}
+\end{decl}
+
+Declares a font family \m{family} to be available in encoding scheme
+\m{encoding}.
+
+The \m{loading-settings} are executed immediately after loading any
+font with this encoding and family.
+
+Checks that \m{encoding} was previously declared.
+
+This example refers to the Computer Modern Typewriter font family in
+the Cork encoding:
+\begin{verbatim}
+ \DeclareFontFamily{T1}{cmtt}{\hyphenchar\font=-1}
+\end{verbatim}
+
+Each |.fd| file should contain exactly one |\DeclareFontFamily|
+command, and it should be for the appropriate encoding/family
+combination.
+
+\begin{decl}
+|\DeclareFontShape| \arg{encoding} \arg{family} \arg{series}
+ \arg{shape}\\
+ \null\hfill \arg{loading-info} \arg{loading-settings}
+\end{decl}
+
+Declares a font shape combination; here \m{loading-info} contains the
+information that combines sizes with external fonts. The syntax is
+complex and is described in Section~\ref{sec:loadinfo} below.
+
+The \m{loading-settings} are executed after loading any font with this
+font shape. They are executed immediately after the
+`loading-settings' which were declared by |\DeclareFontFamily| and so
+they can be used to overwrite the settings made at the family level.
+
+Checks that the combination \m{encoding}\m{family} was previously
+declared via |\DeclareFontFamily|.
+
+Example:
+\begin{verbatim}
+ \DeclareFontShape{OT1}{cmr}{m}{sl}{%
+ <<5-8>> sub * cmr/m/n
+ <<8>> cmsl8
+ <<9>> cmsl9
+ <<10>> <<10.95>> cmsl10
+ <<12>> <<14.4>> <<17.28>> <<20.74>> <<24.88>> cmsl12
+ }{}
+\end{verbatim}
+The file can contain any number of |\DeclareFontShape| commands,
+which should be for the appropriate \m{encoding} and \m{family}.
+
+\NEWfeature{1996/06/01}
+The font family declarations for the |OT1|-encoded fonts now all
+contain:
+\begin{verbatim}
+ \hyphenchar\font=`\-
+\end{verbatim}
+This enables the use of an alternative |\hyphenchar| in other encodings
+whilst maintaining the correct value for all fonts.
+
+\subsection{Font file loading information}
+\label{sec:loadinfo}
+
+The information which tells \LaTeX{} exactly which font (\texttt{.tfm})
+files to load is contained in the \m{loading-info} part of a
+|\DeclareFontShape| declaration. This part consists of one or more
+\m{fontshape-decl}s, each of which has the following form:
+
+\begin{center}
+\begin{tabular}{r@{ $::=$ }l}
+ \m{fontshape-decl} & \m{size-infos} \m{font-info} \\
+ \m{size-infos} & \m{size-infos} \m{size-info} $\mid$
+ \m{size-info} \\
+ \m{size-info} & ``|<<|'' \m{number-or-range} ``|>>|'' \\
+ \m{font-info} & $[$ \m{size-function} ``|*|'' $]$
+ $[$ ``|[|'' \m{optarg} ``|]|'' $]$ \m{fontarg} \\
+\end{tabular}
+\end{center}
+The \m{number-or-range} denotes the size or size-range
+for which this entry applies.
+
+If it contains a hyphen it is a
+range: lower bound on the left (if missing, zero implied), upper bound
+on the right (if missing, $\infty$ implied). For ranges, the
+upper bound is \emph{not} included in the range and the lower bound is.
+
+Examples:
+\begin{center}
+\begin{tabular}{lll}
+ |<<10>>| & simple size& 10pt only\\
+ |<<-8>>| & range& all sizes less than 8pt\\
+ |<<8-14.4>>| & range& all sizes greater than or equal to 8pt\\
+ & & \ but less than 14.4pt\\
+ |<<14.4->>| & range& all sizes greater than or equal 14.4pt
+\end{tabular}
+\end{center}
+If more than one \m{size-info} entry follows without any
+intervening \m{font-info}, they all share the next \m{font-info}.
+
+The \m{size-function}, if present, handles the use of \m{font-info}.
+If not present, the `empty' \m{size-function} is assumed.
+
+All the \m{size-info}s are inspected in the order in which they appear
+in the font shape declaration. If a \m{size-info} matches the
+requested size, its \m{size-function} is executed. If |\external@font|
+is non-empty afterwards this process stops, otherwise the next
+\m{size-info} is inspected. (See also |\DeclareSizeFunction|.)
+
+If this process does not lead to a non-empty |\external@font|,
+\LaTeX{} tries the nearest simple size. If the entry contains only
+ranges an error is returned.
+
+
+\subsection{Size functions}
+\label{sec:sizefunct}
+
+
+\LaTeX{} provides the following size functions, whose `inputs' are
+\m{fontarg} and \m{optarg} (when present).
+
+\begin{description}
+\item[`' (empty)]
+Load the external font \m{fontarg} at the user-requested size. If
+\m{optarg} is present, it is used as the scale-factor.
+
+\item[s]
+Like the empty function but without terminal warnings, only
+loggings.
+
+\item[gen]
+Generates the external font from \m{fontarg} followed by
+the user-requested size, e.g.~|<<8>> <<9>> <<10>> gen * cmtt|
+
+\item[sgen]
+Like the `gen' function but without terminal warnings, only loggings.
+
+\item[genb]
+\NEWfeature{1995/12/01}
+Generates the external font from \m{fontarg} followed by
+the user-requested size, using the conventions of the `ec' fonts.
+e.g.~|<<10.98>> genb * dctt| produces |dctt1098|.
+
+\item[sgenb]
+\NEWfeature{1995/12/01}
+Like the `genb' function but without terminal warnings, only loggings.
+
+\item[sub]
+Tries to load a font from a different font shape declaration given by
+\m{fontarg} in the form \m{family}|/|\m{series}|/|\m{shape}.
+
+\item[ssub]
+Silent variant of `sub', only loggings.
+
+\item[subf]
+Like the empty function but issues a warning that it has to substitute
+the external font \m{fontarg} because the desired font shape was not
+available in the requested size.
+
+\item[ssubf]
+Silent variant of `subf', only loggings.
+
+\item[fixed]
+Load font \m{fontarg} as is, disregarding the user-requested size.
+If present, \m{optarg} gives the ``at \ldots pt'' size to be used.
+
+\item[sfixed]
+Silent variant of `fixed', only loggings.
+
+\end{description}
+
+Examples for the use of most of the above size functions can be found
+in the file |cmfonts.fdd|---the source for the standard |.fd| files
+describing the Computer Modern fonts by Donald Knuth.
+
+
+\begin{decl}
+|\DeclareSizeFunction| \arg{name} \arg{code}
+\end{decl}
+
+Declares a size-function \m{name} for use in |\DeclareFontShape|
+commands. The interface is still under development but there should be
+no real need to a define new size functions.
+
+The \m{code} is executed when the size or size-range in
+|\DeclareFontShape| matches the user-requested size.
+
+The arguments of the size-function are automatically parsed and placed
+into |\mandatory@arg| and |\optional@arg| for use in \m{code}. Also
+available, of course, is |\f@size|, which is the user-requested size.
+
+To signal success \m{code} must define the command |\external@font|
+to contain the external name and any scaling options (if present) for
+the font to be loaded.
+
+This example sets up the `empty' size function (simplified):
+\begin{verbatim}
+ \DeclareSizeFunction{}
+ {\edef\external@font{\mandatory@arg\space at\f@size}
+\end{verbatim}
+
+
+\section{Encodings}
+\label{Sec:encode}
+
+This section explains how to declare and use new font encodings and
+how to declare commands for use with particular encodings.
+
+\subsection{The \textsf{fontenc} package}
+
+Users can select new font encodings using the |fontenc| package. The
+|fontenc| package has options for encodings; the last option becomes
+the default encoding. For example, to use the |OT2| (Washington
+University Cyrillic encoding) and |T1| encodings, with |T1| as the
+default, an author types:
+\begin{verbatim}
+ \usepackage[OT2,T1]{fontenc}
+\end{verbatim}
+
+\NEWdescription{1997/12/01}
+For each font encoding \m{ENC} given as an option, this package loads
+the \emph{encoding definition} (|<enc>enc.def|, with an all
+lower-case name) file; it also sets |\encodingdefault| to be the last
+encoding in the option list.
+
+The declarations in the encoding definition file |<enc>enc.def| for
+encoding \m{ENC} are responsible for declaring this encoding and
+telling \LaTeX{} how to produce characters in this encoding; this file
+should contain nothing else (see Section~\ref{Sec:encode.def}.
+
+The standard \LaTeX{} format declares the |OT1| and |T1| text
+encodings by inputting the files |ot1enc.def| and |t1enc.def|; it also
+sets up various defaults which require that |OT1|-encoded fonts are
+available.
+Other encoding set-ups might be added to the distribution at a
+later stage.
+
+Thus the example above loads the files |ot2enc.def| and |t1enc.def|
+and sets |\encodingdefault| to |T1|.
+
+\emph{Warning}: If you wish to use |T1|-encoded fonts other than the `cmr'
+family then you may need to load the package (e.g.~\texttt{times})
+that selects the fonts \emph{before} loading \texttt{fontenc} (this
+prevents the system from attempting to load any |T1|-encoded fonts from
+the `cmr' family).
+
+
+
+\subsection{Encoding definition file commands}
+\label{Sec:encode.def}
+
+\emph{Note}: An encoding definition file should contain only commands
+from this subsection.
+
+\NEWdescription{2019/07/10}
+As an exception it may also contain a |\DeclareFontsubstitution|
+declaration (described in \ref{sec:encoding-defaults}) to specify how
+font substitution for this encoding should be handled. In that case
+it is important that the values used point to a font that is guaranteed
+to be available on all \LaTeX{} installations.\footnote{If the font
+ encoding file is made available as part of a CTAN bundle, that could
+ be a font that is provided together with that bundle, but it should
+ not point to font which requires further installation steps and
+ therefore may or may not be installed.}
+
+
+\NEWdescription{1997/12/01}
+As with the font definition file commands, it is also possible
+(although normally not necessary) to use these declarations directly
+within a class or package file.
+
+\emph{Warning}: Some aspects of the contents of font definition files
+are still under development. Therefore, the current versions of the
+files |ot1enc.def| and |t1enc.def| are temporary versions and should
+not be used as models for producing further such files. For further
+information you should read the documentation in |ltoutenc.dtx|.
+
+\begin{decl}
+ |\ProvidesFile{<file-name>}[<release-info>]|
+\end{decl}
+The file should announce itself with a |\ProvidesFile|
+command, described in \emph{\clsguide}. For example:
+\begin{verbatim}
+ \ProvidesFile{ot2enc.def}
+ [1994/06/01 Washington University Cyrillic encoding]
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareFontEncoding| \arg{encoding} \arg{text-settings}
+ \arg{math-settings}
+\end{decl}
+
+Declares a new encoding scheme \m{encoding}.
+
+The \m{text-settings} are
+declarations which are executed every time |\selectfont| changes the
+encoding to be \m{encoding}.
+
+The \m{math-settings} are similar but are for math alphabets. They
+are executed whenever a math alphabet with this encoding is
+called.
+
+\NEWfeature{1998/12/01}
+It also saves the value of \m{encoding} in the macro
+|\LastDeclaredEncoding|.
+
+Example:
+\begin{verbatim}
+ \DeclareFontEncoding{OT1}{}{}
+\end{verbatim}
+
+Some author commands need to change their definition depending on
+which encoding is currently in use. For example, in the |OT1|
+encoding, the letter `\AE' is in slot |"1D|, whereas in the |T1|
+encoding it is in slot |"C6|. So the definition of |\AE| has to
+change depending on whether the current encoding is |OT1| or |T1|.
+The following commands allow this to happen.
+
+\begin{decl}
+ |\DeclareTextCommand| \arg{cmd} \arg{encoding}
+ \oarg{num} \oarg{default} \arg{definition}
+\end{decl}
+This command is like |\newcommand|, except that it defines a
+command which is specific to one encoding. For example, the
+definition of |\k| in the |T1| encoding is:
+\begin{verbatim}
+ \DeclareTextCommand{\k}{T1}[1]
+ {\oalign{\null#1\crcr\hidewidth\char12}}
+\end{verbatim}
+|\DeclareTextCommand| takes the same optional arguments as
+|\newcommand|.
+
+The resulting command is
+robust, even if the code in \m{definition} is fragile.
+
+It does not produce an error if the command has already
+been defined but logs the redefinition in the transcript file.
+
+\begin{decl}[1994/12/01]
+ |\ProvideTextCommand| \arg{cmd} \arg{encoding}
+ \oarg{num} \oarg{default} \arg{definition}
+\end{decl}
+This command is the same as |\DeclareTextCommand|, except that
+if \m{cmd} is already defined in encoding \m{encoding}, then the
+definition is ignored.
+
+\begin{decl}
+ |\DeclareTextSymbol| \arg{cmd} \arg{encoding} \arg{slot}
+\end{decl}
+This command defines a text symbol with slot \m{slot} in the
+encoding. For example, the definition of |\ss| in the |OT1| encoding
+is:
+\begin{verbatim}
+ \DeclareTextSymbol{\ss}{OT1}{25}
+\end{verbatim}
+It does not produce an error if the command has already
+been defined but logs the redefinition in the transcript file.
+
+\begin{decl}
+ |\DeclareTextAccent| \arg{cmd} \arg{encoding} \arg{slot}
+\end{decl}
+This command declares a text accent, with the accent taken from slot
+\m{slot} in the encoding. For example, the definition of |\"| in
+the |OT1| encoding is:
+\begin{verbatim}
+ \DeclareTextAccent{\"}{OT1}{127}
+\end{verbatim}
+It does not produce an error if the command has already
+been defined but logs the redefinition in the transcript file.
+
+\begin{decl}
+ |\DeclareTextComposite| \arg{cmd} \arg{encoding} \arg{letter}
+ \arg{slot}
+\end{decl}
+This command declares that the composite letter formed from applying
+\m{cmd} to \m{letter} is defined to be simply slot \m{slot} in the
+encoding. The \m{letter} should be a single letter (such as |a|) or
+a single command (such as |\i|).
+
+
+For example, the definition of |\'{a}|
+in the |T1| encoding could be declared like this:
+\begin{verbatim}
+ \DeclareTextComposite{\'}{T1}{a}{225}
+\end{verbatim}
+
+The \m{cmd} will normally have been previously declared
+for this encoding, either by using
+|\DeclareTextAccent|, or as a one-argument |\DeclareTextCommand|.
+
+\begin{decl}[1994/12/01]
+ |\DeclareTextCompositeCommand| \arg{cmd} \arg{encoding} \arg{letter}
+ \arg{definition}
+\end{decl}
+This is a more general form of |\DeclareTextComposite|, which allows
+for an arbitrary \m{definition}, not just a \m{slot}. The main use
+for this is to allow accents on |i| to act like accents on |\i|, for
+example:
+\begin{verbatim}
+ \DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i}
+\end{verbatim}
+It has the same restrictions as |\DeclareTextComposite|.
+
+
+\begin{decl}[1998/12/01]
+ |\LastDeclaredEncoding|
+\end{decl}
+This holds the name of the last encoding declared via
+|\DeclareFontEncoding| (this should also be the currently most
+efficient encoding). It can be used in the \m{encoding} argument
+of the above declarations in place of explicitly mentioning the
+encoding, e.g.
+\begin{verbatim}
+ \DeclareFontEncoding{T1}{}{}
+ \DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
+ \DeclareTextAccent{\'}{\LastDeclaredEncoding}{1}
+\end{verbatim}
+This can be useful in cases where encoding files sharing common code
+are generated from one source.
+
+
+\subsection{Default definitions}
+
+\NEWdescription{1997/12/01}
+The declarations used in encoding definition files define
+encoding-specific commands but they do not allow those commands to be
+used without explicitly changing the encoding. For some commands,
+such as symbols, this is not enough. For example, the~|OMS| encoding
+contains the symbol~`\S', but we need to be able to use the
+command~|\S| whatever the current encoding may be, without explicitly
+selecting the encoding~|OMS|.
+
+\NEWdescription{1997/12/01}
+To allow this, \LaTeX{} has commands that declare default definitions
+for commands; these defaults are used when the command is not defined
+in the current encoding. For example, the default encoding for~|\S|
+is~|OMS|, and so in an encoding (such as |OT1|) which does not
+contain~|\S|, the~|OMS| encoding is selected in order to access this
+glyph. But in an encoding (such as~|T1|) which does contain~|\S|, the
+glyph in that encoding is used. The standard \LaTeXe{} format sets
+up several such defaults using the following encodings: |OT1|,~|OMS|
+and~|OML|.
+
+\emph{Warning}: These commands should \emph{not} occur in encoding
+definition files, since those files should declare only commands for use
+when that encoding has been selected. They should instead be placed
+in packages; they must, of course, always refer to encodings that are
+known to be available.
+
+\begin{decl}[1994/12/01]
+ |\DeclareTextCommandDefault| \arg{cmd} \arg{definition}
+\end{decl}
+This command allows an encoding-specific command to be given a default
+definition. For example, the default definition for |\copyright| is
+defined be be a circled `c' with:
+\begin{verbatim}
+ \DeclareTextCommandDefault{\copyright}{\textcircled{c}}
+\end{verbatim}
+\begin{decl}[1994/12/01]
+ |\DeclareTextAccentDefault| \arg{cmd} \arg{encoding} \\
+ |\DeclareTextSymbolDefault| \arg{cmd} \arg{encoding}
+\end{decl}
+These commands allow an encoding-specific command to be given a
+default encoding. For example, the default encoding for |\"| and
+|\ae| is set to be |OT1| by:
+\begin{verbatim}
+ \DeclareTextAccentDefault{\"}{OT1}
+ \DeclareTextSymbolDefault{\ae}{OT1}
+\end{verbatim}
+Note that |\DeclareTextAccentDefault| can be used on any one-argument
+encoding-specific command, not just those defined with
+|\DeclareTextAccent|. Similarly, |\DeclareTextSymbolDefault| can be
+used on any encoding-specific command with no arguments, not just
+those defined with |\DeclareTextSymbol|.
+
+For more examples of these definitions, see |ltoutenc.dtx|.
+
+\begin{decl}[1994/12/01]
+ |\ProvideTextCommandDefault| \arg{cmd} \arg{definition}
+\end{decl}
+This command is the same as |\DeclareTextCommandDefault|, except that
+if the command already has a default definition, then the definition
+is ignored. This is useful to give `faked' definitions of symbols
+which may be given `real' definitions by other packages. For example,
+a package might give a fake definition of |\textonequarter| by saying:
+\begin{verbatim}
+ \ProvideTextCommandDefault{\textonequarter}{$\m@th\frac14$}
+\end{verbatim}
+
+ \subsection{Encoding defaults} \label{sec:encoding-defaults}
+
+\begin{decl}
+|\DeclareFontEncodingDefaults| \arg{text-settings} \arg{math-settings}
+\end{decl}
+
+Declares \m{text-settings} and \m{math-settings} for all encoding
+schemes. These are executed before the encoding scheme dependent ones
+are executed so that one can use the defaults for the major cases and
+overwrite them if necessary using |\DeclareFontEncoding|.
+
+If |\relax| is used as an argument, the current setting of this default
+is left unchanged.
+
+This example is used by amsfonts.sty for accent positioning; it changes
+only the math settings:
+\begin{verbatim}
+ \DeclareFontEncodingDefaults{\relax}{\def\accentclass@{7}}
+\end{verbatim}
+
+
+\begin{decl}
+|\DeclareFontSubstitution| \arg{encoding} \arg{family} \arg{series}
+ \arg{shape}
+\end{decl}
+
+Declares the default values for font substitution which will be used
+when a font with encoding \m{encoding}
+should be loaded but no font can be found with the current
+attributes.
+
+These substitutions are local to the encoding scheme because the
+encoding scheme is never substituted! They are tried in the order
+\m{shape} then \m{series} and finally \m{family}.
+
+\NEWdescription{2019/07/10}
+This declaration is normally done in an encoding definition file
+(see~\ref{Sec:encode.def}), but can also be used in a class file or
+the document preamble to alter the default for a specific encoding.
+
+If no defaults are set up for an encoding, the values given by
+|\DeclareErrorFont| are used.
+
+The font specification for
+\m{encoding}\m{family}\m{series}\m{shape}
+must have been defined by |\DeclareFontShape|
+before the |\begin{document}| is reached.
+
+Example:
+\begin{verbatim}
+ \DeclareFontSubstitution{T1}{cmr}{m}{n}
+\end{verbatim}
+
+\subsection{Case changing}
+\label{sec:case}
+
+\begin{decl}
+ |\MakeUppercase| \arg{text} \\
+ |\MakeLowercase| \arg{text}
+\end{decl}
+
+\NEWfeature{1995/06/01}
+\TeX{} provides the two primitives |\uppercase| and |\lowercase| for
+changing the case of text. Unfortunately, these \TeX{} primitives do
+not change the case of characters accessed by commands like |\ae| or
+|\aa|. To overcome this problem, \LaTeX{} provides these two commands.
+
+In the long run, we would like to use all-caps fonts rather than any
+command like |\MakeUppercase| but this is not possible at the moment
+because such fonts do not exist.
+
+For further details, see \texttt{clsguide.tex}.
+
+\NEWdescription{1999/04/23}
+In order that upper/lower-casing will work reasonably well, and in
+order to provide any correct hyphenation, \LaTeXe{} \emph{must} use,
+throughout a document, the same fixed table for changing case. The
+table used is designed for the font encoding |T1|; this works well
+with the standard \TeX{} fonts for all Latin alphabets but will cause
+problems when using other alphabets. As an experiment, it has now
+been extended for use with some Cyrillic encodings.
+
+
+\section{Miscellanea}
+\label{Sec:misc}
+
+This section covers the remaining font commands in \LaTeX{} and some
+other issues.
+
+\subsection{Font substitution}
+
+\begin{decl}
+|\DeclareErrorFont| \arg{encoding} \arg{family} \arg{series}
+ \arg{shape} \arg{size}
+\end{decl}
+
+Declares \m{encoding}\m{family}\m{series}\m{shape} to be the font shape
+used in cases where the standard substitution mechanism fails
+(i.e.~would loop). For the standard mechanism see the command
+|\DeclareFontSubstitution| above.
+
+The font specification for
+\m{encoding}\m{family}\m{series}\m{shape}
+must have been defined by |\DeclareFontShape|
+before the |\begin{document}| is reached.
+
+Example:
+\begin{verbatim}
+ \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+\end{verbatim}
+
+\NEWdescription{2019/07/10}
+This declaration is a system wide fallback and it should normally not
+be changed, in particular it does not belong into font encoding
+definition files but rather into the \LaTeX{} format. It is normally
+set up in \texttt{fonttext.cfg}. Adjustments on a per encoding base
+should be made through |\DeclareFontSubstitution| instead!
+
+
+\begin{decl}
+|\fontsubfuzz|
+\end{decl}
+
+This parameter is used to decide whether or not to produce a terminal
+warning if a font size substitution takes place. If the difference
+between the requested and the chosen size is less than |\fontsubfuzz|
+the warning is only written to the transcript file. The default value
+is |0.4pt|. This can be redefined with |\renewcommand|, for example:
+\begin{verbatim}
+ \renewcommand{\fontsubfuzz}{0pt} % always warn
+\end{verbatim}
+
+\subsection{Preloading}
+
+\begin{decl}
+|\DeclarePreloadSizes| \arg{encoding} \arg{family} \arg{series}
+ \arg{shape}
+\arg{size-list}
+\end{decl}
+
+
+Specifies the fonts that should be preloaded by the format. These
+commands should be put in a |preload.cfg| file, which is read in when
+the \LaTeX{} format is being built.
+Read |preload.dtx| for more information on how to built such a
+configuration file.
+
+Example:
+\begin{verbatim}
+ \DeclarePreloadSizes{OT1}{cmr}{m}{sl}{10,10.95,12}
+\end{verbatim}
+
+\NEWdescription{2019/07/10}
+Preloading is really an artifact of the days when loading fonts while
+processing a document contributed substantially to the processing
+time. These days it is usually best not to use this mechanism any more.
+
+\subsection{Accented characters}
+
+\NEWdescription{1996/06/01}
+Accented characters in \LaTeX{} can be produced using commands such as
+|\"a| etc. The precise effect of such commands depends on the font
+encoding being used. When using a font encoding that contains the
+accented characters as individual glyphs (such as the |T1| encoding,
+in the case of |\"a|) words that contain such accented characters can
+be automatically hyphenated. For font encodings that do not contain
+the requested individual glyph (such as the |OT1| encoding) such a
+command invokes typesetting instructions that produce the accented
+character as a combination of character glyphs and diacritical marks
+in the font. In most cases this involves a call to the \TeX{}
+primitive |\accent|. Glyphs constructed as composites in this way
+inhibit hyphenation of the current word; this is one reason why the
+|T1| encoding is preferable to the original \TeX{} font encoding
+|OT1|.
+
+It is important to understand that commands like |\"a| in \LaTeXe{}
+represent just a name for a single glyph (in this case `umlaut a') and
+contain no information about how to typeset that glyph---thus it does
+\emph{not} mean `put two dots on top of the character a'. The
+decision as to what typesetting routine to use will depend on the
+encoding of the current font and so this decision is taken at the last
+minute. Indeed, it is possible that the same input will be typeset in
+more than one way in the same document; for example, text in section
+headings may also appear in table of contents and in running heads; and
+each of these may use a font with a different encoding.
+
+For this reason the notation |\"a| is \emph{not} equivalent to:
+\begin{verbatim}
+ \newcommand \chara {a} \"\chara
+\end{verbatim}
+In the latter case, \LaTeX{} does not expand the macro |\chara| but
+simply compares the notation (the string |\"\chara|) to its list of
+known composite notations in the current encoding; when it fails to
+find |\"\chara| it does the best it can and invokes the typesetting
+instructions that put the umlaut accent on top of the expansion of
+|\chara|. Thus, even if the font actually contains `\"a' as an
+individual glyph, it will not be used.
+
+The low-level accent commands in \LaTeX{} are defined in such a way
+that it is possible to combine a diacritical mark from one font with a
+glyph from another font; for example, |\"\textparagraph| will produce
+\"\textparagraph. The umlaut here
+is taken from the |OT1| encoded font |cmr10| whilst the paragraph sign
+is from the |OMS| encoded font |cmsy10|. (This example may be
+typographically silly but better ones would involve font encodings
+like |OT2| (Cyrillic) that might not be available at every
+site.)
+
+There are, however, restrictions on the font-changing commands that
+will work within the argument to such an accent command. These are
+\TeX{}nical in the sense that they follow from the way that \TeX{}'s
+|\accent| primitive works, allowing only a special class of commands
+between the accent and the accented character.
+
+The following are examples of commands that will not work correctly as
+the accent will appear above a space: the font commands with text
+arguments (|\textbf{...}| and friends); all the font size declarations
+(|\fontsize| and |\Large|, etc.); |\usefont| and declarations that
+depend on it, such as |\normalfont|; box commands (e.g.~|\mbox{...}|).
+
+The lower-level font declarations that set the attributes family,
+series and shape (such as |\fontshape{sl}\selectfont|) will produce
+correct typesetting, as will the default declarations such as
+|\bfseries|.
+
+
+\subsection{Naming conventions}
+
+\begin{itemize}
+\item
+Math alphabet commands all start with |\math...|: examples are
+|\mathbf|, |\mathcal|, etc.
+
+\item
+The text font changing commands with arguments all start with
+|\text...|: e.g.~|\textbf| and |\textrm|. The exception to this is
+|\emph|, since it occurs very commonly in author documents and so
+deserves a shorter name.
+
+\item
+Names for encoding schemes are strings of up to three letters (all
+upper case) plus digits.
+
+The \LaTeX3 project reserves the use of encodings starting with the
+following letters: |T| (standard 256-long text encodings), |TS|
+(symbols that are designed to extend a corresponding |T| encoding),
+|X| (text encodings that do not conform to the strict requirements for
+|T| encodings), |M| (standard 256-long math encodings), |S| (other
+symbol encodings), |A| (other special applications), |OT| (standard
+128-long text encodings) and |OM| (standard 128-long math encodings).
+
+Please do not use the above starting letters for non-portable
+encodings. If new standard encodings emerge then we shall add them in
+a later release of \LaTeX.
+
+Encoding schemes which are local to a site or a system should start
+with |L|, experimental encodings intended for wide distribution will
+start with |E|, whilst |U| is for Unknown or Unclassified encodings.
+
+\item
+Font family names should contain up to five lower case letters.
+Where possible, these should conform to the \emph{Filenames for fonts}
+font naming scheme.
+
+\item
+Font series names should contain up to four lower case letters.
+
+\item
+Font shapes should contain up to two letters lower case.
+
+\item
+Names for symbol fonts are built from lower and upper case letters
+with no restriction.
+\end{itemize}
+
+Whenever possible, you should use the series and shape names suggested
+in \emph{\LaTeXcomp} since this will make it easier to combine new
+fonts with existing fonts.
+
+\NEWdescription{1994/12/01}
+ Where possible, text symbols should be named as |\text| followed by
+ the Adobe glyph name: for example |\textonequarter| or
+ |\textsterling|. Similarly, math symbols should be named as
+ |\math| followed by the glyph name, for example |\mathonequarter|
+ or |\mathsterling|. Commands which can be used in text or math can
+ then be defined using |\ifmmode|, for example:
+\begin{verbatim}
+ \DeclareRobustCommand{\pounds}{%
+ \ifmmode \mathsterling \else \textsterling \fi
+ }
+\end{verbatim}
+ Note that commands defined in this way must be robust, in case they
+ get put into a section title or other moving argument.
+
+\section{If you need to know more \ldots}
+
+\NEWdescription{1996/06/01}
+The |tracefnt| package provides for tracing the actions concerned with
+loading, substituting and using fonts.
+The package accepts the following options:
+\begin{description}
+\item[errorshow] Write all information about font changes, etc.\ but
+ only to the transcript file unless an error occurs. This means that
+ information about font substitution will not be shown on the
+ terminal.
+
+\item[warningshow] Show all font warnings on the terminal. This
+ setting corresponds to the default behavior when this
+ \texttt{tracefnt} package is \emph{not} used!
+
+\item[infoshow] Show all font warnings and all font info messages
+ (that are normally only written to the transcript file) also on the
+ terminal. This is the default when this \texttt{tracefnt} package is
+ loaded.
+
+\item[debugshow] In addition to what is shown by \texttt{infoshow},
+ show also changes of math fonts (as far as possible): beware, this
+ option can produce a large amount of output.
+
+\item[loading] Show the names of external font files when they are
+ loaded. This option shows only `newly loaded' fonts, not those
+ already preloaded in the format or the class file before this
+ \texttt{tracefnt} package becomes active.
+
+\item[pausing]
+ Turn all font warnings into errors so that \LaTeX{} will stop.
+\end{description}
+
+\emph{Warning}: The actions of this package can change the layout of a
+document and even, in rare cases, produce clearly wrong output, so
+it should not be used in the final formatting of `real documents'.
+
+\begin{thebibliography}{1}
+
+\bibitem{A-W:MG2004}
+Frank Mittelbach and Michel Goossens.
+\newblock {\em The {\LaTeX} Companion second edition}.
+\newblock With Johannes Braams, David Carlisle, and Chris Rowley.
+\newblock Addison-Wesley, Reading, Massachusetts, 2004.
+
+\bibitem{tub:DKn89}
+Donald~E. Knuth.
+\newblock Typesetting concrete mathematics.
+\newblock {\em {TUG}boat}, 10(1):31--36, April 1989.
+
+\bibitem{A-W:LLa94}
+Leslie Lamport.
+\newblock {\em {\LaTeX:} A Document Preparation System}.
+\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/macros/latex/base/fontdef.dtx b/macros/latex/base/fontdef.dtx
index 36a31ef19b..c9c5f5d77d 100644
--- a/macros/latex/base/fontdef.dtx
+++ b/macros/latex/base/fontdef.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -39,7 +39,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
-%<-latexrelease> [2018/09/24 v3.0b LaTeX Kernel
+%<-latexrelease> [2019/09/21 v3.0d LaTeX Kernel
% \iftrue (\else
%<text, >(Text
%<math, >(Math
@@ -837,7 +837,6 @@
%
% \begin{macrocode}
\DeclareMathSymbol{\aleph}{\mathord}{symbols}{"40}
-\def\hbar{{\mathchar'26\mkern-9muh}}
\DeclareMathSymbol{\imath}{\mathord}{letters}{"7B}
\DeclareMathSymbol{\jmath}{\mathord}{letters}{"7C}
\DeclareMathSymbol{\ell}{\mathord}{letters}{"60}
@@ -849,13 +848,8 @@
\DeclareMathSymbol{\prime}{\mathord}{symbols}{"30}
\DeclareMathSymbol{\emptyset}{\mathord}{symbols}{"3B}
\DeclareMathSymbol{\nabla}{\mathord}{symbols}{"72}
-\def\surd{{\mathchar"1270}}
\DeclareMathSymbol{\top}{\mathord}{symbols}{"3E}
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
-\def\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
- \not\mathrel{\mkern14mu}\crcr
- \noalign{\nointerlineskip}
- \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr}}}}
\DeclareMathSymbol{\triangle}{\mathord}{symbols}{"34}
\DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
\DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
@@ -869,6 +863,17 @@
\DeclareMathSymbol{\heartsuit}{\mathord}{symbols}{"7E}
\DeclareMathSymbol{\spadesuit}{\mathord}{symbols}{"7F}
% \end{macrocode}
+%
+% \changes{v3.0c}{2019/08/27}{Various commands made robust throughout
+% the file}
+% \begin{macrocode}
+\DeclareRobustCommand\hbar{{\mathchar'26\mkern-9muh}}
+\DeclareRobustCommand\surd{{\mathchar"1270}}
+\DeclareRobustCommand\angle{{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr}}}}
+% \end{macrocode}
%
%
% \subsubsection{Large Operators}
@@ -881,14 +886,14 @@
\DeclareMathSymbol{\bigcap}{\mathop}{largesymbols}{"54}
\DeclareMathSymbol{\bigcup}{\mathop}{largesymbols}{"53}
\DeclareMathSymbol{\intop}{\mathop}{largesymbols}{"52}
- \def\int{\intop\nolimits}
+ \DeclareRobustCommand\int{\intop\nolimits}
\DeclareMathSymbol{\prod}{\mathop}{largesymbols}{"51}
\DeclareMathSymbol{\sum}{\mathop}{largesymbols}{"50}
\DeclareMathSymbol{\bigotimes}{\mathop}{largesymbols}{"4E}
\DeclareMathSymbol{\bigoplus}{\mathop}{largesymbols}{"4C}
\DeclareMathSymbol{\bigodot}{\mathop}{largesymbols}{"4A}
\DeclareMathSymbol{\ointop}{\mathop}{largesymbols}{"48}
- \def\oint{\ointop\nolimits}
+ \DeclareRobustCommand\oint{\ointop\nolimits}
\DeclareMathSymbol{\bigsqcup}{\mathop}{largesymbols}{"46}
\DeclareMathSymbol{\smallint}{\mathop}{symbols}{"73}
% \end{macrocode}
@@ -961,7 +966,17 @@
\DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
\DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
\DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\def\neq{\not=} \let\ne=\neq
+\DeclareRobustCommand\neq{\not=}
+% \end{macrocode}
+% As \cs{neq} is robust we should not use \cs{let} to define
+% \cs{ne} as then then it would change if \cs{neq} changes.
+% \changes{v3.0d}{2019/09/21}{Distangle alias (gh/184)}
+% \begin{macrocode}
+%\let\ne=\neq
+\DeclareRobustCommand\ne{\not=}
+% \end{macrocode}
+% It is ok to use \cs{let} for those declared by \cs{DeclareMathSymbol}.
+% \begin{macrocode}
\DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14}
\let\le=\leq
\DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15}
@@ -987,7 +1002,7 @@
\DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21}
\let\to=\rightarrow
\DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37}
- \def\mapsto{\mapstochar\rightarrow}
+ \DeclareRobustCommand\mapsto{\mapstochar\rightarrow}
\DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18}
\DeclareMathSymbol{\simeq}{\mathrel}{symbols}{"27}
\DeclareMathSymbol{\perp}{\mathrel}{symbols}{"3F}
@@ -1051,9 +1066,9 @@
\DeclareRobustCommand
\Relbar{\mathrel{=}}
\DeclareMathSymbol{\lhook}{\mathrel}{letters}{"2C}
- \def\hookrightarrow{\lhook\joinrel\rightarrow}
+ \DeclareRobustCommand\hookrightarrow{\lhook\joinrel\rightarrow}
\DeclareMathSymbol{\rhook}{\mathrel}{letters}{"2D}
- \def\hookleftarrow{\leftarrow\joinrel\rhook}
+ \DeclareRobustCommand\hookleftarrow{\leftarrow\joinrel\rhook}
\DeclareRobustCommand
\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft}
% \end{macrocode}
@@ -1155,43 +1170,45 @@
% \subsubsection{Over and under something, etc}
%
% \begin{macrocode}
-\def\overrightarrow#1{\vbox{\m@th\ialign{##\crcr
+\DeclareRobustCommand\overrightarrow[1]{\vbox{\m@th\ialign{##\crcr
\rightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}
$\hfil\displaystyle{#1}\hfil$\crcr}}}
-\def\overleftarrow#1{\vbox{\m@th\ialign{##\crcr
+\DeclareRobustCommand\overleftarrow[1]{\vbox{\m@th\ialign{##\crcr
\leftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}%
$\hfil\displaystyle{#1}\hfil$\crcr}}}
-\def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@}%
+\DeclareRobustCommand\overbrace[1]
+ {\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@}%
\downbracefill\crcr\noalign{\kern3\p@\nointerlineskip}%
$\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}
-\def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr
+\DeclareRobustCommand\underbrace[1]{\mathop{\vtop{\m@th\ialign{##\crcr
$\hfil\displaystyle{#1}\hfil$\crcr
\noalign{\kern3\p@\nointerlineskip}%
\upbracefill\crcr\noalign{\kern3\p@}}}}\limits}
% \end{macrocode}
% (quite a waste of tokens, IMHO --- Frank)
% \begin{macrocode}
-\def\skew#1#2#3{{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@
+\DeclareRobustCommand\skew[3]
+ {{\muskip\z@#1mu\divide\muskip\z@\tw@ \mkern\muskip\z@
#2{\mkern-\muskip\z@{#3}\mkern\muskip\z@}\mkern-\muskip\z@}{}}
% \end{macrocode}
%
% \changes{v2.2n}{1995/11/21}{Incorporate changed figures,
% as in plain.tex}
% \begin{macrocode}
-\def\rightarrowfill{$\m@th\smash-\mkern-7mu%
+\DeclareRobustCommand\rightarrowfill{$\m@th\smash-\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu\mathord\rightarrow$}
-\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
+\DeclareRobustCommand\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
\mkern-7mu\smash-$}
\DeclareMathSymbol{\braceld}{\mathord}{largesymbols}{"7A}
\DeclareMathSymbol{\bracerd}{\mathord}{largesymbols}{"7B}
\DeclareMathSymbol{\bracelu}{\mathord}{largesymbols}{"7C}
\DeclareMathSymbol{\braceru}{\mathord}{largesymbols}{"7D}
-\def\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
+\DeclareRobustCommand\downbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
\braceld\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\braceru
\bracelu\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\bracerd$}
-\def\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
+\DeclareRobustCommand\upbracefill{$\m@th \setbox\z@\hbox{$\braceld$}%
\bracelu\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\bracerd
\braceld\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\braceru$}
% \end{macrocode}
@@ -1209,7 +1226,18 @@
{\mathord}{symbols}{"6B}{largesymbols}{"3D}
\DeclareMathDelimiter{\Vert}
{\mathord}{symbols}{"6B}{largesymbols}{"0D}
-\let\|=\Vert
+% \end{macrocode}
+% \cs{DeclareMathDelimiter} produces a command that is robust (with
+% an internal macro containing the payload) so we should not use
+% \cs{let} for making an alias
+% \changes{v3.0d}{2019/09/21}{Distangle alias (gh/184)}
+% \begin{macrocode}
+%\let\|=\Vert
+\DeclareMathDelimiter{\|}
+ {\mathord}{symbols}{"6B}{largesymbols}{"0D}
+% \end{macrocode}
+%
+% \begin{macrocode}
\DeclareMathDelimiter{\vert}
{\mathord}{symbols}{"6A}{largesymbols}{"0C}
\DeclareMathDelimiter{\uparrow}
@@ -1295,8 +1323,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\mathsterling{\mathit{\mathchar"7024}}
-\def\mathunderscore{\kern.06em\vbox{\hrule\@width.3em}}
+\DeclareRobustCommand\mathsterling{\mathit{\mathchar"7024}}
+\DeclareRobustCommand\mathunderscore{\kern.06em\vbox{\hrule\@width.3em}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1307,7 +1335,7 @@
% \begin{macro}{\mathellipsis}
% This is plain \TeX's |\ldots|.
% \begin{macrocode}
-\def\mathellipsis{\mathinner{\ldotp\ldotp\ldotp}}%
+\DeclareRobustCommand\mathellipsis{\mathinner{\ldotp\ldotp\ldotp}}%
% \end{macrocode}
% \end{macro}
%
@@ -1321,13 +1349,13 @@
%<*math|latexrelease>
%<latexrelease>\IncludeInRelease{2018/12/01}%
%<latexrelease> {\Big}{Start LR-mode}%
-\def\big#1{\leavevmode@ifvmode
+\DeclareRobustCommand\big[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
-\def\Big#1{\leavevmode@ifvmode
+\DeclareRobustCommand\Big[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
-\def\bigg#1{\leavevmode@ifvmode
+\DeclareRobustCommand\bigg[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
-\def\Bigg#1{\leavevmode@ifvmode
+\DeclareRobustCommand\Bigg[1]{\leavevmode@ifvmode
{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}
%</math|latexrelease>
%<latexrelease>\EndIncludeInRelease
diff --git a/macros/latex/base/fontdef.pdf b/macros/latex/base/fontdef.pdf
deleted file mode 100644
index 2f553b6818..0000000000
--- a/macros/latex/base/fontdef.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/format.ins b/macros/latex/base/format.ins
index 3a7782a06e..5a1bf6e79c 100644
--- a/macros/latex/base/format.ins
+++ b/macros/latex/base/format.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2018
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -16,7 +16,7 @@
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2018
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
@@ -101,7 +101,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
@@ -123,7 +123,7 @@ extension .ins) which are part of the distribution.
This is a generated file.
-Copyright 1993-2018
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -136,7 +136,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/github-0049.pdf b/macros/latex/base/github-0049.pdf
deleted file mode 100644
index 1a0680af53..0000000000
--- a/macros/latex/base/github-0049.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/github-0081.pdf b/macros/latex/base/github-0081.pdf
deleted file mode 100644
index dba1fe1bc2..0000000000
--- a/macros/latex/base/github-0081.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/github-0081b.pdf b/macros/latex/base/github-0081b.pdf
deleted file mode 100644
index 0262659ce1..0000000000
--- a/macros/latex/base/github-0081b.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/graphpap.dtx b/macros/latex/base/graphpap.dtx
index 5442c287cc..7e4b322f32 100644
--- a/macros/latex/base/graphpap.dtx
+++ b/macros/latex/base/graphpap.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/graphpap.ins b/macros/latex/base/graphpap.ins
index 253d89baf9..eb1d356edc 100644
--- a/macros/latex/base/graphpap.ins
+++ b/macros/latex/base/graphpap.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/graphpap.pdf b/macros/latex/base/graphpap.pdf
index 8b7f69e276..75b5e86322 100644
--- a/macros/latex/base/graphpap.pdf
+++ b/macros/latex/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex/base/idx.tex b/macros/latex/base/idx.tex
index 69b8af2c23..1d74b1fca0 100644
--- a/macros/latex/base/idx.tex
+++ b/macros/latex/base/idx.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ifthen.dtx b/macros/latex/base/ifthen.dtx
index b538f895d0..1a289df1c3 100644
--- a/macros/latex/base/ifthen.dtx
+++ b/macros/latex/base/ifthen.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ifthen.ins b/macros/latex/base/ifthen.ins
index 6b3008e179..acfa2fcf43 100644
--- a/macros/latex/base/ifthen.ins
+++ b/macros/latex/base/ifthen.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/ifthen.pdf b/macros/latex/base/ifthen.pdf
index 1655a5e38e..3e8494d21f 100644
--- a/macros/latex/base/ifthen.pdf
+++ b/macros/latex/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex/base/inputenc.dtx b/macros/latex/base/inputenc.dtx
index 93f64577e2..65f260826d 100644
--- a/macros/latex/base/inputenc.dtx
+++ b/macros/latex/base/inputenc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/inputenc.ins b/macros/latex/base/inputenc.ins
index 46df8cf4f0..0831576d76 100644
--- a/macros/latex/base/inputenc.ins
+++ b/macros/latex/base/inputenc.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
@@ -152,7 +152,8 @@ extension .ins) which are part of the distribution.
\file{ot1enc.dfu}{\from{utf8ienc.dtx}{ot1}}
\file{ot2enc.dfu}{\from{utf8ienc.dtx}{ot2}}
\file{t1enc.dfu}{\from{utf8ienc.dtx}{t1}}
- }
+ \file{utf8-2018.def}{\from{utf8ienc.dtx}{utf8-2018}}
+}
\generate{\file{t2aenc.dfu}{\from{utf8ienc.dtx}{t2a}}
\file{t2benc.dfu}{\from{utf8ienc.dtx}{t2b}}
\file{t2cenc.dfu}{\from{utf8ienc.dtx}{t2c}}
diff --git a/macros/latex/base/inputenc.pdf b/macros/latex/base/inputenc.pdf
index a527e8e4ae..72b7963f2c 100644
--- a/macros/latex/base/inputenc.pdf
+++ b/macros/latex/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex/base/lablst.tex b/macros/latex/base/lablst.tex
index 241090e53e..fd65579713 100644
--- a/macros/latex/base/lablst.tex
+++ b/macros/latex/base/lablst.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/latex209.dtx b/macros/latex/base/latex209.dtx
index cc5563c632..10de2958ba 100644
--- a/macros/latex/base/latex209.dtx
+++ b/macros/latex/base/latex209.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/latex209.ins b/macros/latex/base/latex209.ins
index f0834e83df..7bd0eed06a 100644
--- a/macros/latex/base/latex209.ins
+++ b/macros/latex/base/latex209.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/latexchanges.pdf b/macros/latex/base/latexchanges.pdf
new file mode 100644
index 0000000000..dd29bde6fa
--- /dev/null
+++ b/macros/latex/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex/base/latexchanges.tex b/macros/latex/base/latexchanges.tex
new file mode 100644
index 0000000000..43780d3cf8
--- /dev/null
+++ b/macros/latex/base/latexchanges.tex
@@ -0,0 +1,836 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: latexchanges.tex
+
+\NeedsTeXFormat{LaTeX2e}
+
+\documentclass{ltxguide}
+
+\usepackage[T1]{fontenc}
+
+\usepackage{url}
+
+\title{Changes to the \LaTeXe{} format}
+
+\author{\copyright~Copyright 2015--2019, \LaTeX3 Project Team.\\
+ All rights reserved.}
+
+\date{2019-10-01}
+
+% a few commands from doc
+\newcommand\Lpack[1]{\mbox{\textsf{#1}}}
+\newcommand\DescribeMacro[1]{\texttt{\string#1}}
+
+\makeatletter % -- provide command introduced in new release
+ % so this typesets with an old format
+
+\DeclareTextCommandDefault\textcommabelow[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
+\makeatother
+
+\ifx\href\undefined
+ \newcommand\ghissue[1]{github #1}
+ \newcommand\gnatsissue[1]{gnats #1}
+ \newcommand\ltnewsissue[1]{\LaTeX\ News~#1}
+ \newcommand\sxanswer[1]{\url{https://tex.stackexchange.com\slash a\slash #1}}
+ \newcommand\sxquestion[1]{\url{https://tex.stackexchange.com\slash q\slash #1}}
+\else
+ \newcommand\ghissue[1]{%
+ \href{https://github.com/latex3/latex2e/issues/#1}{github #1}}
+ \newcommand\gnatsissue[1]{%
+ \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/#1}{gnats #1}}
+ \newcommand\ltnewsissue[1]{%
+ \href{https://www.latex-project.org/news/latex2e-news/ltnews#1.pdf}{\LaTeX\ News~#1}}
+ \newcommand\sxanswer[1]{%
+ \url{https://tex.stackexchange.com/a/#1}}
+ \newcommand\sxquestion[1]{%
+ \url{https://tex.stackexchange.com/q/#1}}
+\fi
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\newpage
+
+\section{Introduction}
+
+This document describes changes that have been made to the
+\LaTeX\ format since the 2014/05/01 \LaTeX\ release.
+
+
+As announced in \ltnewsissue{22}, the 2015 \LaTeX{} release adopts a new
+policy. Improvements and bug fixes will be made to the format sources,
+with the \Lpack{latexrelease} package being available to revert
+changes to use definitions from an earlier format.
+
+
+\section{Changes introduced in 2019-10-01}
+
+Introduced \LaTeX\texttt{-dev} formats for pre testing future \LaTeX{}
+releases. Now there's a \texttt{latex-base-dev} package on CTAN which
+contains a pre-release of the \LaTeXe{} kernel and both \TeX Live and
+MiK\TeX{} include the standard \LaTeX{} executables (\texttt{pdflatex},
+\texttt{lualatex}, etc.) with \texttt{-dev} appended, which use the
+pre-release format.
+
+The handling of Unicode characters was improved by making them safe
+inside \verb|\ref|s and \verb|\label|s, by using \verb|\ifincsname|
+to make these characters safe in these contexts (\ghissue{95}).
+
+In line with the better handling of Unicode characters, file names
+can now contain any Unicode character plus spaces, as these cases
+are now correctly handled by the kernel.
+
+An optional argument was added to the \texttt{filecontents} environment,
+to which a comma-separated list of options can be given. The options
+include \texttt{overwrite} (or \texttt{force}), \texttt{nosearch}, and
+\texttt{noheader} (which has the same effect as the starred form of the
+environment). The environment is now allowed anywhere in the document.
+
+A plethora of \LaTeX{} commands was made robust so that fewer
+\verb|\protect| are needed when using some commands in moving arguments.
+There are a few border cases where it's tricker to make the command
+robust or where it's not worth it to do so, but most reasonable use
+cases are covered. The most notable change was \verb|\begin| and
+\verb|\end|, which are now robust and won't break when used in moving
+arguments.
+
+An extra \verb|\hskip 1sp| was added to \verb|c|-column table cells to
+protect against the presence of an \verb|\unskip| in the table cell
+(\ghissue{102}).
+
+\texttt{U+012F} which is ``i with ogonek'' should produce an
+``i'' and not a ``dotless i''. This has been corrected
+(\ghissue{122}).
+
+The Unicode slots \texttt{27E8} and \texttt{27E9} have been mapped to
+\verb|textlangle| and \verb|textrangle| which is the recommended mapping
+(\ghissue{110}).
+
+Basic ligatures (ff, fi, fl, ffi, ffl, ft, st) can now be input as a
+single unicode character in pdf\TeX, which is useful when copy-pasting
+(\ghissue{154}).
+
+\verb|\InputIfFileExists{foo}{\input{bar}}{}|
+did not load the files \texttt{foo.tex} and \texttt{bar.tex} but
+would load \texttt{bar.tex} twice. This has been corrected (\ghissue{109}).
+
+The \textsf{fncylab} and \textsf{varioref} packages changed \LaTeX's internal
+counter prefix commands \verb|p@...| so that they would take the counter
+value as an argument instead of just acting as a prefix to them. These
+packages also provided the \verb|\labelformat| macro to change the prefix
+macro and \verb|\Ref| so that using counters defined that way in the
+beginning of sentences would have the proper capitalisation. These features
+were added to the \LaTeXe{} kernel.
+
+The kernel now says ``Trying to load\ldots''
+instead of ``Try loading \ldots'' in one of its informal
+messages to match style of similar messages (\ghissue{107}).
+
+\verb|\DeclareErrorFont| would change the font size to 10\,pt which, when
+used in the wrong place, would make incorrect font settings in the document.
+This has now been fixed (\gnatsissue{4399}).
+
+The default action of the file \texttt{nfssfont.tex} was set to produce a
+font table, so that one can simply hit enter instead of having to write
+\verb=\table\bye=.
+
+The \LaTeX{} kernel now provides dummy (empty) definitions for the
+commands \verb|\conditionally@traceoff| and
+\verb|\conditionally@traceon| from the \texttt{trace} package so they
+can be used by package developers without worrying about them being
+defined or not (\ghissue{164}).
+
+
+
+
+
+\section{Changes introduced in 2018-12-01}
+
+Further additions to the characters supported by default in UTF-8.
+The commands \verb|\guillemetleft| and \verb|\guillemetright| are
+provided as alias for the names based on the Adobe font names
+(\ghissue{65}).
+
+The use of potrusion in tables of contents is suppressed by default,
+see \sxquestion{172785}.
+
+The handling of visible space in verbation was adjusted for
+\ghissue{69} and \ghissue{70}.
+
+Spaces are removed from the argument passed to BiBTeX, \ghissue{88}.
+
+New commands \verb|\Hwithstroke| and \verb|\hwithstroke| added to T1 encoding support.
+
+The internal box structure for floats is adjusted to preserve box
+levels of split hyperlinks, avoiding a fatal pdftex error. \ghissue{94}.
+
+
+\section{Changes introduced in 2018-04-01 patch~5}
+Improved support for non ASCII filenames on the commandline on
+filesystems using legacy encodings.
+
+Adjusted the new package rollback code so that some edge cases where rollback
+can not be guaranteed become a warning not an error.
+
+\section{Changes introduced in 2018-04-01 patch~4}
+No changes to the format, but \texttt{docstrip} adjusted so that non-ASCII
+\texttt{.ins} files work with the new UTF-8 defaults.
+
+\section{Changes introduced in 2018-04-01 patch~3}
+Additional adjustments for GitHub issues \ghissue{34} and \ghissue{38}, adjustment to the
+location of some documentation files, such as \texttt{source2e.tex} to
+be installed in the documentation sources not the default \TeX\ input
+tree.
+
+
+\section{Changes introduced in 2018-04-01 patch~2}
+Additional adjustments for GitHub issues \ghissue{32} and \ghissue{33}.
+
+\section{Changes introduced in 2018-04-01 patch~1}
+Make \verb|\UseRawInputEncoding| and \Lpack{latexrelease} reset \verb|\inputencodingname|
+when disabling the UTF-8 input handling.
+
+\section{Changes introduced in 2018-04-01}
+Further details of changes at this release are given in \ltnewsissue{28}, but in brief
+the main changes are as listed below.
+
+The default encoding for files has been changed to UTF-8.
+
+A new possibility to refer to older versions of packages has been added.
+
+New commands previously available in \Lpack{remreset} and
+\Lpack{chngcntr} packages for controlling counters have been added.
+
+The definition of \verb|\@ifundefined| has been refined to use the e-\TeX \verb|\ifcsname|
+primitive when available, and to avoid defining the command being tested to be \verb|\relax|
+in the case that it was previously undefined.
+
+\section{Changes introduced in 2017-04-15}
+Optionally, \LaTeX{} format and package dates may use ISO style dates with
+\texttt{-} rather than \texttt{/}.
+
+For Unicode \TeX{}s, made further adjustments to the composite accent
+code in \texttt{tuenc.def}, and further updates tracking changes in
+Lua\TeX, now at 1.04.
+
+Previously defining an encoding-specific composite with an undeclared
+accent (or an accent declared later) gave no error, but did nothing useful.
+\LaTeX\ will now detect this and give the accent comamnd a default definition
+as an error, allowing the declared composite to work as intended.
+
+The definition of \verb|\-| is adjusted to match the comments in
+\gnatsissue{3855} to accomodate non standard settings of \verb|\hyphenchar|.
+
+In parboxes and similar settings, \verb|\lineskiplimit| is now
+reset (to the existing default value, \verb|\normallineskiplimit|).
+See \sxanswer{359934}.
+
+ The code for verb|\newpage| has been adjusted to add a test on the value of
+\verb|\prevdepth| so that the depth of the last line is preserved in
+forced page breaks.
+
+\section{Changes introduced in 2017/01/01 patch~3}
+Emergency patch to correct a typo in a change introduced in patch~2.
+
+\section{Changes introduced in 2017/01/01 patch~2}
+More adjustments for TU encoding, allowing for characters missing in
+common system fonts. Additional \texttt{fd} files
+for Latin Modern variants are included in the documented sources.
+
+\section{Changes introduced in 2017/01/01 patch~1}
+Fixes to TU encoding definitions for Lua\TeX\ and Xe\TeX.
+
+\section{Changes introduced in 2017/01/01}
+
+A new test is added during format making that e\TeX\ extensions are
+available. As noted in \LaTeX\ news, e\TeX\ will now be required to
+build \LaTeX.
+
+Further updates tracking changes for Lua\TeX~1.0.
+
+The definition of \verb|\showhyphens| is changed in formats built
+with Xe\TeX, as the original version, inherited from plain \TeX\ does
+not work with Xe-\TeX.
+
+Changes to the default encoding used by Lua\TeX\ and Xe\TeX\ formats to
+be TU (Unicode) rather than OT1 (7 bit legacy \TeX\ encoding).
+
+\section{Changes introduced in 2016/03/31 patch~3}
+Fixes to \verb|\newinsert| and \verb|\extrafloats|.
+
+\section{Changes introduced in 2016/03/31 patch~2}
+Adjustments to \verb|\c{g}| in OT1 encoding.
+
+\section{Changes introduced in 2016/03/31 patch~1}
+Adjust the upper limit for Character Class allocation in Xe-\TeX\ to
+4096 to match a change in Xe-\TeX.
+
+\section{Changes introduced in 2016/03/31}
+Modify picture mode as suggested in latex/4452 to avoid leaders of
+almost zero length.
+
+Modify the checks in \verb|\DeclareMathSymbol| and related commands
+so that they do not give errors with new Lua\TeX\ releases.
+
+\section{Changes introduced in 2016/02/01}
+Adjustments to Lua\TeX\ support to match changes to the Lua\TeX\ engine,
+and to the character class allocation in Xe\TeX.
+
+Load Unicode data from new generic \texttt{unicode-data} distribution.
+
+\section{Changes introduced in 2015/10/01 patch~2}
+
+This release fixes the behaviour of the allocation mechanism if the switch
+from the standard to extended pool takes place within a group.
+
+\section{Changes introduced in 2015/10/01 patch~1}
+This release allows \Lpack{latexrelease} to revert the
+Lua\TeX{}-specific
+changes, in particular fixing an incorrect date in part of the mechanism and
+adding a method to disable callback management entirely.
+
+\section{Changes introduced in \LaTeX\ 2015/10/01}
+
+\subsection{LuaTeX allocation}
+Almost all changes at this release relate to incorporating allocation macros for luatex into the format
+as done for etex and xetex in 2015/01/01. For details see |ltluatex.dtx| or \ltnewsissue{22}.
+|ltluatex.dtx| now forms a new chapter (N) in the documented sources, |source2e.tex|.
+
+
+\subsection{Increased number of floats}
+The default float list has been increased from 18 to 52 registers if
+e\TeX\ is available.
+The list can be increased further using |\extrafloats| however this
+default allocation uses classic registers below 256 so the registers are
+also available for |\newinsert| as described below.
+
+\subsection{Improved \texttt{\textbackslash newinsert}}
+The command |\newinsert| has been extended to take registers from the lists of free float
+registers once the classic register allocation is used up. This should make it highly unlikely
+to get ``no room'' errors on register allocation assuming the format is used with
+an e-\TeX\ based \TeX\ engine.
+
+\subsection{New accent, \texttt{\textbackslash textcommabelow} (pr/4414)}
+The command |\textcommabelow| has been added. This is mainly intended for Romanian letters
+\textcommabelow{S}\,\textcommabelow{s}\,\textcommabelow{T}\,\textcommabelow{t}.
+
+\subsection{Unicode 8}
+The file |unicode-letters.def| used to initialise character data in
+Unicode \TeX\ variants has been regenerated from data files updated
+to Unicode~8.
+
+\section{Changes introduced in 2015/01/01 patch~2}
+There were no changes to the format at this release, but the sources were fixed to fix bug latex/4434
+affecting bottom float positioning if the \Lpack{latexrelease} package was used.
+
+\section{Changes introduced in 2015/01/01 patch~1}
+This release re-introduces the ``Patch Level'' scheme for identifying
+releases between main ``dated'' releases. Early \LaTeXe\ releases
+included a mechanism whereby updates could be provided by a
+\emph{patch
+ file}. This was mainly intended to allow updates to be made without
+downloading the full sources again, which was an important
+consideration with download speeds and costs at the time.
+
+The new mechanism incorporates any changes directly into the sources,
+but having the patch level identified in the banner allows the
+\LaTeX\ release to be identified, even if (as in this case) most of the
+changes do not affect the format but affect other base packages such
+as \Lpack{latexrelease} and \Lpack{inputenc}. The patch level is shown
+in the banner at the start of the job, but does not affect the date
+handling of the |\IncludeInRelease| mechanism.
+
+Apart from re-arranging the version banner, the only change in the
+format is that |\newtoks| was accidentally defined twice, using the
+old and new allocation scheme described in Section \ref{e@alloc}.
+The old definition is now only in the \Lpack{latexrelease} package,
+for use when emulating old formats.
+
+
+
+
+\section
+[Changes between \LaTeX\ releases 2014/05/01 and 2015/01/01]
+{Changes between \LaTeX\ releases 2014/05/01 and 2015/01/01\footnote{Much of this text
+is taken from \Lpack{fixltx2e} package which was formerly used to make such changes available separately.}}
+
+\subsection{Support for \LaTeX\ version changes}
+\DescribeMacro{\includeInRelease}\arg{date}\oarg{date}\arg{label}\arg{message}\arg{code}
+
+\smallskip
+
+The |\includeInRelease| command has been added to support backward and
+forward compatibility for the \LaTeX\ format. It supports the
+declaration of conditional code that can be loaded based on options
+given to the \Lpack{latexrelease} package. Its use is described in
+detail in the \Lpack{latexrelease} package documentation.
+
+\subsection{New Allocation Code\label{e@alloc}}
+Previously |\newcount| and related commands were based on classic TeX
+and only allocated in the range 0--255. This was extended (in
+different ways) for e-\TeX\ in the |etex| package and in the
+|xelatex.ini| and |lualatex.ini| files used in those formats. Related
+to this the number of boxes allocated to store floats was
+limited. This was extended to a certain extent in the |morefloats|
+package (by Don Hosek and H.-Martin Muench) but the new allocation
+incorporates float allocation directly and supports much larger float
+lists using the extended registers.
+
+The new code allocates registers in the full extended range (
+$2^{15}-1$ for etex and xelatex, $2^{16}-1$ for lualatex.
+In addition a new command |\extrafloats| is provided.
+
+\DescribeMacro{\extrafloats}\arg{number}
+\smallskip
+
+This allocates additional registers for the \LaTeX\ float system to
+hold figures and tables etc. Similar functionality has been
+available via the \Lpack{morefloats} package but this is a different
+implementation using extended e-\TeX\ registers when available so
+allows many more registers to be reserved for floats as they are
+allocated from a pool of 32 or 64 thousand rather than 256 registers,
+depending on the engine in use.
+
+\DescribeMacro{\newmarks}\arg{command}
+\smallskip
+
+e-\TeX\ only, previously available via the \Lpack{etex} package.
+Allocates commands to use the extended e-\TeX\ mark mechanism.
+
+\DescribeMacro{\newXeTeXintercharclass}\arg{command}
+\smallskip
+
+Xe-\TeX\ only, previously in the Xe-\LaTeX\ format, but added via
+|xelatex.ini| not part of the core release.
+Allocates commands to use the Xe-\TeX\ character class mechanism.
+
+
+\subsection{e-\TeX\ tracing if available}
+|\loggingall| (Usually used via |\tracingall|) is extended to enable
+additional e-\TeX\ tracing if e-\TeX\ is available. (|\tracingall|
+extension has been available as part of the |etex| package previously).
+
+Also based on code from the |etex| package, a command |\tracingnone|
+is added to reverse the effects of |\tracingall| and turn off all primitive
+\TeX\ tracing. A new command |\hideoutput| has been added which resets the
+tracing parameters set by |\showoutput|.
+
+
+
+
+\subsection{\texttt{\textbackslash textsubscript} not defined in
+ latex.ltx (pr/3492)}
+
+\begin{verbatim}
+>>Number: 3492
+>>Category: latex
+>>Synopsis: \textsubscript not defined in latex.ltx
+>>Arrival-Date: Tue Jan 14 23:01:00 CET 2003
+>>Originator: Ionel Mugurel Ciobica
+
+I use \textsubscript much more often than \textsuperscript, and
+\textsubscript it is not defined in latex.ltx. Could you please
+consider including the definition of \textsubscript in the latex.ltx
+for the next versions of LaTeX. Thank you.
+\end{verbatim}
+
+\subsection{\texttt{\textbackslash @} discards spaces when moving
+ (pr/3039)}
+
+\begin{verbatim}
+>>Number: 3039
+>>Category: latex
+>>Synopsis: \@ discards spaces when moving
+>>Arrival-Date: Sat May 22 09:01:06 1999
+>>Originator: Donald Arseneau
+>>Description:
+The \@ command expands to \spacefactor\@m in auxiliary files,
+which then ignores following spaces when it is reprocessed.
+\end{verbatim}
+
+\subsection{1-col fig can come before earlier 2-col fig
+ (pr/2346)}
+
+\begin{verbatim}
+>>Number: 2346
+>>Category: latex
+>>Synopsis: 2-col: 1-col fig can come before earlier 2-col fig
+>>Arrival-Date: Wed Dec 18 15:41:07 1996
+>>Originator: bil kleb
+>>Description:
+as documented in Lamport's book, p. 198, concerning figure
+placement, "a figure will not be printed before an earlier
+figure, and a table will not be printed before an earlier
+table." however, there is a footnote stating, "However,
+in two-column page style, a single-column figure can come before
+an earlier double-column figure, and vice versa."
+
+This twocolumn behavior is undesirable---at least by me and
+most professional organizations i publish in. ed snyzter developed
+a hack fix for 2.09 several years ago which links the two
+counters, but i have not run across a similar "fix" for 2e...
+\end{verbatim}
+
+Originally fixed in package \Lpack{fix2col} which was merged into
+this package. Documentation and code from this package have been
+merged into this file.
+
+\subsubsection{Notes on the Implementation Strategy}
+
+The standard output routine maintains two lists of floats that have
+been `deferred' for later consideration. One list for single column
+floats, and one for double column floats (which are always
+immediately put onto their deferred list). This mechanism means
+that \LaTeX\ `knows' which type of float is contained in each box
+by the list that it is processing, but having two lists means
+that there is no mechanism for preserving the order between the
+floats in each list.
+
+The solution to this problem consists of two small changes to
+the output routine.
+
+Firstly, abandon the `double column float list' |\@dbldeferlist|
+and change every command where it is used so that instead the
+same |\@deferlist| is used as for single column floats.
+That one change ensures that double and single column floats
+stay in the same sequence, but as \LaTeX\ no longer `knows'
+whether a float is double or single column, it will happily
+insert a double float into a single column, overprinting the
+other column, or the margin.
+
+The second change is to provide an alternative mechanism for
+recording the two column floats. \LaTeX\ already has a compact
+mechanism for recording float information, an integer count register
+assigned to each float records information about the `type' of float
+`figure', `table' and the position information `htp' etc.
+
+The type information is stored in the `high' bits, one bit position
+(above `32') allocated to each float type. The `low' bits store
+information about the allowed positions, one bit each allocated for
+|h t b p|. In the \LaTeX2.09 system, the bit corresponding to `16'
+formed a `boundary' between these two sets of information, and it
+was never actually used by the system. Ed Sznyter's
+\Lpack{fixfloats} package not unreasonably used this position to
+store the double column information, setting the bit for double
+column floats. Then at each point in the output routine at which a
+float is committed to a certain region, an additional check must be
+made to check that the float is (or is not) double column. If it
+spans the wrong number of columns it is deferred rather than being
+added.
+
+Unfortunately the bit `16' is not available in \LaTeXe. It is used
+to encode the extra float position possibility `|!|' that was added
+in that system. It would be possible to use position `32' and to
+move the flags for `table', `figure',\ldots\ up one position, to
+start at 64, but this would mean that in principle one less float
+type would be supported, and more importantly is likely to break
+any other packages that assume anything about the output routine
+internals. So here I instead use another mechanism for flagging
+double column floats: By default all floats have depth 0pt.
+This package arranges that double column ones have depth 1sp.
+This information may then be used in the same manner as in
+the \Lpack{fixfloats} package, to defer any floats that are not of
+the correct column spanning type.
+
+
+
+\subsection{Infinite glue found (pr/4023 and pr/2346)}
+
+The fix for pr/2346 did not work as intended when used in conjunction
+with |\enlargethispage| as the latter introduced an infinite negative
+glue at the bottom of the page. That in turn make a |\vsplit|
+operation to get at the column marks invalid.
+
+\subsection{Wrong header for twocolumn (pr/2613)}
+
+\begin{verbatim}
+>>Number: 2613
+>>Category: latex
+>>Synopsis: wrong headline for twocolumn
+>>Arrival-Date: Mon Sep 22 16:41:09 1997
+>>Originator: Daniel Reischert
+>>Description:
+When setting the document in two columns
+the headline shows the top mark of the second column,
+but it should show the top mark of the first column.
+\end{verbatim}
+
+Originally fixed in package \Lpack{fix2col} which was merged into
+this package. Documentation and code from this package have been
+merged into this file.
+
+\subsubsection{Notes on the Implementation Strategy}
+
+The standard \LaTeX\ twocolumn system works internally by making
+each column a separate `page' that is passed independently to \TeX's
+page breaker. (Unlike say the \Lpack{multicol} package, where all
+columns are gathered together and then split into columns later,
+using |\vsplit|.) This means that the primitive \TeX\ marks that are
+normally used for header information, are globally reset after the
+first column. By default \LaTeX\ does nothing about this.
+A good solution is provided by Piet van Oostrum (building on earlier
+work of Joe Pallas) in his \Lpack{fixmarks} package.
+
+After the first column box has been collected the mark information
+for that box is saved, so that any |\firstmark| can be
+`artificially' used to set the page-level marks after the second
+column has been collected. (The second column |\firstmark| is not
+normally required.) Unfortunately \TeX\ does not provide a direct
+way of knowing if any marks are in the page, |\firstmark| always has a
+value from previous pages, even if there is no mark in this page.
+The solution is to make a copy of the box and then |\vsplit| it
+so that any marks show up as |\splitfirstmark|.
+
+The use of |\vsplit| does mean that the output routine will globally
+change the value of |\splitfirstmark| and
+|\splitbotmark|. The \Lpack{fixmarks} package goes to some trouble
+to save and restore these values so that the output routine does
+\emph{not} change the values. This part of \Lpack{fixmarks} is not
+copied here as it is quite costly (having to be run on every page) and
+there is no reason why anyone writing code using |\vsplit| should
+allow the output routine to be triggered before the split marks have
+been accessed.
+
+
+
+\subsection{\texttt{\textbackslash setlength} produces error if
+ used with registers like \texttt{\textbackslash dimen0} (pr/3066)}
+
+\begin{verbatim}
+>>Number: 3066
+>>Category: latex
+>>Synopsis: \setlength{\dimen0}{10pt}
+>>Arrival-Date: Tue Jul 6 15:01:06 1999
+>>Originator: Heiko Oberdiek
+>>Description:
+The current implementation of \setlength causes an error,
+because the length specification isn't terminated properly.
+More safe:
+\def\setlength#1#2{#1=#2\relax}
+\end{verbatim}
+
+\subsection{Fewer fragile commands}
+
+\begin{verbatim}
+>>Number: 3816
+>>Category: latex
+>>Synopsis: Argument of \@sect has an extra }.
+>>Arrival-Date: Sat Oct 22 23:11:01 +0200 2005
+>>Originator: Susanne Wunsch
+
+Use of a \raisebox in \section{} produces the error message
+mentioned in the subject.
+
+PR latex/1738 described a similar problem, which has been solved
+10 years ago. Protecting the \raisebox with \protect solved my
+problem as well, but wouldn't it make sense to have a similar fix
+as in the PR?
+
+It is particularly confusing, that an unprotected \raisebox in a
+\section*-environment works fine, while in a \section-environment
+produces error.
+\end{verbatim}
+
+While not technically a bug, in this day and age there are few
+reasons why commands taking optional arguments should not be robust.
+
+\subsubsection{Notes on the implementation strategy}
+
+Rather than changing the kernel macros to be robust, we have decided
+to add the macro \DescribeMacro{\MakeRobust}|\MakeRobust| in
+\Lpack{fixltx2e} so that users can easily turn fragile macros into
+robust ones. A macro |\foo| is made robust by doing the simple
+|\MakeRobust{\foo}|. \Lpack{fixltx2e} makes the following kernel
+macros robust: |\(|, |\)|, |\[|, |\]|,
+ |\makebox|, |\savebox|,
+|\framebox|, |\parbox|, |\rule| and |\raisebox|.
+
+\ldots TODO \ldots fleqn vesion of |\[\]|
+
+\subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom (pr/3073)}
+
+\begin{verbatim}
+>>Number: 3073
+>>Category: latex
+>>Synopsis: \addpenalty ruins flush-bottom
+>>Arrival-Date: Sat Jul 17 05:11:05 1999
+>>Originator: Donald Arseneau
+>>Description:
+Just to keep in mind for further development eh?
+A page break at an \addpenalty after \vspace does *not*
+give a flush-bottom page. (The intent of \addpenalty is
+apparently just to preserve the flush bottom by putting
+the breakpoint `above' the skip.)
+\end{verbatim}
+
+\subsection{Within counters only reset next level down (pr4393)}
+
+This is actually implicitly documented behavior in the \LaTeX{}
+Manual that states that |\stepcounter| resets all counters marked
+``within''. However it means that if, for example, theorems are
+numbered within sections and you start a new chapter in a book, the
+section counter is reset to zero but the theorem counter is not
+until the first section appears. Thus a theorem directly within the
+chapter body (without a new section) would show an incremented
+number relative to the last theorem of the previous chapter.
+
+
+For this reason we are now resetting all levels of within in one go
+even if that means that some of these resets may happen several times
+unnecessarily.
+
+
+\subsection{Check the optional arguments of floats}
+
+By default LaTeX silently ignores unknown letters in the optional
+arguments of floats. |\begin{figure}[tB]| the |B| is ignored so it
+acts like |\begin{figure}[t]| However |\begin{figure}[B]| does
+\emph{not} act like |\begin{figure}[]| as the check for an empty
+argument, or unsupplied argument, is earlier. |[]| causes the
+default float placement to be used, but |[B]| means that \emph{no}
+float area is allowed and so the float will not be placed until the
+next |\clearpage| or end of document, no warning is given.
+
+This package adds a check on each letter, and if it not one of
+|!tbhp| then an error is given and the code acts as if |p| had been
+used, so that the float may be placed somewhere.
+
+\subsection{\texttt{\textbackslash DeclareMathSizes} only take pts.
+ (pr/3693)}
+
+\begin{verbatim}
+>>Number: 3693
+>>Category: latex
+>>Synopsis: \DeclareMathSizes only take pts.
+>>Arrival-Date: Fri Jun 11 16:21:00 CEST 2004
+>>Originator: Morten Hoegholm
+
+The last three arguments of \@DeclareMathSizes cannot take a dimension
+as argument, making it inconsistent with the rest of the font changing
+commands and itself, as the second argument can take a dimension
+specification.
+\end{verbatim}
+
+\subsection{No hyphenation in first word after float environment (pr/3498)}
+
+\begin{verbatim}
+>>Number: 3498
+>>Category: latex
+>>Synopsis: No hyphenation in first word after float environment
+>>Arrival-Date: Thu Jan 30 13:21:00 CET 2003
+>>Originator: Harald Harders
+
+If a float environment (figure, table) is written within a paragraph,
+the first word after the environment is not hyphenated.
+\end{verbatim}
+
+\subsection{\texttt{\textbackslash fnsymbol} should use text symbols
+ (pr/3400)}
+
+\begin{verbatim}
+>>Number: 3400
+>>Category: latex
+>>Synopsis: \fnsymbol should use text symbols if possible
+>>Arrival-Date: Fri Jan 04 20:41:00 CET 2002
+>>Originator: Walter Schmidt
+
+The \fnsymbol command can be used in both text and math
+mode. The symbols produced are, however, always taken from
+the math fonts. As a result, they may not match the text
+fonts, even if the symbols are actually available, for
+instance from the TS1 encoding. Since \fnsymbol is
+primarily used for footnotes in text, this should be fixed,
+IMO.
+\end{verbatim}
+
+
+
+
+
+\subsection{\texttt{\textbackslash footnotemark}[x] crashes with fixltx2e.sty
+ (pr/3752)}
+
+\begin{verbatim}
+>>Number: 3752
+>>Category: tools
+>>Synopsis: feature \footnotemark[x] crashes with fixltx2e.sty
+>>Arrival-Date: Fri Dec 17 10:11:00 +0100 2004
+>>Originator: Stefan Pofahl
+
+ If I use /fnsymbol together with fixltx2e.sty I can not use
+ optional parameter [num]
+ \footnotemark[1] is not showing the mark number 1 but
+ the mark \value{footnote}.
+\end{verbatim}
+This bug was related to pr/3400, where |\@fnsymbol| was made robust.
+
+\subsubsection{Notes on the implementation strategy}
+
+Pr/3400 made |\@fnsymbol| decide between text-mode and math-mode,
+which requires a certain level of robustness somewhere as the
+decision between text and math must be made at typesetting time and
+not when inside |\protected@edef| or similar commands. One way of
+dealing with this is to make sure the value seen by |\@fnsymbol| is
+a fully expanded number, which could be handled by code such as
+\begin{verbatim}
+\def\fnsymbol#1{\expandafter\@fnsymbol
+ \expandafter{\the\csname c@#1\endcsname}}
+\end{verbatim}
+This would be a good solution if everybody used the high level
+commands only by writing code like |\fnsymbol{footnote}|. Unfortunately
+many classes (including the standard classes) and packages use the
+internal forms directly as in |\@fnsymbol\c@footnote| so the easy
+solution of changing |\fnsymbol| would break code that had worked for
+the past 20~years.
+
+Therefore the implementation here makes |\@fnsymbol| itself a
+non-robust command again and instead uses a new robust command
+\DescribeMacro{\TextOrMath}|\TextOrMath|, which will take care of
+typesetting either the math or the text symbol. In order to do so,
+we face an age old problem and unsolvable problem in \TeX: A
+reliable test for math mode that doesn't destroy
+kerning. Fortunately this problem can be solved when using e\TeX\ so
+if you use this as engine for your \LaTeX\ format, as recommended by
+the \LaTeX3 Project, you will get a fully functioning |\TextOrMath|
+command with no side effects. If you use regular \TeX\ as engine for
+your \LaTeX\ format then we have to choose between the lesser of two
+evils: 1)~breaking ligatures and preventing kerning or 2)~face the
+risk of choosing text-mode at the beginning of an alignment cell,
+which was supposed to be math-mode. We have decided upon 1) as is
+customary for regular robust commands in \LaTeX.
+
+
+
+\end{document}
diff --git a/macros/latex/base/latexrelease.dtx b/macros/latex/base/latexrelease.dtx
index 02194cee11..cfb1bff8aa 100644
--- a/macros/latex/base/latexrelease.dtx
+++ b/macros/latex/base/latexrelease.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/latexrelease.ins b/macros/latex/base/latexrelease.ins
index 1ddcfc4c29..9358692a91 100644
--- a/macros/latex/base/latexrelease.ins
+++ b/macros/latex/base/latexrelease.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2018
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2018
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/latexrelease.pdf b/macros/latex/base/latexrelease.pdf
index 521b2159c4..59546c3723 100644
--- a/macros/latex/base/latexrelease.pdf
+++ b/macros/latex/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex/base/latexsym.dtx b/macros/latex/base/latexsym.dtx
index 58e88d6364..52b12e0c36 100644
--- a/macros/latex/base/latexsym.dtx
+++ b/macros/latex/base/latexsym.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -31,7 +31,7 @@
% \iffalse % this is a METACOMMENT !
%
% File `latexsym.dtx'.
-% Copyright 1994-1998 by Frank Mittelbach. All rights reserved.
+% Copyright (C) 1994-2019 by Frank Mittelbach. All rights reserved.
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{latexsym}
diff --git a/macros/latex/base/latexsym.ins b/macros/latex/base/latexsym.ins
index 031e1d4062..7b42cf9132 100644
--- a/macros/latex/base/latexsym.ins
+++ b/macros/latex/base/latexsym.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
@@ -87,7 +87,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -100,7 +100,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/latexsym.pdf b/macros/latex/base/latexsym.pdf
index 5ac1cd5435..1c2af30f49 100644
--- a/macros/latex/base/latexsym.pdf
+++ b/macros/latex/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex/base/lb2.err b/macros/latex/base/lb2.err
deleted file mode 100644
index fa8694c5e2..0000000000
--- a/macros/latex/base/lb2.err
+++ /dev/null
@@ -1,1622 +0,0 @@
-\newcommand\erratafiledate{2014-09-30}
-
-\def\comando#1{\texttt{\string#1}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% To produce a printed version of this errata file run this file through
-% LaTeX. It will unpack a small class file (if not already present) and
-% a configuration file with the extension .cfg. You might want to modify
-% the setting in this configuration file to print only a partial errata
-% suitable for your printed revision of this book, see details in the
-% .cfg file.
-%
-% The current version of this file can be found at:
-%
-% https://www.latex-project.org/guides/books.html
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\begin{filecontents}{ttcterrata.cls}
-%%
-%% Copyright (C) 1997,2004,2005,2007, 2014 Frank Mittelbach
-%% This class file is licenced under LPPL latest version;
-%% see https://www.latex-project.org/lppl
-%
-%
-% It sets up a few commands used to format the errata entries for books in the
-% Addison-Wesley Series:
-%
-% Tools and Techniques for Computer Typesetting
-%
-% hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books.
-%
-% Changes:
-%
-% v1.0a - changed name from errata.cls to ttcterrata.cls
-
-\ProvidesClass{ttcterrata}
- [2007/11/10 v1.0a Mini class for errata files; subject to change (FMi)]
-
-\LoadClass{article}
-
-\setcounter{secnumdepth}{-1}
-\addtolength\textwidth{5cm}
-\addtolength\oddsidemargin{-3cm}
-
-\addtolength\textheight{36pt}
-
-\RequirePackage{shortvrb}
-\MakeShortVerb{\|}
-
-\RequirePackage{array,longtable}
-\RequirePackage{multicol}
-
-
-\newcommand\erratagetnumber{}
-\def\erratagetnumber#1/#2/#3\erratagetnumber{#1#2#3}
-
-
-\newcommand\gobbleerrata{%
- \setbox\@tempboxa\vbox\bgroup
- \let\endgobble\egroup
- \let\hideamp\relax
- \let\\\relax\let\par\@@par}
-
-\newcommand*\hideamp{&}
-
-\let\endgobble\relax
-
-
-\newcommand\erratastartdate{}
-\newcommand\myprinting{1}
-
-
-\newcommand\doweprint[2]{%
- \ifnum \myprinting < \if!#2!1000 \else \ifx s#2 1000\else#2 \fi\fi
- \ifnum \expandafter\erratagetnumber\erratastartdate\erratagetnumber <
- \erratagetnumber#1\erratagetnumber \relax
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \else
- \@tempswafalse
- \fi
-}
-
-
-
-\newcommand\includedentries{entries after = \erratastartdate}
-\newcommand\printedentries{between \erratastartdate\space and}
-
-\newcommand\showallerrors{%
- \renewcommand\includedentries{all errata entries}%
- \renewcommand\printedentries{up to}
- \renewcommand\doweprint[2]{\@tempswatrue}}
-
-
-\newcommand\displayrevisionfix[2]{%
- \if!#2!\textbf{#1}\else\textit{#1}\rlap{\textsuperscript{#2}}\fi}
-
-\newcommand\norevisionnumbers{%
- \renewcommand\displayrevisionfix[2]{\textbf{##1}}}
-
-\IfFileExists{\jobname.cfg}
- {
- \input{\jobname.cfg}
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* Configuration file for \jobname.err found }
- \typeout{*}
- \typeout{***************************************************}
- \AtEndDocument{
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* If you wish to generate an errata listing}
- \typeout{* containing only errors found after a certain revision}
- \typeout{* and/or only errors found after a certain date}
- \typeout{* modify the information stored in \jobname.cfg}
- \typeout{*}
- \typeout{* Current settings are:}
- \typeout{*}
- \typeout{* \@spaces printing of your book = \myprinting}
- \typeout{* \@spaces include \includedentries}
- \typeout{*}
- \typeout{***************************************************}
- }}
- {}
-
-%% \erroronpage <page> <line info> <contributor> <date> <fixed in revision>
-
-\newcommand\erroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\seriouserroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
-
-\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
- {\endgobble\end{longtable}}
-
-\newcommand\erratatitle[2]
- {\begin{center}\LARGE\bfseries
- Errata list for #1\\[5pt](\myprinting.\ printing)\\[10pt]
- \small Includes all entries found \printedentries\space #2\\
- (For other periods/print runs reprocess this document
- with different config settings)
- \end{center}%
- \markright{Errata for #1 (\printedentries\space #2)}%
- \thispagestyle{plain}%
- \vspace{20pt}}
-
-\pagestyle{myheadings}
-
-\AtBeginDocument{\small}
-
-\setlength\parindent{0pt}
-\setlength\parskip{2pt}
-
-\newcommand\contributor[2]{\makebox[1cm][l]{\sffamily#1} #2\par}
-
-% some special shortcuts overwriting existing commands:
-
-\let\u\underline
-\renewcommand\>{$\to$}
-
-%%% some code suggested by Thorsten Hansen to count the number of
-%%% contributions by individuals (will work only if we do not get
-%%% too many :-)
-
-\def\count@contributors#1/#2/#3\@nil{
- \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
-%%% also count secondary:
-%%% \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
-}
-
-\renewcommand\erroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\seriouserroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\contributor[2]{\makebox[1cm][l]{%
- \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
-
-\end{filecontents}
-
-
-\begin{filecontents}{\jobname.cfg}
-%
-%
-% Configuration file for the errata listing of
-%
-% Der LaTeX-Begleiter 2 Auflage
-%
-%
-% \erratastartdate
-%
-% Specifies the date from which on errata entries should be listed.
-%
-% The format is YYYY/MM/DD.
-%
-% The default below ensures that all entries for a particular
-% printing are typeset.
-%
-
-\renewcommand\erratastartdate{2005/09/01}
-
-
-%
-% \myprinting
-%
-% Specifies which (revised) printing you own. For example, if you
-% have the second printing set this to 2 so that errors already
-% corrected in that printing will not appear in your errata
-% listing.
-%
-% The default below ensures that all entries relevant to the second
-% printing are typeset.
-%
-%
-
-\renewcommand\myprinting{2}
-
-%
-% \norevisionnumbers
-%
-% Specifies that all page numbers in the errata are shown in the same
-% format (bold face) irregardless of whether or not they are fixed
-% in some revision. The default is to print corrected errors in
-% italic and add the revision number as a superscript.
-
-%
-% \showallerrors
-%
-% With this command you tell the program that all errata entries are
-% supposed to be generated. This makes \myprinting and
-% \erratastartdate basically obsolete so this isn't turned on by
-% default.
-%
-%
-\endinput
-\end{filecontents}
-
-
-\documentclass{ttcterrata}[2005/11/10] % we want new class
-
-\usepackage[T1]{fontenc}
-\let\u\underline % shortcut for this file
-
-\newcommand\meta[1]{$\langle$\textit{#1\/}$\rangle$}
-\newcommand\BibTeX{\textsc{Bib}\TeX}
-
-
-\usepackage{textcomp}
-
-\usepackage{url}
-
-\usepackage[ngerman]{babel}
-\usepackage[utf8]{inputenc}
-
-
-\renewcommand\erratatitle[2]
- {\begin{center}\LARGE\bfseries
- Errataliste f\"ur #1\\[5pt](\myprinting.\ Druck)\\[10pt]
- \small Enth\"alt alle Eintr\"age die \printedentries\space #2
- gemeldet wurden \\
- (F\"ur andere Zeitr\"aume/Druckausgaben \"andert man die \texttt{.cfg}
- Datei und formatiert erneut.)
- \end{center}%
- \markright{Errata für #1 (\printedentries\space #2)}%
- \thispagestyle{plain}%
- \vspace{20pt}}
-
-\renewcommand\printedentries{zwischen \erratastartdate\space und}
-
-
-
-\begin{document}
-
-\erratatitle{Der \LaTeX{}-Begleiter, zweite Auf\/lage}{\erratafiledate}
-
-
-\vspace*{-\baselineskip}
-
-Hardcover-Ausgabe:
-\begin{verbatim}
-@book(Pearson:MG05,
- author = {Frank Mittelbach and Michel Goossens},
- title = {Der {\LaTeX}-Begleiter}, edition = 2,
- note = {Unter Mitarbeit von Johannes Braams, David Carlisle, und Chris Rowley},
- publisher = {Pearson Studium}, address = {M\"unchen}, year = 2005,
- pagenums = {1180}, bibliography = {yes}, index = {yes},
- isbn = {3-8273-7166-X},
-)
-\end{verbatim}
-Bafög-Ausgabe (Softcover) die inhaltlich identisch ist:
-\begin{verbatim}
-@book(Pearson:MG10,
- author = {Frank Mittelbach and Michel Goossens},
- title = {Der {\LaTeX}-Begleiter Baf\"og-Ausgabe}, edition = 2,
- note = {Unter Mitarbeit von Johannes Braams, David Carlisle, und Chris Rowley},
- publisher = {Pearson Studium}, address = {M\"unchen}, year = 2010,
- pagenums = {1180}, bibliography = {yes}, index = {yes},
- isbn = {3-8689-4088-X},
-)
-\end{verbatim}
-
-
-\begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{3cm}}
-\item[]
-
-Diese Errata-Datei (\texttt{\jobname.err}) ist Teil der
-\LaTeX-Distribution und die neuste Version findet man auf der \LaTeX{}
-Project Webseite unter
-\url{https://www.latex-project.org/help/books/}\texttt{\jobname.err}. Dort
-findet man auch einige Abschnitte des Buches als PDF-Dateien.
-
-Die erste Spalte der Tabelle zeigt die Seitennummer des
-Errataeintrags. Hochgestellte Ziffern in der ersten Spalte verweisen
-auf den Nachdruck, in dem der beschriebene Fehler korrigiert wurde
-(ein \textit{s} zeigt, an, dass das Problem bisher nur in den
-"`S"'ourcen korrigiert wurde). Die zweite Spalte beschreibt die genaue
-Position (negative Zeilen- oder Absatznummern werden vom Fuß der Seite
-gezählt). Die dritte Spalte zeigt die Initialen der Person die den
-Fehler zuerst aufgespürt/gemeldet hat.
-
-
-Mithilfe der Konfigurationsdatei \texttt{\jobname.cfg} ist es möglich die
-Liste so anzupassen, dass nur Errataeinträge ab einem
-speziellen Nachdruck oder ab einem gewünschten Datum angezeigt werden.
-
-
-\begin{center}
- \Large \bfseries Irren ist menschlich -- Fehlerwettbewerb
-\end{center}
-
-
-Jeder gefundene und mitgeteilte Fehler ist ein Gewinn für alle Leser
-und Käufer unseres Buches. Aus diesem Grund schreiben wir, Pearson
-Studium und die Autoren, einen Preis aus -- halbjährlich, später (mehr)jährlich -- den
-die Person erhält, die die meisten Fehler innerhalb dieser Zeit findet
-(im Falle einer Überschneidung wird das Los zwischen den "`besten"'
-Fehlersuchern entscheiden). Eine Person kann nur einmal einen Preis
-bekommen; Fehler die durch die Autoren gefunden werden, zählen nicht.
-\begin{center}
-Ihr Preis: Ein Lehrbuch Ihrer Wahl!
-\end{center}
-Auswählen können Sie dieses unter \url{http://www.pearson-studium.de}.
-(Bundles und mehrbändige Bücher sind davon ausgenommen).
-
-Wie üblich behalten sich die Autoren und der Verlag das Recht vor,
-selbst zu entscheiden ob ein Fehler tatsächlich als Fehler anzusehen
-ist oder ob ein wiederholt vorkommender Fehler als ein oder mehrere Fehler
-gezählt wird.
-
-- Viel Erfolg -
-
-\begin{center}
-\begin{tabular}{clr@{ Eingaben}}
-Ende der Wettbewerbsperiode & Gewinner \\[4pt]
-2006/04 & Jens Mandavid & 121 \\
-2006/10 & Ralf Heckmann & 61 \\
-2008/04 & --- \\
-\ldots & Termin einer weiteren Verlosung offen
-%2008/10 & \\
-\end{tabular}
-\end{center}
-\end{list}
-
-\newpage
-
-
-%<--------------------------
-
-\begin{erratalist}
-
-\CHAPTER{Allgemein}
-
-\iffalse
-\seriouserroronpage{general}{}{FMi}{2004/06/12}{}
-
- To help you in assessing this errata document we have placed
- exclamation marks in front of each entry that we consider essential
- for correctly understanding the book contents.
- \fi
-
-\erroronpage{}{}{RHe}{2006/06/10}{}
- Einzelne Teile mehrgliedriger Abkürzungen werden im deutschsprachigen
- Satz normalerweise durch einen kleinen Zwischenraum (Spatium) getrennt; nur in
- englischsprachigen Texten wird zwischen den Abkürzungsteilen kein
- Zwischenraum gesetzt.
- Beispiele: z.\,B., u.\,a.\ anstatt z.B., u.a.
-
- Dies wird im Buch \emph{vermutlich} nicht korrigiert werden.
-
-
-\CHAPTER{Titelei}
-
-
-\erroronpage{iii}{bottom}{MHo}{2005/10/10}{2}
-LB2 mentions the fabled city of ``San Franciso'' which of course
-should be ``Francis\u{c}o''.
-
-\CHAPTER{Kapitel 1}
-
-\erroronpage{3}{Abs.4, Z.4}{JMa}{2005/12/26}{2}
- Ersetze: (NFSS) \> (\textsf{NFSS})
-
-\erroronpage{15}{Abs.5, Z.2}{ESt}{2006/03/11}{2}
- \texttt{info/examples/lb2} wird nicht gefunden. Kein wirklicher Fehler im
- Buch, sondern ein Versehen auf CTAN.
-
-
-\CHAPTER{Kapitel 2}
-
-\erroronpage{24}{Abs.1, Z.1}{MLi}{2013/07/12}{}
- Das Kommando lautet \verb=\AskOption= (ohne ``s'')
-
-\erroronpage{26}{Abs.-3, Z.4}{JMa}{2006/01/03}{2}
- Zur schließenden Klammer in Zeile 5 gibt es keine öffnende; es sollte wohl
-heißen: (zum Beispiel \ldots{}
-
-\erroronpage{29}{Abs. nach 2-2-3, Z.7}{JMa}{2006/01/03}{2}
- Es muss ``mit unterschiedliche\u{n} Definitionen'' heißen.
-
-\erroronpage{31}{Abs.3, Z.3}{FMi}{2006/02/28}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{33}{Abs.2, Z.-2}{FMi}{2006/02/28}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{37}{Abs.1, Z.1}{JMa}{2006/01/03}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{39}{Abs.3, Z.4 und Z.7}{JMa}{2006/01/03}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{42}{Absatz \textit{rechts}, Z.2}{JMa}{2006/01/03}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{56}{Abs.3, Z.3}{JMa}{2006/01/03}{2}
-Hier fehlt ein Buchstabe: ``Das Beispiel zeigt, das\u{s} es
-wahrscheinlich''.
-
-\erroronpage{59}{2.3.6 Abs.\ 4, Z.\ 1}{RHe}{2006/06/10}{2}
- Füge Komma ein: "`Um das \textsf{minitoc}-System zu initialisieren,
-muss ein \dots{}"'
-
-\erroronpage{60}{Tab.2.3, rechte Spalte, Z.1}{JMa}{2006/01/03}{2}
-Hier fehlt zu einer schließenden Klammer die öffnende.
-
-\erroronpage{61}{Abs.3, Z.-1}{JMa}{2006/01/03}{2}
-\LaTeX-Trennfehler: Kapitel-eintr"age statt Kapite-leintr"age.
-
-\erroronpage{64}{Abs.3, Z.-2}{JMa}{2006/01/03}{2}
-\LaTeX-Trennfehler: Abschnitts-eintrag statt Abschnitt-seintrag.
-
-\erroronpage{65}{Abs.1, Z.1-2}{JMa}{2006/01/03}{2}
-Es muss ``Ein solcher Wechsel'' statt ``Eine solcher Wechsel'' heißen.
-
-\erroronpage{65}{Abs.-2, Z.1-2}{JMa}{2006/01/03}{2}
-\LaTeX-Trennfehler: Verzeichnis-eintr"age statt Verzeichni-seintr"age.
-
-\erroronpage{70}{Abs.-1, Z.1-2}{JMa}{2006/01/03}{2}
-Hier fehlt ein Komma am Ende der ersten Zeile und ein Punkt am Ende des
-ersten Satzes.
-
-\erroronpage{73}{Abs.2, Z.4}{JMa}{2006/01/03}{2}
-Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
-
-\erroronpage{74}{Abs.2, Z.12}{JMa}{2006/01/03}{2}
-Hier fehlt ein Komma vor ``wenn sie durch''.
-
-\erroronpage{75}{Abs.3, Z.1}{JMa}{2006/01/03}{2}
-Es fehlen zwei Buchstaben: ``ohne daf"ur einen eigen\u{en} Abstand
-einzuf"ugen''.
-
-
-\CHAPTER{Kapitel 3}
-
-\erroronpage{94}{Abs.-3, Z.-1}{JMa}{2006/01/06}{2}
-Lösche s aus Grau\u{s}wertproblem
-
-
-\erroronpage{101}{Abs.3, Z.3}{JMa}{2006/01/14}{2}
-Kein Komma vor und bei einer Aufzählung.
-
-\erroronpage{109}{Abs.\ 2, Z.\ 5}{RHe}{2006/06/10}{2}
- Streiche Kommata: "`Möglich\_ und absolut nicht unwahrscheinlich\_ ist
-beispielsweise, \dots{}"'
-
-\erroronpage{114}{para 3}{FMi/CBe}{2005/09/02}{2}
-Ersetze Absatz durch: "`Da es nicht empfehlenswert ist, die Einstellung von
-|\baselineskip|
-direkt zu ändern, verfügt \LaTeX{} über den Befehl |\lineskip|\,, mit
-dem sich |\baselineskip| global für alle Größen ändern lässt. Nach
-einer Anweisung wie etwa \verb!\linespread{1.5}\selectfont! tritt der neue
-Wert sofort in Kraft. [Fußnote: Die veraltete \LaTeX~2.09 Lösung
- \verb=\renewcommand\baselinestretch=\texttt{\textbraceleft
- 1.5\textbraceright} benötigt dagegen einen nachfolgenden
- Schriftgrößenwechsel (wie |\small| oder |\Large|), damit der neue
- Wert in Kraft tritt.]
-
-
-
-\erroronpage{117}{3.2.1 Abs.\ 2, Z.\ 7}{RHe}{2006/06/10}{2}
- Trennung der Hauptsätze: "`\dots{} der Zähler \texttt{footnote} wird
-weiter hochgesetzt, und die Darstellung erfolgt \dots{}"'
-
-\erroronpage{119}{Abs.\ 2, Z.\ 3}{RHe}{2006/06/10}{2}
- Da die Beispiele unmittelbar folgen: "`\dots{} schematisch
-dargestellt \u{und bedeuten}:"'
-
-%%Ebenfalls als Vorschlag zur Neuformulierung -- weil es um zwei
-%%unterschiedliche Aspekte geht, sollte durch Punkt oder Semikolon
-%%getrennt werden:
-%
-% -maybe differently
-\erroronpage{121}{3.2.3 Abs.\ 2, Z.\ 3}{RHe}{2006/06/10}{2}
- "`\u{Es wird ausreichend} Abstand zwischen
-Fußnoten und Text gelassen
-und die Fußnoten werden in einem kleineren Schriftgrad
-gesetzt."'
-
-
-\erroronpage{123}{2. Abs, Z.2}{JMa}{2006/01/14}{2}
-\ldots \u{auf denen} die Auswirkung\u{en} von \textsf{perpage} deutlich zu sehen sind.
-
-\erroronpage{143}{3. Abs, Z.1}{JMa}{2006/01/14}{2}
-Am Ende der Zeile fehlt ein Komma.
-
-\erroronpage{144}{1. Abs, Z.2}{JMa}{2006/01/14}{2}
-Es muss \u{kein} statt keinen hei\ss{}en.
-
-\erroronpage{147}{Bsp.3-3-19}{JMa}{2006/01/14}{2}
-Der \LaTeX{}-Begleiter sollte stets mit Bindestrich geschrieben werden.
-
-\erroronpage{149}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/10}{2}
- Streiche Anführungszeichen bei "`theoremähnliche"'.
-
-
-\erroronpage{149}{Abs.\ 1, Z.\ 3}{RHe/FMi}{2006/06/10}{2}
-Ersetze: "`Bei vielen dieser Argumente wird der unten aufgeführte, voreingestellte
-Wert verwendet, wenn ein leeres Argument angegeben wird.
-\>
-"`Bei vielen dieser Argumente erhält man den unten aufgeführten voreingestellten
-Wert, wenn ein leeres Argument angegeben wird."'
-
-
-
-
-\erroronpage{149}{Argument \textit{kopf-nach-abstand}, Z.\
-2}{RHe}{2006/06/10}{2}
- Streiche Anführungszeichen bei "`Interpunktion"'.
-
-\erroronpage{155}{Bsp. 3-3-25}{RHe/FMi}{2006/06/10}{2}
- Benutze babel Paket und ersetze englische Anführungszeichen durch deutsche.
-
-\erroronpage{158}{Bsp.3-3-28}{FMi/JBez}{2005/09/02}{}
- The vertical space above ``Return values'' is too small.
-
- Das ist ein ziemlich versteckter \LaTeX-Fehler, mit dem man wohl
- leben muss.
-
-\erroronpage{159}{Abs.\ -1, Z.\ 1}{RHe}{2006/06/10}{2}
- "`\dots{} unverändert, also "`wie über die Tastatur eingegeben"'\u{,}
-darstellen."'
-
-\erroronpage{160}{Abs.\ 2, Z.\ 2}{RHe}{2006/06/10}{2}
- Anstelle "`extensiv"': "`\dots{} in der Vergangenheit \emph{intensiv}
-genutzt wurden, \dots{}"'
-
-\erroronpage{163}{Z.-3}{JMa}{2006/01/14}{2}
-Ersetze: "`fontenc"' \> "`\textsf{fontenc}"'
-
-\erroronpage{174}{3. Abs, Z.-2}{JMa}{2006/01/14}{2}
-Ersetze: "`diesen"' \> "`diesem"'
-
-\erroronpage{175}{Z. -4}{JMa}{2006/01/14}{2}
-Streiche einmal das Wort "`sich"'.
-
-\erroronpage{182}{Abs -1, Z.3}{JMa}{2006/01/14}{2}
-Es geht um eine Untermenge \u{von} \ldots
-
-\erroronpage{184}{Z.3}{JMa}{2006/01/14}{2}
-Streiche einmal das Wort "`Beispiel"'.
-
-\erroronpage{192}{3. Abs, Z.3}{JMa}{2006/01/14}{2}
-Es soll wohl "`von dieser \u{durch} das Resultat von \ldots"' hei\ss{}en.
-
-\erroronpage{195}{4. Abs, Z.5}{JMa}{2006/01/14}{2}
-Ersetze: "`ausgeben"' \> "`aus\u{ge}geben"'
-
-\erroronpage{197}{2. Abs, Z.1}{JMa}{2006/01/14}{2}
-Streiche das zweite t aus setz\u{t}en.
-
-
-
-
-\CHAPTER{Kapitel 4}
-
-% - but also a national one, so could stay
-%
-% \erroronpage{204}{Abs.\ 2, Z.\ -2}{RHe}{2006/06/15}{}
-% Streiche "`DIN"' in "`DIN A4"', da A4 nationaler (DIN 476),
-% europ\"{a}ischer (EN 20 216) und internationaler (ISO 216) Standard ist.
-
-\erroronpage{205}{Tab.\ 4.2}{YiL}{2012/05/07}{}
-
- Die in der Tabelle aufgelisteten Werte sind nur ann\"aherend korrekt
- -- einige Werte h\"angen von der gew\"ahlten Papier-Option (etwa |a4paper|) ab.
-
-
-
-\erroronpage{205}{4.2, Abs.\ 1, Z.\ 5}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} nicht v\"{o}llig unm\"{o}glich ist\u, sie
-\dots{} zu \"{a}ndern, \dots{}"'.
-
-\erroronpage{208}{Z. 1}{JMa}{2006/01/27}{2}
-Fehlendes Komma: "`zwei Pakete\u, mit deren"'
-
-\erroronpage{210}{Abs.\ 5, Z.\ 5}{RHe}{2006/06/15}{2}
- Streiche Komma vor der Klammer: "`\dots{} von Listen Verwendung
-finden\_ (\dots{})."'
-
-\erroronpage{210}{Abs.6, Z.-1}{JMa}{2006/01/27}{2}
-Fehlendes Komma: "`abliest), kann man"'
-
-\erroronpage{213}{Abs.\ 3, Z.\ -1}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} kann es angebracht sein, ihn
-einzubeziehen."'
-
-\erroronpage{213}{Abs.\ 2, Z.\-1}{FMi}{2006/09/25}{2}
- Ersetze "`muss die ein oder andere Einstellung"' \>
- "` müssen die Einstellungen"'
-
-\erroronpage{215}{Z.1}{ChB}{2006/06/29}{2}
- Es sollte wohl "`die ein\u{e} oder andere Einstellung"' hei"sen.
-
-\erroronpage{218}{Abs.\ 1, Z.\ 6}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} ist es jedoch besser,
-\texttt{ignorehead} \dots{} zu verwenden."'
-
-% Über das nächste Infinitivproblem kann man sich durchaus streiten:
-\erroronpage{218}{Abs.\ 2, Z.\ -2}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} liegt es beim Anwender,
-sicherzustellen, dass \dots{}"'
-
-\erroronpage{218}{Abs.\ -1, Z.\ -3}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`Da diese Option Fonts skaliert, anstatt
-Originalfonts \dots{} einzusetzen, \dots{}"'
-
-\erroronpage{219}{Abs.\ -1, Z.\ -4ff}{RHe}{2006/06/15}{2}
- F\"{u}ge "`werden"' ein und streiche Komma vor dem letzten Abschnitt
-der Aufz\"{a}hlung: "`Zun\"{a}chst wird das Paket geladen, alle
-R\"{a}nder \u{werden} auf einen Zoll gesetzt\_ und die Kolumnentitel \dots{}
-festgelegt; \dots{}"'
-
-\erroronpage{220}{Abs.\ 1, Z.\ 3}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma zwischen den Haupts\"{a}tzen ein: "`\dots{} des
-Paketes wieder her, und bei \verb"pass" wird das Paket deaktiviert."'
-
-\erroronpage{221}{Aufz. cam, Z.\ 1}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} welche die Ma{\ss}e der Nettoseite
-anzeigen, ohne sie zu ber\"{u}hren (\dots{})."'
-
-\erroronpage{221}{para 4, l.4}{FMi}{2006/09/09}{2}
- Option \texttt{b3} ist zweifach gelistet.
-
-\erroronpage{221}{Abs.\ -2, Z.\ 1}{RHe}{2006/06/15}{2}
- Entferne:
- "`Die Beschreibungen \dots{} sollten deutlich machen, dass \u{das}
-\textsf{crop} erst \dots{} geladen werden sollte."'
-
-\erroronpage{221}{Abs.\ -1, Z.\ 3}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} normalerweise ist es n\"{u}tzlich, ihn
-beizubehalten."'
-
-\erroronpage{222}{Abs.\ 1, Z.\ 3}{RHe}{2006/06/15}{2}
- F\"{u}ge Komma ein: "`\dots{} versucht das Paket, den Druckertreiber
-\dots{} zu bestimmen."'
-
-\erroronpage{223}{4.3, Abs.\ 1, Z.\ 2}{RHe}{2006/06/17}{2}
- Füge Komma ein: "`\dots{} sammelt genug Material, um gut eine Seite
-\dots{}"'
-
-\erroronpage{224}{Abs.\ -1, Z.\ 2}{RHe}{2006/06/17}{2}
- Füge Komma ein: "`\dots{} entspricht dem Inhalt von \verb"\thepage",
-wie er auf der \dots{}"'
-
-\erroronpage{225}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/17}{2}
- Füge Komma ein: "`\dots{} mithilfe von \verb"\AtEndDocument", um
-sicherzugehen, dass \dots{}"'
-
-\erroronpage{229}{Abs.\ 2, Z.\ 8,10,-1}{RHe}{2006/06/17}{2}
- Füge Leerstellen nach der Ellipse ein: "`\dots{} geht weiter"'
-
-\erroronpage{229}{Bsp.\ 4-3-3}{FMi}{2006/06/17}{2}
- Füge Leerstelle nach der Ellipse ein: \verb=\dots geht=
- \> \verb=\dots{} geht=
-
-
-\erroronpage{233}{Abs.\ 2, Z.\ 5}{RHe}{2006/06/17}{2}
- Füge Komma ein: "`\dots{} um Längenparameter, sondern um Befehle
-\dots{}"'
-
-\erroronpage{234}{Abs.\ 1, Z.\ 7}{RHe}{2006/06/17}{2}
- Ersetze Semikolon durch Komma und füge Wort ein: "Der Seitentyp wird mit `\dots{}
-ausgewählt\u, der Bereich \u{dagegen} mit \dots{}"'
-
-
-
-\CHAPTER{Kapitel 5}
-
-
-\erroronpage{247}{Abs.\ 3, Z.\ 2}{RHe}{2006/06/17}{2}
- Füge Komma ein: "`\dots{} dass sie fähig sein müssen, innerhalb des
-Textes \dots{}"'
-
-\erroronpage{249}{Abs.3 in 5.1.1}{JMa}{2006/01/27}{2}
-Dieser Satz steht schon am Ende des ersten Absatzes dieses
-Abschnitts.
-
-\erroronpage{251}{Abs.\ -1}{FMi/CBe}{2005/09/02}{2}
- Ersetze Absatz: "`Dezimalwert, mit dem die voreingestellte Minimalhöhe von Tabellenzellen
- multipliziert wird. Ein Wert von 1.5 würde z.B. normalgroße
- Zeilen um 50\% weiter voneinander entfernen. Er wird mit
- dem Befehl \verb=\renewcommand= eingestellt (Standardwert \texttt{1.0})."'
-
-% -check
-\erroronpage{252}{Tabelle 5.2}{RHe}{2006/06/17}{2}
- Ersetze alle amerikanischen Auslassungszeichen \{..\} durch deutsche
-\{\dots{}\}.
-
-\erroronpage{253}{Z. -2}{JMa}{2006/01/27}{2}
-Kein Komma vor "`erzeugt wurden"'
-
-\erroronpage{267}{Abs.\ 2, Z.\ 2}{RHe}{2006/06/20}{2}
- "`Letztere"' ist klein zu schreiben
-
-\erroronpage{267}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/20}{2}
- Füge Komma ein: "`\dots{} üblicher, Farben \dots{} einzusetzen"'
-
-\erroronpage{269}{Abs.5, Z.1}{JMa}{2006/01/27}{2}
-\LaTeX-Trennfehler: Standar-dumgebung. \> Standard-umgebung
-
-\erroronpage{277}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/20}{2}
- Ersetze Anfang durch: "`Eine der Schwierigkeiten, \LaTeX{}-Tabellen mit außergewöhnlich
-großen Einträgen zu setzen, ist eine gute Raumverteilung um diese Einträge herum zu erreichen,
- \dots"'
-
-\erroronpage{277}{Abs.\ -2, Z.\ 2}{RHe}{2006/06/20}{2}
- Füge Komma ein: "`\dots{} optionales Argument, ähnlich dem von
-\verb"\\"\u, erweitert."'
-
-\erroronpage{277}{Abs.\ -1, Z.\ 1}{RHe}{2006/06/20}{2}
- Ersetze Anfang durch: "`Die vertikalen Linien in einer \texttt{tabular}-Umgebung
- werden aus einer Reihe von Linienelementen gebildet, jeweils eines pro
- Tabellenzelle."'
-
-\erroronpage{278}{editorial change}{FMi}{2006/06/20}{2}
-Änderung auf Seite 277 erzeugt neuen Zeilenverlauf.
-
-
-\CHAPTER{Kapitel 6}
-
-
-\erroronpage{292}{Abs.-1, Z.2}{MSch}{2006/01/04}{2}
- Füge hinzu: "`z.B. bedeutet \u{\texttt{0.2}}, dass 20\% von Gleitobjekten
- belegt sein darf"'
-
-\erroronpage{298}{Abs.\ 1, Z.\ 2}{RHe}{2006/08/07}{2}
- Füge Komma ein: "Das \textsf{afterpage}-Paket ermöglicht
-stattdessen\u{,} \verb"\afterpage{\clearpage}" zu verwenden."'
-
-\erroronpage{301}{Z.1}{JMa}{2006/02/04}{2}
-Fehlendes Komma: "`Hilfsdatei, in der"'
-
-\erroronpage{301}{Abs.-2,Z.3}{JMa}{2006/02/04}{2}
-Falsche Anf"uhrungszeichen bei "`eingerahmt"'
-
-\erroronpage{302}{exa 6-3-1}{FMi/CBe}{2005/09/02}{}
-The Euler constant must be typeset in roman type according
-to the ISO rules; $e$ is the charge of the electron.
-
-\erroronpage{304}{Z.2}{JMa}{2006/02/04}{2}
-Es muss "`in den Abschnitte\u{n} 6.2.1 bzw. 6.2.2"' hei\ss{}en.
-
-\erroronpage{304}{Z.-5}{JMa}{2006/02/04}{2}
-Es muss "`{}"uber ein zus"atzliche\u{s} obligatorisches Argument"'
-hei\ss{}en.
-
-\erroronpage{306}{Abs.\ -2, Z.\ 2}{RHe}{2006/08/07}{2}
- Füge Komma ein: "\dots{} manchmal günstiger\u{,} nur die Legende zu
-drehen."'
-
-\erroronpage{315}{Abs.-3,Z.-3}{JMa}{2006/02/04}{2}
-Streiche den letzten Buchstaben von "`Bed"urfnisse\u{n}"'.
-
-\erroronpage{315}{Abs.\ -2, Z.\ 2}{RHe}{2006/08/07}{2}
- Füge Komma ein: "\dots{} die es ermöglichen\u{,} Gleitobjekte \dots{}
-zu untergliedern."'
-
-\erroronpage{317}{6.5.1, Abs.\ 1, Z.\ 1}{RHe}{2006/08/07}{2}
- Füge Komma ein: "\dots{} das Paket \textsf{caption}\u{,} um Legenden
-\dots{} anzupassen."'
-
-\erroronpage{318}{Bsp.6-5-2, Abb.2}{JMa}{2006/02/04}{2}
-Fehlendes Komma: "`Eine Legende, die mehrere"'
-
-\erroronpage{319}{\texttt{font}}{RHe}{2006/06/11}{2}
- "`Diese Option legt die Fontcharakteristika \dots{} fest, sofern sie
-nicht \dots{} überschrieben \u{werden}."'
-
-\erroronpage{319}{Bsp.6-5-3, Tab.1}{JMa}{2006/02/04}{2}
-Fehlendes Komma: "`Eine Legende, die mehrere"'
-
-\erroronpage{321}{Option \texttt{position}}{FMi/JS}{2005/09/14}{2}
- Beschreibe, dass der Schlüssel \texttt{bottom} die Voreinstellung ist.
-
-\erroronpage{322}{Abs.-1, Z.2}{JMa}{2006/02/04}{2}
-Streiche ein "`es"'.
-
-\erroronpage{327}{Abs.-1, Z.3 und Z.5}{JMa}{2006/02/04}{2}
-Ersetze: \textsl{typ} \> \textsl{klasse}
-
-
-
-\CHAPTER{Kapitel 7}
-
-\erroronpage{337}{Abs.\ 2, Z.\ 2}{RHe}{2006/06/07}{2}
- Füge Komma ein: "`\dots{} Erscheinung, nachdem \dots {}"'
-
-\erroronpage{338}{Abs.\ 1, Z.\ 5}{RHe}{2006/06/07}{2}
- Füge Komma ein: "`(\dots{} sehr ähnlich, soweit es \dots {})"'
-
-\erroronpage{340}{Fußnote 2}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`verwandelt, ist dabei"'
-
-\erroronpage{344}{Abs.3, Z.4}{JMa}{2006/02/27}{2}
-Schließende Klammer nach "`Abbildung 7.3"' fehlt.
-
-\erroronpage{348}{Abs.-1, Z.3-4}{JMa}{2006/02/27}{2}
-Trennfehler: Es muss Pa-ketnamen statt Pak-etnamen hei\ss{}en.
-
-\erroronpage{349}{}{FMi}{2006/02/27}{2}
-Änderung auf Seite 348 ändert Seitenumbruch.
-
-\erroronpage{352}{Abs.-1, Z.1}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`einnimmt, ist der"'
-
-% - no, would break the example spacing
-%\erroronpage{356}{Bsp.7-3-7}{JMa}{2006/02/27}{}
-%Ersetze: NFSS \> \textsf{NFSS}
-%
-
-\erroronpage{358}{Abs.5, Z.6+7}{JS}{2006/11/08}{2}
- Ersetze:
- "`Die \u{Computer Modern Typewriter und} Computer Modern Sans Fonts
- verfügen nicht über \u{breite} sondern nur über breitfette"'
- \>
- "`Die Computer Modern Sans Fonts
- verfügen nicht über \u{fette} sondern nur über breitfette"'
-
-\erroronpage{361}{Tab 7.4}{AFV}{2008/08/08}{s}
-Die Tabelle zeigt |\mathtt| als Sans Serif Typewriter Font. Dies ist
-normalerweise nicht der Fall -- fast jede \LaTeX{} Installation verwendet
-Computer Modern Typewriter.
-
-\erroronpage{362}{Abs.-1, Z.4}{JMa}{2006/02/27}{2}
-Streiche das mittlere s in Symbol\u{s}fonts.
-
-\erroronpage{364}{Abs.-2, Z.-1}{JMa}{2006/02/27}{2}
-Ersetze: hinzu-f"ugt \> hinzu-\u{ge}f"ugt
-
-\erroronpage{367}{Ab.-2, Z.-1}{MSch}{2006/01/06}{2}
- Der Abstand vor dem Punkt am Satzende ("`T1-Kodierung ."') ist zu
- entfernen.
-
-\erroronpage{369}{Abs.-3, Z.-3}{PEb}{2006/05/12}{2}
-Ersetze "`Oktette (von Zahlen)"' \> "`Oktette (acht Bits)"'
-
-\erroronpage{371}{Abs. \texttt{cp437de}}{JMa}{2006/02/27}{2}
-Falsche Anführungszeichen beim \ss
-
-\erroronpage{371}{Abs \texttt{utf8}}{JMa}{2006/02/27}{2}
-Das Leerzeichen vor dem Punkt ist zu entfernen.
-
-\erroronpage{394}{letzte Z.}{MSch}{2006/01/06}{2}
- Der Abstand vor der schlie\ss enden Klammer "`(in Abschnitt 7.5.4\_)"'
- ist zu entfernen.
-
-\erroronpage{399}{Abs.-3, Z.2+3}{FMi}{2006/06/14}{2}
- Füge Bindestrich ein: "`AMS-Font"'
-
-\erroronpage{401}{Abs.-2, Z.4}{FMi}{2006/06/14}{2}
- Füge Bindestrich ein: "`AMS-Mathematikfont"'
-
-\erroronpage{404}{Abs.-1, Z.1}{JMa}{2006/02/27}{2}
-Streiche das n aus Name\u{n}.
-
-\erroronpage{406}{Abs.3, Z.-3}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`werden, normalerweise ohnehin"'
-
-\erroronpage{407}{Bsp. 7-7-21, 7-7-22}{TNdz}{2006/01/20}{2}
- Fehlendes Komma: "`\ldots ist ein Blindtext, an dem sich
- verschiedene \ldots"´
-
-\erroronpage{416}{Kapitel 7.8.6, Z.8}{RSi}{2005/12/07}{2}
- Leerzeichen nach dem kleinen Omega (|\textscomega|) fehlt.
-
-\erroronpage{420}{Abs.3, Z.-2}{JMa}{2006/02/27}{2}
-Ersetze: L"ander \> L"ander\u{n}
-
-\erroronpage{420}{Abs.4, Z.-1}{JMa}{2006/02/27}{2}
-Streiche eines der beiden "`auf"'.
-
-\erroronpage{422}{Abs.3, Z.2}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`zur Verf"ugung, um auf die"'
-
-\erroronpage{423}{Abs.1, Z.-2}{JMa}{2006/02/27}{2}
-Ersetze: zum \> zu
-
-\erroronpage{425}{Fu\ss note}{hv}{2008/10/30}{s}
-Der Befehl hei\ss t |\pscharpath| [das s fehlt] und |pst-char| existiert zwar
-noch, l\"adt aber gleich |pst-text|, dass die Funktionen von |pst-char|
-integriert hat.
-
-\erroronpage{428}{Tabelle 7.27, Z.~1}{MSch}{2005/12/31}{2}
- Ersetze: \dq`Cork\dq'-Kodierung durch "`Cork"'-Kodierung
-
-\erroronpage{428}{Abs1., Z.4-5}{JMa}{2006/02/27}{2}
-Trennfehler: Es muss Pro-zent statt Proz-ent hei\ss{}en.
-
-
-\erroronpage{435}{Abs.-2, Z.-1}{JMa}{2006/02/27}{2}
-Fehlendes Komma vor "`werden"'
-
-\erroronpage{445}{Abs.-3, Z.1}{JMa}{2006/02/27}{2}
-Streiche das s aus Namen\u{s}
-
-\erroronpage{445}{Abs.-3, Z.2}{RHe}{2006/06/11}{2}
- Füge Bindestrich ein: "`AMS-Font"'
-
-\erroronpage{454}{Abs.4, Z.-2}{JMa}{2006/02/27}{2}
-Ersetze: dass \> das
-
-\erroronpage{454}{Abs.5, Z.-3}{JMa}{2006/02/27}{2}
-Ersetze: dier \> die
-
-\erroronpage{456}{Abs.2, Z.2}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`Befehle, die"'
-
-\erroronpage{458}{Abs.2, Z.2}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`Zeichen, die in"'
-
-\erroronpage{458}{Abs.2, Z.2}{JMa}{2006/02/27}{2}
-Fehlendes Komma: "`solchen, die in"'
-
-\erroronpage{458}{Abs.4, Z.3}{JMa}{2006/02/27}{2}
-Fehlendes Komma vor "`wurden"'
-
-\erroronpage{464}{Abs.1, Z.3-4}{JMa}{2006/02/27}{2}
-Trennfehler: Es muss Ak-zentzeichen statt Akz-entzeichen hei\ss{}en.
-
-\erroronpage{468}{Tab.7.33}{FMi}{2006/05/12}{2}
-Die "`Tabellen"uberschrift"' ist nicht im \textsf{sf}-Format.
-
-
-\CHAPTER{Kapitel 8}
-
-\erroronpage{478}{Abs.\ 2, Z.\ 2}{FMi/RHe}{2008/09/19}{2}
-Ersetze: "`gültigen US-Praxis"' \> "`vorherrschenden Praxis"'
-
-\erroronpage{494}{8.2.12 Abs.\ 1, Z.\ 5}{RHe}{2008/09/19}{2}
- Füge Kommata ein: "`Die Schwierigkeit\u{,} eine abgesetzte Formel
-korrekt zu gestalten\u{,} kann \dots{}"'
-
-\erroronpage{496}{Abs.2, Z.1/2}{JMa}{2006/03/05}{2}
-Trennfehler: Mark-up sieht deutlich besser aus als Mar-kup.
-
-\erroronpage{496}{Abs.\ 3 (nach Bsp. 8-2-28), Z.\ 2}{RHe}{2008/09/19}{2}
- Füge Komma ein: "`\dots{} allerdings \emph{nur}\u{,} wenn sie \dots{}
-verschoben wurde."'
-
-\erroronpage{503}{8.4.4 Abs.\ 1, Z.\ 3}{RHe}{2008/09/19}{2}
- Lösche Komma (Regel §~72.2 "`gleichrangige Wortgruppen oder Wörter in
-Aufzählungen (entweder -- oder)"'): "`\dots{} können entweder \dots{}
-positioniert werden\u{ } oder \dots{} rechts der Operatoren."'
-
-\erroronpage{504}{Abs.-2,Z.3}{JMa}{2006/03/05}{2}
-Kein Komma vor "`oder"' bei einer Aufz"ahlung.
-
-
-\erroronpage{507}{Abs.-2, Z.1}{JMa}{2006/03/05}{2}
-Streiche die beiden letzten Buchstaben von Paket\u{es}.
-
-\erroronpage{510}{Abs.-1, Z.1}{JMa}{2006/03/05}{2}
-Streiche einmal das Wort "`Tabelle"'.
-
-\erroronpage{512}{Z.1}{FMi}{2006/09/19}{2}
-Füge folgenden Satz an: "`Im folgenden Beispiel wird |\sqrtsign| direkt
-verwendet:"'
-
-\erroronpage{515}{Abs.-3, Z.2}{HjG}{2006/10/19}{2}
-Ersetze: "`Bei den \u{Hauptversionen} ($D'$,~$T'$~usw.{})"' \>
- "`Bei den \u{Versionen mit Strich} ($D'$,~$T'$~usw.{})"'
-
-\erroronpage{516}{Abs.-3, Z.2}{JMa}{2006/03/05}{2}
-Streiche ein "`die"'.
-
-\erroronpage{518}{8.7.5 Abs.\ 3 , Z.\ 3}{RHe}{2008/09/19}{2}
- Füge Komma ein: "`\dots{} und verhält sich somit\u{,} als wären beide
-Maße gleich null."'
-
-\erroronpage{535}{Abs. 1, Z. 5}{RHe}{2008/09/19}{2}
-Ersetze: "`\ldots{} existierenden, neu belebten Mediävalschriften."'
- \> "\ldots{} existierenden Renaissance-Antiqua-Schriften."'
-
-\erroronpage{544}{Tab. 8-10/11}{FMi}{2006/08/09}{2}
- Fehlende Symbole aus amssymb hinzugef"ugt: |\circledR|, |\yen|,
- |\checkmark| und |\maltese|.
-
-\erroronpage{544}{Tab. 8.11}{LHe}{2008/02/08}{s}
- |\dag| und |\ddag| sind |\mathord|s und nicht |\mathbin| wie in Tabelle
- 8.13 behauptet.
-
-\erroronpage{546}{Tab. 8.13}{LHe}{2008/02/08}{s}
- |\dag| und |\ddag| sind keine |\mathbin|s. Sie geh"oren deshalb nicht in
- diese Tabelle und sind auch nicht (wie behauptet) Synonyme f"ur |\dagger|
- und |\ddagger|.
-
-\erroronpage{552}{8.9.6 Abs.\ 1 , Z.\ 4}{RHe}{2008/09/19}{2}
- Füge Komma ein: "`\dots{} nicht der Symbolklasse Punctuation\u{,}
-sondern Ordinary \dots{} zugeordnet sind."'
-
-\erroronpage{554}{Tab. 8-27}{DIs/FMi}{2006/08/09}{2}
- Fehlende Symbole aus amssymb hinzugef"ugt: |\llcorner|, |\lrcorner|,
- |\ulcorner| und |\urcorner|. Tabbellennotiz und Absatz unter der Tabelle
- entsprechend ge"andert.
-
-
-\CHAPTER{Kapitel 9}
-
-\erroronpage{556}{Nummer 1, Item 1}{RHe}{2008/09/20}{2}
-Ersetze: "`Unterstützung für den Satz \ldots{}"'
- \> "`Unterstützen des Setzens in` \ldots{}"'
-
-\erroronpage{560}{2. Snippet}{MSch/FMi}{2006/01/06}{2}
- Der vertikale Abstand vor dem Codebeispiel ist im Verh"altnis zum
- darauffolgenden Abstand erheblich zu gro\ss.
-
- Und zudem die Seite eine Zeile zu lang.
-
-\erroronpage{560}{Z.\ -5}{RHe/FMi}{2006/09/21}{2}
-Ersetze: "`der Übersetzungen \u{für} Texte"' \>
- "`der Übersetzungen generierter Texte"'
-
-
-\erroronpage{563}{Abs.1, Z.4}{JMa}{2006/03/14}{2}
-Die "offnende Klammer fehlt vor "`zum Beispiel"'.
-
-\erroronpage{565}{Abs.-2, Z.1}{JMa}{2006/03/14}{2}
-Streiche den letzten Buchstaben von sprachspezifische\u{n}.
-
-
-\erroronpage{567}{tab 9.3}{FMi/CBe}{2005/09/27}{}
- I am surprised that in Russian there is no word for ``Glossary''.
-
- Frank: It most certainly exits :-), but right now Babel doesn't
- know about it---so there is nothing we can do about it at the
- moment. Actually the same problem exists with Polish, although here
- I got a translation ``s\l ownik termin{\'o}w'' which will eventually
- find its way into Babel.
-
- Tja, so gehts. Auch als das deutsche Buch gesetzt wurde, waren die Begriffe
- auch noch nicht bekannt.
-
-\erroronpage{570}{Abs. -4("`Die Tilde"' , Z. 2}{RHe}{2006/09/20}{2}
-Füge Komma ein: "`\dots{} nicht für ein geschütztes Leerzeichen\u{,}
-sondern für andere \dots{}"'
-
-\erroronpage{570}{Abs. -4("`Die Tilde"' , Item 1}{RHe}{2006/09/20}{2}
-Füge Komma ein: "`\dots{} niedriger gesetzt werden\u{,} als dies
-normalerweise \dots{}"'
-
-% "`Gemäß"' wird mit dem Dativ verwendet:
-\erroronpage{571}{Abs. 2 ("`Doppelpunkt usw."' , Z. -2}{RHe}{2006/09/20}{2}
-Ersetze: "`Gemäß der \ldots{} Konventionen \ldots{}"'
- \> "`Gemäß den \ldots{} Konventionen \ldots{}"'
-
-\erroronpage{579}{Abs.3, Z.3}{JMa}{2006/03/14}{2}
-Streiche die beiden letzten Buchstaben von ein\u{en}.
-
-\erroronpage{579}{Abs.2, Z.3}{RHe}{2006/06/11}{2}
- Streiche Komma: "Wie der Befehl \verb"\nombre"\_ verfügt er \dots{}"'
-
-\erroronpage{590}{Abs.1, Z.5/6}{JMa}{2006/03/14}{2}
-Wenn "`rumakeindex"' getrennt werden muss, sieht "`rumake-index"' deutlich
-besser aus.
-
-\erroronpage{599}{Abs.2, Z.2}{JMa}{2006/03/14}{2}
-Zu der schließenden Klammer gibt es keine "offnende.
-
-
-
-\CHAPTER{Kapitel 10}
-
-\erroronpage{612}{lfd. Nr. 1, Z. 1}{RHe}{2006/10/16}{2}
-Ersetze: "`ASCII-Zeichnung"'
- \> "`ASCII-Zeichnung\u{en}"'
-
-\erroronpage{628}{Abs.-3, Z.4}{JMa}{2006/03/23}{2}
-Der Bruch $\displaystyle\frac{\pi}{2}$ ragt in die Zeile darunter.
-
-\erroronpage{633}{Tab.\ 10.1}{FMi}{2006/10/21}{2}
-Es fehlt "`vtex"' als wichtiger Treiber; andererseits sind einige der
-aufgelisteten Treiber nur von historischer Bedeutung.
-
-\erroronpage{634}{Abs. 1, Z. 1}{RHe}{2006/10/16}{2}
-Füge Komma ein: "`\dots{} reelle Werte haben)\u{,} anstatt nach
-\dots{}"'
-
-\erroronpage{637}{Abs. 1, Z. 1}{RHe}{2006/10/16}{2}
-Füge Komma ein: "`Lässt \LaTeX{} nach \dots{} suchen\u{,} anstatt nach
-\dots{}"'
-
-\erroronpage{637}{viewport}{BMo/FMi}{2007/10/20}{s}
-Füge am Anfang ein: "` Definiert den Bereich der Graphik für den \LaTeX{} Platz reservieren
- soll. Material außerhalb wird auch gedruckt (falls nicht \texttt{clip}
- verwendet wird) und überdruckt dann gegebenenalls anderes Material auf der Seite."'
-
-\erroronpage{638}{}{FMi}{2007/10/20}{s}
- Setzer-Kommentar:
-Seite mu\ss{} neu gesetzt werden, da sich der Seitenumbruch ge\"andert hat.
-
-\erroronpage{638}{Abs.3, Z.-1}{JMa}{2006/03/23}{2}
-Streiche den letzten Buchstaben von ausf"uhrliche\u{n}.
-
-\erroronpage{647}{Abs.4, Z.1}{JMa}{2006/03/23}{2}
-Streiche den letzten Buchstaben von vertikale\u{r}.
-
-\erroronpage{649}{Abs.2, Z.8}{FMi/HjG}{2006/10/22}{2}
- Ersetze: "`\u{Dieser Punkt} ist in \ldots"' \>
- "`\u{Dies} ist in \ldots"'
-
-\seriouserroronpage{651}{Beispielmatrix}{HjG}{2006/10/21}{2}
- The first column shows incorrect output: instead of x=0mm it uses some
- internal default.
-
-\erroronpage{651}{Abs. -1, Z. 1}{RHe}{2006/10/16}{2}
-Ersetze: "`Die \dots{} Funktion ähnelt dem des \textsf{rotating}-Paketes
-\dots{}"'
- \>"`Die \dots{} Funktion ähnelt der des \textsf{rotating}-Paketes
-\dots{}"'
-
-\erroronpage{652}{editorial change}{FMi}{2006/10/21}{2}
- Fix on previous page will change page break.
-
-
-\erroronpage{661}{Abs.-3, Z.3}{JMa}{2006/03/23}{2}
-Ersetze: "`verf"ugt"' \> "`verf"ugen"'
-
-\erroronpage{661}{para -2, l.1}{FMi}{2005/11/11}{2}
- Leider ist Th\`anhs Name falsch geschrieben. Die korrekte Schreibweise
- ist "`H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh"'.
-
-\erroronpage{672}{letzte Zeile}{BvdW}{2014/02/19}{}
-Ersetze ``wir'' durch ``wird''.
-
-
-\CHAPTER{Kapitel 11}
-
-\erroronpage{686}{Abs.-2, Z.-2}{JMa}{2006/03/23}{2}
-Streiche das Komma vor "`und"'.
-
-\erroronpage{691}{Abs.4, Z.2}{JMa}{2006/03/23}{2}
-Ersetze: "`eigene"' \> "`eigenen"'
-
-\erroronpage{697}{Abs. \texttt{-o} \textsl{ind}}{JMa}{2006/03/23}{2}
-Streiche die letzten Buchstaben von Verwendung\u{Index}.
-
-\erroronpage{703}{Z.2}{AFe}{2006/01/13}{2}
- Extra Buchstabe: |\mark|\texttt{\u k}|both| \>
- |\markboth|
-
-\erroronpage{704}{Abs.1, Z.1}{JMa}{2006/03/23}{2}
-Streiche den letzten Buchstaben von Teil\u{s}.
-
-
-\CHAPTER{Kapitel 12}
-
-\erroronpage{709}{Abs.3, Z.-5}{JMa}{2006/03/31}{2}
-Entferne das Komma vor l"asst.
-
-\erroronpage{711}{Abs.2, Z.3/4}{JMa}{2006/03/31}{2}
-Trennfehler: Schreibe Layout-richtlinien statt Layou-trichtlinien.
-
-\erroronpage{717}{Abs.3, Z.2}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`definieren"' ein.
-
-\erroronpage{719}{Abs.-1, Z.2}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`mit dessen Hilfe"' ein.
-
-\erroronpage{721}{Abs.-1, Z.2}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`die nicht unterst"utzt"' ein.
-
-\erroronpage{728}{Abs.2, Z.-1}{JMa}{2006/03/31}{2}
-Es hei\ss{}t \u{der} Apostroph, nicht "`das"'.
-
-\erroronpage{734}{Abs.-3, Z.-3}{JMa}{2006/03/31}{2}
-F"uge ein "offnende Klammer vor "`zum Beispiel"' ein.
-
-\erroronpage{735}{Abs.3, Z.1}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`wo im"' ein.
-
-\erroronpage{737}{Abs.-3, Z.-2}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`die normalerweise"' ein.
-
-\erroronpage{740}{Abs.-3, Z.2}{JMa}{2006/03/31}{2}
-Streiche den letzten Buchstaben von wurde\u{n}.
-
-\erroronpage{745}{Abs.-1, Z.-2}{JMa}{2006/03/31}{2}
-Ersetze: "`ein solche"' \> "`eine solche"'
-
-\erroronpage{746}{Abs.-4, Z.1}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`wo im"' ein.
-
-\erroronpage{752}{Abs.1, Z.-2}{JMa}{2006/03/31}{2}
-Zur schlie\ss{}enden Klammer gibt es keine "offnende.
-
-\erroronpage{752}{Abs.3, Z.-2}{JMa}{2006/03/31}{2}
-Streiche die letzten drei Buchstaben von "`aufauf"'.
-
-\erroronpage{755}{Abs.-1, Z.2}{JMa}{2006/03/31}{2}
-Ersetze: "`eine vollst"andigen"' \> "`einen vollst"andigen"'
-
-\erroronpage{763}{Abs.3, Z.6}{JMa}{2006/03/31}{2}
-Streiche das Komma vor "`und"'.
-
-\erroronpage{767}{Abs.-3, Z.1}{JMa}{2006/03/31}{2}
-Ersetze: "`L"adt"' \> "`l"adt"'
-
-\erroronpage{772}{Tab.12.2}{JMa}{2006/03/31}{2}
-F"uge ein Komma vor "`die eine bestimmte Wahl"' ein.
-
-\erroronpage{777}{Abs.3, Z.-1}{JMa}{2006/03/31}{2}
-Füge einen Punkt nach "`zeigt"' ein.
-
-\erroronpage{781}{Abs.1, Z.1}{JMa}{2006/03/31}{2}
-Ersetze: "`Diese"' \> "`Dieses"'
-
-
-\CHAPTER{Kapitel 13}
-
-\erroronpage{791}{Tab.13.1, \texttt{inbook}}{JMa}{2006/04/11}{2}
-Streiche einmal das Wort "'oder"'.
-
-\erroronpage{792}{Tab13.2, \texttt{crossref}}{JMa}{2006/04/11}{2}
-F"uge ein Komma vor "`auf den"' ein.
-
-\erroronpage{795/796}{mehrere Stellen}{FMi/DAl}{2005/09/12}{2}
- Der Name "`Miguel Lopez Fernandez"' sollte durch "`Miguel Parra Benavides"'
- ersetzt werden, da der bisher verwendete eigentlich Akzente besitzen würde,
- die an der Stelle im Buch noch nicht diskutiert wurden.
-
-\erroronpage{796}{Abs.-5, Z.-1}{JMa}{2006/04/11}{2}
-F"uge einen Punkt nach "`erscheinen"' ein.
-
-\erroronpage{799}{Abs.-2, Z.3}{JMa}{2006/04/11}{2}
-Streiche das Komma vor "'und"'.
-
-\erroronpage{802}{Abs.-1, Z.-2}{JMa}{2006/04/11}{2}
-Streiche das Komma vor "'und"'.
-
-\erroronpage{819}{Abs.-1, Z.2}{JMa}{2006/04/11}{2}
-Ersetze: BibTexMng \> \textsf{BibTexMng}
-
-\erroronpage{820}{Abs.2, Z.2}{JMa}{2006/04/11}{2}
-Streiche das Komma nach \texttt{size}.
-
-\erroronpage{821}{Tab.13.4, Z.-4}{JMa}{2006/04/11}{2}
-F"uge ein Leerzeichen nach "`Fachzeitschriften"' ein. Ferner ist die
-"'Tabellen"uberschrift"' nicht im \textsf{sf}-Format.
-
-\erroronpage{828}{Tab. 13.5, Z. 1-2}{MSch}{2006/01/06}{2}
- Donald Ervin Knuths Name ist falsch geschrieben. Ersetze: "`Erwin"' \>
- "`Ervin"'
-
-\erroronpage{830}{Tab.13.6}{JMa}{2006/04/11}{2}
-Ersetze: Italienische \> Italienisch
-
-\erroronpage{832}{Abs.1, Z.2}{JMa}{2006/04/11}{2}
-Ersetze: Abschnitte \> Abschnitten
-
-\erroronpage{839}{Tab.13.8, \texttt{substring}}{JMa}{2006/04/11}{2}
-F"uge ein Leerzeichen vor "`hat"' ein.
-
-\erroronpage{842}{Abs.1, Z.-2}{JMa}{2006/04/11}{2}
-Entweder fehlt hier eine "offnende Klammer -- oder die schlie\ss{}ende ist
-zu viel.
-
-
-\CHAPTER{Kapitel 14}
-
-\erroronpage{853}{Tab.14.1}{FMi}{2006/05/12}{2}
-Die "`Tabellen"uberschrift"' ist nicht im \textsf{sf}-Format.
-
-\erroronpage{858}{Abs.4, Z.1}{JMa}{2006/05/03}{2}
-F"uge ein "`zu"' zwischen "`Kommentare"' und "`entfernen"' ein.
-
-\erroronpage{865}{1. Snippet, Z. 2}{MSch}{2006/01/06}{2}
- Ersetze: |text/latex/base| \> |tex/latex/base|
-
-\erroronpage{867}{Abs.5}{FMi}{2007/11/13}{s}
- Explain that |\cmd| can't be used with conditionals, e.g., those produced
- with |\newif| .
-
-\erroronpage{865}{l.-7}{FMi/HjG}{2005/09/02}{2}
- Underline, as it is command line input.
-
-\erroronpage{871}{Abs.2, Z.2}{JMa}{2006/05/03}{2}
-Ersetze entg"ultig \> endg"ultig
-
-\erroronpage{870-872}{}{FMi}{2007/01/08}{}
- Setzer-Kommentar:
- Beispiele m"ussen neu kompiliert werden und
- Seiten m"ussen immer dann neu gedruckt werden, wenn etwas am Kapitel ge"andert
- wird --- genauer auf \emph{einer} der drei Seiten (da sich das CVS-Tag in
- den Beispielen und im "`code"' auf
- Seite 871/Mitte "andert).
-
-
-\CHAPTER{Anhang A}
-
-
-\erroronpage{880}{Abs.1, Z.6}{VVo}{2008/09/02}{s}
-Ersetze: "`so wird eine Fehlermeldung ausgegeben."'
-\> "`so wird eine Warnung ausgegeben."'
-
-
-\erroronpage{882}{Abs.1, Z.2}{FMi}{2006/05/12}{2}
-Ersetze: Abschnitte \> Abschnitten
-
-\erroronpage{888}{fig A.1, l.4}{FMi/JAn}{2005/09/09}{2}
- ``Did\^ot'' \> ``Didot'' und entferne Komma nach "`Zoll"'
-
-\erroronpage{891}{Tab.A.3, Z.1}{JMa}{2006/05/03}{2}
-F"uge ein Komma vor "`der eine feste oder"' ein.
-
-\erroronpage{899}{A.2.3 Abs.\ 2, Z.\ 5}{RHe}{2006/06/10}{2}
- Füge Komma ein: "`Diese Struts sind sehr nützlich, um die Höhe oder
-\dots{}"'
-
-\erroronpage{903}{Abs.-2, Z.1}{FMi}{2006/06/14}{2}
-Füge Wort ein: "`nach der \u{letzten} Klammer \verb=}= und\ldots"'
-
-\erroronpage{906}{Abs.1, Z.1}{JMa}{2006/05/03}{2}
-Ersetze \textsl{text} \> \textsl{test}
-
-\erroronpage{909}{Abs.2, Z.1}{JMa}{2006/05/03}{2}
-F"uge ein Komma vor "`ob"' ein.
-
-\erroronpage{918}{Abs.-1, Z.3}{JMa}{2006/05/03}{2}
-F"uge ein Komma vor "`wird"' ein.
-
-
-\erroronpage{918}{Abs.-1, Z.4}{FMi}{2006/09/23}{2}
-Ersetze: "`und alle Prozesse angehalten. "'
-\> "`und \u{die Verarbeitung} angehalten."'
-
-
-
-\CHAPTER{Anhang B}
-
-\erroronpage{925}{Abs.-2, Z.-3}{JMa}{2006/05/28}{2}
-F"uge ein Komma vor "`\textit{geben Sie}"' ein.
-
-\erroronpage{960}{Abs.-2, Z.-1}{JMa}{2006/05/28}{2}
-Der Punkt am Ende des Absatzes fehlt.
-
-\erroronpage{969}{Abs.-3, Z.2}{JMa}{2006/05/28}{2}
-Ersetze das \> dass
-
-\erroronpage{971}{Abs.1, Z.1}{JMa}{2006/05/28}{2}
-Ersetze einen \> ein
-
-\erroronpage{973}{Abs.1, Z.2}{JMa}{2006/05/28}{2}
-Ersetze Seite 973 \> dieser Seite
-
-\erroronpage{973}{Abs.5, Z.1}{JMa}{2006/05/28}{2}
-Ersetze \TeX{}war \> \TeX\ war
-
-\erroronpage{977}{Z.3}{JMa}{2006/05/28}{2}
-Entferne das Komma vor "`\textit{wurde}"'.
-
-\erroronpage{977}{Z.5}{JMa}{2006/05/28}{2}
-Entferne das Komma vor "`als"'.
-
-\erroronpage{980}{Abs.1, Z.2}{JMa}{2006/05/28}{2}
-F"uge ein Komma nach "`wird"' ein.
-
-\erroronpage{987}{Abs.-2, Z.5}{JMa}{2006/05/28}{2}
-F"uge ein Komma vor "`wobei"' ein.
-
-\erroronpage{988}{Abs.-1, Z.-3}{JMa}{2006/05/28}{2}
-F"uge ein Komma vor "`gilt"' ein.
-
-
-\CHAPTER{Anhang C}
-
-\erroronpage{998}{Abs.2, Z.5}{FMi}{2006/09/12}{2}
-Ersetze: Abbildung C.\u{2} \> Abbildung C.\u{1}
-
-\erroronpage{998}{Abs.-1, Z.4}{JMa}{2006/05/28}{2}
-Streiche das Komma vor "`ausgew"ahlt"'.
-
-\erroronpage{1001}{Bsp.1, Z.1}{SNe}{2009/05/10}{s}
-Ersetze "\texttt{wgetftp}"' \> "`\texttt{wget ftp}"'
-
-\erroronpage{1003}{Abs.-1, Z.5/6}{JMa}{2006/05/28}{2}
-Streiche eines der beiden Worte "`eingeblendet"'.
-
-\erroronpage{1004}{\textbf{esc:}}{JMa}{2006/05/28}{2}
-Ersetze Kalanien \> Katalonien
-
-\erroronpage{1005}{\textbf{fra:}}{JMa}{2006/05/28}{2}
-Ersetze Orleans \> Orl\'{e}ans
-
-
-\CHAPTER{Bibliographie}
-
-\erroronpage{1017}{[57]}{RHe}{2006/06/07}{2}
-Ersetzte Erl\"auterung durch: "`Die
-\u{englische} erste Ausgabe dieses Buches."'
-
-\erroronpage{1017/1018}{[58]}{FMi}{2009/08/01}{s}
-Eintrag sollte auf die zweite (aktuelle) Ausgabe verweisen.
-(Ab dem korrigierten Nachdruck von 2010 befindet sich [58] ganz auf seite 1018.)
-
-\erroronpage{1019}{[67], Z.-2}{JMa}{2006/05/28}{2}
-Schreibe "`Sprachengetrennt"' getrennt.
-
-\erroronpage{1019}{[71]}{RHe}{2006/06/07}{2}
- streiche "`international"; ISO ist per se international
-
-\erroronpage{1020}{[74]}{FMi}{2006/09/18}{2}
- Füge ``Lars Hellstr\"om'' als Autor hinzu. Datum ``Dezember 2004''
-
-\erroronpage{1025}{[116, Z.\ 2]}{RHe}{2006/06/07}{2}
- Vergleich mit "`(eben)so \dots{} setzen kann, wie sonst \dots{}"'
-erfordert Komma
-
-\erroronpage{1026}{[127], Z.1}{JMa}{2006/05/28}{2}
-F"uge ein Komma vor "`welche"' ein.
-
-\erroronpage{1026}{[128]}{FMi}{2005/11/07}{2}
- Der Titel lautet: ``E-\TeX: Guidelines for Future \TeX{} Extensions''.
-
-\erroronpage{1028}{[140], Z.2}{JMa}{2006/05/28}{2}
-F"uge ein Komma vor "`die auf"' ein.
-
-\erroronpage{1028}{[140], Z.-5}{JMa}{2006/05/28}{2}
-Ersetze Tinagh \> Tifinagh
-
-
-\erroronpage{1030}{[162]-[163]}{FMi/RKo}{2005/11/11}{2}
-
- Leider ist Th\`anhs Name falsch geschrieben (Akzente) . Die
- korrekte Schreibweise ist "`H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}}
- Th\`anh"'.
-
-\erroronpage{1030}{[159]-[163]}{FMi/RKo}{2005/11/11}{}
-
- "`Han"' ist der Familienname, müsste also korrekterweise unter H
- einsortiert werden (letzteres lässt sich aber nur schwer korrigieren, da
- wegen der gänderten Nummerierung dann nahezu das gesamte Buch neu gesetzt
- werden müsste).
-
-
-\CHAPTER{Index}
-
-
-\erroronpage{1033}{2. Absatz, Z.4}{JMa}{2006/01/05}{2}
-Die Abkürzung NFSS sollte \textsf{NFSS} geschrieben werden.
-
-
-\erroronpage{1040}{rechte Spalte, Zeile 8}{BvdW}{2014/02/19}{}
-\verb=\AskOption= (ohne das ``s'' am Ende, siehe Errata Seite 2 zu Kapitel 2)
-
-
-
-\iffalse Nicht wirklich, aber auch nicht schoen so ... mal sehen
-
-\erroronpage{1068}{"`Gleichheits- und Relationszeichen"'}{MSch}{2005/12/31}{}
- Die beiden Einträge zu Gleichheits- und Relationszeichen sind durch
- die Verwendung unterschiedlicher Trennzeichen falsch sortiert;
- vertausche "`negierte, mathematische Symbole"' und "`mathematische
- Symbole"'.
-\fi
-
-
-
-
-
-\CHAPTER{Biographien}
-
-\erroronpage{1129}{Abs. 2, Z.3}{SZi}{2005/11/24}{2}
- l"osche g aus Dok\u{g}umente
-
-\end{erratalist}
-
-
-\setcounter{collectmore}{3}
-
-\begin{multicols}{3}[Dank an alle die Fehler oder Auslassungen
- gemeldet haben. Gelistet sind jeweils die Personen die ein Problem
- zuerst entdeckt haben. Einige Fehler wurden im englischen Original
- gefunden, weshalb auch ein paar Namen ohne Fehlerzahl auftauchen.]
-\contributor{AFe}{Alfonso Fernandez-Vazquez}
-\contributor{BvdW}{Berend G. van der Wall}
-\contributor{CBe}{Claudio Beccari}
-\contributor{ChB}{Christof B\"ockler}
-\contributor{DAl}{Daniel Alonso i Alemany}
-\contributor{DIs}{Daniel Isaacson}
-\contributor{ESt}{Eckhard Stein}
-\contributor{FMi}{Frank Mittelbach}
-\contributor{HjG}{Hubert G\"a\ss lein}
-\contributor{JAn}{Jacques Andr\'e}
-\contributor{JBez}{Javier Bezos}
-\contributor{JMa}{Jens Mandavid}
-\contributor{JS}{Joachim Schrod}
-\contributor{LHe}{Lars Hellstr\"om}
-\contributor{MHo}{Morten H\o gholm}
-\contributor{MLi}{Martin Liebmann}
-\contributor{MSch}{Michael Schutte}
-\contributor{PEb}{Paul Ebermann}
-\contributor{RHe}{Ralf Heckmann}
-\contributor{RKo}{Reinhard Kotucha}
-\contributor{RSi}{Roman Sigg}
-\contributor{SNe}{Stefan Neuhaus}
-\contributor{SZi}{Stefan Ziesemer}
-\contributor{TNdz}{Timo Niedenzu}
-\contributor{VVo}{Vladimir Volovich}
-\contributor{YiL}{Yiannis Lazarides}
-\end{multicols}
-
-
-Sollten Sie einen weiteren Fehler entdecken, melden Sie diesen bitte an
-\begin{quote}\ttfamily
- frank.mittelbach@latex-project.org
-\end{quote}
-wenn möglich gleich in der für diese Datei benötigte Form, d.h.
-\begin{flushleft}
-|\erroronpage{|\textit{Seitennummr}|}{|\textit{Zeilenidentifikation}|}{|%
- \textit{Initialen}|}{|\textit{JJJJ/MM/DD}|}{}| \\
- \hspace*{2em}\textit{Beschreibung des Fehlers}
-\end{flushleft}
-Hier ist ein Beispiel:
-\begin{verbatim}
-\erroronpage{5}{Abs.3, Z.1}{MOs}{2005/09/01}{}
- Ersetze: "`LaTeX"' \> "`\LaTeX{}"'
-\end{verbatim}
-Die Verwendung von Babelkommandos (etwa |"`|) ist möglich, aber Umlaute
-sollten möglichst nicht als 8-bit Zeichen eingegeben werden (also besser |"a|
-oder |\"a|) um Probleme mit der Kodierung zu verhindern.
-
-\end{document}
diff --git a/macros/latex/base/lb2.pdf b/macros/latex/base/lb2.pdf
deleted file mode 100644
index abb0124d35..0000000000
--- a/macros/latex/base/lb2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/legal.txt b/macros/latex/base/legal.txt
index a82b14877d..8e7c8f4390 100644
--- a/macros/latex/base/legal.txt
+++ b/macros/latex/base/legal.txt
@@ -29,7 +29,7 @@ in the file lppl.txt.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
The use of LaTeX is unrestricted.
diff --git a/macros/latex/base/letter.dtx b/macros/latex/base/letter.dtx
index d3d3fa4e6a..b8a8f0a257 100644
--- a/macros/latex/base/letter.dtx
+++ b/macros/latex/base/letter.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/letter.ins b/macros/latex/base/letter.ins
index 28d77dd3b5..b71c06b95a 100644
--- a/macros/latex/base/letter.ins
+++ b/macros/latex/base/letter.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/letter.pdf b/macros/latex/base/letter.pdf
index dd5180e50d..ce8635ed1a 100644
--- a/macros/latex/base/letter.pdf
+++ b/macros/latex/base/letter.pdf
Binary files differ
diff --git a/macros/latex/base/lgc2.err b/macros/latex/base/lgc2.err
deleted file mode 100644
index 043c56d752..0000000000
--- a/macros/latex/base/lgc2.err
+++ /dev/null
@@ -1,697 +0,0 @@
-\newcommand\erratafiledate{2008-06-13}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% To produce a printed version of this errata file run this file through
-% LaTeX. It will unpack a small class file (if not already present) and
-% a configuration file with the extension .cfg. You might want to modify
-% the setting in this configuration file to print only a partial errata
-% suitable for your printed revision of this book, see details in the
-% .cfg file.
-%
-% The current version of this file can be found at:
-%
-% https://www.latex-project.org/guides/books.html
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\begin{filecontents}{ttcterrata.cls}
-%%
-%% Copyright (C) 1997,2004,2005,2007 Frank Mittelbach
-%% This class file is licenced under LPPL latest version;
-%% see https://www.latex-project.org/lppl
-%
-%
-% It sets up a few commands used to format the errata entries for books in the
-% Addison-Wesley Series:
-%
-% Tools and Techniques for Computer Typesetting
-%
-% hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books.
-%
-% Changes:
-%
-% v1.0a - changed name from errata.cls to ttcterrata.cls
-
-\ProvidesClass{ttcterrata}
- [2007/11/10 v1.0a Mini class for errata files; subject to change (FMi)]
-
-\LoadClass{article}
-
-\setcounter{secnumdepth}{-1}
-\addtolength\textwidth{5cm}
-\addtolength\oddsidemargin{-3cm}
-
-\addtolength\textheight{36pt}
-
-\RequirePackage{shortvrb}
-\MakeShortVerb{\|}
-
-\RequirePackage{array,longtable}
-\RequirePackage{multicol}
-
-
-\newcommand\erratagetnumber{}
-\def\erratagetnumber#1/#2/#3\erratagetnumber{#1#2#3}
-
-
-\newcommand\gobbleerrata{%
- \setbox\@tempboxa\vbox\bgroup
- \let\endgobble\egroup
- \let\hideamp\relax
- \let\\\relax\let\par\@@par}
-
-\newcommand*\hideamp{&}
-
-\let\endgobble\relax
-
-
-\newcommand\erratastartdate{}
-\newcommand\myprinting{1}
-
-
-\newcommand\doweprint[2]{%
- \ifnum \myprinting < \if!#2!1000 \else \ifx s#2 1000\else#2 \fi\fi
- \ifnum \expandafter\erratagetnumber\erratastartdate\erratagetnumber <
- \erratagetnumber#1\erratagetnumber \relax
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \else
- \@tempswafalse
- \fi
-}
-
-
-
-\newcommand\includedentries{entries after = \erratastartdate}
-\newcommand\printedentries{between \erratastartdate\space and}
-
-\newcommand\showallerrors{%
- \renewcommand\includedentries{all errata entries}%
- \renewcommand\printedentries{up to}
- \renewcommand\doweprint[2]{\@tempswatrue}}
-
-
-\newcommand\displayrevisionfix[2]{%
- \if!#2!\textbf{#1}\else\textit{#1}\rlap{\textsuperscript{#2}}\fi}
-
-\newcommand\norevisionnumbers{%
- \renewcommand\displayrevisionfix[2]{\textbf{##1}}}
-
-\IfFileExists{\jobname.cfg}
- {
- \input{\jobname.cfg}
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* Configuration file for \jobname.err found }
- \typeout{*}
- \typeout{***************************************************}
- \AtEndDocument{
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* If you wish to generate an errata listing}
- \typeout{* containing only errors found after a certain revision}
- \typeout{* and/or only errors found after a certain date}
- \typeout{* modify the information stored in \jobname.cfg}
- \typeout{*}
- \typeout{* Current settings are:}
- \typeout{*}
- \typeout{* \@spaces printing of your book = \myprinting}
- \typeout{* \@spaces include \includedentries}
- \typeout{*}
- \typeout{***************************************************}
- }}
- {}
-
-%% \erroronpage <page> <line info> <contributor> <date> <fixed in revision>
-
-\newcommand\erroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\seriouserroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
-
-\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
- {\endgobble\end{longtable}}
-
-\newcommand\erratatitle[2]
- {\begin{center}\LARGE\bfseries
- Errata list for #1\\[5pt](\myprinting.\ printing)\\[10pt]
- \small Includes all entries found \printedentries\space #2\\
- (For other periods/print runs reprocess this document
- with different config settings)
- \end{center}%
- \markright{Errata for #1 (\printedentries\space #2)}%
- \thispagestyle{plain}%
- \vspace{20pt}}
-
-\pagestyle{myheadings}
-
-\AtBeginDocument{\small}
-
-\setlength\parindent{0pt}
-\setlength\parskip{2pt}
-
-\newcommand\contributor[2]{\makebox[1cm][l]{\sffamily#1} #2\par}
-
-% some special shortcuts overwriting existing commands:
-
-\let\u\underline
-\renewcommand\>{$\to$}
-
-%%% some code suggested by Thorsten Hansen to count the number of
-%%% contributions by individuals (will work only if we do not get
-%%% too many :-)
-
-\def\count@contributors#1/#2/#3\@nil{
- \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
-%%% also count secondary:
-%%% \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
-}
-
-\renewcommand\erroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\seriouserroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\contributor[2]{\makebox[1cm][l]{%
- \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
-
-\end{filecontents}
-
-
-\begin{filecontents}{\jobname.cfg}
-%
-%
-% Configuration file for the errata listing of
-%
-% The LaTeX Graphics Companion, Second Edition
-%
-%
-% \erratastartdate
-%
-% Specifies the date from which on errata entries should be listed.
-%
-% The format is YYYY/MM/DD.
-%
-% The default below ensures that all entries for a particular
-% printing are typeset.
-%
-
-\renewcommand\erratastartdate{2007/06/30}
-
-
-%
-% \myprinting
-%
-% Specifies which (revised) printing you own. For example, if you
-% have the second printing set this to 2 so that errors already
-% corrected in that printing will not appear in your errata
-% listing.
-%
-% The default below ensures that all entries relevant to the x-th
-% printing are typeset.
-%
-%
-
-\renewcommand\myprinting{2}
-
-%
-% \norevisionnumbers
-%
-% Specifies that all page numbers in the errata are shown in the same
-% format (bold face) irregardless of whether or not they are fixed
-% in some revision. The default is to print corrected errors in
-% italic and add the revision number as a superscript.
-
-%
-% \showallerrors
-%
-% With this command you tell the program that all errata entries are
-% supposed to be generated. This makes \myprinting and
-% \erratastartdate basically obsolete so this isn't turned on by
-% default.
-%
-%
-\endinput
-\end{filecontents}
-
-
-\documentclass{ttcterrata}[2005/11/10] % we want new class
-
-\usepackage[T1]{fontenc}
-\let\u\underline % shortcut for this file
-\newcommand\meta[1]{$\langle$\textit{#1\/}$\rangle$}
-
-\usepackage{textcomp}
-
-\usepackage{url}
-
-\begin{document}
-
-\erratatitle{The \LaTeX{} Graphics Companion, Second Edition}{\erratafiledate}
-
-
-\begin{verbatim}
-@book(A-W:GMRRV07,
- author = {Michel Goossens and Frank Mittelbach and Sebastian Rahtz
- and Denis Roegel and Herbert Vo{\ss}},
- title = {The {\LaTeX} Graphics Companion},
- edition = 2,
- series = {Tools and Techniques for Computer Typesetting},
- publisher = {Addison-Wesley},
- address = {Boston, Massachusetts},
- year = 2007,
- pagenums = {976},
- bibliography = {yes},
- index = {yes},
- isbn = {978-0-321-50892-8},
-)
-\end{verbatim}
-
-
-\begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{3cm}}
-\item[]
-
-This file (\texttt{\jobname.err}) can be found as part of the \LaTeX{}
-distribution and its latest version is maintained on the \LaTeX{}
-project site at \texttt{https://www.latex-project.org/help/books/\jobname.err}
-where you will also find extracts of the book.
-
-The first column in the table shows the page number of the errata
-entry. Superscript numbers in the first column refer to the printed
-revision in which this entry was corrected (\textit{s} indicates a
-correction in the sources only). The second
-column gives the precise location (negative line or paragraph numbers
-are counted from the bottom of the page). The third column shows the
-first finder of the problem.
-
-You can customize this list to only show errata related to the printing
-you own by changing the configuration in the file \texttt{\jobname.cfg}.
-
-\begin{center}
- \Large \bfseries To Err is Human --- Bug Contest
-\end{center}
-
-Any mistake found and reported is a gain for all readers of our book.
-For this reason Addison-Wesley and the authors offer a prize (for 6
-periods) to the eligible person who finds the largest
-number of bugs during that period (in case of a draw a random choice
-will be made between all those with the largest number of findings).
-A person can receive at most one prize, ever; errors found by any of
-the authors do not count.
-
-Each prize is a free choice of any single computing book found on the
-AW Professional web site \texttt{http://www.awprofessional.com} (that
-is, no boxed sets or multiple volume offers).
-
-
-As usual, the authors and publisher reserve the right to make various
-decisions such as whether a reported feature is an error for
-competitive purposes or whether similar features count as a single or
-multiple errors. ---
-Good luck!
-
-\begin{center}
-\begin{tabular}{clr}
-Contest period ends & Winner \\[4pt]
-2008/05 & Milan Vujtek & 16 suggestions\\
-2010/05 & & \\
-\ldots
-\end{tabular}
-\end{center}
-\end{list}
-
-\newpage
-
-
-%<--------------------------
-
-\newcommand\BibTeX{\textsc{Bib}\TeX}
-
-\begin{erratalist}
-
-\CHAPTER{General }
-
-\seriouserroronpage{general}{}{FMi}{2007/07/01}{}
-
- To help you in assessing this errata document we have placed
- exclamation marks in front of each entry that we consider essential
- for correctly understanding the book contents.
-
-\erroronpage{general}{}{FMi}{2007/07/01}{}
-
- Due to the printing process there may be small alignment problems
- between blue and black text on some pages. These can vary from book
- to book depending on how the paper was handled between print
- runs---such is the analog nature of printing on a press.
-
-\CHAPTER{Front matter}
-
-\erroronpage{xxix}{para 4, l.1}{FMi/hv}{2007/08/23}{2}
-Add ``In case of \textsf{PSTricks} \u{and, for example, the \textsf{beamer}
-class} the syntax \ldots''
-
-\erroronpage{xxix}{para 5, code}{FMi}{2007/08/24}{2}
-There should be a bit more space in front of the code block
-
-\CHAPTER{Chapter 1}
-
-\erroronpage{2}{para 3, l.1}{MiV}{2008/05/22}{2}
- ``First.'' \> ``First,''
-
-\CHAPTER{Chapter 2}
-
-\CHAPTER{Chapter 3}
-
-\CHAPTER{Chapter 4}
-
-\seriouserroronpage{152}{exa 4-1-15}{HjG}{2007/08/17}{2}
- Output of example is missing! Oops \ldots\ it was there honest
-
-\erroronpage{177}{para 2, l.1}{MiV}{2008/05/22}{2}
-Missing interword space: ``Flowcharts\u{ }are''
-
-\CHAPTER{Chapter 5}
-
-
-\erroronpage{221}{last line}{RSh}{2008/02/13}{2}
-``down'' should be ``up''.
-
-\erroronpage{223}{}{hv}{2008/02/22}{2}
-Changed explanation for example 5-4-1 slightly (since example changed).
-
-\erroronpage{224}{exa. 5-4-1}{hv}{2008/02/22}{2}
-Coding changed to:
-\begin{verbatim}
-\begin{pspicture}(-1,-1)(2,2)
- \psaxes{->}(0,0)(-1,-1)(2,2)
- \parabola[linewidth=1.5pt](1,2)(-0.5,-0.5)
- \parabola[origin={0.25,-0.5},
- linestyle=dashed](1,2)(-0.5,-0.5)
- \psaxes[origin={0.25,-0.5},linestyle=dashed,
- linewidth=0.2pt]{->}(0,0)(-1,-1)(2,2)
-\end{pspicture}
-\end{verbatim}
-
-\erroronpage{240}{para 4, l.8}{MiV}{2008/05/22}{2}
-Remove backslash in:
- ``keyword setting \verb/\showpoints=true/''
-
-\erroronpage{254}{Ex 5-9-1}{MiV}{2008/05/22}{}
-The blue circle shouldn't be visible behind the black circle. This is a
-problem due to the printing process used for the book---it does not show up on
-all books.
-
-\erroronpage{290}{Ex 5-13-22}{MSh}{2008/06/11}{2}
-Inside |\pscustom| the |\psbezier| macro needs four arguments in case
-there exists no current point (always for the first macro) and three
-arguments if the bezier curve connects to an existing line
-or curve (path).
-
-\CHAPTER{Chapter 6}
-
-\erroronpage{335}{para 5, l.4}{JMi}{2008/06/23}{2}
-``\ldots{} summarized in \u{Table} 5.2 \ldots" \> ``\ldots{} summarized in
-\u{Figure} 5.2 \ldots''
-
-\erroronpage{406}{margin}{hv}{2007/08/20}{2}
- Missing interword space:
- ``The\u{ }plotpoints \ldots''.
-
-\erroronpage{416}{exa 6-6-34}{hv}{2007/08/20}{2}
- The filling (crosshatch) of the example isn't quite correct.
-
-\erroronpage{458}{para 2, l.1}{HjG}{2007/08/17}{2}
- Missing interword space:
- ``The\u{ }\textsf{pst-pdf} package \dots''
-
-
-\CHAPTER{Chapter 7}
-
-\erroronpage{491}{2nd line}{yhj}{2008/01/06}{2}
-The name of author of xytree package should be ``Koaunghi Un''
-but not ``Koaungli Un''. Sorry for the mistake.
-
-\CHAPTER{Chapter 8}
-
-\erroronpage{514}{tab. 8.3}{FMi}{2008/012/21}{2}
-Slightly increase spacing after hline.
-
-\erroronpage{515}{tab. 8.4}{MiV}{2008/05/22}{2}
-There should be vertical spacing in the first line (superscript $10^{24}$
-touches top line)
-
-\seriouserroronpage{579}{para 2, l.3}{MiV}{2008/05/22}{2}
- \verb=\ln= \> \verb=\nl= (this will also change the index entry)
-
-\erroronpage{583}{para 4, l.9}{MiV}{2008/05/22}{2}
-Replace: ``of the voltage $V_C$'' \> ``of the voltage $v_C$''
-
-\CHAPTER{Chapter 9}
-
-\erroronpage{598/599}{several}{FMi}{2007/08/19}{2}
- The text and the displayed logs talk about example 7-2-6 but afterwards two
- more chapters got added (without the logs being regenerated), i.e., this
- should now be 9-2-6.
-
-\CHAPTER{Chapter 10}
-
-\seriouserroronpage{683}{exa. 10-1-22}{FMi}{2007/08/26}{2}
-The example unfortunately highlights a bug in the current texmate package: a
-linebreak (in contrast to a space) is not recognized as a move separator
-resulting in all moves getting scrambled in the output, e.g., you see
-\texttt{dxe5 Bxf3 Qxf5} put together under move 4.
-
-Fix: use \texttt{;} to separate moves on linebreaks or wait for the next
-release of the package.
-
-\CHAPTER{Chapter 11}
-
-\erroronpage{720}{6th item}{MiV}{2008/05/22}{2}
-Replace: ``documentwide'' \> ``\u{D}ocumentwide''
-
-\erroronpage{726}{para 2, l.2}{MiV}{2008/05/22}{2}
-Extra space after
-parenthesis: ``( in practice''
-
-\erroronpage{740}{para 2, l.1}{MiV}{2008/05/22}{2}
-Replace: ``given
-by \textit{start\u{ row}}'' \> ``given by \textit{start} row''
-
-\seriouserroronpage{741}{Ex 11-3-5}{MiV}{2008/05/22}{2}
-Usage of
-\verb=\cellcolor= might introduce extra space in the output (as one can see in
-the example).
-
-This can be argued as being a bug in the \texttt{colortbl} package. Given that the
-basic \verb=\color= command ignores spaces after it, \verb=\cellcolor= should
-behave similarly.
-
-\seriouserroronpage{744}{line after Ex 11-3-9}{MiV}{2008/05/22}{2}
-Replace: ``This does \u{not}, of course, affect'' \>
-``This does, of course, \u{also} affect''
-
-\erroronpage{758}{para 3, l.2}{MiV}{2008/05/22}{2}
-Add small space between values and units in frame dimension
-
-\erroronpage{760}{fig. 11.1}{MiV}{2008/05/22}{2}
-
-why differs section names (``Introduction to encoding'' vs. ``Introduction''
-etc.)?
-
-Frank: because the author of this section used a real live example where he had
-used an optional argument to |\section| to make the toc have special text for
-some reason (should be mentioned in the source though).
-
-\erroronpage{774}{2nd snytax box}{hv}{2009/05/8}{2}
-The |\transduration| command takes ``time in seconds'' as mandatory argument
-(and not ``key/vals'')
-
-\erroronpage{779}{para 3, l.1}{MiV}{2008/05/22}{2}
-``in not shown''\>
-``\u{is} not shown''
-
-\erroronpage{794}{exa 11--4-36}{hv}{2009/05/12}{2}
-Replace ``pic2e'' \> ``pic\u{t}2e'' in output, corresponding input not
-displayed in the book.
-
-
-\CHAPTER{Appendix A}
-
-
-\CHAPTER{Appendix B}
-
-\erroronpage{809}{para -1, l.-1}{HjG}{2007/08/17}{2}
- Missing interword space before opening parenthesis:
- ``\dots \texttt{faq}\u{ }(or \dots''
-
-
-Frank: actually there is nothing missing in the source. It is a deficiency of
-the fonts.
-
-\CHAPTER{Appendix C}
-
-
-\CHAPTER{Bibliography}
-
-\erroronpage{822}{entry [32]}{MiV}{2008/05/22}{2}
-Use capital C in ``Lecture Notes in computer Science''
-
-\erroronpage{823}{entry [35]}{JPFD}{2007/09/05}{2}
- The author name ``Eitan M. Gurai'' should be ``Eitan M. Gurari''.
-
-\erroronpage{824}{entry [47]}{GTa}{2010/02/10}{}
- An updated version of the manual can be downloaded from
- \url{https://www.tug.org/docs/metapost/mpman.pdf}
-
-\erroronpage{825}{entry [50]}{FMi}{2008/12/21}{2}
-Use capital C in ``Lecture Notes in computer Science''
-
-\erroronpage{826}{entry [59]}{FMi}{2008/12/21}{2}
- Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_1.pdf}
-
-\erroronpage{826}{entry [60]}{FMi}{2008/12/21}{2}
- Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_2.pdf}
-
- \erroronpage{828}{entry [60]}{FMi}{2008/12/21}{2}
- Add web url: ``Sample chapter
- at: \url{https://www.latex-project.org/help/books/}''
-
- \erroronpage{829/830}{editorial change}{FMi}{2008/12/21}{2}
- Page breaks changed due to other changes
-
-\erroronpage{833}{entry [128]}{FMi}{2008/12/21}{2}
- Url changed to: \url{obsolete/graphics/pstricks/doc/code/pst-code.pdf}
-
-
-\erroronpage{833}{entry [129]}{FMi}{2008/12/21}{2}
- Url changed to: \url{macros/generic/multido/}
-
-
-\erroronpage{833}{entry [135]}{ADo}{2008/01/02}{2}
-An ``s'' is missing in ``using'' (end of the first line of comment)
-
-
-\CHAPTER{Index}
-
- \erroronpage{856/860/866}{editorial change}{FMi}{2008/12/21}{2}
- changed index entries due to changes above
-
-\erroronpage{886}{col.2, l.-7}{GTa}{2010/02/10}{}
- image(METAPOST) should also reference example on p.145
-
- \erroronpage{891}{editorial change}{FMi}{2008/12/21}{2}
- changed index entries due to changes above
-
- \erroronpage{910/911}{editorial change}{FMi}{2008/12/21}{2}
- changed index entries due to changes above
-
- \erroronpage{925}{editorial change}{FMi}{2008/12/21}{2}
- changed index entries due to changes above
-
-\end{erratalist}
-
-
-\setcounter{collectmore}{3}
-
-\begin{multicols}{3}[Thanks to all who have found errors or
- omissions. Listed are the people who found an errata entry first.]
-\contributor{ADo}{Alain Dondelinger}
-\contributor{FMi}{Frank Mittelbach}
-\contributor{GTa}{Gr\'egoire Taviot}
-\contributor{HjG}{Hubert G\"a\ss lein}
-\contributor{JPFD}{Jean-Pierre Drucbert}
-\contributor{JMi}{John Middlekauff}
-\contributor{MSh}{Michael Sharpe}
-\contributor{MiV}{Milan Vujtek}
-\contributor{RSh}{Richard Shepard}
-\contributor{hv}{Herbert Vo\ss}
-\contributor{yhj}{You Hyun Jo}
-\end{multicols}
-
-
-Other people have sent us corrections for errors already found.
-Thanks to all of you!
-
-If you find
-further
-errors please report them to one of the authors, e.g.,
-\begin{quote}\ttfamily
- frank.mittelbach@latex-project.org
-\end{quote}
-preferably in a form usable directly in this file, i.e.,
-\begin{flushleft}
-|\erroronpage{|\textit{page-number}|}{|\textit{line-identification}|}{|%
- \textit{your-initials}|}{|\textit{date}|}{}| \\
- \hspace*{2em}\textit{description of the the erratum}
-\end{flushleft}
-Here is an example:
-\begin{verbatim}
-\erroronpage{5}{para 3, l.1}{MOs}{2007/07/01}{}
- ``LaTeX'' should be typeset ``\LaTeX''.
-\end{verbatim}
-
-\end{document}
-
-
-> > In addition, with regards to content of Section 8.1 it would be nice
-> > to use Roman ``d'' in integrands in examples 3-2-3, 3-5-83, 3-5-84,
-> > 5-12-21, 6-5-6 and 6-5-11.
diff --git a/macros/latex/base/lgc2.pdf b/macros/latex/base/lgc2.pdf
deleted file mode 100644
index 527b395a25..0000000000
--- a/macros/latex/base/lgc2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/lppl.pdf b/macros/latex/base/lppl.pdf
deleted file mode 100644
index e9e561140e..0000000000
--- a/macros/latex/base/lppl.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/lppl.tex b/macros/latex/base/lppl.tex
deleted file mode 100644
index bf0da5c7bb..0000000000
--- a/macros/latex/base/lppl.tex
+++ /dev/null
@@ -1,511 +0,0 @@
-%
-% Copyright 1999 2002-2011 LaTeX3 Project
-% Everyone is allowed to distribute verbatim copies of this
-% license document, but modification of it is not allowed.
-%
-%
-% If you wish to load it as part of a ``doc'' source, you have to
-% ensure that a) % is a comment character and b) that short verb
-% characters are being turned off, i.e.,
-%
-% \DeleteShortVerb{\'} % or whatever was made a shorthand
-% \MakePercentComment
-% \input{lppl}
-% \MakePercentIgnore
-% \MakeShortVerb{\'} % turn it on again if necessary
-%
-%
-% By default the license is produced with \section* as the highest
-% heading level. If this is not appropriate for the document in which
-% it is included define the commands listed below before loading this
-% document, e.g., for inclusion as a separate chapter define:
-%
-% \providecommand{\LPPLsection}{\chapter*}
-% \providecommand{\LPPLsubsection}{\section*}
-% \providecommand{\LPPLsubsubsection}{\subsection*}
-% \providecommand{\LPPLparagraph}{\subsubsection*}
-%
-%
-% To allow cross-referencing the headings \label's have been attached
-% to them, all starting with ``LPPL:''. As by default headings without
-% numbers are produced, this will only allow page references.
-% However, you can use the titleref package to produce textual
-% references or you change the definitions of \LPPLsection, and
-% friends to generated numbered headings.
-%
-%
-% We want it to be possible that this file can be processed by
-% (pdf)LaTeX on its own, or that this file can be included in another
-% LaTeX document without any modification whatsoever.
-% Hence the little test below.
-%
-%
-\makeatletter
-\ifx\@preamblecmds\@notprerr
- % In this case the preamble has already been processed so this file
- % is loaded as part of another document; just enclose everything in
- % a group
- \let\LPPLicense\bgroup
- \let\endLPPLicense\egroup
-\else
- % In this case the preamble has not been processed yet so this file
- % is processed by itself.
- \documentclass{article}
- \let\LPPLicense\document
- \let\endLPPLicense\enddocument
-\fi
-\makeatother
-
-
-\begin{LPPLicense}
- \providecommand{\LPPLsection}{\section*}
- \providecommand{\LPPLsubsection}{\subsection*}
- \providecommand{\LPPLsubsubsection}{\subsubsection*}
- \providecommand{\LPPLparagraph}{\paragraph*}
- \providecommand*{\LPPLfile}[1]{\texttt{#1}}
- \providecommand*{\LPPLdocfile}[1]{`\LPPLfile{#1.tex}'}
- \providecommand*{\LPPL}{\textsc{lppl}}
-
- \LPPLsection{The \LaTeX\ Project Public License}
- \label{LPPL:LPPL}
-
- \emph{LPPL Version 1.3c 2008-05-04}
-
- \textbf{Copyright 1999, 2002--2008 \LaTeX3 Project}
- \begin{quotation}
- Everyone is allowed to distribute verbatim copies of this
- license document, but modification of it is not allowed.
- \end{quotation}
-
- \LPPLsubsection{Preamble}
- \label{LPPL:Preamble}
-
- The \LaTeX\ Project Public License (\LPPL) is the primary license
- under which the \LaTeX\ kernel and the base \LaTeX\ packages are
- distributed.
-
- You may use this license for any work of which you hold the
- copyright and which you wish to distribute. This license may be
- particularly suitable if your work is \TeX-related (such as a
- \LaTeX\ package), but it is written in such a way that you can use
- it even if your work is unrelated to \TeX.
-
- The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS
- LICENSE', below, gives instructions, examples, and recommendations
- for authors who are considering distributing their works under this
- license.
-
- This license gives conditions under which a work may be distributed
- and modified, as well as conditions under which modified versions of
- that work may be distributed.
-
- We, the \LaTeX3 Project, believe that the conditions below give you
- the freedom to make and distribute modified versions of your work
- that conform with whatever technical specifications you wish while
- maintaining the availability, integrity, and reliability of that
- work. If you do not see how to achieve your goal while meeting
- these conditions, then read the document \LPPLdocfile{cfgguide} and
- \LPPLdocfile{modguide} in the base \LaTeX\ distribution for suggestions.
-
-
- \LPPLsubsection{Definitions}
- \label{LPPL:Definitions}
-
- In this license document the following terms are used:
-
- \begin{description}
- \item[Work] Any work being distributed under this License.
-
- \item[Derived Work] Any work that under any applicable law is
- derived from the Work.
-
- \item[Modification] Any procedure that produces a Derived Work under
- any applicable law -- for example, the production of a file
- containing an original file associated with the Work or a
- significant portion of such a file, either verbatim or with
- modifications and/or translated into another language.
-
- \item[Modify] To apply any procedure that produces a Derived Work
- under any applicable law.
-
- \item[Distribution] Making copies of the Work available from one
- person to another, in whole or in part. Distribution includes
- (but is not limited to) making any electronic components of the
- Work accessible by file transfer protocols such as \textsc{ftp} or
- \textsc{http} or by shared file systems such as Sun's Network File
- System (\textsc{nfs}).
-
- \item[Compiled Work] A version of the Work that has been processed
- into a form where it is directly usable on a computer system.
- This processing may include using installation facilities provided
- by the Work, transformations of the Work, copying of components of
- the Work, or other activities. Note that modification of any
- installation facilities provided by the Work constitutes
- modification of the Work.
-
- \item[Current Maintainer] A person or persons nominated as such
- within the Work. If there is no such explicit nomination then it
- is the `Copyright Holder' under any applicable law.
-
- \item[Base Interpreter] A program or process that is normally needed
- for running or interpreting a part or the whole of the Work.
-
- A Base Interpreter may depend on external components but these are
- not considered part of the Base Interpreter provided that each
- external component clearly identifies itself whenever it is used
- interactively. Unless explicitly specified when applying the
- license to the Work, the only applicable Base Interpreter is a
- `\LaTeX-Format' or in the case of files belonging to the
- `\LaTeX-format' a program implementing the `\TeX{} language'.
- \end{description}
-
- \LPPLsubsection{Conditions on Distribution and Modification}
- \label{LPPL:Conditions}
-
- \begin{enumerate}
- \item Activities other than distribution and/or modification of the
- Work are not covered by this license; they are outside its scope.
- In particular, the act of running the Work is not restricted and
- no requirements are made concerning any offers of support for the
- Work.
-
- \item\label{LPPL:item:distribute} You may distribute a complete, unmodified
- copy of the Work as you received it. Distribution of only part of
- the Work is considered modification of the Work, and no right to
- distribute such a Derived Work may be assumed under the terms of
- this clause.
-
- \item You may distribute a Compiled Work that has been generated
- from a complete, unmodified copy of the Work as distributed under
- Clause~\ref{LPPL:item:distribute} above, as long as that Compiled Work is
- distributed in such a way that the recipients may install the
- Compiled Work on their system exactly as it would have been
- installed if they generated a Compiled Work directly from the
- Work.
-
- \item\label{LPPL:item:currmaint} If you are the Current Maintainer of the
- Work, you may, without restriction, modify the Work, thus creating
- a Derived Work. You may also distribute the Derived Work without
- restriction, including Compiled Works generated from the Derived
- Work. Derived Works distributed in this manner by the Current
- Maintainer are considered to be updated versions of the Work.
-
- \item If you are not the Current Maintainer of the Work, you may
- modify your copy of the Work, thus creating a Derived Work based
- on the Work, and compile this Derived Work, thus creating a
- Compiled Work based on the Derived Work.
-
- \item\label{LPPL:item:conditions} If you are not the Current Maintainer
- of the
- Work, you may distribute a Derived Work provided the following
- conditions are met for every component of the Work unless that
- component clearly states in the copyright notice that it is exempt
- from that condition. Only the Current Maintainer is allowed to
- add such statements of exemption to a component of the Work.
- \begin{enumerate}
- \item If a component of this Derived Work can be a direct
- replacement for a component of the Work when that component is
- used with the Base Interpreter, then, wherever this component of
- the Work identifies itself to the user when used interactively
- with that Base Interpreter, the replacement component of this
- Derived Work clearly and unambiguously identifies itself as a
- modified version of this component to the user when used
- interactively with that Base Interpreter.
-
- \item\label{LPPL:item:changelog} Every component of the Derived Work
- contains prominent
- notices detailing the nature of the changes to that component,
- or a prominent reference to another file that is distributed as
- part of the Derived Work and that contains a complete and
- accurate log of the changes.
-
- \item No information in the Derived Work implies that any persons,
- including (but not limited to) the authors of the original
- version of the Work, provide any support, including (but not
- limited to) the reporting and handling of errors, to recipients
- of the Derived Work unless those persons have stated explicitly
- that they do provide such support for the Derived Work.
-
- \item\label{LPPL:item:unmodifiedcopy} You distribute at least one of
- the following with the Derived Work:
- \begin{enumerate}
- \item A complete, unmodified copy of the Work; if your
- distribution of a modified component is made by offering
- access to copy the modified component from a designated place,
- then offering equivalent access to copy the Work from the same
- or some similar place meets this condition, even though third
- parties are not compelled to copy the Work along with the
- modified component;
-
- \item Information that is sufficient to obtain a complete,
- unmodified copy of the Work.
- \end{enumerate}
- \end{enumerate}
- \item If you are not the Current Maintainer of the Work, you may
- distribute a Compiled Work generated from a Derived Work, as long
- as the Derived Work is distributed to all recipients of the
- Compiled Work, and as long as the conditions of
- Clause~\ref{LPPL:item:conditions}, above, are met with regard to the
- Derived Work.
-
- \item The conditions above are not intended to prohibit, and hence
- do not apply to, the modification, by any method, of any component
- so that it becomes identical to an updated version of that
- component of the Work as it is distributed by the Current
- Maintainer under Clause~\ref{LPPL:item:currmaint}, above.
-
- \item Distribution of the Work or any Derived Work in an alternative
- format, where the Work or that Derived Work (in whole or in part)
- is then produced by applying some process to that format, does not
- relax or nullify any sections of this license as they pertain to
- the results of applying that process.
-
- \item
- \begin{enumerate}
- \item A Derived Work may be distributed under a different license
- provided that license itself honors the conditions listed in
- Clause~\ref{LPPL:item:conditions} above, in regard to the Work, though it
- does not have to honor the rest of the conditions in this
- license.
-
- \item If a Derived Work is distributed under a different license,
- that Derived Work must provide sufficient documentation as part
- of itself to allow each recipient of that Derived Work to honor
- the restrictions in Clause~\ref{LPPL:item:conditions} above, concerning
- changes from the Work.
- \end{enumerate}
- \item This license places no restrictions on works that are
- unrelated to the Work, nor does this license place any
- restrictions on aggregating such works with the Work by any means.
-
- \item Nothing in this license is intended to, or may be used to,
- prevent complete compliance by all parties with all applicable
- laws.
- \end{enumerate}
-
- \LPPLsubsection{No Warranty}
- \label{LPPL:Warranty}
-
- There is no warranty for the Work. Except when otherwise stated in
- writing, the Copyright Holder provides the Work `as is', without
- warranty of any kind, either expressed or implied, including, but
- not limited to, the implied warranties of merchantability and
- fitness for a particular purpose. The entire risk as to the quality
- and performance of the Work is with you. Should the Work prove
- defective, you assume the cost of all necessary servicing, repair,
- or correction.
-
- In no event unless required by applicable law or agreed to in
- writing will The Copyright Holder, or any author named in the
- components of the Work, or any other party who may distribute and/or
- modify the Work as permitted above, be liable to you for damages,
- including any general, special, incidental or consequential damages
- arising out of any use of the Work or out of inability to use the
- Work (including, but not limited to, loss of data, data being
- rendered inaccurate, or losses sustained by anyone as a result of
- any failure of the Work to operate with any other programs), even if
- the Copyright Holder or said author or said other party has been
- advised of the possibility of such damages.
-
- \LPPLsubsection{Maintenance of The Work}
- \label{LPPL:Maintenance}
-
- The Work has the status `author-maintained' if the Copyright Holder
- explicitly and prominently states near the primary copyright notice
- in the Work that the Work can only be maintained by the Copyright
- Holder or simply that it is `author-maintained'.
-
- The Work has the status `maintained' if there is a Current
- Maintainer who has indicated in the Work that they are willing to
- receive error reports for the Work (for example, by supplying a
- valid e-mail address). It is not required for the Current Maintainer
- to acknowledge or act upon these error reports.
-
- The Work changes from status `maintained' to `unmaintained' if there
- is no Current Maintainer, or the person stated to be Current
- Maintainer of the work cannot be reached through the indicated means
- of communication for a period of six months, and there are no other
- significant signs of active maintenance.
-
- You can become the Current Maintainer of the Work by agreement with
- any existing Current Maintainer to take over this role.
-
- If the Work is unmaintained, you can become the Current Maintainer
- of the Work through the following steps:
- \begin{enumerate}
- \item Make a reasonable attempt to trace the Current Maintainer (and
- the Copyright Holder, if the two differ) through the means of an
- Internet or similar search.
- \item If this search is successful, then enquire whether the Work is
- still maintained.
- \begin{enumerate}
- \item If it is being maintained, then ask the Current Maintainer
- to update their communication data within one month.
-
- \item\label{LPPL:item:intention} If the search is unsuccessful or
- no action to resume active maintenance is taken by the Current
- Maintainer, then announce within the pertinent community your
- intention to take over maintenance. (If the Work is a \LaTeX{}
- work, this could be done, for example, by posting to
- \texttt{comp.text.tex}.)
- \end{enumerate}
- \item {}
- \begin{enumerate}
- \item If the Current Maintainer is reachable and agrees to pass
- maintenance of the Work to you, then this takes effect
- immediately upon announcement.
-
- \item\label{LPPL:item:announce} If the Current Maintainer is not
- reachable and the Copyright Holder agrees that maintenance of
- the Work be passed to you, then this takes effect immediately
- upon announcement.
- \end{enumerate}
- \item\label{LPPL:item:change} If you make an `intention
- announcement' as described in~\ref{LPPL:item:intention} above and
- after three months your intention is challenged neither by the
- Current Maintainer nor by the Copyright Holder nor by other
- people, then you may arrange for the Work to be changed so as to
- name you as the (new) Current Maintainer.
-
- \item If the previously unreachable Current Maintainer becomes
- reachable once more within three months of a change completed
- under the terms of~\ref{LPPL:item:announce}
- or~\ref{LPPL:item:change}, then that Current Maintainer must
- become or remain the Current Maintainer upon request provided they
- then update their communication data within one month.
- \end{enumerate}
- A change in the Current Maintainer does not, of itself, alter the
- fact that the Work is distributed under the \LPPL\ license.
-
- If you become the Current Maintainer of the Work, you should
- immediately provide, within the Work, a prominent and unambiguous
- statement of your status as Current Maintainer. You should also
- announce your new status to the same pertinent community as
- in~\ref{LPPL:item:intention} above.
-
- \LPPLsubsection{Whether and How to Distribute Works under This License}
- \label{LPPL:Distribute}
-
- This section contains important instructions, examples, and
- recommendations for authors who are considering distributing their
- works under this license. These authors are addressed as `you' in
- this section.
-
- \LPPLsubsubsection{Choosing This License or Another License}
- \label{LPPL:Choosing}
-
- If for any part of your work you want or need to use
- \emph{distribution} conditions that differ significantly from those
- in this license, then do not refer to this license anywhere in your
- work but, instead, distribute your work under a different license.
- You may use the text of this license as a model for your own
- license, but your license should not refer to the \LPPL\ or
- otherwise give the impression that your work is distributed under
- the \LPPL.
-
- The document \LPPLdocfile{modguide} in the base \LaTeX\ distribution
- explains the motivation behind the conditions of this license. It
- explains, for example, why distributing \LaTeX\ under the
- \textsc{gnu} General Public License (\textsc{gpl}) was considered
- inappropriate. Even if your work is unrelated to \LaTeX, the
- discussion in \LPPLdocfile{modguide} may still be relevant, and authors
- intending to distribute their works under any license are encouraged
- to read it.
-
- \LPPLsubsubsection{A Recommendation on Modification Without Distribution}
- \label{LPPL:WithoutDistribution}
-
- It is wise never to modify a component of the Work, even for your
- own personal use, without also meeting the above conditions for
- distributing the modified component. While you might intend that
- such modifications will never be distributed, often this will happen
- by accident -- you may forget that you have modified that component;
- or it may not occur to you when allowing others to access the
- modified version that you are thus distributing it and violating the
- conditions of this license in ways that could have legal
- implications and, worse, cause problems for the community. It is
- therefore usually in your best interest to keep your copy of the
- Work identical with the public one. Many works provide ways to
- control the behavior of that work without altering any of its
- licensed components.
-
- \LPPLsubsubsection{How to Use This License}
- \label{LPPL:HowTo}
-
- To use this license, place in each of the components of your work
- both an explicit copyright notice including your name and the year
- the work was authored and/or last substantially modified. Include
- also a statement that the distribution and/or modification of that
- component is constrained by the conditions in this license.
-
- Here is an example of such a notice and statement:
-\begin{verbatim}
- %% pig.dtx
- %% Copyright 2005 M. Y. Name
- %
- % This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License, either version 1.3
- % of this license or (at your option) any later version.
- % The latest version of this license is in
- % https://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
- % version 2005/12/01 or later.
- %
- % This work has the LPPL maintenance status `maintained'.
- %
- % The Current Maintainer of this work is M. Y. Name.
- %
- % This work consists of the files pig.dtx and pig.ins
- % and the derived file pig.sty.
-\end{verbatim}
-
- Given such a notice and statement in a file, the conditions given in
- this license document would apply, with the `Work' referring to the
- three files `\LPPLfile{pig.dtx}', `\LPPLfile{pig.ins}', and
- `\LPPLfile{pig.sty}' (the last being generated from
- `\LPPLfile{pig.dtx}' using `\LPPLfile{pig.ins}'), the `Base
- Interpreter' referring to any `\LaTeX-Format', and both `Copyright
- Holder' and `Current Maintainer' referring to the person `M. Y.
- Name'.
-
- If you do not want the Maintenance section of \LPPL\ to apply to
- your Work, change `maintained' above into `author-maintained'.
- However, we recommend that you use `maintained' as the Maintenance
- section was added in order to ensure that your Work remains useful
- to the community even when you can no longer maintain and support it
- yourself.
-
- \LPPLsubsubsection{Derived Works That Are Not Replacements}
- \label{LPPL:NotReplacements}
-
- Several clauses of the \LPPL\ specify means to provide reliability
- and stability for the user community. They therefore concern
- themselves with the case that a Derived Work is intended to be used
- as a (compatible or incompatible) replacement of the original
- Work. If this is not the case (e.g., if a few lines of code are
- reused for a completely different task), then clauses
- \ref{LPPL:item:changelog} and \ref{LPPL:item:unmodifiedcopy}
- shall not apply.
-
- \LPPLsubsubsection{Important Recommendations}
- \label{LPPL:Recommendations}
-
- \LPPLparagraph{Defining What Constitutes the Work}
-
- The \LPPL\ requires that distributions of the Work contain all the
- files of the Work. It is therefore important that you provide a way
- for the licensee to determine which files constitute the Work. This
- could, for example, be achieved by explicitly listing all the files
- of the Work near the copyright notice of each file or by using a
- line such as:
-\begin{verbatim}
- % This work consists of all files listed in manifest.txt.
-\end{verbatim}
- in that place. In the absence of an unequivocal list it might be
- impossible for the licensee to determine what is considered by you
- to comprise the Work and, in such a case, the licensee would be
- entitled to make reasonable conjectures as to which files comprise
- the Work.
-
-\end{LPPLicense}
-\endinput
diff --git a/macros/latex/base/ltalloc.dtx b/macros/latex/base/ltalloc.dtx
index 5da3582e55..4932dc707b 100644
--- a/macros/latex/base/ltalloc.dtx
+++ b/macros/latex/base/ltalloc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltbibl.dtx b/macros/latex/base/ltbibl.dtx
index 79505680c4..0823620f99 100644
--- a/macros/latex/base/ltbibl.dtx
+++ b/macros/latex/base/ltbibl.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltboxes.dtx b/macros/latex/base/ltboxes.dtx
index 6bfbc38af9..7e1c2c38b0 100644
--- a/macros/latex/base/ltboxes.dtx
+++ b/macros/latex/base/ltboxes.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2017/03/29 v1.3a LaTeX Kernel (Box Commands)]
+ [2019/08/27 v1.3b LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -53,6 +53,10 @@
%
%
% \changes{v1.1e}{1998/08/17}{(RmS) Minor Documentation fixes.}
+% \changes{v1.3b}{2019/08/27}{Various commands made robust}
+%
+%
+%
% \section{\LaTeX\ Box commands}
%
%
@@ -265,7 +269,7 @@
% {\cs{long} added}
% The basic horizontal box command for \LaTeX.
% \begin{macrocode}
-\long\def\mbox#1{\leavevmode\hbox{#1}}
+\DeclareRobustCommand\mbox[1]{\leavevmode\hbox{#1}}
% \end{macrocode}
% \end{macro}
%
@@ -483,7 +487,7 @@
% {\cs{long} added}
% Save |#1| in a box register.
% \begin{macrocode}
-\long\def\sbox#1#2{\setbox#1\hbox{%
+\DeclareRobustCommand\sbox[2]{\setbox#1\hbox{%
\color@setgroup#2\color@endgroup}}
% \end{macrocode}
% \end{macro}
@@ -579,7 +583,7 @@
% \begin{macro}{\usebox}
% unchanged
% \begin{macrocode}
-\def\usebox#1{\leavevmode\copy #1\relax}
+\DeclareRobustCommand\usebox[1]{\leavevmode\copy #1\relax}
% \end{macrocode}
% \end{macro}
%
@@ -589,7 +593,7 @@
% (Extra space removed 14 Jan 88)
% RmS 92/08/24: Replaced occurrence of |\@halfwidth| by |\@wholewidth|
% \begin{macrocode}
-\long\def\frame#1{%
+\DeclareRobustCommand\frame[1]{%
\leavevmode
\hbox{%
\hskip-\@wholewidth
@@ -631,7 +635,7 @@
% \changes{v1.0s}{1995/04/27}
% {Move \cs{leavevmode} for graphics/1512}
% \begin{macrocode}
-\long\def\fbox#1{%
+\DeclareRobustCommand\fbox[1]{%
\leavevmode
\setbox\@tempboxa\hbox{%
\color@begingroup
@@ -1140,7 +1144,7 @@
% \LaTeX\ version works outside math.
% \task{???}{why the second `relax in `underline ?}
% \begin{macrocode}
-\def\underline#1{%
+\DeclareRobustCommand\underline[1]{%
\relax
\ifmmode\@@underline{#1}%
\else $\@@underline{\hbox{#1}}\m@th$\relax\fi}
@@ -1274,9 +1278,9 @@
% right adjusted.
% \begin{macrocode}
\def\@@line{\hb@xt@\hsize}
-\def\leftline#1{\@@line{#1\hss}}
-\def\rightline#1{\@@line{\hss#1}}
-\def\centerline#1{\@@line{\hss#1\hss}}
+\DeclareRobustCommand\leftline[1]{\@@line{#1\hss}}
+\DeclareRobustCommand\rightline[1]{\@@line{\hss#1}}
+\DeclareRobustCommand\centerline[1]{\@@line{\hss#1\hss}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1290,8 +1294,8 @@
% reference point without taking up space.
% \end{macro}
% \begin{macrocode}
-\def\rlap#1{\hb@xt@\z@{#1\hss}}
-\def\llap#1{\hb@xt@\z@{\hss#1}}
+\DeclareRobustCommand\rlap[1]{\hb@xt@\z@{#1\hss}}
+\DeclareRobustCommand\llap[1]{\hb@xt@\z@{\hss#1}}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/base/ltclass.dtx b/macros/latex/base/ltclass.dtx
index 2f19c74352..3d19971701 100644
--- a/macros/latex/base/ltclass.dtx
+++ b/macros/latex/base/ltclass.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2018/05/29 v1.2j LaTeX Kernel (Class & Package Interface)]
+ [2019/09/11 v1.3c LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -155,11 +155,27 @@
% verbatim to the file name given as the first argument, together with
% some comments about how it was produced.
%
-% The environment is allowed only before |\documentclass| to ensure
-% that all packages or options necessary for this particular run are
-% present when needed. The begin and end tags should each be on a
-% line by itself. There is also a star-form; this does not write
-% extra comments into the file.
+% The package can also be called with an optional argument which is
+% used to alter some of its behavior: option \texttt{force} or
+% \texttt{overwrite} will allow for overwriting existing files,
+% option \texttt{nosearch} will only check the current directory
+% when looking if the file exists. This can be useful if you want to
+% generate a local (modified) copy of some file that is already in the
+% search tree of \TeX{}. Finally, you can use \texttt{nopremable} to
+% prevent it from writing the standard blurb at the top of the file
+% (this is actually the same as using the star form of the environment).
+%
+% The environment is now allowed anywhere in the document, but to ensure
+% that all packages or options necessary are available when the
+% document is run, it is normally best to place it at the top of your
+% file (before \cs{documentclass}).
+% A possible use case for using it inside the document body is if you
+% want to reuse some text several times in the document you could then
+% write it and later use \cs{input} to retrieve it where needed.
+%
+%
+% The begin and end tags should each be on a
+% line by itself.
%
% \subsection{Option processing}
%
@@ -1580,8 +1596,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\AtBeginDocument{\g@addto@macro\@begindocumenthook}
-\def\AtEndDocument{\g@addto@macro\@enddocumenthook}
+\DeclareRobustCommand\AtBeginDocument{\g@addto@macro\@begindocumenthook}
+\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
\@onlypreamble\AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -1705,6 +1721,69 @@
% {Close input check stream: latex/1487}
% \changes{v1.0p}{1995/05/25}{Delete \cs{filec@ntents} after preamble}
% \begin{macrocode}
+% \changes{v1.3a}{2019/07/01}{Support UTF8 and spaces in
+% filecontents environment file name}
+% \changes{v1.3b}{2019/08/27}{Make various commands robust}
+% \changes{v1.3c}{2019/09/11}{Support optional argument for filecontents}
+%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
+%
+
+
+% \end{macrocode}
+% We use |@tempswa| to mean no preamble writing and reuse |@filesw|
+% to indicate no overwriting:
+% \begin{macrocode}
+\def\filecontents{\@tempswatrue\@fileswtrue
+ \@ifnextchar[\filec@ntents@opt\filec@ntents
+}
+\@namedef{filecontents*}{\@tempswafalse\@fileswtrue
+ \@ifnextchar[\filec@ntents@opt\filec@ntents
+}
+% \end{macrocode}
+% To handle the optional argument we execute for each option the
+% command \cs{filec@ntents@OPTION} if it exist or complain about
+% unknown option.
+% \begin{macrocode}
+\def\filec@ntents@opt[#1]{%
+ \@for\@tempa:=#1\do{%
+ \ifcsname filec@ntents@\@tempa\endcsname
+ \csname filec@ntents@\@tempa\endcsname
+ \else
+ \@latex@error{Unknown filecontents option #1}%
+ {Valid options are force (or overwrite), nosearch, noheader}%
+ \fi}%
+ \filec@ntents
+}
+% \end{macrocode}
+% Option \texttt{force}) (or \texttt{overwrite}) changes the
+% overwriting switch
+% \begin{macrocode}
+\let\filec@ntents@force\@fileswfalse
+\let\filec@ntents@overwrite\@fileswfalse % alternative name
+% \end{macrocode}
+% and option \texttt{noheader} the preamble switch (which is
+% equivalent to using the star form of the environment).
+% \begin{macrocode}
+\let\filec@ntents@noheader\@tempswafalse
+% \end{macrocode}
+% Option \texttt{nosearch} only checks the current directory not
+% the how \TeX{} tree for the existence of the file to write.
+% \begin{macrocode}
+\def\filec@ntents@nosearch{%
+ \let\filec@ntents@checkdir\@currdir
+ \def\filec@ntents@where{in current directory}}
+% \end{macrocode}
+% By default we search the whole tree:
+% \begin{macrocode}
+\let\filec@ntents@checkdir\@empty
+\def\filec@ntents@where{exists on the system}
+% \end{macrocode}
+%
+% \begin{macrocode}
\begingroup%
\@tempcnta=1
\loop
@@ -1719,16 +1798,13 @@
% \end{macrocode}
%
% \begin{macrocode}
-\gdef\filecontents{\@tempswatrue\filec@ntents}%
-\gdef\filecontents*{\@tempswafalse\filec@ntents}%
-% \end{macrocode}
-%
-% \begin{macrocode}
\gdef\filec@ntents#1{%
- \openin\@inputcheck#1 %
+ \set@curr@file{\filec@ntents@checkdir#1}%
+ \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+ \openin\@inputcheck\q@curr@file \space %
\ifeof\@inputcheck%
\@latex@warning@no@line%
- {Writing file `\@currdir#1'}%
+ {Writing file `\@currdir\@curr@file'}%
% \end{macrocode}
%
% \changes{v1.0y}{1997/10/10}
@@ -1736,20 +1812,61 @@
% \begin{macrocode}
\chardef\reserved@c15 %
\ch@ck7\reserved@c\write%
- \immediate\openout\reserved@c#1\relax%
+ \immediate\openout\reserved@c\q@curr@file\relax%
\else%
% \end{macrocode}
%
% \changes{v1.0y}{1997/10/10}
% {Use \cs{@gobbletwo}}
% \begin{macrocode}
- \closein\@inputcheck%
- \@latex@warning@no@line%
- {File `#1' already exists on the system.\MessageBreak%
+ \if@filesw%
+ \@latex@warning@no@line%
+ {File `\@curr@file' already \filec@ntents@where.\MessageBreak%
Not generating it from this source}%
- \let\write\@gobbletwo%
- \let\closeout\@gobble%
+ \let\write\@gobbletwo%
+ \let\closeout\@gobble%
+ \else%
+% \end{macrocode}
+% If we are overwriting, we try to make sure that the user is not
+% by mistake overwriting the input file (\cs{jobname}). Of course,
+% this only works for input files ending in \texttt{.tex}. If a
+% different extension is used there is no way to see that we are
+% overwriting outselves!
+% \begin{macrocode}
+ \edef\reserved@a{#1}%
+ \edef\reserved@a{\detokenize\expandafter{\reserved@a}}%
+ \edef\reserved@b{\detokenize\expandafter{\jobname}}%
+ \ifx\reserved@a\reserved@b%
+ \@fileswtrue%
+ \else%
+ \edef\reserved@b{\reserved@b\detokenize{.tex}}%
+ \ifx\reserved@a\reserved@b
+ \@fileswtrue%
+ \fi%
+ \fi%
+% \end{macrocode}
+% We allocate a write channel but we open it only if it is
+% (hopefully) safe. If not opened that means we are going to write
+% on the terminal.
+% \begin{macrocode}
+ \chardef\reserved@c15 %
+ \ch@ck7\reserved@c\write%
+ \if@filesw% % Foul ... trying to overwrite \jobname!
+ \@latex@error{Trying to overwrite `\jobname.tex'}{You can't %
+ write to the file you a reading from!\MessageBreak%
+ Data is written to screen instead.}%
+ \else%
+ \@latex@warning@no@line%
+ {Writing or overwriting file `\@currdir\@curr@file'}%
+ \immediate\openout\reserved@c#1\relax%
+ \fi%
+ \fi%
\fi%
+% \end{macrocode}
+% Closing the \cs{@inputcheck} is done here ot avoid having to do
+% this in each branch.
+% \begin{macrocode}
+ \closein\@inputcheck%
\if@tempswa%
% \end{macrocode}
%
@@ -1758,7 +1875,7 @@
% \begin{macrocode}
\immediate\write\reserved@c{%
\@percentchar\@percentchar\space%
- \expandafter\@gobble\string\LaTeX2e file `#1'^^J%
+ \expandafter\@gobble\string\LaTeX2e file `\@curr@file'^^J%
\@percentchar\@percentchar\space generated by the %
`\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
\@percentchar\@percentchar\space from source `\jobname' on %
@@ -1805,7 +1922,7 @@
% Text before the |\end|, write it with a warning.
% \begin{macrocode}
\@latex@warning{Writing text `##1' before %
- \string\end{\@currenvir}\MessageBreak as last line of #1}%
+ \string\end{\@currenvir}\MessageBreak as last line of \@curr@file}%
\immediate\write\reserved@c{##1}%
\fi%
\ifx\relax##2\relax%
@@ -1820,6 +1937,7 @@
^^M}%
% \end{macrocode}
%
+%
% \changes{v1.2j}{2018/05/29}{use \cs{csname} not \cs{@undefined}}
% \begin{macrocode}
\catcode`\^^L\active%
@@ -1834,6 +1952,104 @@
\endgroup%
% \end{macrocode}
%
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
+%<latexrelease>
+%<latexrelease>\let\filec@ntents@opt \@undefined
+%<latexrelease>\let\filec@ntents@force \@undefined
+%<latexrelease>\let\filec@ntents@overwrite \@undefined
+%<latexrelease>\let\filec@ntents@noheader \@undefined
+%<latexrelease>\let\filec@ntents@nosearch \@undefined
+%<latexrelease>\let\filec@ntents@checkdir \@undefined
+%<latexrelease>\let\filec@ntents@where \@undefined
+%<latexrelease>
+%<latexrelease>\begingroup%
+%<latexrelease>\@tempcnta=1
+%<latexrelease>\loop
+%<latexrelease> \catcode\@tempcnta=12 %
+%<latexrelease> \advance\@tempcnta\@ne %
+%<latexrelease>\ifnum\@tempcnta<32 %
+%<latexrelease>\repeat %
+%<latexrelease>\catcode`\*=11 %
+%<latexrelease>\catcode`\^^M\active%
+%<latexrelease>\catcode`\^^L\active\let^^L\relax%
+%<latexrelease>\catcode`\^^I\active%
+%<latexrelease>
+%<latexrelease>\gdef\filec@ntents#1{%
+%<latexrelease> \openin\@inputcheck#1 %
+%<latexrelease> \ifeof\@inputcheck%
+%<latexrelease> \@latex@warning@no@line%
+%<latexrelease> {Writing file `\@currdir#1'}%
+%<latexrelease> \chardef\reserved@c15 %
+%<latexrelease> \ch@ck7\reserved@c\write%
+%<latexrelease> \immediate\openout\reserved@c#1\relax%
+%<latexrelease> \else%
+%<latexrelease> \closein\@inputcheck%
+%<latexrelease> \@latex@warning@no@line%
+%<latexrelease> {File `#1' already exists on the system.\MessageBreak%
+%<latexrelease> Not generating it from this source}%
+%<latexrelease> \let\write\@gobbletwo%
+%<latexrelease> \let\closeout\@gobble%
+%<latexrelease> \fi%
+%<latexrelease> \if@tempswa%
+%<latexrelease> \immediate\write\reserved@c{%
+%<latexrelease> \@percentchar\@percentchar\space%
+%<latexrelease> \expandafter\@gobble\string\LaTeX2e file `#1'^^J%
+%<latexrelease> \@percentchar\@percentchar\space generated by the %
+%<latexrelease> `\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
+%<latexrelease> \@percentchar\@percentchar\space from source `\jobname' on %
+%<latexrelease> \number\year/\two@digits\month/\two@digits\day.^^J%
+%<latexrelease> \@percentchar\@percentchar}%
+%<latexrelease> \fi%
+%<latexrelease> \let\do\@makeother\dospecials%
+%<latexrelease> \count@ 128\relax%
+%<latexrelease> \loop%
+%<latexrelease> \catcode\count@ 11\relax%
+%<latexrelease> \advance\count@ \@ne%
+%<latexrelease> \ifnum\count@<\@cclvi%
+%<latexrelease> \repeat%
+%<latexrelease> \edef\E{\@backslashchar end\string{\@currenvir\string}}%
+%<latexrelease> \edef\reserved@b{%
+%<latexrelease> \def\noexpand\reserved@b%
+%<latexrelease> ####1\E####2\E####3\relax}%
+%<latexrelease> \reserved@b{%
+%<latexrelease> \ifx\relax##3\relax%
+%<latexrelease> \immediate\write\reserved@c{##1}%
+%<latexrelease> \else%
+%<latexrelease> \edef^^M{\noexpand\end{\@currenvir}}%
+%<latexrelease> \ifx\relax##1\relax%
+%<latexrelease> \else%
+%<latexrelease> \@latex@warning{Writing text `##1' before %
+%<latexrelease> \string\end{\@currenvir}\MessageBreak as last line of #1}%
+%<latexrelease> \immediate\write\reserved@c{##1}%
+%<latexrelease> \fi%
+%<latexrelease> \ifx\relax##2\relax%
+%<latexrelease> \else%
+%<latexrelease> \@latex@warning{%
+%<latexrelease> Ignoring text `##2' after \string\end{\@currenvir}}%
+%<latexrelease> \fi%
+%<latexrelease> \fi%
+%<latexrelease> ^^M}%
+%<latexrelease>
+%<latexrelease> \catcode`\^^L\active%
+%<latexrelease> \let\L\@undefined%
+%<latexrelease> \def^^L{\expandafter\ifx\csname L\endcsname\relax\fi ^^J^^J}%
+%<latexrelease> \catcode`\^^I\active%
+%<latexrelease> \let\I\@undefined%
+%<latexrelease> \def^^I{\expandafter\ifx\csname I\endcsname\relax\fi\space}%
+%<latexrelease> \catcode`\^^M\active%
+%<latexrelease> \edef^^M##1^^M{%
+%<latexrelease> \noexpand\reserved@b##1\E\E\relax}}%
+%<latexrelease>\endgroup%
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
% \begin{macrocode}
\begingroup
\catcode`|=\catcode`\%
@@ -1850,12 +2066,16 @@
\T\I{Tab}{Spac}|
\immediate\write\@unused{}}
\global\let\endfilecontents*\endfilecontents
-\@onlypreamble\filecontents
-\@onlypreamble\endfilecontents
-\@onlypreamble\filecontents*
-\@onlypreamble\endfilecontents*
+% \end{macrocode}
+% We no longer prevent the code to be used after begin document (no
+% rollback needed for this change).
+% \begin{macrocode}
+%\@onlypreamble\filecontents
+%\@onlypreamble\endfilecontents
+%\@onlypreamble\filecontents*
+%\@onlypreamble\endfilecontents*
\endgroup
-\@onlypreamble\filec@ntents
+%\@onlypreamble\filec@ntents
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2461,7 +2681,7 @@
%
% Most often the second argument (before-date-code) will be empty.
% \begin{macrocode}
-\long\def\IfTargetDateBefore#1{%
+\DeclareRobustCommand\IfTargetDateBefore[1]{%
\ifnum\pkgcls@innerdate <%
\expandafter\@parse@version\expandafter0#1//00\@nil
\typeout{Exclude code introduced on #1}%
diff --git a/macros/latex/base/ltclass.pdf b/macros/latex/base/ltclass.pdf
deleted file mode 100644
index 6278a089bc..0000000000
--- a/macros/latex/base/ltclass.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/ltcntrl.dtx b/macros/latex/base/ltcntrl.dtx
index c4e755eca7..eb1b931957 100644
--- a/macros/latex/base/ltcntrl.dtx
+++ b/macros/latex/base/ltcntrl.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltcounts.dtx b/macros/latex/base/ltcounts.dtx
index 8158ef7c61..8217b3f91b 100644
--- a/macros/latex/base/ltcounts.dtx
+++ b/macros/latex/base/ltcounts.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltdefns.dtx b/macros/latex/base/ltdefns.dtx
index 3a7d6f06ea..44d7bfde64 100644
--- a/macros/latex/base/ltdefns.dtx
+++ b/macros/latex/base/ltdefns.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2018/09/26 v1.5e LaTeX Kernel (definition commands)]
+ [2019/08/27 v1.5f LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -1046,7 +1046,7 @@
%
% \emph{Note}: setting |\protect| to any value other than |\relax|
% whilst in `typesetting' mode will cause commands to go into an
-% infinite loop! In particular, setting |\relax| to |\@empty| will
+% infinite loop! In particular, setting |\protect| to |\@empty| will
% cause |\_| to loop forever. It will also break lots of other
% things, such as protected |\ifmmode|s inside |\halign|s. If you
% really really have to do such a thing, then please set
@@ -1101,7 +1101,9 @@
% \end{macro}
%
% \begin{macro}{\@typeset@protect}
-%
+% We set \cs{@typeset@protect} to \cs{relax} rather than \cs{@empty}
+% to make sure that the protection mechanism stops the look-ahead
+% and expansion performed at the start of \cs{halign} cells.
% \begin{macrocode}
\let\@typeset@protect\relax
% \end{macrocode}
@@ -1166,12 +1168,27 @@
%
% \begin{macro}{\MakeRobust}
% \changes{v1.4a}{2015/01/08}{Added macro}
-%
-% The macro firstly checks if the controls sequence in question exists
-% at all.
+% \changes{v1.5f}{2019/08/27}{Make the assignments global as we may
+% need to apply them inside a group}
+%
+% This macro makes an existing fragile macro robust, but only if it
+% hasn't been robust in the past, i.e., it checks for the existence
+% of the macro
+% \verb*=\<name> = and if that exists it assumes that
+% \verb=\<name>= is already robust. In that case either undefine
+% the inner macro first or use \cs{DeclareRobustCommand} to
+% define it in a robust way directly. We could probably test the
+% top-level definition to have the right kind of structure, but
+% this is somewhat problematical as we then have to distinguish
+% between \cs{long} macros and others and also take into account
+% that sometimes the top-level is deliberately dones manually (like
+% with \cs{begin}).
+%
+% The macro firstly checks if the control sequence in question exists
+% at all.
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
%<*2ekernel|latexrelease>
\def\MakeRobust#1{%
\@ifundefined{\expandafter\@gobble\string#1}{%
@@ -1189,12 +1206,12 @@
{%
\@ifundefined{\expandafter\@gobble\string#1\space}%
{%
- \expandafter\let\csname
+ \global\expandafter\let\csname
\expandafter\@gobble\string#1\space\endcsname=#1%
\edef\reserved@a{\string#1}%
\def\reserved@b{#1}%
\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
- \edef#1{%
+ \xdef#1{%
\ifx\reserved@a\reserved@b
\noexpand\x@protect\noexpand#1%
\fi
@@ -1206,6 +1223,32 @@
}%
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\def\MakeRobust#1{%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1}{%
+%<latexrelease> \@latex@error{The control sequence `\string#1' is undefined!%
+%<latexrelease> \MessageBreak There is nothing here to make robust}%
+%<latexrelease> \@eha
+%<latexrelease> }%
+%<latexrelease> {%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1\space}%
+%<latexrelease> {%
+%<latexrelease> \expandafter\let\csname
+%<latexrelease> \expandafter\@gobble\string#1\space\endcsname=#1%
+%<latexrelease> \edef\reserved@a{\string#1}%
+%<latexrelease> \def\reserved@b{#1}%
+%<latexrelease> \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
+%<latexrelease> \edef#1{%
+%<latexrelease> \ifx\reserved@a\reserved@b
+%<latexrelease> \noexpand\x@protect\noexpand#1%
+%<latexrelease> \fi
+%<latexrelease> \noexpand\protect\expandafter\noexpand
+%<latexrelease> \csname\expandafter\@gobble\string#1\space\endcsname}%
+%<latexrelease> }%
+%<latexrelease> {\@latex@info{The control sequence `\string#1' is already robust}}%
+%<latexrelease> }%
+%<latexrelease>}%
+%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}{\MakeRobust}{\MakeRobust}%
%<latexrelease>\let\MakeRobust\@undefined
%<latexrelease>\EndIncludeInRelease
@@ -1213,6 +1256,49 @@
% \end{macrocode}
% \end{macro}
%
+%
+%
+
+% \begin{macro}{\kernel@make@fragile}
+% The opposite of |\MakeRobust| execpt that it doesn't do many
+% checks as it is internal to the kernel. Why does one want such a
+% thing?
+% Only for compatibility reasons if \texttt{latexrelease} requests
+% a rollback of the kernel. For this reason we pretend that this
+% command existed in all earler versions of \LaTeX{} i.e., we are
+% not rolling it back since we need it precisely then. But we have
+% to get it into the \texttt{latexrelease} file so that a roll
+% forward is possible too.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\kernel@make@fragile}{Undo robustness}%
+\def\kernel@make@fragile#1{%
+ \@ifundefined{\expandafter\@gobble\string#1\space}%
+% \end{macrocode}
+% If not robust do nothing.
+% \begin{macrocode}
+ {}%
+% \end{macrocode}
+% Otherwise copy \verb*=\foo = back to \verb=\foo= and then undefine
+% the payload command.
+% \begin{macrocode}
+ {%
+ \global\expandafter\let\expandafter #1\csname
+ \expandafter\@gobble\string#1\space\endcsname
+ \global\expandafter\let\csname
+ \expandafter\@gobble\string#1\space\endcsname\@undefined
+ }%
+}
+%<latexrelease>\EndIncludeInRelease
+%</2ekernel|latexrelease>
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \subsection{Internal defining commands}
%
% These commands are used internally to define other \LaTeX{}
@@ -1392,19 +1478,6 @@
\def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch}
% \end{macrocode}
% \end{macro}
-
-% \changes{v1.0n}{1994/05/10}{Added \cs{makeatletter} and
-% \cs{makeatother} ASAJ.}
-%
-% \begin{macro}{\makeatletter}
-% \begin{macro}{\makeatother}
-% Make internal control sequences accessible or inaccessible.
-% \begin{macrocode}
-\def\makeatletter{\catcode`\@11\relax}
-\def\makeatother{\catcode`\@12\relax}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
%
%
% \begin{macro}{\@ifstar}
@@ -1459,6 +1532,22 @@
% \end{macrocode}
% \end{macro}
%
+%
+%
+% \begin{macro}{\makeatletter}
+% \begin{macro}{\makeatother}
+% \changes{v1.0n}{1994/05/10}{Added \cs{makeatletter} and
+% \cs{makeatother} ASAJ.}
+% Make internal control sequences accessible or inaccessible.
+% \begin{macrocode}
+\DeclareRobustCommand\makeatletter{\catcode`\@11\relax}
+\DeclareRobustCommand\makeatother{\catcode`\@12\relax}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+
+%
% \section{Discretionary Hyphenation}
% \begin{macro}{\-}
% \changes{1.2x}{1995/12/13}{Documentation changed.}
@@ -1535,6 +1624,56 @@
\@includeinreleasefalse
% \end{macrocode}
%
+% \changes{v1.5f}{2019/08/27}{Make various commands robust}
+%
+% Delayed from |ltplain.dtx|
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\allowbreak}{Make various commands robust}%
+\MakeRobust\allowbreak
+\MakeRobust\bigbreak
+\MakeRobust\break
+\MakeRobust\dotfill
+\MakeRobust\frenchspacing
+\MakeRobust\goodbreak
+\MakeRobust\hrulefill
+\MakeRobust\medbreak
+\MakeRobust\nobreak
+\MakeRobust\nonfrenchspacing
+\MakeRobust\obeylines
+\MakeRobust\obeyspaces
+\MakeRobust\slash
+\MakeRobust\smallbreak
+\MakeRobust\strut
+\MakeRobust\underbar
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\allowbreak}{Make various commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\allowbreak
+%<latexrelease>\kernel@make@fragile\bigbreak
+%<latexrelease>\kernel@make@fragile\break
+%<latexrelease>\kernel@make@fragile\dotfill
+%<latexrelease>\kernel@make@fragile\frenchspacing
+%<latexrelease>\kernel@make@fragile\goodbreak
+%<latexrelease>\kernel@make@fragile\hrulefill
+%<latexrelease>\kernel@make@fragile\medbreak
+%<latexrelease>\kernel@make@fragile\nobreak
+%<latexrelease>\kernel@make@fragile\nonfrenchspacing
+%<latexrelease>\kernel@make@fragile\obeylines
+%<latexrelease>\kernel@make@fragile\obeyspaces
+%<latexrelease>\kernel@make@fragile\slash
+%<latexrelease>\kernel@make@fragile\smallbreak
+%<latexrelease>\kernel@make@fragile\strut
+%<latexrelease>\kernel@make@fragile\underbar
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
diff --git a/macros/latex/base/ltdirchk.dtx b/macros/latex/base/ltdirchk.dtx
index 4513891232..b9db177f19 100644
--- a/macros/latex/base/ltdirchk.dtx
+++ b/macros/latex/base/ltdirchk.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -27,8 +27,6 @@
%
% \fi
%
-% \ProvidesFile{ltdirchk.dtx}
-% [2015/10/02 v1.2a LaTeX Kernel (System Dependent Parts)]
%
% \iffalse
%%% From File: ltdirchk.dtx
@@ -685,7 +683,7 @@
% \end{macrocode}
%
% |#1| is the file to try, |#2| is what to do on success, |#3| on
-% failure.
+% failure. Note that this definition is overwritten later on again!
% \begin{macrocode}
\def\IfFileExists#1#2#3{%
\openin\@inputcheck#1 %
diff --git a/macros/latex/base/lterror.dtx b/macros/latex/base/lterror.dtx
index daf645b8b8..3f6c436970 100644
--- a/macros/latex/base/lterror.dtx
+++ b/macros/latex/base/lterror.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{lterror.dtx}
- [2018/08/05 v1.2p LaTeX Kernel (errors)]
+ [2019/08/30 v1.2q LaTeX Kernel (errors)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lterror.dtx}
@@ -87,7 +87,7 @@
% \changes{v1.2p}{2016/10/15}
% {Require e\TeX{}}
%
-% \section{Error handling}
+% \section{Error handling and tracing}
%
% This section defines \LaTeX's error commands.
%
@@ -738,7 +738,6 @@ Type H <return> for immediate help.}%
% out, since we decided to use catcode 15 instead.
% \begin{macrocode}
%\def\@invalidchar{\@latex@error{Invalid character in input}\@ehc}
-%</2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -759,5 +758,44 @@ Type H <return> for immediate help.}%
% In output routine, caused by a float environment or
% |\marginpar| occurring in inner vertical mode.
%
+%
+% \subsection{Tracing}
+%
+% The \texttt{trace} package implements the commands \cs{traceon}
+% and \cs{traceoff} that work similar to \cs{tracingall} but skip
+% certain code blocks that produce a lot of tracing output being of no
+% interest during debugging (for example loading a font).
+% Code blocks that should be hidden during tracing need
+% to be surrounded by the macros \cs{conditionally@traceoff}
+% and \cs{contionally@traceon}.
+%
+% For the kernel code the \texttt{trace} package then redefines a
+% number of macros to include this tracing support.
+%
+% However, in order to allow any macro package to react to
+% \cs{traceon} we also provide dummy definitions for the two
+% commands in the kernel so that they can be used by external
+% packages without the
+% need to distinguish between \texttt{trace} being loaded or not.
+%
+
+% \begin{macro}{\conditionally@traceon}
+% \changes{v1.2q}{2019/08/30}{Macro added}
+% \begin{macro}{\conditionally@traceoff}
+% \changes{v1.2q}{2019/08/30}{Macro added}
+% These are only dummy definitions. For details see the
+% \texttt{trace} package.
+% \begin{macrocode}
+\let\conditionally@traceon\@empty
+\let\conditionally@traceoff\@empty
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
%\Finale
\endinput
diff --git a/macros/latex/base/ltfiles.dtx b/macros/latex/base/ltfiles.dtx
index 6960fd44a3..afb085a417 100644
--- a/macros/latex/base/ltfiles.dtx
+++ b/macros/latex/base/ltfiles.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2018/01/08 v1.1m LaTeX Kernel (File Handling)]
+ [2019/08/27 v1.2b LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -280,7 +280,7 @@
% the math fonts.
% \begin{macrocode}
\process@table
- \let\glb@currsize\@empty %% Force math initialization.
+ \let\glb@currsize\@empty % Force math initialization.
% \end{macrocode}
% \changes{v0.9t}{1994/01/31}
% {set \cs{@normalsize} or \cs{normalsize} if necessary}
@@ -541,10 +541,17 @@
%
% \begin{macro}{\includeonly}
% \changes{v1.0p}{1995/04/22}{Allow blanks in argument}
+% \changes{v1.2a}{2019/07/01}{Support UTF-8}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\includeonly}{Spaces in file names}%
\def\includeonly#1{%
\@partswtrue
- \edef\@partlist{\zap@space#1 \@empty}}
+ \set@curr@file{\zap@space#1 \@empty}%
+ \let\@partlist\@curr@file
+ }
\@onlypreamble\includeonly
% \end{macrocode}
% \end{macro}
@@ -569,10 +576,33 @@
\def\include#1{\relax
\ifnum\@auxout=\@partaux
\@latex@error{\string\include\space cannot be nested}\@eha
- \else \@include#1 \fi}
+ \else
+ \set@curr@file{#1 }%
+ \expandafter\@include\@curr@file
+ \fi}
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\includeonly}{Spaces in file names}%
+%<latexrelease>\def\includeonly#1{%
+%<latexrelease> \@partswtrue
+%<latexrelease> \edef\@partlist{\zap@space#1 \@empty}}
+%<latexrelease>
+%<latexrelease>\def\include#1{\relax
+%<latexrelease> \ifnum\@auxout=\@partaux
+%<latexrelease> \@latex@error{\string\include\space cannot be nested}\@eha
+%<latexrelease> \else \@include#1 \fi}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+
+%
% \begin{macro}{\@include}
% \begin{macrocode}
\def\@include#1 {%
@@ -656,14 +686,86 @@
%
% \subsection{Safe Input Macros}
%
-% \begin{macro}{\IfFileExists}
+%
+%
+
+% \begin{macro}{\@curr@file}
+% \begin{macro}{\set@curr@file}
+%
+% File name handling is done by generating a csname from the
+% provided file name (which means that UTF-8 octets gets turned into
+% strings as this is what happens if they appear in a csname due to
+% the code in \texttt{utf8.def}). By setting \cs{escapchar} to
+% \texttt{-1} we ensure that we don't get a backslash in front. As a
+% result we end up with all characters as catcode 12 (plus
+% spaces). We then sometimes add quotes around the contruct
+% (removing any existing inner quotes. Somes we only remove the
+% quotes if they have been supplied by the user. There is clearly
+% some room for improvement.
+%
+% A side effect of the new code is that we will see quotes around
+% file name displays where there haven't been any before.
+%
+% \changes{v1.2a}{2019/07/01}{Support UTF-8}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\set@curr@file}{Quote file names}%
+\def\set@curr@file#1{%
+ \begingroup
+ \escapechar\m@ne
+ \xdef\@curr@file{\expandafter\string\csname #1\endcsname}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\quote@name}
+% \begin{macro}{\quote@@name}
+% \begin{macro}{\unquote@name}
+% Quoting spaces
+%\begin{verbatim}
+% a b c -> "a b c"
+% "a b c" -> "a b c"
+% a" "b" "c -> "a b c"
+% -> ""
+%\end{verbatim}
+% \begin{macrocode}
+\def\quote@name#1{"\quote@@name#1\@gobble""}
+\def\quote@@name#1"{#1\quote@@name}
+% \end{macrocode}
+% and removing quotes \ldots
+% \begin{macrocode}
+\def\unquote@name#1{\quote@@name#1\@gobble"}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\IfFileExists}
+%
+% \changes{v1.2a}{2019/07/01}{Support UTF-8}
+% \changes{v1.2b}{2019/08/27}{Make command robust}
+% \begin{macrocode}
+\DeclareRobustCommand\IfFileExists[1]{%
+ \set@curr@file{#1}%
+ \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+ \expandafter\IfFileExists@\expandafter{\q@curr@file}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\IfFileExists@}
% \changes{v0.9b}{1993/12/04}{Macro added}
% \changes{v0.9p}{1994/01/18}{New Definition}
-% \changes{v1.0t}{1995/05/25}
-% {(CAR) added \cs{long}}
+% \changes{v1.0t}{1995/05/25}{(CAR) added \cs{long}}
%
% \begin{macrocode}
-\long\def \IfFileExists#1#2#3{%
+\long\def \IfFileExists@#1#2#3{%
\openin\@inputcheck#1 %
\ifeof\@inputcheck
\ifx\input@path\@undefined
@@ -678,6 +780,42 @@
\fi
\reserved@a}
% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\set@curr@file}{Quote file names}%
+%<latexrelease>
+%<latexrelease>\let\quote@name\@undefined
+%<latexrelease>\let\quote@@name\@undefined
+%<latexrelease>\let\unquote@name\@undefined
+%<latexrelease>\let\set@curr@file\@undefined
+%<latexrelease>
+%<latexrelease>\let\IfFileExists@\@undefined
+%<latexrelease>
+%<latexrelease>\long\def \IfFileExists#1#2#3{%
+%<latexrelease> \openin\@inputcheck#1 %
+%<latexrelease> \ifeof\@inputcheck
+%<latexrelease> \ifx\input@path\@undefined
+%<latexrelease> \def\reserved@a{#3}%
+%<latexrelease> \else
+%<latexrelease> \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \closein\@inputcheck
+%<latexrelease> \edef\@filef@und{#1 }%
+%<latexrelease> \def\reserved@a{#2}%
+%<latexrelease> \fi
+%<latexrelease> \reserved@a}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
%
% \begin{macro}{\@iffileonpath}
% If the file is not found by |\openin|, and |\input@path| is defined,
@@ -704,7 +842,6 @@
\reserved@a}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \begin{macro}{\InputIfFileExists}
% \changes{v0.9b}
@@ -718,13 +855,51 @@
% If the file |#1| does not exist, execute `|#3|'.
% \changes{v1.0t}{1995/05/25}
% {(CAR) added \cs{long}}
+% \changes{v1.1o}{2019/02/07}{Expand \cs{@filef@und} before executing
+% second argument (github/109)}
+% \changes{v1.2b}{2019/08/27}{Make command robust}
% \begin{macrocode}
-\long\def \InputIfFileExists#1#2{%
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\InputIfFileExists}{Don't lose the file name}%
+%<*2ekernel|latexrelease>
+% \begin{macrocode}
+\DeclareRobustCommand \InputIfFileExists[2]{%
\IfFileExists{#1}%
- {#2\@addtofilelist{#1}\@@input \@filef@und}}
+ {%
+ \expandafter\@swaptwoargs\expandafter
+ {\@filef@und}{#2\@addtofilelist{#1}\@@input}}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@swaptwoargs}
+%
+% \changes{v1.1o}{2019/02/07}{Helper macro added}
+% Swap two arguments and return them unbraced (like
+% \cs{@firstoftwo} etc).
+% \begin{macrocode}
+\long\def\@swaptwoargs#1#2{#2#1}
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\InputIfFileExists}{Don't lose the file name}%
+%<latexrelease>\long\def \InputIfFileExists#1#2{%
+%<latexrelease> \IfFileExists{#1}%
+%<latexrelease> {#2\@addtofilelist{#1}\@@input \@filef@und}}
+%<latexrelease>
+%<latexrelease>\let\@swaptwoargs\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
% \begin{macro}{\input}
% Input a file: if the argument is given in braces use safe input
% macros, otherwise use \TeX's primitive |\input| command (which is
@@ -740,15 +915,36 @@
% |\InputIfIfileExists|.
% \changes{v0.9b}{1993/12/04}{Macro reimplemented}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\@iinput}{Quote file names}%
\def\@iinput#1{%
\InputIfFileExists{#1}{}%
- {\filename@parse{#1}%
+ {\filename@parse\@curr@file
\edef\reserved@a{\noexpand\@missingfileerror
{\filename@area\filename@base}%
{\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
\reserved@a}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@iinput}{Quote file names}%
+%<latexrelease>\def\@iinput#1{%
+%<latexrelease> \InputIfFileExists{#1}{}%
+%<latexrelease> {\filename@parse{#1}%
+%<latexrelease> \edef\reserved@a{\noexpand\@missingfileerror
+%<latexrelease> {\filename@area\filename@base}%
+%<latexrelease> {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
+%<latexrelease> \reserved@a}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
+
+
+
+
%
% \begin{macro}{\@input}
% \changes{v0.9b}{1993/12/04}{Macro reimplemented}
diff --git a/macros/latex/base/ltfinal.dtx b/macros/latex/base/ltfinal.dtx
index 998710371a..47641e9601 100644
--- a/macros/latex/base/ltfinal.dtx
+++ b/macros/latex/base/ltfinal.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2018/08/24 v2.1f LaTeX Kernel (Final Settings)]
+ [2019/09/14 v2.1h LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -664,7 +664,7 @@
% \end{macro}
%
% \changes{v2.1d}{2018/04/08}{Delay full UTF-8 handling to \cs{everyjob}}
-% \changes{v2.18}{2018/05/11}{Make invalit UTF-8 also safe, for legacy filesystem encodings}
+% \changes{v2.18}{2018/05/11}{Make invalid UTF-8 also safe, for legacy filesystem encodings}
% \begin{macrocode}
\edef\inputencodingname{utf8}%
\input{utf8.def}
@@ -709,6 +709,7 @@
\let\UseRawInputEncoding\relax
% \end{macrocode}
%
+% This ends the skipped code in Unicode engines:
% \begin{macrocode}
\fi
%</2ekernel|latexrelease>
@@ -717,6 +718,21 @@
%<latexrelease> {\UTFviii@invalid}{UTF-8 default}%
% \end{macrocode}
%
+% The first block of commands got only introduced in 2019 but we
+% revert all of Unicode support in one go not jump to the
+% intermediate version.
+% \begin{macrocode}
+%<latexrelease> \let\UTFviii@two@octets@combine\@undefined
+%<latexrelease> \let\UTFviii@three@octets@combine\@undefined
+%<latexrelease> \let\UTFviii@four@octets@combine\@undefined
+%<latexrelease> \let\UTFviii@two@octets@string\@undefined
+%<latexrelease> \let\UTFviii@three@octets@string\@undefined
+%<latexrelease> \let\UTFviii@four@octets@string\@undefined
+%<latexrelease> \let\UTFviii@two@octets@noexpand\@undefined
+%<latexrelease> \let\UTFviii@three@octets@noexpand\@undefined
+%<latexrelease> \let\UTFviii@four@octets@noexpand\@undefined
+% \end{macrocode}
+%
% \begin{macrocode}
%<latexrelease>\@tempcnta=0
%<latexrelease>\loop
@@ -912,15 +928,28 @@
\def\i{I}\def\j{J}%
\def\reserved@a##1##2{\let##1##2\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+% \end{macrocode}
+% Tell UTF-8 processing to process chars even though we are in an \cs{protected@edef}.
+% \changes{v2.1h}{2019/09/14}{Expand UTF8 chrs when case changing (github/177)}
+% \begin{macrocode}
+ \let\UTF@two@octets@noexpand\@empty
+ \let\UTF@three@octets@noexpand\@empty
+ \let\UTF@four@octets@noexpand\@empty
\protected@edef\reserved@a{\uppercase{#1}}%
\reserved@a
}}
\DeclareRobustCommand{\MakeLowercase}[1]{{%
\def\reserved@a##1##2{\let##2##1\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+ \let\UTF@two@octets@noexpand\@empty
+ \let\UTF@three@octets@noexpand\@empty
+ \let\UTF@four@octets@noexpand\@empty
\protected@edef\reserved@a{\lowercase{#1}}%
\reserved@a
}}
+% \end{macrocode}
+%
+% \begin{macrocode}
\def\@uclclist{\oe\OE\o\O\ae\AE
\dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH}
% \end{macrocode}
diff --git a/macros/latex/base/ltfloat.dtx b/macros/latex/base/ltfloat.dtx
index ac1e37688e..7e0c35df22 100644
--- a/macros/latex/base/ltfloat.dtx
+++ b/macros/latex/base/ltfloat.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltfntcmd.dtx b/macros/latex/base/ltfntcmd.dtx
index 7ad43e8272..e214057bc4 100644
--- a/macros/latex/base/ltfntcmd.dtx
+++ b/macros/latex/base/ltfntcmd.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfntcmd.dtx}
- [2015/03/11 v3.4b LaTeX Kernel (Font commands)]
+ [2019/01/27 v3.4b LaTeX Kernel (Font commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfntcmd.dtx}
@@ -154,6 +154,8 @@
% \begin{center}
% \begin{tabular}{lll}
% \textit{Command} & \textit{Corresponds to }& \textit{Action} \\[4pt]
+% |\textnormal{..}| & |\normalfont| &
+% Typeset argument in normal family \\
% |\textrm{..}| & |\rmfamily| &
% Typeset argument in roman family \\
% |\textsf{..}| & |\sffamily| &
diff --git a/macros/latex/base/ltfssbas.dtx b/macros/latex/base/ltfssbas.dtx
index b9146cc1e4..da9dab5d38 100644
--- a/macros/latex/base/ltfssbas.dtx
+++ b/macros/latex/base/ltfssbas.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
- [2017/01/10 v3.2a LaTeX Kernel (NFSS Basic Macros)]
+ [2019/08/27 v3.2d LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -145,21 +145,11 @@
% substitution font/shape macro.}
% \changes{v1.0a}{1989/04/10}{Starting with version numbers!!
% \cs{ifmmode} added in \cs{math@group}}
-% \changes{v2.1w}{1994/11/17}
-% {\cs{@tempa} to \cs{reserved@a}}
-% \changes{v3.0z}{2015/02/21}
-% {Removed autoload code}
+% \changes{v2.1w}{1994/11/17}{\cs{@tempa} to \cs{reserved@a}}
+% \changes{v3.0z}{2015/02/21}{Removed autoload code}
+% \changes{v3.2d}{2019/08/27}{Make various commands robust}
%
%
-% The `2ekernel' code ensures that a |\usepackage{autofss1}| is
-% essentially ignored if a `full' format is being used that has
-% picture mode already in the format.
-%
-% Note the |autofss2| loading is currently disabled.
-%
-% \begin{macrocode}
-%<2ekernel>\expandafter\let\csname ver@autofss1.sty\endcsname\fmtversion
-% \end{macrocode}
%
%
% \section{Preliminary macros}
@@ -817,7 +807,7 @@
% in the current size. If also the size should change one has to
% issue a |\fontsize| command first.
% \begin{macrocode}
-\def\usefont#1#2#3#4{\fontencoding{#1}\fontfamily{#2}%
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
\fontseries{#3}\fontshape{#4}\selectfont
\ignorespaces}
% \end{macrocode}
@@ -1167,11 +1157,12 @@
% \end{macrocode}
%
%
+% \changes{v3.2b}{2019/02/07}{Changed wording of warning (github/107)}
% \begin{macrocode}
\def\try@load@fontshape{%
\expandafter
\ifx\csname \f@encoding+\f@family\endcsname\relax
- \@font@info{Try loading font information for
+ \@font@info{Trying to load font information for
\f@encoding+\f@family}%
% \end{macrocode}
% We predefine this combination to be |\@empty| which means that
@@ -1284,6 +1275,10 @@
% one macro name if the assumption is false. But at least the font
% should be there!
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\DeclareErrorFont}{No side effects please}%
\def\DeclareErrorFont#1#2#3#4#5{%
\xdef\error@fontshape{%
\noexpand\expandafter\noexpand\split@name\noexpand\string
@@ -1297,19 +1292,39 @@
% We definitely don't want to set |\f@encoding|; we can set all the
% others since if they are left ``blank'' any selection would grap
% ``error default values'' as well. However, this probably should
-% go also.
+% go also---and now it did.
% \changes{v2.1n}{1994/05/14}{Don't set \cs{f@encoding}}
+% \changes{v3.2c}{2019/07/09}{Don't set any \cs{f@...} macros}
% \begin{macrocode}
% \gdef\f@encoding{#1}%
\gdef\default@family{#2}%
\gdef\default@series{#3}%
\gdef\default@shape{#4}%
- \global\let\f@family\default@family
- \global\let\f@series\default@series
- \global\let\f@shape\default@shape
- \gdef\f@size{#5}%
- \gdef\f@baselineskip{#5pt}%
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\DeclareErrorFont}{No side effects please}%
+%<latexrelease>
+%<latexrelease>\def\DeclareErrorFont#1#2#3#4#5{%
+%<latexrelease> \xdef\error@fontshape{%
+%<latexrelease> \noexpand\expandafter\noexpand\split@name\noexpand\string
+%<latexrelease> \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
+%<latexrelease> \noexpand\@nil}%
+%<latexrelease> \gdef\default@family{#2}%
+%<latexrelease> \gdef\default@series{#3}%
+%<latexrelease> \gdef\default@shape{#4}%
+%<latexrelease> \global\let\f@family\default@family
+%<latexrelease> \global\let\f@series\default@series
+%<latexrelease> \global\let\f@shape\default@shape
+%<latexrelease> \gdef\f@size{#5}%
+%<latexrelease> \gdef\f@baselineskip{#5pt}%
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\DeclareErrorFont
% \end{macrocode}
% \end{macro}
@@ -1813,7 +1828,7 @@
% \end{macrocode}
% Version for engines other than Xe\TeX.
% \begin{macrocode}
-\gdef\showhyphens#1{%
+\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
\color@begingroup
\everypar{}%
@@ -1837,7 +1852,7 @@
% suppressed from the terminal output by ensuring that
% |\tracingonline| is locally zero.
% \begin{macrocode}
-\long\def\showhyphens#1{%
+\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
\usefont{TU}{lmr}{m}{n}%
\hsize 1sp %
diff --git a/macros/latex/base/ltfsscmp.dtx b/macros/latex/base/ltfsscmp.dtx
index 8157428fde..d62eeb6f47 100644
--- a/macros/latex/base/ltfsscmp.dtx
+++ b/macros/latex/base/ltfsscmp.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltfssdcl.dtx b/macros/latex/base/ltfssdcl.dtx
index cca3df4693..d1284a08e8 100644
--- a/macros/latex/base/ltfssdcl.dtx
+++ b/macros/latex/base/ltfssdcl.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssdcl.dtx}
- [2016/02/18 v3.0r LaTeX Kernel (NFSS Declarative Interface)]
+ [2019/08/27 v3.0s LaTeX Kernel (NFSS Declarative Interface)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1078,12 +1078,17 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\DeclareMathAlphabet}
-% could do with more checks like allowing single number in |#4|
-% lowercase in |#4| etc
+% \begin{macro}{\DeclareMathAccent}
+% Could do with more checks like allowing single number in |#4|
+% lowercase in |#4| etc
% \changes{v3.0r}{2016/02/18}
% {Check for mathaccent not \cs{mathaccemt}}
+% \changes{v3.0s}{2019/08/27}{Make math accents robust}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {DeclareMathAccent}{Make math accents robust}%
\def\DeclareMathAccent#1#2#3#4{%
\expandafter\in@\csname sym#3\expandafter\endcsname
\expandafter{\group@list}%
@@ -1097,9 +1102,14 @@
\advance\count\tw@-\count@
\if\relax\noexpand#1% is command?
\edef\reserved@a{\noexpand\in@
- {\expandafter\@gobble\string\mathaccent}{\meaning#1}}%
+ {\expandafter\@gobble\string\mathaccent}
+ {\expandafter\meaning
+ \csname\expandafter\@gobble\string#1\space\endcsname}}%
\reserved@a
\ifin@
+ \expandafter\let
+ \csname\expandafter\@gobble\string#1\space\endcsname
+ \@undefined
\expandafter\set@mathaccent
\csname sym#3\endcsname#1#2%
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
@@ -1123,21 +1133,87 @@
\@latex@error{Symbol font `#3' is not defined}\@eha
\fi
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {DeclareMathAccent}{Make math accents robust}%
+%<latexrelease>\def\DeclareMathAccent#1#2#3#4{%
+%<latexrelease> \expandafter\in@\csname sym#3\expandafter\endcsname
+%<latexrelease> \expandafter{\group@list}%
+%<latexrelease> \ifin@
+%<latexrelease> \begingroup
+%<latexrelease> \count\z@=#4\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw@-\count@
+%<latexrelease> \if\relax\noexpand#1% is command?
+%<latexrelease> \edef\reserved@a{\noexpand\in@
+%<latexrelease> {\expandafter\@gobble\string\mathaccent}{\meaning#1}}%
+%<latexrelease> \reserved@a
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\set@mathaccent
+%<latexrelease> \csname sym#3\endcsname#1#2%
+%<latexrelease> {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> \@font@info{Redeclaring math accent \string#1}%
+%<latexrelease> \else
+%<latexrelease> \expandafter\ifx
+%<latexrelease> \csname\expandafter\@gobble\string#1\endcsname
+%<latexrelease> \relax
+%<latexrelease> \expandafter\set@mathaccent
+%<latexrelease> \csname sym#3\endcsname#1#2%
+%<latexrelease> {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Command `\string#1' already defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Not a command name: `\noexpand#1'}\@eha
+%<latexrelease> \fi
+%<latexrelease> \endgroup
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Symbol font `#3' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\DeclareMathAccent
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\set@mathaccent}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\set@mathaccent}{makemath accents robust}%
\def\set@mathaccent#1#2#3#4{%
- \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
+ \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}%
+ \MakeRobust#2%
+}
\@onlypreamble\set@mathaccent
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\set@mathaccent}{makemath accents robust}%
+%<latexrelease>
+%<latexrelease>\def\set@mathaccent#1#2#3#4{%
+%<latexrelease> \xdef#2{\mathaccent"\mathchar@type#3\hexnumber@#1#4\relax}}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareMathSymbol}
% \changes{v3.0r}{2016/02/18}
% {Check for mathchar not \cs{mathchar}}
+% \changes{v3.0s}{2019/09/09}{Allow definition if the math symbol was
+% a command already robust}
% \begin{macrocode}
\def\DeclareMathSymbol#1#2#3#4{%
\expandafter\in@\csname sym#3\expandafter\endcsname
@@ -1151,17 +1227,30 @@
\multiply\count@\sixt@@n
\advance\count\tw@-\count@
\if\relax\noexpand#1% is command?
+% \end{macrocode}
+% Store the command name with a space attached inside
+% \cs{reserved@@b} in case we look at a robust definition.
+% \begin{macrocode}
+ \edef\reserved@b{\expandafter\noexpand
+ \csname\expandafter\@gobble\string#1\space\endcsname}%
+% \end{macrocode}
+% Test both \verb=#1= and \verb*=#1 = for containing \texttt{mathchar}.
+% \begin{macrocode}
\edef\reserved@a
{\noexpand\in@{\expandafter\@gobble\string\mathchar}%
- {\meaning#1}}%
+ {\meaning#1\expandafter\meaning\reserved@b}}%
\reserved@a
+% \end{macrocode}
+% Drop \verb*=#1 = in case it was defined before.
+% \begin{macrocode}
+ \global\expandafter\let\reserved@b\@undefined
\ifin@
\expandafter\set@mathsymbol
\csname sym#3\endcsname#1#2%
{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
\@font@info{Redeclaring math symbol \string#1}%
\else
- \expandafter\ifx
+ \expandafter\ifx
\csname\expandafter\@gobble\string#1\endcsname
\relax
\expandafter\set@mathsymbol
@@ -1278,7 +1367,12 @@
% \begin{macro}{\@DeclareMathDelimiter}
% \changes{v3.0r}{2016/02/18}
% {Check for delimiter not \cs{delimiter}}
+% \changes{v3.0s}{2019/08/27}{Make math delimiters robust}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}%
\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
\expandafter\in@\csname sym#3\expandafter\endcsname
\expandafter{\group@list}%
@@ -1304,9 +1398,11 @@
\edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
%
\edef\reserved@a{\noexpand\in@
- {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
+ {\expandafter\@gobble\string\delimiter}%
+ {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}%
\reserved@a
\ifin@
+ \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined
\expandafter\set@mathdelimiter
\csname sym#3\expandafter\endcsname
\csname sym#5\endcsname#1#2%
@@ -1332,6 +1428,68 @@
\@latex@error{Symbol font `#3' is not defined}\@eha
\fi
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}%
+%<latexrelease>\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
+%<latexrelease> \expandafter\in@\csname sym#3\expandafter\endcsname
+%<latexrelease> \expandafter{\group@list}%
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\in@\csname sym#5\expandafter\endcsname
+%<latexrelease> \expandafter{\group@list}%
+%<latexrelease> \ifin@
+%<latexrelease> \begingroup
+%<latexrelease> \count\z@=#4\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw@-\count@
+%<latexrelease> \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> %
+%<latexrelease> \count\z@=#6\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw@-\count@
+%<latexrelease> \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> %
+%<latexrelease> \edef\reserved@a{\noexpand\in@
+%<latexrelease> {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
+%<latexrelease> \reserved@a
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\set@mathdelimiter
+%<latexrelease> \csname sym#3\expandafter\endcsname
+%<latexrelease> \csname sym#5\endcsname#1#2%
+%<latexrelease> \reserved@c\reserved@d
+%<latexrelease> \@font@info{Redeclaring math delimiter \string#1}%
+%<latexrelease> \else
+%<latexrelease> \expandafter\ifx
+%<latexrelease> \csname\expandafter\@gobble\string#1\endcsname
+%<latexrelease> \relax
+%<latexrelease> \expandafter\set@mathdelimiter
+%<latexrelease> \csname sym#3\expandafter\endcsname
+%<latexrelease> \csname sym#5\endcsname#1#2%
+%<latexrelease> \reserved@c\reserved@d
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Command `\string#1' already defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \endgroup
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Symbol font `#5' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Symbol font `#3' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\@DeclareMathDelimiter
% \end{macrocode}
% \end{macro}
@@ -1384,10 +1542,27 @@
%
% \changes{v2.1q}{1995/04/02}{fix pr/1329}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\set@mathdelimiter}{make delimiters robust}%
\def\set@mathdelimiter#1#2#3#4#5#6{%
\xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
- \hexnumber@#2#6 }}
+ \hexnumber@#2#6 }%
+ \MakeRobust#3%
+}
\@onlypreamble\set@mathdelimiter
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\set@mathdelimiter}{make delimiters robust}%
+%<latexrelease>
+%<latexrelease>\def\set@mathdelimiter#1#2#3#4#5#6{%
+%<latexrelease> \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5%
+%<latexrelease> \hexnumber@#2#6 }}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/base/ltfssini.dtx b/macros/latex/base/ltfssini.dtx
index 8ce5bf7341..b073a5cc37 100644
--- a/macros/latex/base/ltfssini.dtx
+++ b/macros/latex/base/ltfssini.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2016/10/15 v3.1b LaTeX Kernel (NFSS Initialisation)]
+ [2019/08/27 v3.1d LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -80,6 +80,7 @@
% {(DPC) Make file from previous file, lfonts.dtx 1995/05/23 v2.2e}
% \changes{v3.1b}{2016/10/15}
% {Require e\TeX{}}
+% \changes{v3.1d}{2019/08/27}{Make various commands robust}
%
%
% \section{NFSS Initialisation}
@@ -268,9 +269,9 @@
% Finally we provide two abbreviations to switch to the \LaTeX{}
% \emph{versions}.
% \begin{macrocode}
-\def\boldmath{\@nomath\boldmath
+\DeclareRobustCommand\boldmath{\@nomath\boldmath
\mathversion{bold}}
-\def\unboldmath{\@nomath\unboldmath
+\DeclareRobustCommand\unboldmath{\@nomath\unboldmath
\mathversion{normal}}
% \end{macrocode}
% Here we switch to the default math version by defining the internal
@@ -293,7 +294,10 @@
% without changes to the source.
% \begin{macrocode}
\def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}}
-\def\symbol#1{\char #1\relax}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareRobustCommand\symbol[1]{\char #1\relax}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -332,7 +336,7 @@
% assume that the standard math fonts are used. Thus it needs
% changing in case other math encodings are used.
% \begin{macrocode}
-\def\oldstylenums#1{%
+\DeclareRobustCommand\oldstylenums[1]{%
\begingroup
% \end{macrocode}
% Provide spacing using the interword space of the current font.
@@ -488,6 +492,16 @@
%% overwrite it in fontdef.cfg
%% if necessary
% \end{macrocode}
+% We also set some default values for |\f@family| etc. Note that we
+% don't yet have any encodings that comes later. In the past this
+% was implicitly done by |\DeclareErrorFont|.
+% \changes{v3.1c}{2019/07/09}{Explicitly set some defaults}
+% \begin{macrocode}
+\fontfamily{cmr}
+\fontseries{m}
+\fontshape{n}
+\fontsize{10}{10}
+% \end{macrocode}
%
%
%
diff --git a/macros/latex/base/ltfsstrc.dtx b/macros/latex/base/ltfsstrc.dtx
index 0270fcb066..05dafa20c6 100644
--- a/macros/latex/base/ltfsstrc.dtx
+++ b/macros/latex/base/ltfsstrc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/lthyphen.dtx b/macros/latex/base/lthyphen.dtx
index 32b73bf892..ba4b018dce 100644
--- a/macros/latex/base/lthyphen.dtx
+++ b/macros/latex/base/lthyphen.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltidxglo.dtx b/macros/latex/base/ltidxglo.dtx
index cb46fde90a..19349c17dc 100644
--- a/macros/latex/base/ltidxglo.dtx
+++ b/macros/latex/base/ltidxglo.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltidxglo.dtx}
- [1996/01/20 v1.1e LaTeX Kernel (Index and Glossary)]
+ [2019/08/27 v1.1f LaTeX Kernel (Index and Glossary)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltidxglo.dtx}
@@ -76,6 +76,7 @@
% \changes{v1.1a}{1994/05/19}{Initial version of ltidxglo.dtx,
% split from ltidxbib.dtx}
% \changes{v1.1d}{1995/10/25}{Doc cleanup}
+% \changes{v1.1f}{2019/08/27}{Make \cs{index} and \cs{gloassary} robust}
%
%
% \begin{oldcomments}
diff --git a/macros/latex/base/ltlength.dtx b/macros/latex/base/ltlength.dtx
index fab7c6fdd2..7b72946d6e 100644
--- a/macros/latex/base/ltlength.dtx
+++ b/macros/latex/base/ltlength.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlength.dtx}
- [2015/01/08 v1.1c LaTeX Kernel (Lengths)]
+ [2019/08/27 v1.1d LaTeX Kernel (Lengths)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlength.dtx}
@@ -59,10 +59,9 @@
%
% \changes{v1.0c}{1994/03/29}
% {Create file ltcntlen from parts of ltmiscen and ltherest.}
-% \changes{v1.1a}{1994/05/19}
-% {Extract file ltlength from ltcntlen.}
-% \changes{v1.1b}{1995/08/11}
-% {Doc typos fixed for latex/753}
+% \changes{v1.1a}{1994/05/19}{Extract file ltlength from ltcntlen.}
+% \changes{v1.1b}{1995/08/11}{Doc typos fixed for latex/753}
+% \changes{v1.1d}{2019/08/27}{Make various command robust}
%
% \section{Lengths}
%
@@ -141,9 +140,9 @@
% Clear the memory afterwards (which might be a lot).
% \begin{macrocode}
\setbox\@tempboxa\box\voidb@x}
-\def\settoheight{\@settodim\ht}
-\def\settodepth {\@settodim\dp}
-\def\settowidth {\@settodim\wd}
+\DeclareRobustCommand\settoheight{\@settodim\ht}
+\DeclareRobustCommand\settodepth {\@settodim\dp}
+\DeclareRobustCommand\settowidth {\@settodim\wd}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/base/ltlists.dtx b/macros/latex/base/ltlists.dtx
index d59b7ac4f4..4dcbb8b56a 100644
--- a/macros/latex/base/ltlists.dtx
+++ b/macros/latex/base/ltlists.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltlogos.dtx b/macros/latex/base/ltlogos.dtx
index 1754d06630..ab20b60c59 100644
--- a/macros/latex/base/ltlogos.dtx
+++ b/macros/latex/base/ltlogos.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlogos.dtx}
- [1998/08/17 v1.1i LaTeX Kernel (Logos)]
+ [2019/08/27 v1.1j LaTeX Kernel (Logos)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlogos.dtx}
@@ -70,9 +70,10 @@
% \begin{macro}{\TeX}
% The \TeX{} logo, adjusted so that a full stop after the logo
% counts as ending a sentence.
+% \changes{v1.1j}{2019/08/27}{Make \cs{TeX} command robust}
% \begin{macrocode}
%<*2ekernel>
-\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}
+\DeclareRobustCommand\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/base/ltluatex.dtx b/macros/latex/base/ltluatex.dtx
index 5645d3a85f..a043b48436 100644
--- a/macros/latex/base/ltluatex.dtx
+++ b/macros/latex/base/ltluatex.dtx
@@ -1311,12 +1311,16 @@ local callbacktypes = callbacktypes or {
% \changes{v1.0n}{2016/03/13}{insert\_local\_par added}
% \changes{v1.0n}{2016/03/13}{contribute\_filter added}
% \changes{v1.1h}{2018/08/18}{append\_to\_vlist\_filter is \texttt{exclusive}}
+% \changes{v1.1j}{2019/06/18}{new\_graf added}
+% \changes{v1.1k}{2019/10/02}{linebreak\_filter is \texttt{exclusive}}
+% \changes{v1.1k}{2019/10/02}{process\_rule is \texttt{exclusive}}
+% \changes{v1.1k}{2019/10/02}{mlist\_to\_hlist is \texttt{exclusive}}
% \begin{macrocode}
contribute_filter = simple,
buildpage_filter = simple,
build_page_insert = exclusive,
pre_linebreak_filter = list,
- linebreak_filter = list,
+ linebreak_filter = exclusive,
append_to_vlist_filter = exclusive,
post_linebreak_filter = list,
hpack_filter = list,
@@ -1324,44 +1328,56 @@ local callbacktypes = callbacktypes or {
hpack_quality = list,
vpack_quality = list,
pre_output_filter = list,
- process_rule = list,
+ process_rule = exclusive,
hyphenate = simple,
ligaturing = simple,
kerning = simple,
insert_local_par = simple,
- mlist_to_hlist = list,
+ mlist_to_hlist = exclusive,
+ new_graf = simple,
% \end{macrocode}
% Section 8.5: information reporting callbacks.
% \changes{v1.0m}{2016/02/11}{show\_warning\_message added}
% \changes{v1.0p}{2016/11/17}{call\_edit added}
% \changes{v1.1g}{2018/05/02}{finish\_synctex\_callback added}
-% \begin{macrocode}
- pre_dump = simple,
- start_run = simple,
- stop_run = simple,
- start_page_number = simple,
- stop_page_number = simple,
- show_error_hook = simple,
- show_warning_message = simple,
- show_error_message = simple,
- show_lua_error_hook = simple,
- start_file = simple,
- stop_file = simple,
- call_edit = simple,
- finish_synctex_callback = simple,
+% \changes{v1.1j}{2019/06/18}{finish\_synctex\_callback renamed finish\_synctex}
+% \changes{v1.1j}{2019/06/18}{wrapup\_run added}
+% \begin{macrocode}
+ pre_dump = simple,
+ start_run = simple,
+ stop_run = simple,
+ start_page_number = simple,
+ stop_page_number = simple,
+ show_error_hook = simple,
+ show_warning_message = simple,
+ show_error_message = simple,
+ show_lua_error_hook = simple,
+ start_file = simple,
+ stop_file = simple,
+ call_edit = simple,
+ finish_synctex = simple,
+ wrapup_run = simple,
% \end{macrocode}
% Section 8.6: PDF-related callbacks.
+% \changes{v1.1j}{2019/06/18}{page\_objnum\_provider added}
+% \changes{v1.1j}{2019/06/18}{process\_pdf\_image\_content added}
% \begin{macrocode}
- finish_pdffile = data,
- finish_pdfpage = data,
+ finish_pdffile = data,
+ finish_pdfpage = data,
+ page_objnum_provider = simple,
+ process_pdf_image_content = simple,
% \end{macrocode}
% Section 8.7: font-related callbacks.
% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added}
% \changes{v1.1g}{2018/05/02}{glyph\_not\_found added}
-% \begin{macrocode}
- define_font = exclusive,
- glyph_not_found = exclusive,
- glyph_stream_provider = exclusive,
+% \changes{v1.1j}{2019/06/18}{make\_extensible added}
+% \changes{v1.1j}{2019/06/18}{font\_descriptor\_objnum\_provider added}
+% \begin{macrocode}
+ define_font = exclusive,
+ glyph_not_found = exclusive,
+ glyph_stream_provider = exclusive,
+ make_extensible = exclusive,
+ font_descriptor_objnum_provider = exclusive,
% \end{macrocode}
% \changes{v1.0m}{2016/02/11}{pdf\_stream\_filter\_callback removed}
% \begin{macrocode}
diff --git a/macros/latex/base/ltluatex.pdf b/macros/latex/base/ltluatex.pdf
index 1cd87dccf0..11f55bd545 100644
--- a/macros/latex/base/ltluatex.pdf
+++ b/macros/latex/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex/base/ltmath.dtx b/macros/latex/base/ltmath.dtx
index d7c283f9ef..c38f42b4f9 100644
--- a/macros/latex/base/ltmath.dtx
+++ b/macros/latex/base/ltmath.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -38,7 +38,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmath.dtx}
- [2018/09/24 v1.2b LaTeX Kernel (Math Setup)]
+ [2019/08/27 v1.2c LaTeX Kernel (Math Setup)]
% \iffalse
%</driver>
%
@@ -95,49 +95,50 @@
% \changes{v1.0r}{1995/05/07}{Use \cs{hb@xt@}}
% \changes{v1.0r}{1995/05/21}{Update some plain macros}
% \changes{v1.0t}{1995/06/28}{minor doc edits}
+% \changes{v1.2c}{2019/08/27}{Make various commands robust}
%
% \begin{macro}{\log}
% The standard operators:
% \begin{macrocode}
-\def\log{\mathop{\operator@font log}\nolimits}
-\def\lg{\mathop{\operator@font lg}\nolimits}
-\def\ln{\mathop{\operator@font ln}\nolimits}
-\def\lim{\mathop{\operator@font lim}}
-\def\limsup{\mathop{\operator@font lim\,sup}}
-\def\liminf{\mathop{\operator@font lim\,inf}}
-\def\sin{\mathop{\operator@font sin}\nolimits}
-\def\arcsin{\mathop{\operator@font arcsin}\nolimits}
-\def\sinh{\mathop{\operator@font sinh}\nolimits}
-\def\cos{\mathop{\operator@font cos}\nolimits}
-\def\arccos{\mathop{\operator@font arccos}\nolimits}
-\def\cosh{\mathop{\operator@font cosh}\nolimits}
-\def\tan{\mathop{\operator@font tan}\nolimits}
-\def\arctan{\mathop{\operator@font arctan}\nolimits}
-\def\tanh{\mathop{\operator@font tanh}\nolimits}
-\def\cot{\mathop{\operator@font cot}\nolimits}
-\def\coth{\mathop{\operator@font coth}\nolimits}
-\def\sec{\mathop{\operator@font sec}\nolimits}
-\def\csc{\mathop{\operator@font csc}\nolimits}
-\def\max{\mathop{\operator@font max}}
-\def\min{\mathop{\operator@font min}}
-\def\sup{\mathop{\operator@font sup}}
-\def\inf{\mathop{\operator@font inf}}
-\def\arg{\mathop{\operator@font arg}\nolimits}
-\def\ker{\mathop{\operator@font ker}\nolimits}
-\def\dim{\mathop{\operator@font dim}\nolimits}
-\def\hom{\mathop{\operator@font hom}\nolimits}
-\def\det{\mathop{\operator@font det}}
-\def\exp{\mathop{\operator@font exp}\nolimits}
-\def\Pr{\mathop{\operator@font Pr}}
-\def\gcd{\mathop{\operator@font gcd}}
-\def\deg{\mathop{\operator@font deg}\nolimits}
+\DeclareRobustCommand\log{\mathop{\operator@font log}\nolimits}
+\DeclareRobustCommand\lg{\mathop{\operator@font lg}\nolimits}
+\DeclareRobustCommand\ln{\mathop{\operator@font ln}\nolimits}
+\DeclareRobustCommand\lim{\mathop{\operator@font lim}}
+\DeclareRobustCommand\limsup{\mathop{\operator@font lim\,sup}}
+\DeclareRobustCommand\liminf{\mathop{\operator@font lim\,inf}}
+\DeclareRobustCommand\sin{\mathop{\operator@font sin}\nolimits}
+\DeclareRobustCommand\arcsin{\mathop{\operator@font arcsin}\nolimits}
+\DeclareRobustCommand\sinh{\mathop{\operator@font sinh}\nolimits}
+\DeclareRobustCommand\cos{\mathop{\operator@font cos}\nolimits}
+\DeclareRobustCommand\arccos{\mathop{\operator@font arccos}\nolimits}
+\DeclareRobustCommand\cosh{\mathop{\operator@font cosh}\nolimits}
+\DeclareRobustCommand\tan{\mathop{\operator@font tan}\nolimits}
+\DeclareRobustCommand\arctan{\mathop{\operator@font arctan}\nolimits}
+\DeclareRobustCommand\tanh{\mathop{\operator@font tanh}\nolimits}
+\DeclareRobustCommand\cot{\mathop{\operator@font cot}\nolimits}
+\DeclareRobustCommand\coth{\mathop{\operator@font coth}\nolimits}
+\DeclareRobustCommand\sec{\mathop{\operator@font sec}\nolimits}
+\DeclareRobustCommand\csc{\mathop{\operator@font csc}\nolimits}
+\DeclareRobustCommand\max{\mathop{\operator@font max}}
+\DeclareRobustCommand\min{\mathop{\operator@font min}}
+\DeclareRobustCommand\sup{\mathop{\operator@font sup}}
+\DeclareRobustCommand\inf{\mathop{\operator@font inf}}
+\DeclareRobustCommand\arg{\mathop{\operator@font arg}\nolimits}
+\DeclareRobustCommand\ker{\mathop{\operator@font ker}\nolimits}
+\DeclareRobustCommand\dim{\mathop{\operator@font dim}\nolimits}
+\DeclareRobustCommand\hom{\mathop{\operator@font hom}\nolimits}
+\DeclareRobustCommand\det{\mathop{\operator@font det}}
+\DeclareRobustCommand\exp{\mathop{\operator@font exp}\nolimits}
+\DeclareRobustCommand\Pr{\mathop{\operator@font Pr}}
+\DeclareRobustCommand\gcd{\mathop{\operator@font gcd}}
+\DeclareRobustCommand\deg{\mathop{\operator@font deg}\nolimits}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\bmod}
% And some operators have to be done by hand:
% \begin{macrocode}
-\def\bmod{%
+\DeclareRobustCommand\bmod{%
\nonscript\mskip-\medmuskip\mkern5mu%
\mathbin{\operator@font mod}\penalty900\mkern5mu%
\nonscript\mskip-\medmuskip}
@@ -146,7 +147,7 @@
%
% \begin{macro}{\pmod}
% \begin{macrocode}
-\def\pmod#1{%
+\DeclareRobustCommand\pmod[1]{%
\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
% \end{macrocode}
% \end{macro}
@@ -156,18 +157,18 @@
% \begin{macro}{\big}
% Variants on |\big| and friends for use with delimiters:
% \begin{macrocode}
-\def\bigl{\mathopen\big}
-\def\bigm{\mathrel\big}
-\def\bigr{\mathclose\big}
-\def\Bigl{\mathopen\Big}
-\def\Bigm{\mathrel\Big}
-\def\Bigr{\mathclose\Big}
-\def\biggl{\mathopen\bigg}
-\def\biggm{\mathrel\bigg}
-\def\biggr{\mathclose\bigg}
-\def\Biggl{\mathopen\Bigg}
-\def\Biggm{\mathrel\Bigg}
-\def\Biggr{\mathclose\Bigg}
+\DeclareRobustCommand\bigl{\mathopen\big}
+\DeclareRobustCommand\bigm{\mathrel\big}
+\DeclareRobustCommand\bigr{\mathclose\big}
+\DeclareRobustCommand\Bigl{\mathopen\Big}
+\DeclareRobustCommand\Bigm{\mathrel\Big}
+\DeclareRobustCommand\Bigr{\mathclose\Big}
+\DeclareRobustCommand\biggl{\mathopen\bigg}
+\DeclareRobustCommand\biggm{\mathrel\bigg}
+\DeclareRobustCommand\biggr{\mathclose\bigg}
+\DeclareRobustCommand\Biggl{\mathopen\Bigg}
+\DeclareRobustCommand\Biggm{\mathrel\Bigg}
+\DeclareRobustCommand\Biggr{\mathclose\Bigg}
% \end{macrocode}
% \end{macro}
%
@@ -252,23 +253,55 @@
% {(DPC) use \cs{expandafter} instead of \cs{next}}
% \changes{v1.0p}{1994/11/18}
% {(DPC) colour support}
+
% \begin{macro}{\hphantom}
% \begin{macro}{\vphantom}
% \begin{macrocode}
\newif\ifv@
\newif\ifh@
% \end{macrocode}
+%
+%
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\vphantom}{Make commands robust}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareRobustCommand\vphantom{\v@true\h@false\ph@nt}
+% \end{macrocode}
%
% \begin{macrocode}
-\def\vphantom{\v@true\h@false\ph@nt}
+\DeclareRobustCommand\hphantom{\v@false\h@true\ph@nt}
% \end{macrocode}
%
% \begin{macrocode}
-\def\hphantom{\v@false\h@true\ph@nt}
+\DeclareRobustCommand\phantom{\v@true\h@true\ph@nt}
% \end{macrocode}
%
+% \begin{macro}{\mathstrut}
+% \begin{macrocode}
+\DeclareRobustCommand\mathstrut{\vphantom(}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
-\def\phantom{\v@true\h@true\ph@nt}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\vphantom}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\vphantom
+%<latexrelease>\kernel@make@fragile\hphantom
+%<latexrelease>\kernel@make@fragile\phantom
+%<latexrelease>\kernel@make@fragile\mathstrut
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
%
% \begin{macrocode}
@@ -318,11 +351,6 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\mathstrut}
-% \begin{macrocode}
-\def\mathstrut{\vphantom(}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\smash}
% \changes{v1.0p}{1994/11/18}
@@ -330,7 +358,7 @@
% \changes{v1.0p}{1994/11/18}
% {(DPC) colour support}
% \begin{macrocode}
-\def\smash{%
+\DeclareRobustCommand\smash{%
\relax % \relax, in case this comes first in \halign
\ifmmode
\expandafter\mathpalette\expandafter\mathsm@sh
@@ -368,19 +396,26 @@
% \end{macrocode}
% \end{macro}
%
-%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\cases}{Make commands robust}%
+% \end{macrocode}
+%
% \begin{macro}{\cases}
% \changes{LaTeX2.09}{1991/08/14}
% {(RmS) inserted extra braces around entry for NFSS}
% \begin{macrocode}
-\def\cases#1{\left\{\,\vcenter{\normalbaselines\m@th
+\DeclareRobustCommand\cases[1]{\left\{\,\vcenter{\normalbaselines\m@th
\ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\matrix}
% \begin{macrocode}
-\def\matrix#1{\null\,\vcenter{\normalbaselines\m@th
+\DeclareRobustCommand\matrix[1]{\null\,\vcenter{\normalbaselines\m@th
\ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
\mathstrut\crcr\noalign{\kern-\baselineskip}
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
@@ -389,10 +424,24 @@
%
% \begin{macro}{\pmatrix}
% \begin{macrocode}
-\def\pmatrix#1{\left(\matrix{#1}\right)}
+\DeclareRobustCommand\pmatrix[1]{\left(\matrix{#1}\right)}
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\cases}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\cases
+%<latexrelease>\kernel@make@fragile\matrix
+%<latexrelease>\kernel@make@fragile\pmatrix
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
%
% \begin{macro}{\bordermatrix}
% \changes{LaTeX2e}{1994/01/25}{Removed \cs{p@renwd}.}
@@ -475,7 +524,7 @@
%
% \begin{macro}{\*}
% \begin{macrocode}
-\def\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}
+\DeclareRobustCommand\*{\discretionary{\thinspace\the\textfont2\char2}{}{}}
% \end{macrocode}
% \end{macro}
%
@@ -712,7 +761,7 @@
% \begin{macro}{\stackrel}
% A disguise for plain \TeX's buildrel.
% \begin{macrocode}
-\def\stackrel#1#2{\mathrel{\mathop{#2}\limits^{#1}}}
+\DeclareRobustCommand\stackrel[2]{\mathrel{\mathop{#2}\limits^{#1}}}
% \end{macrocode}
% \end{macro}
%
@@ -724,7 +773,7 @@
% \begin{macro}{\frac}
% A disguise for plain \TeX's |\over|.
% \begin{macrocode}
-\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
+\DeclareRobustCommand\frac[2]{{\begingroup#1\endgroup\over#2}}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/base/ltmiscen.dtx b/macros/latex/base/ltmiscen.dtx
index 122ef3b39b..8cd6120751 100644
--- a/macros/latex/base/ltmiscen.dtx
+++ b/macros/latex/base/ltmiscen.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2018/10/11 v1.1o LaTeX Kernel (Misc. Environments)]
+ [2019/08/29 v1.1p LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -72,6 +72,7 @@
% \changes{v1.1d}{1996/06/03}{Move setting of verbatim font and
% \cs{@noligs}.}
% \changes{v1.1g}{1998/08/17}{(RmS) Minor documentation fixes.}
+% \changes{v1.1p}{2019/08/27}{Make various commands robust}
%
% \section{Miscellaneous Environments}
% This section implements the basic environment mechanism, and also
@@ -505,8 +506,13 @@
% remember line number. Used by \cs{@badend} to display
% position of non-matching \cs{begin}.}
% \changes{v1.1e}{1996/07/26}{remove \cs{global} before \cs{@ignore...}}
+% \changes{v1.1p}{2019/08/27}{Make command robust}
% \begin{macrocode}
-\def\begin#1{%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\begin}{Making \begin/\end robust}%
+\DeclareRobustCommand\begin[1]{%
\@ifundefined{#1}%
{\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
{\def\reserved@a{\def\@currenvir{#1}%
@@ -515,17 +521,123 @@
\@ignorefalse
\begingroup\@endpefalse\reserved@a}
% \end{macrocode}
-% \end{macro}
+% A version that doesn't start out with \cs{relax} when in
+% typesetting mode would be the following, but since \cs{begin}
+% issues a \cs{begingroup} it wouldn't help much with respect to
+% allowing things like \cs{noalign} or \cs{multicolumn} inside.
+% \begin{macrocode}
+%\edef\begin
+% {\unexpanded{%
+% \ifx\protect\@typeset@protect
+% \expandafter\@gobble
+% \fi
+% \protect
+% }%
+% \expandafter\noexpand\csname begin \endcsname
+% }
+%\@namedef{begin }#1{%
+% \@ifundefined{#1}%
+% {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+% {\def\reserved@a{\def\@currenvir{#1}%
+% \edef\@currenvline{\on@line}%
+% \csname #1\endcsname}}%
+% \@ignorefalse
+% \begingroup\@endpefalse\reserved@a}
+% \end{macrocode}
%
% \begin{macro}{\end}
+% While \cs{begin} was made robust simply by using
+% \cs{DeclareRobustCommand} we need to be a bit more subtle with
+% \cs{end} as there are packages out there that try to look into
+% the top-level contents of \verb=\end{foo}= (that is at the expansion
+% of \verb=\endfoo=) to see if it contains certain macros. This is
+% done by hitting \verb=\end{foo}= with three \cs{expandafter}s,
+% the first to get
+%\begin{verbatim}
+% \csname endfoo\endcsname \@checkend{foo}% etc.
+%\end{verbatim}
+% the second to expand the \cs{csname}, i.e., to get to
+%\begin{verbatim}
+% \endfoo \@checkend{foo}% etc.
+%\end{verbatim}
+% and the third to finally get to the top-level content of
+% \verb=\endfoo=, i.e.
+%\begin{verbatim}
+% <top-level content of \endfoo> \@checkend{foo}% etc.
+%\end{verbatim}
+% Therefore a robust replacement should produce the same results
+% after three expansions (there first is obviously different).
+%
+% Basically the definition of \cs{end} should either produce
+% \verb*=\protect\end = (when not doing typesetting) or it should
+% produce \verb*=\end = (without the \cs{protect}) when doing typesetting.
+% Furthermore, it should (when in typesetting mode) show exactly the
+% same result as
+% \verb*=\end = (which is the original fragile definition
+% of \cs{end}) when you expand either of them twice, i.e.,
+%\begin{verbatim}
+% \endfoo \@checkend{foo}% etc.
+%\end{verbatim}
+% That is achieved with the code below (which is worth studying
+% carefully).
+%
+% There is some trickery involved here: in particular we use
+% \cs{romannumeral} to change a single expansion into three
+% successive expansions in one go. That primitive expands until it
+% has scanned a number (0 in this case, so it doesn't produce any
+% output) and so it allows us to place arbitrary many
+% \cs{expandafter}s inside that are all going to be executed when
+% \cs{romannumeral} is hit by a single \cs{expandafter}.
+%
% \changes{v1.1e}{1996/07/26}{remove \cs{global} before \cs{@ignore...}}
+% \changes{v1.1p}{2019/08/27}{Make command robust}
+%
+% \begin{macrocode}
+\edef\end
+ {\unexpanded{%
+ \romannumeral
+ \ifx\protect\@typeset@protect
+ \expandafter %1
+ \expandafter %2
+ \expandafter %1
+ \expandafter %3 expands the \csname inside \end<space>
+ \expandafter %1
+ \expandafter %2 expands \end<space>
+ \expandafter %1 expands the \else
+ \z@
+ \else
+ \expandafter\z@\expandafter\protect
+ \fi
+ }%
+ \expandafter\noexpand\csname end \endcsname
+ }
+% \end{macrocode}
+% And here is the original definition of \cs{end} the way it was in
+% \LaTeX{} for several decades now hidden in \verb*=\end =.
% \begin{macrocode}
-\def\end#1{%
+\@namedef{end }#1{%
\csname end#1\endcsname\@checkend{#1}%
\expandafter\endgroup\if@endpe\@doendpe\fi
\if@ignore\@ignorefalse\ignorespaces\fi}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+% An here the rollback in case that is ever needed.
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\begin}{Making \begin/\end robust}%
+%<latexrelease>\kernel@make@fragile\begin
+%<latexrelease>\kernel@make@fragile\end
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
+%
+%
+%
%
% \begin{macro}{\@checkend}
% \begin{macrocode}
@@ -598,6 +710,7 @@
% \begin{macrocode}
\def\@icentercr[#1]{\vskip #1\ignorespaces}
% \end{macrocode}
+%
% \end{macro}
%
%
@@ -615,15 +728,57 @@
% \end{macrocode}
% \end{environment}
%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\centering}{Make commands robust}%
+% \end{macrocode}
+%
% \begin{macro}{\centering}
% \begin{macrocode}
-\def\centering{%
+\DeclareRobustCommand\centering{%
\let\\\@centercr
\rightskip\@flushglue\leftskip\@flushglue
\parindent\z@\parfillskip\z@skip}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\raggedright}
+% \begin{macrocode}
+\DeclareRobustCommand\raggedright{%
+ \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
+ \leftskip\z@skip
+ \parindent\z@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\raggedleft}
+% \begin{macrocode}
+\DeclareRobustCommand\raggedleft{%
+ \let\\\@centercr
+ \rightskip\z@skip\leftskip\@flushglue
+ \parindent\z@\parfillskip\z@skip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\centering}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\centering
+%<latexrelease>\kernel@make@fragile\raggedright
+%<latexrelease>\kernel@make@fragile\raggedleft
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
% \begin{macro}{\@rightskip}
% \begin{macrocode}
\newskip\@rightskip \@rightskip \z@skip
@@ -644,14 +799,6 @@
% \end{macrocode}
% \end{environment}
%
-% \begin{macro}{\raggedright}
-% \begin{macrocode}
-\def\raggedright{%
- \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
- \leftskip\z@skip
- \parindent\z@}
-% \end{macrocode}
-% \end{macro}
%
% \begin{environment}{flushright}
% \changes{v0.9h}{1993/12/13}{Removed optional argument of \cs{item}}
@@ -667,15 +814,6 @@
% \end{macrocode}
% \end{environment}
%
-% \begin{macro}{\raggedleft}
-% \begin{macrocode}
-\def\raggedleft{%
- \let\\\@centercr
- \rightskip\z@skip\leftskip\@flushglue
- \parindent\z@\parfillskip\z@skip}
-% \end{macrocode}
-% \end{macro}
-%
%
% \subsection{Verbatim}
%
diff --git a/macros/latex/base/ltnews.cls b/macros/latex/base/ltnews.cls
index 9aa72c53da..1ef6529746 100644
--- a/macros/latex/base/ltnews.cls
+++ b/macros/latex/base/ltnews.cls
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltnews.pdf b/macros/latex/base/ltnews.pdf
new file mode 100644
index 0000000000..b2f519fa0d
--- /dev/null
+++ b/macros/latex/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews.tex b/macros/latex/base/ltnews.tex
new file mode 100644
index 0000000000..3b351448b7
--- /dev/null
+++ b/macros/latex/base/ltnews.tex
@@ -0,0 +1,277 @@
+% \iffalse meta-comment
+%
+% Copyright 2006, 2009, 2011, 2014 Heiko Oberdiek
+% Copyright (C) 2014-2019 The LaTeX3 Project
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% 2006/06/02 v1.0: First version.
+% 2009/09/25 v1.1: \usepackage disabled.
+% 2011/07/01 v1.2: Fixes.
+% 2014/02/30 v1.3:
+% * Update for LaTeX 2014/05/01.
+% * Fix for anchor positions of issue titles.
+% 2014/05/15 v1.4:
+% * Updates for ltnews21.tex.
+% 2014/11/14 v1.4a:
+% * LaTeX Project version
+% 2015/02/16 v1.4b:
+% * Fix TOC issue
+% \fi
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltnews.tex}%
+ [2015/02/16 v1.4b Master file for ltnews*.tex (LaTeX Project)]
+\providecommand*{\lastissue}{30}
+\InputIfFileExists{ltnews-lastissue.cfg}{}{}
+
+
+\ifx\pdfoutput\undefined
+\let\pdfoutput\outputmode
+\protected\def\pdfinfo{\pdfextension info }
+\fi
+
+\RequirePackage{ifpdf}
+\ifpdf
+ % overwrite nasty stuff of ltnews.cfg
+ % (use of hyperref for this would also support other drivers)
+ \pdfinfo{%
+ /Title(LaTeX News)%
+ /Subject(Issues 1--\lastissue)%
+ /Author(The LaTeX Project)%
+ /Creator(LaTeX)%
+ }
+ \newtoks\pdfinfo
+\else
+ \AtBeginDocument{%
+ \hypersetup{%
+ pdftitle={LaTeX News},%
+ pdfsubject={Issues 1\textendash\lastissue},%
+ pdfauthor={The LaTeX Project},%
+ pdfcreator={LaTeX}%
+ }%
+ }%
+\fi
+
+\RequirePackage{lmodern}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{hologo}
+\RequirePackage{graphicx}
+
+
+\documentclass{ltnews}
+
+\RequirePackage{url,csquotes}
+
+% \small already robust so better not ...
+%\expandafter
+%\DeclareRobustCommand\expandafter*\expandafter\small\expandafter{\small}
+
+\RequirePackage{hyperref}
+\hypersetup{colorlinks}
+\RequirePackage{bookmark}
+
+\makeatletter
+
+\newcounter{issue}
+\renewcommand*{\theissue}{%
+ \ifnum\value{issue}<10 0\fi
+ \number\value{issue}%
+}
+
+\newcommand*{\MonthJanuary}{01}
+\newcommand*{\MonthFebruary}{02}
+\newcommand*{\MonthMarch}{03}
+\newcommand*{\MonthApril}{04}
+\newcommand*{\MonthMay}{05}
+\newcommand*{\MonthJune}{06}
+\newcommand*{\MonthJuly}{07}
+\newcommand*{\MonthAugust}{08}
+\newcommand*{\MonthSeptember}{09}
+\newcommand*{\MonthOctober}{10}
+\newcommand*{\MonthNovember}{11}
+\newcommand*{\MonthDecember}{12}
+\newcommand*{\printissue}{%
+ Issue %
+ \texorpdfstring{\number\value{issue}}{\theissue}, %
+ \texorpdfstring{\@month\space\@year}{\@year/\@nameuse{Month\@month}}%
+}
+\let\l@part\l@section
+\let\l@section\l@subsection
+\let\l@subsection\l@subsubsection
+\let\l@subsubsection\l@paragraph
+\let\l@paragraph\l@subparagraph
+
+\newcommand*{\makefirsttitle}{%
+ \twocolumn[{%
+ \parbox[t][4\baselineskip]{\textwidth}{%
+ \@titlefont\@title, Issues 1--\lastissue
+ }%
+ }]%
+}
+
+% table of contents with underlined links
+\iffalse % disable if option colorlinks is used
+\@ifpackagelater{hyperref}{2006/06/01}{%
+ \newcommand*{\saved@tableofcontents}{}%
+ \let\saved@tableofcontents\tableofcontents
+ \renewcommand*{\tableofcontents}{%
+ \begingroup
+ \hypersetup{pdfborderstyle={/S/U/W 1}}%
+ \saved@tableofcontents
+ \endgroup
+ }%
+}{}
+\fi
+
+% -- provide command introduced in new release
+% so this typesets with an old format
+\DeclareTextCommandDefault\textcommabelow[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
+\DeclareTextCommandDefault\textcommaabove[1]{%
+ \hmode@bgroup
+ \ooalign{%
+ \hidewidth
+ \raise.7ex\hbox{%
+ \check@mathfonts\fontsize\ssf@size\z@\math@fontsfalse\selectfont`%
+ }%
+ \hidewidth\crcr
+ \null#1\crcr
+ }%
+ \egroup
+ }
+
+\makeatother
+
+\begin{document}
+
+%%% Title and Table of Contents
+
+\makefirsttitle
+\pdfbookmark[0]{\contentsname}{toc}
+\tableofcontents
+\clearpage
+
+%%% Issues
+
+\begingroup
+ \makeatletter
+ \renewcommand*{\usepackage}[2][]{%
+ \begingroup
+ \def\x{#1|#2}%
+ \def\y{T1|fontenc}%
+ \ifx\x\y
+ \else
+ \def\y{|lmodern,url}%
+ \ifx\x\y
+ \else
+ \def\y{|lmodern,url,hologo}%
+ \ifx\x\y
+ \else
+ \def\y{|csquotes}%
+ \ifx\x\y
+ \else
+ \def\y{|graphicx}%
+ \ifx\x\y
+ \else
+ \@latex@error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ }%
+ \renewcommand*{\documentclass}[2][]{%
+ \setcounter{footnote}{0}%
+ \gobbleopt
+ }%
+ \newcommand*{\gobbleopt}[1][]{}%
+ \let\org@twocolumn\twocolumn
+ \renewenvironment{document}{%
+ \clearpage
+ \ifnum\@issue=20 %
+ \addtocontents{toc}{\protect\setcounter{tocdepth}{5}}%
+ \addtocontents{toc}{%
+ \protect\makeatletter
+ }%
+ \addtocontents{toc}{%
+ \let\protect\saved@l@paragraph\protect\l@paragraph
+ }%
+ \addtocontents{toc}{%
+ \let\protect\l@paragraph\protect\l@subsection
+ }%
+ \fi
+ \ifnum\@issue=\lastissue\space
+ \addtocontents{toc}{%
+ \let\protect\l@paragraph\protect\saved@l@paragraph
+ }%
+ \def\toclevel@subsection{1}%
+ \def\toclevel@subsubsection{2}%
+ \addtocontents{toc}{\protect\setcounter{tocdepth}{4}}%
+ \renewcommand*{\tableofcontents}{%
+ \section*{\contentsname}%
+ \@starttoc{toc\lastissue}%
+ }%
+ \let\saved@addtocontents\addtocontents
+ \renewcommand*{\addtocontents}[2]{%
+ \saved@addtocontents{##1}{##2}%
+ \def\temp@toc{toc}%
+ \def\temp@param{##1}%
+ \ifx\temp@toc\temp@param
+ \saved@addtocontents{toc\lastissue}{##2}%
+ \fi
+ }%
+ \let\l@subsubsection\l@subsection
+ \let\l@subsection\l@section
+ \let\l@section\l@part
+ \let\l@part\@gobbletwo
+ \fi
+ \def\twocolumn[{%
+ \let\twocolumn\org@twocolumn
+ \org@twocolumn[%
+ {% because of optional argument of \twocolumn
+ \pdfbookmark[0]{\printissue}{issue\theissue}%
+ }%
+ \begingroup
+ \let\WriteBookmarks\relax
+ \@firstofone{% inside opt. arg. of \twocolumn: protect "]"
+ \renewcommand*{\Hy@writebookmark}[5]{}%
+ }%
+ \phantomsection
+ \addcontentsline{toc}{part}{\printissue}%
+ \endgroup
+ }%
+ }{%
+ \clearpage
+ }%
+ \makeatother
+ \loop
+ \ifnum\value{issue}<\lastissue
+ \stepcounter{issue}%
+ \input{ltnews\theissue}%
+ \repeat
+ \stepcounter{issue}%
+ \makeatletter
+ \IfFileExists{ltnews\theissue}{%
+ \@latex@error{\jobname.tex is out of date,\MessageBreak
+ there is `ltnews\theissue.tex'%
+ }\@ehc
+ }{}%
+ \makeatother
+\endgroup
+
+\end{document}
diff --git a/macros/latex/base/ltnews01.pdf b/macros/latex/base/ltnews01.pdf
new file mode 100644
index 0000000000..2e0dead725
--- /dev/null
+++ b/macros/latex/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews01.tex b/macros/latex/base/ltnews01.tex
new file mode 100644
index 0000000000..9df213931f
--- /dev/null
+++ b/macros/latex/base/ltnews01.tex
@@ -0,0 +1,152 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews01.tex
+
+% This is issue 1 of LaTeX News.
+
+\documentclass
+% [type1fonts]
+ {ltnews}
+
+\publicationmonth{June}
+\publicationyear{1994}
+\publicationissue{1}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews}
+
+An issue of \emph{\LaTeXNews} will accompany every future release of
+\LaTeX. It will tell you about important events, such as major bug
+fixes, newly available packages, or any other \LaTeX{} news.
+
+\section{\LaTeXe---the new \LaTeX{} release}
+
+The most important news is the release of \LaTeXe, the new version of
+the \LaTeX{} software. This version has better support for fonts,
+graphics and colour, and will be actively maintained by the \LaTeX3
+project team. Upgrades will be issued every six months, in June and
+December.
+
+\section{Why a new \LaTeX?}
+
+Over the years many extensions have been developed for \LaTeX. This
+is, of course, a sure sign of its continuing popularity but it has had
+one unfortunate result: incompatible \LaTeX{} formats came into use at
+different sites. Thus, to process documents from various places, a
+site maintainer was forced to keep \LaTeX{} (with and without \NFSS),
+\SLiTeX, \AmSLaTeX, and so on. In addition, when looking at a source
+file it was not always clear for which format the document was written.
+
+To put an end to this unsatisfactory
+situation a new release of \LaTeX{} was produced.
+It brings all such extensions back under a single format and thus
+prevents the proliferation of mutually incompatible dialects of
+\LaTeX~2.09. The new release was available for several months as a
+test version, and the final release of 1~June officially
+replaces the old version.
+
+\section{Processing documents with \LaTeXe}
+
+Documents written for \LaTeX~2.09 will
+still be read by \LaTeXe. Any such document is run in
+\emph{\LaTeX~2.09 compatibility mode}.
+
+Unfortunately, compatibility mode comes with a price: it can run
+up to 50\% slower than \LaTeX~2.09 did. If you want to run your document
+in the faster \emph{native mode}, you should try replacing the line:
+\begin{verbatim}
+ \documentstyle[<options>,<packages>]{<class>}
+\end{verbatim}
+with:
+\begin{verbatim}
+ \documentclass[<options>]{<class>}
+ \usepackage{latexsym,<packages>}
+\end{verbatim}
+Unfortunately, this will not always work, because some \LaTeX~2.09
+packages will only work in \LaTeXe{} compatibility mode. You should find
+out if there is a \LaTeXe{} version of the package available.
+
+\LaTeXe{} native mode also gives access to the new features of \LaTeXe,
+described in \emph{\LaTeXe{} for authors}.
+
+\section{New packages}
+
+\LaTeXe{} has much better support for graphics, colour, fonts, and
+multi-lingual typesetting. The following software should be available
+from the distributor who brought you \LaTeXe:
+
+\begin{citations}
+\item[babel] for typesetting in many languages.
+\item[color] for colour support.
+\item[graphics] for including images.
+\item[mfnfss] for using bitmap fonts.
+\item[psnfss] for using Type~1 fonts.
+\item[tools] other packages by the \LaTeX3 team.
+\end{citations}
+The packages come with full documentation, and are also described in
+\emph{\LaTeX: A Document Processing System} or
+\emph{The \LaTeX{} Companion}.
+
+\section{Further information}
+
+More information about \LaTeXe{} is to be found in:
+
+\begin{citations}
+\item[\LaTeX: A Document Preparation System]
+ Leslie Lamport, \AW, 2nd ed, 1994.
+\item[The \LaTeX{} Companion]
+ Goossens, Mittelbach and Samarin, \AW, 1994.
+\end{citations}
+The \LaTeX{} distribution comes with documentation on the new features of
+\LaTeX:
+
+\begin{citations}
+\item[\LaTeXe{} for authors]
+ describes the new features of \LaTeX{} documents,
+ in the file \verb|usrguide.tex|.
+\item[\LaTeXe{} for class and package writers]
+ describes the new features of \LaTeX{} classes and packages,
+ in the file \verb|clsguide.tex|.
+\item[\LaTeXe{} font selection]
+ describes the new features of \LaTeX{} fonts for
+ class and package writers,
+ in the file \verb|fntguide.tex|.
+\end{citations}
+For more information on \TeX{} and \LaTeX, get in touch with your local
+\TeX{} Users Group, or the international \TeX{} Users Group,
+P.~O.~Box~869, Santa~Barbara, CA~93102-0869, USA, Fax:~+1~805~963~8358,
+EMail:~tug@tug.org.
+
+\end{document}
+
+
+
diff --git a/macros/latex/base/ltnews02.pdf b/macros/latex/base/ltnews02.pdf
new file mode 100644
index 0000000000..b11d1f3baa
--- /dev/null
+++ b/macros/latex/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews02.tex b/macros/latex/base/ltnews02.tex
new file mode 100644
index 0000000000..ee386cb2e0
--- /dev/null
+++ b/macros/latex/base/ltnews02.tex
@@ -0,0 +1,154 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews02.tex
+
+% This is issue 2 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+\publicationmonth{December}
+\publicationyear{1994}
+\publicationissue{2}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews~2}
+
+An issue of \emph{\LaTeXNews} will accompany every future release of
+\LaTeX. It will tell you about important events, such as major bug
+fixes, newly available packages, or any other \LaTeX{} news.
+
+\section{December 1994 release of \LaTeX}
+
+December 1994 sees the second release of \LaTeXe. We are on schedule
+to deliver a release of \LaTeX{} every six months, in December and
+June.
+
+This release has seen quite a lot of activity, which is not too
+surprising as it's only been a year since the first test release of
+\LaTeXe. We don't expect so much activity in the next six months.
+
+Many of the changes are minor improvements and bug-fixes---see
+\emph{\LaTeXe{} for authors} (\verb|usrguide.tex|), \emph{\LaTeXe{}
+font selection} (\verb|fntguide.tex|) and our change log
+(\verb|changes.txt|) for more details.
+
+However, there are two important new packages available for \LaTeX:
+\texttt{inputenc} and AMS-\LaTeX.
+
+\section{Accented input}
+
+One of the problems with writing non-English documents in \LaTeX{} is
+the accent commands. Reading documents containing text like
+\verb|na\"\i ve| is frustrating, especially if your keyboard allows
+you to type \texttt{na\"\i ve}.
+
+In the past, \LaTeX{} has not supported input containing accented
+characters such as \texttt{\"\i}, because Windows, Macintosh and Unix
+all have different ways of dealing with accented input, called
+\emph{input encodings}.
+
+However, the \verb|inputenc| package allows you to specify which input
+encoding your document is written with, for example to use the ISO
+Latin-1 encoding, you type:
+\begin{verbatim}
+ \usepackage[latin1]{inputenc}
+\end{verbatim}
+At the moment, \verb|inputenc| supports the \verb|ascii| and
+\verb|latin1| input encodings, but more will be added with future
+releases.
+
+The \verb|inputenc| package is
+currently a test release. The user interface for the full release will
+be upwardly compatible with the test version.
+
+\section{AMS-\LaTeX{}}
+
+ AMS-\LaTeX{} is a set of miscellaneous extensions for \LaTeX{}
+ distributed by the American Mathematical Society. They provide superior
+ information structure and superior printed output for mathematical
+ documents.
+
+ There are far too many features of AMS-\LaTeX{} to list here.
+ AMS-\LaTeX{} is described in the accompanying documentation,
+ and in \emph{The \LaTeX{} Companion}.
+
+ Version 1.2beta of AMS-\LaTeX{} was released for testing by intrepid
+ users in October 1994. The full release of AMS-\LaTeX{}~1.2 is expected
+ in early January 1995.
+
+ It will be divided into two bundles:
+ \begin{itemize}
+
+ \item the \verb|amsfonts| packages, which give access to
+ hundreds of new mathematical symbols, and new math fonts
+ such as blackboard bold and fraktur.
+
+ \item the \verb|amsmath| packages, which provide finer control over
+ mathematical typesetting, such as multi-line subscripts,
+ enhanced theorem and proof environments,
+ and improved displayed equations,
+
+ \end{itemize}
+ For compatibility with older documents, an \verb|amstex| package will be
+ provided.
+
+\section{\LaTeX{} on the internet}
+
+\LaTeX{} has its own home page on the World Wide Web, with the URL:
+\begin{verbatim}
+ http://www.tex.ac.uk/CTAN/latex/
+\end{verbatim}
+This page describes \LaTeX{} and the \LaTeX3 project, and contains
+pointers to other \LaTeX{} resources, such as the user guides, the
+\TeX{} Frequently Asked Questions, and the \LaTeX{} bugs database.
+
+The electronic home of anything \TeX-related is the Comprehensive
+\TeX{} Archive Network (CTAN). This is a network of cooperating ftp
+sites, with over a gigabyte of \TeX{} material:
+\begin{verbatim}
+ ftp://ftp.tex.ac.uk/tex-archive/
+ ftp://ftp.shsu.edu/tex-archive/
+ ftp://ftp.dante.de/tex-archive/
+\end{verbatim}
+For more information, see the \LaTeX{} home page.
+
+\section{Further information}
+
+For more information on \TeX{} and \LaTeX, get in touch with your local
+\TeX{} Users Group, or the international \TeX{} Users Group,
+P.~O.~Box~869, Santa~Barbara, CA~93102-0869, USA, Fax:~+1~805~963~8358,
+EMail:~tug@tug.org.
+
+
+\end{document}
diff --git a/macros/latex/base/ltnews03.pdf b/macros/latex/base/ltnews03.pdf
new file mode 100644
index 0000000000..ad670a274a
--- /dev/null
+++ b/macros/latex/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews03.tex b/macros/latex/base/ltnews03.tex
new file mode 100644
index 0000000000..8784c3b8e0
--- /dev/null
+++ b/macros/latex/base/ltnews03.tex
@@ -0,0 +1,145 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews03.tex
+
+% This is issue 3 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+\publicationmonth{June}
+\publicationyear{1995}
+\publicationissue{3}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews~3}
+
+An issue of \emph{\LaTeXNews} will accompany every future release of
+\LaTeX. It will tell you about important events, such as major bug
+fixes, newly available packages, or any other \LaTeX{} news.
+
+\section{June 1995 release of \LaTeX}
+
+June 1995 sees the third release of \LaTeXe. We are on schedule
+to deliver a release of \LaTeX{} every six months, in December and
+June.
+
+In the last \emph{\LaTeXNews}, we said ``we don't expect so much
+activity in the next six months,'' which has turned out not to be
+true!
+
+\section{Additional input encodings}
+
+In the last release of \LaTeX{} we distributed a test version of the
+\texttt{inputenc} package which allows the use of input characters
+other than just a--z and A--Z. The package has proved to be robust,
+so we are now distributing an expanded version.
+The new release comes with a number of input encodings:
+
+\begin{itemize}
+\item \texttt{ascii} the standard encoding,
+\item \texttt{latin1} the ISO Western European alphabet,
+\item \texttt{latin2} the ISO Eastern European alphabet,
+\item \texttt{cp437} the IBM codepage 437,
+\item \texttt{cp850} the IBM codepage 850, and
+\item \texttt{applemac} the Apple Macintosh encoding.
+\end{itemize}
+These can be used by specifying an option to the \texttt{inputenc}
+package, for example:
+\begin{verbatim}
+ \usepackage[latin1]{inputenc}
+\end{verbatim}
+The new input encodings are currently being tested, but we don't
+expect any major changes.
+
+\section{\LaTeX\ getting smaller}
+
+In the past releases of \LaTeXe, the amount of memory \LaTeX{}
+requires has increased, but we are pleased to say that this trend has
+been reversed. We hope that future releases of \LaTeX{} will continue
+to get smaller.
+
+For example, on this document, the December 1994 release used 52,622
+words of memory, and the June 1995 release uses 51,216 words of
+memory, which is a 2.7\% reduction.
+
+We are currently experimenting with other ways of reducing the size of
+\LaTeX. For example, we are experimenting with an option to remove
+the \texttt{picture} and \texttt{tabbing} environments from the
+\LaTeX{} kernel, and to load them from a file the first time they are
+used. This should help \LaTeX{} to run on machines with limited
+memory. See \texttt{autoload.txt} for details.
+
+\section{Distribution and modification}
+
+One topic of discussion that has kept us busy is the distribution and
+modification conditions of \LaTeX. We are committed to keeping
+\LaTeX{} as free reliable software, and ensuring that (as far as
+possible) \LaTeX{} documents will produce the same results on all
+systems.
+
+The modification conditions are currently under discussion, and we
+would like to hear from anyone interested. Please read
+\texttt{modguide.tex} for more information.
+
+\section{AMS-\LaTeX\ full release}
+
+The AMS-\LaTeX\ packages were still in beta test in the December 1994
+release of \LaTeX, and the full release came out in January 1995.
+
+AMS-\LaTeX\ is described in the \emph{User's Guide}
+(\texttt{amsldoc.tex}) and in \emph{The \LaTeX{} Companion}.
+
+\section{PostScript fonts}
+
+There is a new test release of the PSNFSS packages for accessing
+PostScript fonts in \LaTeXe. This includes an update to all of the
+fonts, to remove many of the underfull and overfull \verb|\hbox|
+warnings, and improve the setting of non-English languages.
+
+The new release of \LaTeX{} removes all of the `hidden' uses of
+Computer Modern mathematics. For example, the footnote markers used
+to use math mode, so always used Computer Modern digits rather than
+ones from the current text font. This has now been fixed.
+
+\section{Further information}
+
+For more information on \TeX{} and \LaTeX, get in touch with your local
+\TeX{} Users Group, or the international \TeX{} Users Group,
+P.~O.~Box~869, Santa~Barbara, CA~93102-0869, USA, Fax:~+1~805~963~8358,
+EMail:~tug@tug.org.
+
+The \LaTeX{} home page is \verb|http://www.tex.ac.uk/ctan/latex/|
+and contains links to other WWW resources for \LaTeX.
+
+\end{document}
diff --git a/macros/latex/base/ltnews04.pdf b/macros/latex/base/ltnews04.pdf
new file mode 100644
index 0000000000..5fd42bd3d1
--- /dev/null
+++ b/macros/latex/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews04.tex b/macros/latex/base/ltnews04.tex
new file mode 100644
index 0000000000..b42e10da57
--- /dev/null
+++ b/macros/latex/base/ltnews04.tex
@@ -0,0 +1,143 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews04.tex
+
+% This is issue 4 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+
+\publicationmonth{December}
+\publicationyear{1995}
+\publicationissue{4}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews~4}
+
+An issue of \emph{\LaTeXNews} will accompany every future release of
+\LaTeX. It will tell you about important events, such as major bug
+fixes, newly available packages, or any other \LaTeX{} news.
+This issue accompanies the fourth release of \LaTeXe.
+
+
+\section{\LaTeX\ getting smaller}
+
+The last release in June started a trend of \LaTeX\ becoming
+smaller, we are pleased to announce that this has continued with this
+release. In particular the experimental `autoload' version described in
+\texttt{autoload.txt} is much smaller as more parts of \LaTeX\ are
+autoloaded.
+
+\section{New `concurrent' docstrip}
+
+The time taken to `unpack' this release from the documented sources
+should be much reduced (roughly half the time, depending on
+installation conditions). This is due to an improved version of the
+docstrip program that has been contributed by Marcin Woli\'nski.
+This can write up to 16 files at once. The
+previous version could only write one file at a time which meant that
+it was very slow when producing many small files from the same source
+file as the source needed to be re-read for each file written.
+
+\section{New T1 encoded fonts}
+
+This year J\"org Knappen has completed a new release of the `Cork'
+(T1) encoded Computer Modern fonts: the dc fonts release 1.2.
+
+This release of the dc fonts fixes many bugs (including the missing
+\verb|?`| (?`) and \verb|!`| (!`) ligatures) and improves the fonts in
+many other ways. It is strongly recommended that you upgrade as soon as
+possible if currently you are using the old dc fonts, release 1.1 or
+earlier. The new fonts are available from the CTAN archives, in
+\texttt{tex-archive/fonts/dc}.
+
+The names of the font files are \emph{different}. This does not affect
+\LaTeX\ documents but \emph{does} affect the installation procedure as
+it assumes that you have the \emph{new} fonts, and will write suitable
+`fd' files for those fonts. If you have not yet upgraded your dc fonts
+then, after unpacking the distribution, you \emph{must}
+\verb|latex olddc.ins| to produce `fd' files for the old dc fonts.
+This must be done \emph{before} the format is made. Running the test
+document at \texttt{ltxcheck.tex} the end of the installation will
+inform you if the wrong set of `fd' files has been installed.
+
+Note that this change does not affect the standard `OT1' Computer
+Modern fonts that \LaTeX\ uses by default.
+
+\section{More robust commands}
+
+The commands \verb|\cite| and \verb|\sqrt| are now robust.
+
+Although most commands with optional arguments are fragile, as
+documented, such commands defined using the second optional argument
+of \verb|\newcommand| and its derivatives are now \emph{robust}.
+
+\section{New Interface to building `extension' classes}
+
+The mechanism provided by \verb|\DeclareOption|, \verb|\ProcessOptions|
+and \verb|\LoadClass| has proved to be a powerful and expressive means
+of defining one class in terms of another `base' class. However there
+have been some requests to simplify the declaration of the common case
+where you want the `base' class to be called with \emph{all} the
+options that were specified to the extension class. This is now
+provided by the new command \verb|\LoadClassWithOptions|. A similar
+command \verb|\RequirePackageWithOptions| is provided for package use.
+More details of this feature are provided in \texttt{clsguide.tex} and
+\texttt{ltclass.dtx}.
+
+\section{More Input Encodings}
+
+The experimental \texttt{inputenc} package allows a more natural style
+of input of accented and other characters.
+
+Three new input encodings are now supported.
+\begin{itemize}
+\item \texttt{ansinew} the Windows ansi encoding,
+ as used in Microsoft Windows 3.x.
+\item \texttt{cp437de} a variant of \texttt{cp437}, which uses \ss\
+ rather than $\beta$ in the appropriate slot.
+\item \texttt{next} the encoding used on Next computers.
+\end{itemize}
+
+\section{Further information}
+
+For more information on \TeX{} and \LaTeX, get in touch with your local
+\TeX{} Users Group, or the international \TeX{} Users Group,
+1850 Union Street, \#1637, San Francisco, CA~94123, USA,
+Fax:~+1~415~982~8559,
+EMail:~tug@tug.org.
+The \LaTeX{} home page is \verb|http://www.tex.ac.uk/ctan/latex/|
+and contains links to other WWW resources for \LaTeX.
+
+\end{document}
diff --git a/macros/latex/base/ltnews05.pdf b/macros/latex/base/ltnews05.pdf
new file mode 100644
index 0000000000..59db7a5d89
--- /dev/null
+++ b/macros/latex/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews05.tex b/macros/latex/base/ltnews05.tex
new file mode 100644
index 0000000000..dfa9e23d78
--- /dev/null
+++ b/macros/latex/base/ltnews05.tex
@@ -0,0 +1,158 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews05.tex
+
+% This is issue 5 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{1996}
+\publicationissue{5}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews~5}
+This issue of \emph{\LaTeXNews} accompanies the fifth release of the
+new standard \LaTeX{}, \LaTeXe.
+
+\section{Extra possibilities for section headings}
+Most \LaTeX\ sectioning commands are defined using
+\verb|\@startsection|.
+For example, the \textsf{article} class defines:
+\begin{small}
+\begin{verbatim}
+\newcommand\section{\@startsection
+ {section}{1}{0pt}{-3.5ex plus-1ex minus-.2ex}%
+ {2.3ex plus.2ex}{\normalfont\Large\bfseries}}
+\end{verbatim}
+\end{small}
+The last argument specifies the style in which the section heading is
+to be typeset.
+
+The new feature added at this release is that at the \emph{end} of
+this argument you may specify a command that \emph{takes an argument}.
+This command will be applied to the section number and heading.
+For example, one could use the \verb|\MakeUppercase| command to
+produce uppercase headings. A package or class file could contain:
+\begin{small}
+\begin{verbatim}
+\renewcommand\section{\@startsection
+ {section}{1}{0pt}{-3.5ex plus-1ex minus-.2ex}%
+ {2.3ex plus.2ex}{\normalfont\Large\MakeUppercase}}
+\end{verbatim}
+\end{small}
+to produce section headings using uppercase medium weight text, rather
+than the bold text used by \textsf{article}. Note that, like the font
+choice, the uppercasing applies only to the actual heading (including
+any automatically generated section number), not to the text as it may
+appear in the running head or table of contents.
+
+\section{The `openany' option in the `book' class}
+The \textsf{openany} option allows chapter and similar openings to
+occur on left hand pages. Previously this option only affected
+\verb|\chapter| and \verb|\backmatter|. It now also affects
+\verb|\part|, \verb|\frontmatter| and \verb|\mainmatter|.
+
+\section{More font (output) encodings}
+The font encoding name \texttt{T3} has been allocated to the encoding
+used in the new 256-character \textsc{IPA} fonts (for the phonetic
+alphabet) produced by Rei Fukui. His package, \textsf{tipa},
+gives access to these fonts and should soon be available. (The
+encoding named \texttt{OT3} is the 128-character encoding used in the
+\textsc{IPA} fonts produced by Washington State University.)
+
+
+
+\section{More input encodings supported}
+The \textsf{inputenc} package now supports the IBM codepage~852 used
+in Eastern Europe, with the option~\texttt{[cp852]} contributed by
+Petr~Sojka.
+
+Also, the \textsf{inputenc} package now activates most `control codes'
+with \textsc{ascii} values below 32.
+Currently none of the encodings in the standard distribution makes use
+of these positions.
+
+\section{Fixes and improvements}
+The \LaTeX\ kernel has only had minor changes, apart from
+\verb|\@startsection| mentioned above.
+However, some small fixes have been incorporated removing the
+following problems:
+
+\begin{itemize}
+\item
+ In tabular and array, previous versions of \LaTeX\ `lost' the
+ inter-column space from an `\texttt{l}'-column, when that column
+ was completely empty.
+
+\item
+ Previously, the use of the \verb|\nofiles| command could change
+ the \emph{vertical spacing} in a document.\\ A side effect of fixing
+ this is that when \verb|\nofiles| is used, \verb|\label| puts a
+ blank line in the log file.
+
+\item
+ \LaTeX~often loads fonts `on demand'. Previously, this could
+ happen inside the argument of an accent command and this would
+ cause the accent to appear in the wrong place.
+
+\end{itemize}
+
+\section{Changes to the `tools' packages}
+
+\begin{itemize}
+\item
+ The \textsf{longtable} package now uses a modified algorithm,
+ contributed by David Kastrup, to align the `chunks' of a table.
+ It is now unnecessary to edit the document to add
+ \verb|\setlongtables| before the final run of \LaTeX.
+ In certain cases of overlapping \verb|\multicolumn| entries, the new
+ algorithm will produce better column widths than the old (at the
+ price of extra passes through \LaTeX).
+
+\item
+ The \textsf{dcolumn} package now has the extra possibility of
+ specifying the number of digits both \emph{before} and after the
+ `decimal point'. This makes it easy to centre the column of numbers
+ under a wide heading.
+\end{itemize}
+
+\section{New copy of the \LaTeX\ bug database}
+\verb|http://www.tex.ac.uk/ctan/latex/bugs.html| will soon have links
+to a copy of the searchable \LaTeX\ bugs database at Mainz (Germany)
+as well as the original copy at Sussex (England).
+
+\end{document}
diff --git a/macros/latex/base/ltnews06.pdf b/macros/latex/base/ltnews06.pdf
new file mode 100644
index 0000000000..e23852f3a3
--- /dev/null
+++ b/macros/latex/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews06.tex b/macros/latex/base/ltnews06.tex
new file mode 100644
index 0000000000..250675ea2e
--- /dev/null
+++ b/macros/latex/base/ltnews06.tex
@@ -0,0 +1,149 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews06.tex
+
+% This is issue 6 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{1996}
+\publicationissue{6}
+
+\begin{document}
+
+\maketitle
+
+\section{Welcome to \LaTeXNews~6}
+This issue of \emph{\LaTeXNews} accompanies the sixth release of the
+new standard \LaTeX{}, \LaTeXe.
+
+\section{Mono-case file names}
+Previously \LaTeX\ has used some files with `mixed-case' file names
+such as \texttt{T1cmr.fd} and \texttt{T1enc.def}.
+
+These file names cause problems on some systems (in particular they
+are illegal on the ISO 9660 CDROM format) and so in this release
+all file names have been made lowercase (for example
+\texttt{t1cmr.fd} and \texttt{t1enc.def}).
+
+This change should \emph{not} affect any document. Within \LaTeX,
+encodings still have the usual uppercase names in uses such as
+\verb|\usepackage[T1]{fontenc}| and \verb|\fontencoding{T1}|.
+\LaTeX\ will automatically convert to the lowercase form while
+constructing the file name.
+\LaTeX\ will input the `fd' file under the old name if it fails to
+find the file with the new name, so existing collections of fd files
+should still work with this new release.
+
+The change \emph{does} affect the configuration files that may be used
+to make the \LaTeX\ format with initex. For example, the file
+\texttt{fonttext.ltx} previously specified \verb|\input{T1cmr.fd}|.
+It now has \verb|\input{t1cmr.fd}|.
+If you use a local file \texttt{fonttext.cfg}
+you will need to make similar changes, as \verb|\input{T1cmr.fd}|
+will not work as \texttt{T1cmr.fd} is no longer in the distribution.
+
+The files affected by this change all have names of the form
+\verb|*.fd| or \verb|*enc.def|.
+
+\section{Another input encoding}
+Thanks to work by S\o ren Sandmann, the \textsf{inputenc} package now
+supports the IBM codepage~865 used in Scandinavia.
+
+\section{Better user-defined math display environments}
+Suppose that you want to define an environment for displaying text
+that is numbered as an equation. A straightforward way to do this is
+as follows:
+\begin{verbatim}
+ \newenvironment{texteqn}
+ {\begin{equation}
+ \begin{minipage}{0.9\linewidth}}
+ {\end{minipage}
+ \end{equation}}
+\end{verbatim}
+However, if you have tried this then you will probably have noticed
+that it does not work perfectly when used in the middle of a paragraph
+because an inter-word space appears at the beginning of the first
+line after the environment.
+
+There is now an extra command (with a very long name) available that
+you can use to avoid this problem; it should be inserted as shown here:
+\begin{verbatim}
+ \newenvironment{texteqn}
+ {\begin{equation}
+ \begin{minipage}{0.9\linewidth}}
+ {\end{minipage}
+ \end{equation}
+ \ignorespacesafterend}
+\end{verbatim}
+
+\section{Docstrip improvements}
+The \textsf{docstrip} program that is used to unpack the \LaTeX\
+sources has undergone further development. The new version should be
+able to process all old `batchfiles' but it allows a simpler syntax in
+new `batchfiles' (no need to define \verb|\def\batchfile{|\ldots).
+
+It also allows `target' directories to be specified when writing
+files. This directory support is disabled by default unless activated
+in a local \texttt{docstrip.cfg} configuration file.
+See \texttt{docstrip.dtx} for details.
+
+\section{AMS \LaTeX\ update}
+Since the last \LaTeX\ release in June, the American Mathematical
+Society have re-issued the `AMS\LaTeX' classes and packages, fixing
+several reported problems.
+
+\section{Graphics package update}
+The \LaTeX\ color and graphics packages have been updated slightly,
+principally to support more dvi drivers, see the readme file in the
+\textsf{graphics} distribution.
+
+\section{EC Fonts released}
+The first release of the Extended Computer Modern fonts has just been
+made. (In January 1997.)
+
+This release of \LaTeX\ does \emph{not} default to these `ec' fonts
+as its T1 encoded fonts. By default it will
+use the `dc' fonts if the T1 encoding is requested.
+
+As noted in \texttt{install.txt} you may run \TeX\ on the install file
+\texttt{ec.ins} \emph{after} unpacking the base distribution but
+\emph{before} making the \LaTeX\ format. This will produce
+suitable `fd' files making \LaTeX\ (including, for the first time, the
+\textsf{slides} class) use the `ec' fonts as the default T1 encoded
+font set.
+
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews07.pdf b/macros/latex/base/ltnews07.pdf
new file mode 100644
index 0000000000..b07f0a5013
--- /dev/null
+++ b/macros/latex/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews07.tex b/macros/latex/base/ltnews07.tex
new file mode 100644
index 0000000000..6c08629d67
--- /dev/null
+++ b/macros/latex/base/ltnews07.tex
@@ -0,0 +1,146 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews07.tex
+
+% This is issue 7 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{1997}
+\publicationissue{7}
+
+\begin{document}
+
+\maketitle
+
+\section{T1 encoded Computer Modern fonts}
+As in the last release the base \LaTeX\ distribution contains
+three different sets of `fd' files for T1 encoded fonts.
+
+In this release the default installation uses \texttt{ec.ins}
+and so installs files suitable for the current `EC fonts'
+distribution. If you have still not updated to the EC fonts and
+are using the earlier test versions, known as DC then you should
+unpack \texttt{newdc.ins} (for DC release 1.2 or later) or
+\texttt{olddc.ins} (for the original releases of the DC fonts).
+This should be done after unpacking \texttt{unpack.ins} but
+before making the format by running ini\TeX{} on \texttt{latex.ltx}.
+There are further details in \texttt{install.txt}.
+
+
+\section{T1 encoded Concrete fonts}
+The Metafont sources for T1 encoded `Concrete' fonts have been
+removed from the \textsf{mfnss} distribution as they were based
+on the now obsolete DC fonts release 1.1. Similarly the
+\textsf{cmextra.ins} install file in the \textsf{base} distribution no
+longer generates fd files for the `Concrete' fonts.
+To use these fonts in either T1 or OT1 encoding it is
+recommended that you obtain Walter Schmidt's \textsf{ccfonts} package
+and fonts from CTAN \texttt{macros/latex/contrib/supported/ccfonts}.
+
+
+\section{Further input encodings}
+Two more \textsf{inputenc} packages have been added: for latin5,
+thanks to H. Turgut Uyar; and for latin3, thanks to J\"org Knappen.
+
+
+\section{Normalising spacing after punctuation}
+The command \verb|\normalsfcodes| was introduced at the last patch
+release. This is normally given the correct definition automatically
+and so need not be explicitly set. It is used to correct a problem,
+reported by Donald Arseneau, that punctuation in page headers has
+always (in all known \TeX\ formats) been potentially incorrect if the
+page break happens while a local setting of the space codes (for
+instance by the command \verb|\frenchspacing|) is in effect. A common
+example of this happening in \LaTeX\ is in the \textsf{verbatim}
+environment.
+
+
+\section{Accessing Bold Math Symbols}
+The \textsf{tools} distribution contains a new package, \textsf{bm},
+which defines a command \verb|\bm| that allows individual bold symbols
+to be accessed within a math expression (in contrast to
+\verb|\boldmath| which makes whole math expressions default to bold
+fonts). It is more general than the existing \textsf{amsbsy} package;
+however, to ease the translation of documents between these two
+packages, \textsf{bm} makes \verb|\boldsymbol| an alias for
+\verb|\bm|.
+
+This package was previously made available from the `contrib' area of
+the CTAN archives, and as part of Y\&Y's \LaTeX\ support for the
+MathTime fonts.
+
+
+\section{Policy on standard classes}
+
+Many of the problem reports we receive concerning the standard classes
+are not concerned with bugs but are suggesting, more or less politely,
+that the design decisions embodied in them are `not optimal' and
+asking us to modify them.
+
+There are several reasons why we have decided not to make such changes
+to these files.
+\begin{itemize}
+\item
+ However misguided, the current behaviour is clearly what was
+ intended when these classes were designed.
+\item
+ It is not good practice to change such aspects of `standard classes'
+ because many people will be relying on them.
+\end{itemize}
+
+We have therefore decided not to even consider making such
+modifications, nor to spend time justifying that decision. This does
+not mean that we do not agree that there are many deficiencies in the
+design of these classes, but we have many tasks with higher priority
+than continually explaining why the standard classes for \LaTeX{}
+cannot be changed.
+
+We would, of course, welcome the production of better classes, or of
+packages that can be used to enhance these classes.
+
+
+\section{New addresses for TUG}
+For information about joining the \TeX{} Users Group, and about lots
+of other \LaTeX-related matters, please contact
+them at their new address:
+\begin{quote}\small
+ \TeX{} Users Group, P.O. Box 1239,\\
+ Three Rivers, CA~93271-1239, USA\\
+ Fax:~+1~209~561~4584\\
+ E-mail: \texttt{tug@mail.tug.org}\\
+ URL: \texttt{http://www.tug.org/}
+\end{quote}
+
+\end{document}
diff --git a/macros/latex/base/ltnews08.pdf b/macros/latex/base/ltnews08.pdf
new file mode 100644
index 0000000000..523f945587
--- /dev/null
+++ b/macros/latex/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews08.tex b/macros/latex/base/ltnews08.tex
new file mode 100644
index 0000000000..891d13b302
--- /dev/null
+++ b/macros/latex/base/ltnews08.tex
@@ -0,0 +1,154 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews08.tex
+
+% This is issue 8 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{1997}
+\publicationissue{8}
+
+\begin{document}
+
+\maketitle
+
+\section{New supported font encodings}
+
+Two new font encodings are supported as options to the \textsf{fontenc}
+package:
+\begin{description}
+\item [OT4]
+This is a seven-bit encoding designed for Polish. The \LaTeX\ support
+was developed by Mariusz Olko.
+\item [TS1] This is the `Text Companion Encoding'; it contains symbols
+designed to be used in text, as opposed to mathematical formulas, and
+some accents designed for uppercase letters. It is currently
+supported by the `tc' fonts, which match the T1 encoded `ec' text
+fonts. A subset of the glyphs in this encoding is supported by
+virtual fonts distributed with the PostScript font metrics on the
+\textsc{ctan} archives. (This is the `8c' encoding in Karl Berry's
+fontname scheme.) The \textsf{textcomp} package provides access to
+this encoding but here is a warning to current users of that package:
+some of the internal names for the characters have changed.
+\end{description}
+
+
+\section{New input encodings}
+
+These additions to the \textsf{inputenc} package are
+\texttt{decmulti} (the DEC Multinational
+Character Set, contributed by M.~Y.~Chartoire)
+and \texttt{cp1250} (an MS-Windows encoding for Central and Eastern
+Europe, contributed by Marcin Woli\'nski). There is also a
+\texttt{cp1252} encoding that is identical to \texttt{ansinew}.
+
+
+\section{Tools}
+
+The \textsf{calc} package (used in many examples in \emph{The \LaTeX\
+Companion}) has been contributed to this distribution by Kresten Krab
+Thorup and Frank Jensen. This is essentially the same as the version
+that has been available from the \textsc{ctan} archives for some time,
+with one minor change: to use \LaTeX-style error messages. It enables
+the use of arithmetic expressions within arguments to standard
+\LaTeX{} commands where a length or a counter value is required. For
+example:
+\begin{verbatim}
+ \setcounter {page} { \value{page} * 2 + 1 }
+ \parbox { 3in - ( 2mm + \textwidth / 9 ) }
+\end{verbatim}
+
+There have also been some improvements to several other packages in
+this collection. In particular, \textsf{bm} now works correctly with
+constructions such as \verb|\bm{f'}| involving \texttt{'} or other
+characters which use \TeX's special ``\verb|\mathcode"8000|''
+feature. Also, \textsf{multicol} sets the length \verb|\columnwidth|
+to an appropriate value; this enables it to work with classes that
+support two-column setting, e.g.,~the AMS classes.
+
+
+\section{Graphics}
+
+The special \verb|oztex.def| driver file has been removed, and Oz\TeX\
+support has been merged with dvips, following advice from
+Andrew Trevorrow about Oz\TeX~3.x.
+
+The \textsf{keyval} package has had some internal improvements: to
+use \LaTeX\ format error messages; and to avoid `\verb|#| doubling'.
+This latter change means that the \verb|command| key for the
+\textsf{graphicx} version of \verb|\includegraphics| should now be used
+with one \verb|#| rather than two. For example, \verb|command = `gunzip #1|.
+Fortunately this key is almost never used in practice, so few if any
+documents should be affected by this change.
+
+
+\section{\LaTeX3 experimental programming conventions}
+
+As announced at the \TeX\ Users Group meeting (Summer 1997), a group of
+highly experimental packages will soon be released to allow experienced\\
+\TeX\ programmers to experiment with, and comment on, a proposed set
+of syntax conventions and basic data-types that might form
+the basis for programming large scale projects in \TeX.
+They will be located in\\
+this CTAN directory:
+\begin{verbatim}
+ CTAN:macros/latex/packages/expl3
+\end{verbatim}
+The documentation of this material is as follows: individual package
+files provide outline, draft documentation; there is an article that
+gives an overview of the syntax and related concepts; there is a
+\texttt{readme.txt} file containing a brief description of the
+collection.
+
+All aspects of these packages are liable, indeed likely, to change.
+They should not be used at this stage for anything
+that requires a stable system. However, we do encourage people to
+experiment with these packages, and to send comments on them to the
+\texttt{LaTeX-L} mailing list.
+To subscribe to this list, mail to:
+\begin{verbatim}
+ listserv@urz.uni-heidelberg.de
+\end{verbatim}
+the following one line message:
+\begin{verbatim}
+ subscribe LATEX-L <<first-name>> <<second-name>>
+\end{verbatim}
+
+% Revert to this if gets too full.
+% See \texttt{modguide.tex} for
+% information on how to subscribe to \texttt{LaTeX-L}.
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews09.pdf b/macros/latex/base/ltnews09.pdf
new file mode 100644
index 0000000000..4057549d5a
--- /dev/null
+++ b/macros/latex/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews09.tex b/macros/latex/base/ltnews09.tex
new file mode 100644
index 0000000000..61cb8ced9c
--- /dev/null
+++ b/macros/latex/base/ltnews09.tex
@@ -0,0 +1,142 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews09.tex
+
+% This is issue 9 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}[1999/02/23]
+
+%\usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{1998}
+\publicationissue{9}
+
+\begin{document}
+
+\maketitle
+
+
+\section{New math font encodings}
+
+A joint working group of the \TeX{} Users Group and the \LaTeX3
+Project is developing a new 8-bit math font encoding for \TeX{}.
+It is designed to overcome several limitations and implementation
+problems of the old math font encodings and to simplify switching
+between different sets of math fonts, much as the \LaTeX{} font
+selection interface has simplified switching between text fonts.
+
+Since the work on this project relies entirely on volunteer work, we
+cannot give a specific release date yet. However, a prototype
+implementation already exists. This contains several sets of virtual
+fonts, some \LaTeX{} packages and a kernel module; we hope to
+integrate it into the main \LaTeX{} distribution for the next
+release.
+
+Documents using only standard \LaTeX{} commands for math symbols
+should not be affected by switching to the new math font encodings
+However, documents, classes or packages making specific assumptions
+about the encoding of math symbol fonts are likely to break.
+
+Further information about the Math Font Group may be found on
+the World Wide Web at \texttt{http://www.tug.org/twg/mfg/}.
+
+
+\section{A new math accent}
+
+A new math accent, \verb|\mathring|, has been added. This is a math mode
+version of the ring accent (\r{}) which is available in text
+mode with the command \verb|\r|.
+
+\section{Extended \cs{DeclareMathDelimiter}}
+
+The command \verb|\DeclareMathDelimiter| has been extended.
+Normally this command takes six arguments. Previously, when being used
+to declare a character (such as \texttt{[}) as a delimiter, a variant
+form was used with only five arguments. The argument specifying the
+default `math class' was omitted. Now the full six-argument form may be
+used in this case. The extra information is used to implicitly declare
+the character via \verb|\DeclareMathSymbol| for use when the symbol is
+not used with \verb|\left| or \verb|\right|.
+
+The old five-argument form is detected and will work as before.
+
+\newpage
+
+\section{Tools distribution}
+
+The \texttt{multicol} package now supports the production of multiple
+columns without balancing the last page. To get this effect use the
+\texttt{multicols*} environment.
+
+The \texttt{layout} package was partly recoded by Hideo Umeki to
+display page layout effects in a better way.
+
+As suggested by Donald Arseneau, the \texttt{calc} package was extended
+to support the new commands \verb|\widthof{<text>}|,
+\verb|\heightof{<text>}|, and \verb|\depthof{<text>}| within a
+\texttt{calc}-expression. At the same time we modified a few kernel
+commands so that \texttt{calc}-expressions can now be used in various
+useful places such as the dimension arguments to the \texttt{tabular}
+environment and the \verb|\rule| command. For many other standard
+\LaTeX{} commands this was already possible.
+
+
+\section{Support for Cyrillic encodings}
+
+We are very pleased that, after a lengthy period of development, a set
+of fonts, encodings and support files for using \LaTeX\ with Cyrillic
+characters will soon be available.
+
+Test versions of the `LH' fonts for these Cyrillic encodings, based on
+the Computer Modern design, are available from CTAN archives in the
+directory \texttt{fonts/cyrillic/lh-test}. The \LaTeX\ support files
+(by Werner Lemberg and Vladimir Volovich) are also available from CTAN
+archives in\\
+ \texttt{macros/latex/contrib/supported/t2}
+
+
+\section{Default docstrip header}
+
+Many \LaTeX\ users now distribute packages in documented source form
+using the \textsf{docstrip} system. Docstrip allows a header to be
+placed on generated package files, suitable for giving copyright
+information, or distribution conditions.
+
+We have changed the default version of this header so that it allows
+stripped files to be distributed in ready-to-run installations such as
+the \TeX{}Live CD\@. If you use the default header for distributing
+your files you should check that the new copyright text is acceptable
+to you. The file \texttt{docstrip.dtx} explains how to produce your own
+header if you wish to do so.
+
+
+\end{document}
diff --git a/macros/latex/base/ltnews10.pdf b/macros/latex/base/ltnews10.pdf
new file mode 100644
index 0000000000..564fff2ba8
--- /dev/null
+++ b/macros/latex/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews10.tex b/macros/latex/base/ltnews10.tex
new file mode 100644
index 0000000000..3214260a6a
--- /dev/null
+++ b/macros/latex/base/ltnews10.tex
@@ -0,0 +1,153 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews10.tex 12/01/1998
+
+% This is issue 10 of LaTeX News.
+
+\documentclass
+% [lw35fonts]
+ {ltnews}[1999/02/23]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{1998}
+\publicationissue{10}
+
+\begin{document}
+
+\maketitle
+
+
+\section{Five years of \LaTeXe}
+
+Since this is the 10th edition of \LaTeX{} News, the (no longer) New
+Standard \LaTeX{} must have hit the streets almost this long ago. In
+fact it was only the beta-version that some people got just in time for
+Christmas~1993, and since then there has been a lot of tidying-up and
+smoothing of rough edges (not to mention a few bug fixes!).
+
+Maybe it is time for something more radically different to emerge and
+be hungrily adopted by the world; but don't panic, we shall be
+maintaining what you have now for a long time yet. Amongst the more
+polite things that have been written about our efforts, we found that this
+quote (somewhat censored to protect the guilty) well reflects some of
+our feelings about working on \LaTeX{} over the years: \textit{the mere
+existence of \LaTeXe{} is a great miracle}.
+
+
+ \section{Restructuring the \LaTeX{} distribution}
+
+ Since the (once) `new' standard \LaTeX{} has reached such a venerable
+ age, we are reviewing the way in which the system is presented to the
+ world.
+
+ An early intention is to define, given the wide variety of good
+ packages now available, what now constitutes a useful installation of
+ \LaTeX{}. We also hope that such a definition will help document
+ portability if it leads to a future in which a \LaTeX{} class
+ designer can reasonably assume that a known list of
+ facilities will be there for all users (so that each class
+ need not supply them).
+
+ As a first small step towards this definition, we shall replace the
+ \texttt{latex/packages} subdirectory on \ctan{}.
+ This directory was a curious mixture of the important, such as the
+ \LaTeX{} \texttt{tools}, that any self-respecting \LaTeX{}
+ installation ought to have, and the esoteric or experimental.
+
+ The esoterica from \texttt{packages} will be moved to
+ new locations, as follows:
+ \begin{quote}
+ \texttt{expl3} to \texttt{latex/exptl/project}\\
+ \texttt{mfnfss} to \texttt{latex/contrib/supported/mfnfss}
+ \end{quote}
+
+ The subdirectory that replaces \texttt{packages} will be called
+ \texttt{latex/required}; all the other sub-directories of
+ \texttt{packages} will be moved there.
+
+\vspace{17pt}
+\pagebreak
+
+ \section{\LaTeX\ Project on the Internet}
+A new \texttt{latex-project.org} domain has been registered.
+The web site is not yet fully functional but the old \LaTeX\ pages from
+\ctan\ are available at \texttt{http://www.latex-project.org/} and the
+\LaTeX\ bug reporting address has been changed to
+\texttt{latex-bugs@latex-project.org}.
+
+ \section{Restructuring the \LaTeX{} package licenses}
+
+Several people have requested an easy mechanism for the distribution
+of \LaTeX\ packages and other software ``under the same conditions as
+\LaTeX''. The old \texttt{legal.txt} file was unsuitable as a general
+licence as it referred to specific \LaTeX\ authors, and to specific
+files.
+
+Therefore, in this release \texttt{legal.txt} contains just the
+copyright notice and a reference to the new \emph{\LaTeX\ Project
+Public License} (LPPL) for the distribution and modification
+conditions. The \texttt{tools}, \texttt{graphics}, and \texttt{mfnfss}
+packages also now refer to this license in their distribution notices.
+
+ \section{Support for Cyrillic encodings}
+
+Basic Cyrillic support, as announced in \LaTeX{} News~9, is now
+finally an official part of \LaTeX{}. It includes support for the
+following standard Cyrillic font encodings (this list may
+grow):~\mbox{\texttt{T2A T2B T2C X2}}.
+
+It also includes various Cyrillic input encodings (20~in total,
+including commonly used variants and Mongolian Cyrillic
+encodings). This provides platform independent and
+sophisticated basic support for high-quality typesetting in various
+Cyrillic-based languages.
+
+For further information see the file \texttt{cyrguide.tex}.
+
+\section{Tools distribution}
+
+The \texttt{varioref} package has been extended to support textual
+page references to a range of objects: e.g.,~if \texttt{eq-first}
+and \texttt{eq-last} are the label names for the first and last
+equation in a sequence, then you can now write
+\begin{verbatim}
+ see~\vrefrange{eq-first}{eq-last}
+\end{verbatim}
+This results in different text depending on whether both
+labels fall on the same page.
+
+Some additional user commands, as well as building-blocks for writing
+private extensions, are described in the accompanying documentation.
+
+
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews11.pdf b/macros/latex/base/ltnews11.pdf
new file mode 100644
index 0000000000..2815ae3bed
--- /dev/null
+++ b/macros/latex/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews11.tex b/macros/latex/base/ltnews11.tex
new file mode 100644
index 0000000000..e39ff4cc86
--- /dev/null
+++ b/macros/latex/base/ltnews11.tex
@@ -0,0 +1,141 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews11.tex 01/06/1999
+% This is issue 11 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Times
+ {ltnews}
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{1999}
+\publicationissue{11}
+
+\begin{document}
+
+\maketitle
+
+\section{Back in sync}
+
+The last release of \LaTeX{} was delayed even longer than you have
+come to expect. We hope that it proved worth waiting for. It
+required a major integration of the code from several people and,
+independently, the introduction of the LPPL (see \LaTeX{} News~10) plus
+several related changes to our internal systems. It therefore seemed
+sensible to wait until everything was complete rather than do things
+in too much hurry.
+
+This seem to have been a successful strategy as
+the recent patch release was related to an isolated change that was
+done many months previously. If this release does not appear a lot
+closer to its nominal date then \ldots~well, you will not be reading
+this sentence!
+
+\section{Yearly release cycles}
+
+With the year 2000 rapidly approaching, we intend to switch to a
+release frequency of just one per year (with patches if necessary) for
+the core of \LaTeXe{}. These days the system is sufficiently stable
+that the original update policy is costing everybody more time than is
+now warranted.
+
+\section{LPPL update}
+
+Thanks to extensive and valuable input from Matt Swift
+(\email{swift@alum.mit.edu}) we now have a clearer and more detailed
+form of the \LaTeX{} Project Public Licence. This release contains
+both the original version (in \file{lppl-1-0.txt}) and the updated
+version, LPPL~1.1.
+
+\section{The future of Sli\TeX{}}
+
+We still get a very small trickle of reports about this part of the
+system (if you are no longer able to recall \LaTeX~2.09 then you will
+know it as the \class{slides} class). We have not classified them (in
+our minds at least) as bugs since we have always known that there are
+many problems with this class. It is clear to us that the only
+sensible action would be to redesign the system completely; in
+particular, to remove much of its complexity whose purpose is to
+support 10-year-old overlay technology. However, this would take a
+lot too much time and would be completely out of proportion to its
+current usage.
+
+We are therefore planning to make the \class{slides} class
+unsupported in the sense that any problem related to the use of
+invisible fonts is considered to be a feature (The \LaTeXe{} manual by
+Leslie Lamport doesn't even describe this part of the class any more).
+Of course, if it still has its enthusiasts then we are happy to cede
+it to their loving care (somewhat like a preserved steam locomotive,
+in some parts of the world).
+
+\section{Fontenc package peculiarities}
+
+The \verb=\usepackage= interface normally ensures that a package is
+loaded only once. The \pkg{fontenc} package has become an
+exception to this rule: it can be loaded several times using different
+options, e.g., allowing the user to add a font encoding in the
+preamble. This comes at a price for package writers: the low-level
+commands (see \file{ltclass.dtx}) used to check if a package was
+loaded, and with which options, do not work for the \pkg{fontenc}
+package.
+
+\section{New math font encodings}
+
+As we announced in \LaTeX{} News~9, a joint working group of the
+\TeX{} Users Group and the \LaTeX3 Project has developed a new
+\mbox{8-bit} math font encoding for \TeX{}.
+The reason why this work is not yet released is because of other
+exciting developments in the world of math fonts and math characters.
+It is obviously wise to ensure that the encoding work is fully
+integrated with the available fonts.
+
+Those interested are reminded that further information about the Math
+Font Group may be found on the World Wide Web at:\\
+\url{http://www.tug.org/twg/mfg/}.
+
+\section{Tools distribution}
+
+The \pkg{multicol} package has now got a small but useful extension
+which allows you to force a column break where this is really
+necessary. This is done with the command \verb=\columnbreak=, which
+can be used like \verb=\pagebreak= (e.g.,~within paragraphs) except
+that it cannot have an optional argument and thus it always forces a
+new column.
+
+\section{Coming soon}
+
+Major work on a new class file structure to support flexible
+designs is well under way; some of this work will be presented at the
+TUG'99 conference in Vancouver, Canada. With a bit of luck much of
+this work could be ready for integration into the next release---so
+watch this space!
+
+\end{document}
diff --git a/macros/latex/base/ltnews12.pdf b/macros/latex/base/ltnews12.pdf
new file mode 100644
index 0000000000..08be9b4515
--- /dev/null
+++ b/macros/latex/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews12.tex b/macros/latex/base/ltnews12.tex
new file mode 100644
index 0000000000..ede8bb5362
--- /dev/null
+++ b/macros/latex/base/ltnews12.tex
@@ -0,0 +1,154 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews12.tex
+%
+% This is issue 12 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Times
+ {ltnews}[1999/12/01]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{1999}
+\publicationissue{12}
+
+% Should go to .cls:
+\newcommand{\acro}[1]{\textsc{\MakeLowercase{#1}}}
+
+\begin{document}
+
+\maketitle
+
+\section{LPPL update}
+
+Since the release of the \LaTeX{} Project Public Licence version~1.1,
+we have received a small number of queries which resulted in some
+minor changes to improve the wording or explain the intentions better.
+As a consequence this release now contains LPPL~1.2 in the file
+\file{lppl.txt} and the previous versions as \file{lppl-1-0.txt} and
+\file{lppl-1-1.txt}.
+
+\section{fixltx2e package}
+
+ This package provides fixes to \LaTeXe{} which are desirable but
+ cannot be integrated into the \LaTeXe{} kernel directly as they
+ would produce a version incompatible to earlier releases (either
+ in formatting or functionality).
+
+ By having these fixes in the form of a package, users can benefit
+ from them without the danger that their documents will fail, or
+ produce unexpected results, at other sites; this works because a
+ document will contain a clear indication (the \verb=\usepackage=
+ line, preferably with a required date) that at least some of these
+ fixes are required to format it.
+
+\section{Outcome of TUG '99 (Vancouver)}
+
+The slides from the \acro{TUG}'99 presentation we gave on \emph{a
+new interface for \LaTeX\ class designers} are available from the
+\LaTeX\ Project website; look for the file \verb|tug99.pdf| at:
+\begin{quote}
+ \url{http://www.latex-project.org/talks/}
+\end{quote}
+
+Please note that this document was intended only to be informal
+``speaker's notes'' for our own use. We decided to make them available (the
+speaker's notes as well as the slides that were presented) because several
+people requested copies after the talk. However, they are \emph{not} in
+a polished copy-edited form and are not intended for publication.
+
+Prototype implementations of parts of this interface are now available from:
+\begin{quote}
+ \url{http://www.latex-project.org/code/experimental/}
+\end{quote}
+
+We are continuing to add new material at this location so as to
+stimulate further discussion of the underlying concepts. As of
+December 1, 1999
+the following parts can be downloaded.
+\begin{description}
+
+ \item[xparse] Prototype implementation of the interface for declaring
+ document command syntax. See the \texttt{.dtx} files for
+ documentation.
+
+ \item[template] Prototype implementation of the template interface
+ (needs parts of \texttt{xparse}).
+
+ The file \texttt{template.dtx} in that directory has a large section
+ of documentation at the front describing the commands in the
+ interface and giving a `worked example' building up some templates
+ for caption formatting.
+
+ \item[xcontents] Interface description for table of contents data (no
+ code yet). Coding examples have been thoroughly discussed on the
+ \texttt{latex-l} list.
+
+ \item[xfootnote] Working examples for generating footnotes,
+ etc. Needs \texttt{xparse} and \texttt{template}.
+
+ \end{description}
+All examples are organised in subdirectories and additionally
+ available as \texttt{gzip} \texttt{tar} files.
+
+ Please remember
+that this material is intended only for experimentation and comments;
+thus any aspect of it, e.g., the user interface or the functionality,
+may change and, in fact, is very likely to change.
+For this reason it is explicitly forbidden to place this material on
+\acro{CD-ROM} distributions or public servers.
+
+These concepts, as well as their implementation, are under discussion
+on the list \texttt{LATEX-L}. You can join this list, which is
+intended solely for discussing ideas and concepts for future versions
+of \LaTeX, by sending mail to
+%\begin{quote}
+ \email{listserv@URZ.UNI-HEIDELBERG.DE}
+%\end{quote}
+containing the line
+ \begin{quote}
+ \texttt{SUBSCRIBE LATEX-L} \textit{Your Name}
+ \end{quote}
+
+This list is archived and, after subscription, you can retrieve older
+posts to it by sending mail to the above address, containing a command
+such as:
+\begin{quote}
+\texttt{GET LATEX-L LOGyymm}
+\end{quote}
+where \texttt{yy}=Year and \texttt{mm}=Month, e.g.
+\begin{quote}
+\texttt{GET LATEX-L LOG9910}
+\end{quote}
+for all messages sent in October 1999.
+
+
+\end{document}
diff --git a/macros/latex/base/ltnews13.pdf b/macros/latex/base/ltnews13.pdf
new file mode 100644
index 0000000000..057b9fc997
--- /dev/null
+++ b/macros/latex/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews13.tex b/macros/latex/base/ltnews13.tex
new file mode 100644
index 0000000000..65e09b9871
--- /dev/null
+++ b/macros/latex/base/ltnews13.tex
@@ -0,0 +1,201 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews13.tex
+%
+% This is issue 13 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2000/07/21]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{2000}
+\publicationissue{13}
+
+
+\begin{document}
+
+\maketitle
+
+\raisefirstsection
+\section{Yearly release cycle}
+
+We announced in \textit{\LaTeX{} News~11} that we intended to switch
+to a 12-monthly release schedule. With the present (June~2000)
+release, this switch is being made: thus the next release of \LaTeX{}
+will be dated June~2001. We shall of course continue, as in the past,
+to release patches as needed to fix significant bugs.
+
+
+\section{PSNFSS: \small Quote of the Month}
+
+\begin{quote}
+ You should say in the \LaTeX{} News that Walter Schmidt has taken over
+ \PSNFSS{} from me. It gives me a certain pleasure to be able to draw a
+ line under that part of my life\ldots
+
+ \begin{latexonly}
+ \vspace{-\baselineskip}
+ \end{latexonly}
+
+ \begin{flushright}
+ Sebastian Rahtz
+ \end{flushright}
+\end{quote}
+
+\begin{latexonly}
+ \vspace{-\baselineskip}
+\end{latexonly}
+
+\noindent
+The \PSNFSS{} material, which supports the use\latex{\\}
+of common PostScript fonts with \LaTeX{}, has been thoroughly updated.
+Most noticeably, the \package{mathpple} package, which used to be
+distributed separately, is now part of the basic \PSNFSS{} bundle;
+this package provides mathematical typesetting with the Palatino
+typeface family. In addition, numerous bugs and flaws have been fixed
+and the distribution has been `cleaned up'. The file
+\file{changes.txt} contains a detailed list of these changes.
+\latex{\looseness=-1} %%!!!!! It worked!
+
+The documentation (in \file{psnfss2e.pdf}) has been completely
+rewritten to provide a comprehensive introduction to the use
+of PostScript fonts.
+
+Notice that the new \PSNFSS{} needs updated files for font metrics,
+virtual fonts and font definitions. If you received the new
+version~(8.1) as part of a complete \TeX{} system then these new font
+files should also have been installed. However, if you intend to
+install or update \PSNFSS{} yourself, please read the instructions in
+the file \file{00readme.txt} of the new \PSNFSS{} distribution.
+
+Support for commercial PostScript fonts, such as
+Lucida~Bright, has been removed from the basic distribution;
+it is now available from \ctan{}:
+\begin{latexonly}
+ \file{\ctanhttp macros/latex/\\
+ contrib/supported/psnfssx}.
+\end{latexonly}
+\begin{htmlonly}
+ \url{http://www.tex.ac.uk/tex-archive/macros/latex/contrib/supported/psnfssx}.
+\end{htmlonly}
+
+\section{New AMS-\LaTeX{}}
+
+Version 2.0 of AMS-\LaTeX{} was released on December 1, 1999. It can
+be obtained via \url{ftp://ftp.ams.org/pub/tex/} or
+\url{http://www.ams.org/tex/amslatex.html}, as well from \ctan{}:
+\begin{latexonly}
+ \file{\ctanhttp macros/latex/\\
+ required/amslatex}.
+\end{latexonly}
+\begin{htmlonly}
+ \url{http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex}.
+\end{htmlonly}
+
+This release consists chiefly of bug fixes and consolidation of the
+existing features. The division of AMS-\LaTeX{} into two main parts
+(the math packages;\latex{\\}
+the AMS document classes) has been made more pronounced.
+The files \file{diffs-m.txt}, \file{diffs-c.txt},
+\file{amsmath.faq}, and \file{amsclass.faq} describe the\latex{\\}
+changes and address some common questions.
+
+The primary documentation files remain \file{amsldoc.tex}, for the
+\package{amsmath} package, and \file{instr-l.tex}, for the AMS
+document classes.\latex{\\}
+The documentation for the \package{amsthm} package,\latex{\\}
+however, has been moved from \file{amsldoc.tex}\latex{\\}
+to a separate document \file{amsthdoc.tex}.
+
+\begin{latexonly}
+ \vfill
+\end{latexonly}
+
+\section{New input encoding \package{latin4}}
+
+The package \package{inputenc} has, thanks to Hana Skoumalov\'a,
+been extended to cover the \package{latin4} input encoding; this
+covers Baltic and Scandinavian languages as well as Greenland
+Inuit and Lappish.
+
+\begin{latexonly}
+ \vfill
+\end{latexonly}
+
+\section{New experimental code}
+
+In \textit{\LaTeX{} News~12} we announced some ongoing work towards a
+`Designer Interface for \LaTeX' and we presented some early results
+thereof. Since then, at Gutenberg\,2000 in Toulouse and TUG\,2000 in
+Oxford, we described a new output routine and an improved method of
+handling vertical mode material between paragraphs. In combination
+these support higher quality \emph{automated}\footnote
+ {The stress here is on automated!}
+page-breaking and page make-up\latex{\\}
+for complex pages---the best yet achieved with \TeX{}!
+
+A paper describing the new output routine is
+\begin{latexonly}
+ at\\
+ \file{http://www.latex-project.org/papers/xo-pfloat.pdf%
+ \hspace*{-16pt}}\\
+\end{latexonly}
+\begin{htmlonly}
+ at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}.
+\end{htmlonly}
+All code examples and documentation are available
+\begin{latexonly}
+ at\\
+ \file{http://www.latex-project.org/code/experimental/%
+ \latex{\hspace*{-5pt}}}.\\[3pt]
+\end{latexonly}
+\begin{htmlonly}
+ at \url{http://www.latex-project.org/code/experimental/}.
+
+\end{htmlonly}
+This directory has been extended to contain
+\begin{description}
+ \item[galley] Prototype implementation of the interface\latex{\\}
+ for manipulating vertical material in galleys.
+ \item[xinitials] Prototype implementation of the interface\latex{\\}
+ for paragraph initials (needs the \texttt{galley} package.
+ \item[xtheorem] Contributed example using the \texttt{template}
+ package to provide a designer interface for theorem environments.
+ \item[xoutput] A prototype implementation of the new output routine
+ as described in the \texttt{xo-pfloat.pdf} paper. Expected
+ availability: at or shortly after\latex{\\}
+ the TUG\,2000 conference.
+\end{description}
+
+\end{document}
+
+
diff --git a/macros/latex/base/ltnews14.pdf b/macros/latex/base/ltnews14.pdf
new file mode 100644
index 0000000000..9242b2e92e
--- /dev/null
+++ b/macros/latex/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews14.tex b/macros/latex/base/ltnews14.tex
new file mode 100644
index 0000000000..0444d75689
--- /dev/null
+++ b/macros/latex/base/ltnews14.tex
@@ -0,0 +1,169 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews14.tex
+%
+% This is issue 14 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2001/07/12]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{June}
+\publicationyear{2001}
+\publicationissue{14}
+
+
+\begin{document}
+
+\maketitle
+
+\raisefirstsection
+\section{Future releases}
+
+We are currently exploring how to best support the very large
+community of individuals, organisations and enterprises that depend on
+the robustness and availability of the current standard \LaTeX{}
+distribution. The results of this may lead to some changes in the
+regular release schedule and the handling of bug reports during the
+next year.
+
+\section{New release of \textsf{Babel} (required)}
+
+Earlier this year a new release of \textsf{Babel} (3.7) became
+available. You can read about its new features in
+\begin{latexonly}
+ \file{http://www.ctan.org/tex-archive/macros/}\\
+ \hspace*{4em}\file{latex/required/babel/announce.txt}
+\end{latexonly}
+\begin{htmlonly}
+ \url{http://www.ctan.org/tex-archive/macros/latex/required/babel/announce.txt}
+\end{htmlonly}
+
+One of the bugs that got fixed in this release deals with how labels
+are handled by \LaTeX{}. Because this part of the kernel is modified
+by \textsf{babel}, the relevant changes need to be coordinated.
+Therefore to use \textsf{Babel} with this release of \LaTeX{} you will
+need to update your version of \textsf{babel} to at least 3.7.
+
+\section{New input encoding \package{latin9}}
+
+The package \package{inputenc} has, thanks to Karsten Tinnefeld, been
+extended to cover the \package{latin9} input encoding. The
+ISO-Latin~9 encoding is a useful modern replacement for ISO-Latin~1
+that contains a few characters needed for French and Finnish. Of wider
+interest, it also contains the euro currency sign; this could be the
+killer argument for many 8-bit texts to use Latin-9 in the future.
+
+According to a Linux manpage, ISO~Latin-9 supports Albanian, Basque,
+Breton, Catalan, Danish, Dutch, English, Estonian, Faroese, Finnish,
+French, Frisian, Galician, German, Greenlandic, Icelandic, Irish
+Gaelic, Italian, Latin, Luxembourgish, Norwegian, Portuguese,
+Rhaeto-Romanic, Scottish Gaelic, Spanish and Swedish.\\
+The characters added in \package{latin9} are (in \LaTeX{} notation):\\
+\begin{small}
+\verb| \texteuro \v S \v s \v Z \v z \OE \oe \" Y |
+\end{small}\\
+They displace the following characters from \package{latin1}:\\
+\begin{small}
+\verb| \textcurrency \textbrokenbar \"{} \'{} \c{} |\\
+\verb| \textonequarter \textonehalf \textthreequarters |
+\end{small}
+
+
+\section{New tools}
+
+The new package \package{trace} provides many commands to control
+\LaTeX{}'s tracing and debugging output, including the excellent new
+information available with \eTeX{} such as the extremely useful
+tracing of local assignments. You will find it in the tools
+distribution.
+
+It offers the command \verb|\traceon|, which is similar to
+\verb|\tracingall| but suppresses uninteresting stuff such as font
+loading by NFSS (which can go on for pages if you are unlucky). It
+also offers \verb|\traceoff| to \ldots\ guess what! Full details are
+in the documented source file, \file{trace.dtx}.
+
+In the base \package{ifthen} package we have added
+the uppercase synonyms \verb|\NOT| \verb|\AND| and \verb|\OR|.
+
+\section{New experimental code}
+
+In \textit{\LaTeX{} News~12} we announced some ongoing work towards a
+`Designer Interface for \LaTeX' and we presented some early results
+thereof. Since then, at Gutenberg\,2000 in Toulouse and TUG\,2000 in
+Oxford, we described a new output routine and an improved method of
+handling vertical mode material between paragraphs. In combination
+these support higher quality \emph{automated}\footnote
+ {The stress here is on automated!}
+page-breaking and page make-up\latex{\\}
+for complex pages---the best yet achieved with \TeX{}!
+
+More recently we have added material to handle the complex front
+matter requirements of journal articles; this was presented at
+Gutenberg\,2001 in Metz.
+
+A paper describing the new output routine is
+\begin{latexonly}
+ at\\
+\begin{small}
+ \file{http://www.latex-project.org/papers/xo-pfloat.pdf}\\
+\end{small}
+\end{latexonly}
+\begin{htmlonly}
+ at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}.
+\end{htmlonly}
+All code examples and documentation are available
+\begin{latexonly}
+ at\\
+\begin{small}
+ \file{http://www.latex-project.org/code/experimental}
+\end{small}
+\end{latexonly}
+\begin{htmlonly}
+ at \url{http://www.latex-project.org/code/experimental/}.
+\end{htmlonly}
+
+This directory has been extended to contain the following.
+\begin{description}
+ \item[galley] Prototype implementation of the interface\latex{\\}
+ for manipulating vertical material in galleys.
+ \item[xinitials] Prototype implementation of the interface\latex{\\}
+ for paragraph initials (needs the \texttt{galley} package).
+ \item[xtheorem] Contributed example using the \texttt{template}
+ package to provide a designer interface for theorem environments.
+ \item[xor] A prototype implementation of the new output routine
+ as described in the \texttt{xo-pfloat.pdf} paper.
+ \item[xfrontm] A prototype version of
+ the new font matter interface.
+\end{description}
+
+\end{document}
diff --git a/macros/latex/base/ltnews15.pdf b/macros/latex/base/ltnews15.pdf
new file mode 100644
index 0000000000..55161365cd
--- /dev/null
+++ b/macros/latex/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews15.tex b/macros/latex/base/ltnews15.tex
new file mode 100644
index 0000000000..9c2d393c6b
--- /dev/null
+++ b/macros/latex/base/ltnews15.tex
@@ -0,0 +1,169 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews15.tex
+%
+% This is issue 15 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2004/02/28]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{2003}
+\publicationissue{15}
+
+\begin{document}
+
+\maketitle
+
+%\raisefirstsection
+
+\section{Anniversary release}
+
+Yes, it's now 10~years since the first release in this series and, for
+Knuthists, this release also contains \textit{Issue 16}\,!
+
+Meanwhile this \textit{Issue~15} describes the major new features in
+the current release whilst \textit{Issue~16} looks\newline
+a little way into the future of \LaTeX{}.
+
+
+\section{LPPL -- new version}
+
+Most importantly, there is now a new version, 1.3, of the \LaTeX{}
+Project Public Licence. Many of you will\newline
+be thrilled to know that, following the exchange of over 1600 e-mail
+messages dissecting various aspects of its philosophy such as `how
+many angels can appear in the name of a file before it becomes
+non-free', this version\newline
+is now officially a DFSG (Debian Free Software Guidelines) approved license.
+The discussions start at
+\url{http://lists.debian.org/debian-legal/2002/debian-legal-200207/threads.html}
+with high traffic throughout August to October~2002 and further
+heated discussions starting in April~2003 and concluding
+around June at
+\url{http://lists.debian.org/debian-legal/2003/debian-legal-200306/msg00206.html}.
+
+The important features of the new version are useful clarifications in
+the wording, and revised procedures\newline
+for making a change to the Current Maintainer of a package. Special
+thanks to all those people from\newline Debian Legal who worked
+constructively with us\newline
+on this onerous task, especially but not exclusively\newline
+Jeff Licquia and Branden Robinson.
+
+
+\section{Small updates to varioref}
+
+The English has been corrected in \verb|\reftextbefore|
+(an incompatible change). There are other extensions
+such as \verb|\labelformat|, \verb|\Ref|, \verb|\Vref| and \verb|\vpagerefnum|.
+Some Dutch text has also been changed and two\newline
+new options added: \package{slovak} and \package{slovene}.
+
+
+\section{New and more robust commands}
+
+Many of the math mode commands for compound symbols have been made
+robust and a new robust command has been added: \verb|\nobreakdashes|.
+This last is a low-level command, borrowed from the \package{amsmath}
+package, for use only before hyphens or dashes. It prevents the line
+break that is normally allowed\newline
+after the following sequence of dashes.
+
+
+\section{Fixing font sizes}
+
+The new \package{fix-cm} package, by Walter Schmidt, changes the CM font
+definition (\texttt{.fd}) files so that similar design sizes are used
+in both the \texttt{OT1} and \texttt{T1} encodings.
+
+
+\section{Font encodings}
+
+A number of options have been added to the \package{textcomp} package,
+enabling only available glyphs to be used.
+Also, the `NFSS font families' are now divided into five different groups
+according to the subset of glyphs each provides from the full
+collection of symbols in the TS1 encoding.
+Given sufficient information about a font family
+\package{textcomp} will use this in order to limit the\newline
+typesetting to those glyphs that are available.
+
+Use of this mechanism has also enhanced \verb|\oldstylenums|
+to use the current font if possible.
+
+
+\section{Displaying font tables}
+
+With the \package{nfssfont} package you can now
+specify the font to display by giving its `NFSS classification',
+rather than needing to know its external font file's name.
+It is also now possible to generate large collections of font
+tables in batch mode by providing a suitable input file.
+
+
+\section{New input encodings}
+
+The \package{inputenc} package has been extended as follows:
+\package{macce} input encoding
+(Apple Central European),
+thanks to Radek Tryc and Marcin Wolinski; \package{cp1257}\newline
+for Baltic languages; \package{latin10},
+thanks to Ionel Ciob\^{i}c\u{a}.\newline
+The euro symbol has by
+now been added to several encodings:
+\package{ansinew}, \package{cp1250}
+and \package{cp1252} (which also\newline
+has another addition), whilst \package{cp858}
+adds it to \package{cp850}.
+
+
+\section{Unicode input}
+
+Partial, experimental support for text files that use the Unicode
+encoding form UTF-8 is now provided by the option \package{utf8} for
+the \package{inputenc} package.
+
+The only Unicode text file characters supported by the current version
+are those based on the most common inputs for glyphs from the small
+collection\newline
+of standard \LaTeX{} Latin encodings.
+
+
+\section{And finally \ldots\ pict2e}
+
+The old, non-functional version of this package has been removed
+ as there is now a fully working version from Hubert G\"a{\ss}lein
+ and Rolf Niepraschk. It is described
+ in \textit{The \LaTeX{} Manual}.
+
+\end{document}
diff --git a/macros/latex/base/ltnews16.pdf b/macros/latex/base/ltnews16.pdf
new file mode 100644
index 0000000000..c8c11f1ae4
--- /dev/null
+++ b/macros/latex/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews16.tex b/macros/latex/base/ltnews16.tex
new file mode 100644
index 0000000000..96ca1ddf68
--- /dev/null
+++ b/macros/latex/base/ltnews16.tex
@@ -0,0 +1,161 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews16.tex
+%
+% This is issue 16 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2004/02/28]
+
+% \usepackage[T1]{fontenc}
+
+\publicationmonth{December}
+\publicationyear{2003}
+\publicationissue{16}
+
+\begin{document}
+
+\maketitle
+
+%\raisefirstsection
+
+\section{Anniversary news}
+
+This anniversary \textit{Issue~16} takes a brief look into the future work of
+the \LaTeX3 Project Team, both short and and longer range. Please let
+us know if you want %\newline
+to get involved with us in any of this work (see below).
+
+An overview of the 10th Anniversary Release, dated 2003/12/01, is
+can be found in \textit{Issue~15}.
+
+
+\section{TLC2: The \LaTeX{} Companion -- 2nd edition!}
+
+Since you are reading this newsletter, there is a good chance that
+you, or a friend, has already bought this encyclopedic volume: the
+incomparable Second\newline
+Edition of this work that is every \LaTeX{}ie's\newline
+ultimate lucky charm.
+
+If by some chance you have not yet purchased your own copy then get
+into training, get shopping, and get flexing your muscles (both
+physical---it's $1100+$~pages,\newline
+and intellectual) by using it to discover
+masses of invaluable `insider information' about:
+\begin{itemize}
+\item the latest release of Standard \LaTeX{};
+\item over~200~extension packages;
+\item plus related software and systems.
+\end{itemize}
+For more information on this all new (??\ldots OK,\newline
+not \emph{all}, but over 90\%!!),
+all accurate (we hope!)\newline
+10th~Anniversary Edition, check out\newline
+ \mbox{\url{http://www.awprofessional.com/titles/0201362996}}.
+
+
+\section{Future maintenance}
+
+We are currently exploring how best to support the very large and
+rapidly growing community of individuals, organisations and
+enterprises that depend on the robustness and availability of the
+current standard \LaTeX{} distribution. Although we remain firmly\newline
+resolved not to make changes in the base distribution (the kernel) of
+Standard \LaTeX{}, there is still much that needs doing to maintain
+its reliability and utility and to keep up the necessary level of
+communication with users and supporters. Also, as with all advanced
+software systems, bugs are still turning up occasionally so %\newline
+some fixes are still essential.
+
+One major impediment to providing adequate service levels in this area
+is, of course, the difficulties inherent in obtaining the time and
+commitment of skilled minds---hence the appeal above to anyone
+interested %\newline
+in getting involved.
+
+
+\section{LPPL certification}
+
+There are still some outstanding diplomatic tasks around the
+\LaTeX{} Project Public Licence: these include
+e.g.,~getting it `OSF certified' and ensuring that it gains
+more support and wider use, even in the FSF world\newline
+where it has long been tolerated.
+
+
+\section{Use of \eTeX/pdf\TeX}
+
+We expect that within the next two years, releases of \LaTeX{} will
+change modestly in order to run best under an extended \TeX{} engine
+that contains the \eTeX{} primitives, e.g., \eTeX{} or pdf\TeX{}.
+The details of this possible upgrade need further work so we are not
+making a definite announcement yet.
+
+Although the current release does not \emph{require} \eTeX{} features,
+we certainly recommend using an extended \TeX{}, especially if you
+need to debug macros.
+
+
+\section{End of `autoload' support}
+
+As computer systems generally grow in capacity, requirements change
+and so we believe that the \package{autoload} variant of \LaTeX{} is
+no longer required. Thus, although the code remains it is no longer
+supported. We hope this does not cause any problems.
+
+
+\section{New models, new code}
+
+In the period 1999--2001 we published many results of our work over
+the previous decade on the development of new concepts and models
+for automated typesetting based on \TeX{} as the underlying platform.
+These can be found at \url{http://www.latex-project.org/papers/}
+and
+\mbox{\url{http://www.latex-project.org/code/experimental/}}.
+
+Since then a very large proportion of the The Team's efforts have been
+diverted to provide the core author team for TLC2, which provides
+over 1000 pages of carefully researched and tested documentation of
+many aspects of the vast world of \LaTeX{} related software that
+was developed over that same time period and that continues
+to grow and improve prodigiously.
+
+Completion of that task \ldots\ until TLC3!! \ldots\ presents the
+possibility of getting back to this more exciting development work,
+or even to more radical work on non-\TeX{}-based models and
+implementations.
+
+Of course, any such ideas are predicated on our ability to organise
+(with you, we hope) an efficient\newline
+but responsive maintenance and support system\newline
+for Standard \LaTeX{}.
+
+\end{document}
diff --git a/macros/latex/base/ltnews17.pdf b/macros/latex/base/ltnews17.pdf
new file mode 100644
index 0000000000..db4c5e161f
--- /dev/null
+++ b/macros/latex/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews17.tex b/macros/latex/base/ltnews17.tex
new file mode 100644
index 0000000000..f55300f447
--- /dev/null
+++ b/macros/latex/base/ltnews17.tex
@@ -0,0 +1,230 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews17.tex
+%
+% This is issue 17 of LaTeX News.
+
+\documentclass
+% [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2004/02/28]
+
+% \usepackage[T1]{fontenc}
+
+
+\publicationmonth{December}
+\publicationyear{2005}
+\publicationissue{17}
+
+\begin{document}
+
+\maketitle
+
+% \raisefirstsection
+
+\section{Project licence news}
+
+The \LaTeX{} Project Public License has been updated slightly so that
+it is now version 1.3c. In the warranty section the
+phrase ``unless required by applicable law'' has been reinstated,
+having got lost at some point. Also,
+it now contains three clarifications: of the difference between
+``maintained'' and ``author-maintained''; of the
+term ``Base Interpreter''; and when clause 6b and 6d shall not apply.
+
+Following requests, we now also provide the text of the licence as a
+\LaTeX{} document (in the file \texttt{lppl.tex}). This file can be
+processed either as a stand-alone document or it can be included
+(without any modification) into another \LaTeX{} document, e.g., as an
+appendix, using \verb|\input| or \verb|\include|.
+
+
+\section{New guide on font encodings}
+
+Way back in 1995 work was started on a guide to document the
+officially allocated \LaTeX{} font encoding names. However, for one
+reason or another this guide (named \textit{\LaTeX{} font encodings})
+was, until now, not added to the distribution. It describes the major
+7-bit and 8-bit font encodings used in the \LaTeX{} world and explains
+the restrictions required of conforming text font encodings. It also
+lists all the `encoding specific commands' (the LICR or \LaTeX{}
+Internal Character Representation) for characters supported by the
+encodings \texttt{OT1} and \texttt{T1}.
+
+When the file \texttt{encguide.tex} is processed by \LaTeX{}, it will
+attempt to typeset an encoding table for each encoding it describes.
+For this to be possible, \LaTeX{} must be able to find \texttt{.tfm}
+files for a representative example font for each encoding. If
+\LaTeX{} cannot find such a file then a warning is issued and the
+corresponding table is omitted.
+
+
+\section{Robust commands in math}
+
+The font changing commands in text-mode have been robust commands for years,
+but the same has not been true for the math versions such as
+\verb|\mathbf|. While the math-mode commands worked correctly in
+section heads, they could cause problems in other places such as index
+entries. With this release, these math-mode commands are now robust in
+the same way as their text-mode counterparts.
+
+%%
+\pagebreak
+%%
+
+
+\section{Updates of required packages}
+
+Several of the packages in the \package{tools} bundle have been updated
+for this release.
+
+The \package{xspace} package has some new features. One is an
+interface for adding and removing the exceptions it knows about and
+another is that it works with active characters. These remove problems
+of incompatibility with the \package{babel} system.
+
+In \textit{\LaTeX\ News~16} we announced that some packages might
+begin to take advantage of \eTeX{} extensions on systems where these
+are available: and the latest version of \package{xspace} does just
+that. Note also that \package{fixltx2e} will make use of the
+facilities in \eTeX{} whenever these are present (see below).
+
+The \package{calc} package has also been given an update with a few
+extra commands.
+The commands \verb|\maxof| and \verb|\minof|, each with two
+brace-delimited arguments, provide the usual numeric $\max$ and $\min$
+operations. The commands \verb|\settototalheight| and
+\verb|\totalheightof| work like \verb|\settoheight| and
+\verb|\heightof|. There are also some internal improvements to make
+\package{calc} work with some more primitive \TeX\ constructs, such as
+\verb|\ifcase|.
+
+The \package{varioref} package has acquired a few more default
+strings but there are still a number of languages for
+which good strings are still missing.
+
+The \package{showkeys} package has also been updated slightly to work
+with more recent developments in \package{varioref}. Also, it now
+provides an easy way to define the look of the printed labels with
+the command \verb|\showkeyslabelformat|.
+
+\section{Work on \LaTeX{} fixes}
+
+The package known as \package{fixltx2e} has three new additions. A new
+command \verb|\textsubscript| has been added as a complement to the
+command \verb|\textsuperscript| in the kernel. Secondly, a new form of
+\verb|\DeclareMathSizes| that allows all of its arguments to have a
+dimension suffix. This means you can now use expressions such as
+\verb|\DeclareMathSizes{9.5dd}{9.5dd}{7.4dd}{6.6dd}|.
+
+The third new
+addition is the robust command \verb|\TextOrMath| which takes two
+arguments and executes one of them when typesetting in text or math
+mode respectively. This command also takes advantage of \eTeX{}
+extensions if available; more specifically,
+%%
+%%\pagebreak
+%%
+when the \eTeX{} extensions are available, it does not
+destroy kerning between previous letters and the text to be typeset.
+The command is also used
+internally in \package{fixltx2e} to resolve a problem with
+\verb|\fnsymbol|.
+
+Also, further work has been done on reimplementing
+the command \verb|\addpenalty|, which is used internally in several
+places: we hope it is an improvement!
+
+\section{The graphics bundle}
+
+The \package{graphics} bundle now supports the
+\package{dvipdfmx} post-processor and Jonathan Kew's XE\TeX\
+program. By support we mean that the graphics packages recognize the
+new options \texttt{xetex} and \texttt{dvipdfmx} but we do not
+distribute the respective driver files.
+
+This leads elegantly to a description of the
+new policy concerning such driver files in the \package{graphics} bundle.
+Most driver files for our graphics packages are maintained by the
+developers of the associated post-processor or \TeX\ programs.
+The teams developing these packages are working very hard: their rapid
+development offers a stark contrast to the current schedule of \LaTeX\
+releases. It is therefore no longer practical
+for the \LaTeX\ Team to be responsible for distributing the
+latest versions of these driver files.
+
+Therefore the installation files for \package{graphics} have been
+split: there is now \file{graphics.ins} to install the package files and
+\file{graphics-drivers.ins} for the driver files (located in
+\file{drivers.dtx}).
+There is no need
+to install all those provided in the file \file{drivers.dtx}.
+
+Please also note that, as requested by the maintainers of
+\package{PStricks}, we have removed the package \package{pstcol} as
+current versions of \package{PSTricks} make it obsolete.
+
+%%
+\newpage
+%%
+
+
+\section{Future development}
+
+The title of this section is a little misleading as it actually
+describes \emph{current} development. In 1998 the \package{expl3}
+bundle of packages was put on \ctan\ to demonstrate a possible \LaTeX3
+programming environment. These packages have been lying dormant for some
+time while the \LaTeX\ Project Team were preoccupied by other things
+such as developing the experimental packages \package{xor},
+\package{template}, etc., (and also writing that indispensable
+and encyclopaedic volume,\\
+The \LaTeX{} Companion -- 2nd edition).
+
+In October 2004 work on this code base was resumed with the goal of
+some day turning it into a kernel for \LaTeX3. This work can now
+also make full use of the widely accepted \eTeX\ extensions. Currently
+two areas are central to this work.
+
+\begin{itemize}
+\item Extending the
+ kernel code of \LaTeX3.
+\item Converting the experimental packages
+ such as \package{xor}, \package{template} to use the new
+ syntax internally.
+\end{itemize}
+
+Beware! Development of
+\package{expl3} is happening so fast that the descriptions above might
+be out of date when you read this! If you wish to see what's going on
+then go to
+\url{http://www.latex-project.org/code.html} where you can download
+ fully working code (we hope!).
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews18.pdf b/macros/latex/base/ltnews18.pdf
new file mode 100644
index 0000000000..4d7c4a9f20
--- /dev/null
+++ b/macros/latex/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews18.tex b/macros/latex/base/ltnews18.tex
new file mode 100644
index 0000000000..33f0d7310d
--- /dev/null
+++ b/macros/latex/base/ltnews18.tex
@@ -0,0 +1,51 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews18.tex
+%
+% This is issue 18 of LaTeX News.
+
+\documentclass
+ [lw35fonts] % uncomment this line to get Palatino
+ {ltnews}[2004/02/28]
+
+% \usepackage[T1]{fontenc}
+
+
+\publicationmonth{December}
+\publicationyear{2007}
+\publicationissue{18}
+
+\begin{document}
+
+\maketitle
+
+\noindent This news never existed.
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews19.pdf b/macros/latex/base/ltnews19.pdf
new file mode 100644
index 0000000000..00d5df6ab1
--- /dev/null
+++ b/macros/latex/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews19.tex b/macros/latex/base/ltnews19.tex
new file mode 100644
index 0000000000..af99d329dd
--- /dev/null
+++ b/macros/latex/base/ltnews19.tex
@@ -0,0 +1,116 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews19.tex
+%
+% This is issue 19 of LaTeX News.
+
+\documentclass{ltnews}
+
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url}
+
+\publicationmonth{September}
+\publicationyear{2009}
+
+\publicationissue{19}
+
+\begin{document}
+
+\maketitle
+
+\section{New \LaTeX\ release}
+
+This issue of \LaTeX~News marks the first release of a new version of
+\LaTeXe\ since the publication of The \LaTeX\ Companion in 2005--2006.
+
+Just in time for \TeX\ Live 2009, this version is a maintenance
+release and introduces no new features. A number of small changes have
+been made to correct minor bugs in the kernel, slightly extend the Unicode
+support, and improve various
+aspects of some of the \texttt{tools} packages.
+
+\section{New code repository}
+
+Since the last \LaTeX\ release, the entire code base has been moved
+to a public \textsc{svn} repository%
+\footnote{\url{http://www.latex-project.org/svnroot/latex2e-public/}}
+and the entire build architecture re-written. In fact, it has only
+been possible for us to consider a new \LaTeX\ release since earlier
+this year when the test suite was finally set up with the new system.
+In the process, a bug in the \LaTeX\ picture fonts distributed with
+\TeX\ Live was discovered, proving that the
+tests are working and are still very valuable.
+
+Now that we can easily generate new packaged versions of the \LaTeXe\
+distribution, we expect to be able to roll out bug fixes in a much
+more timely manner than over the last few years. New versions should
+be distributed yearly with \TeX\ Live. Having said this, the
+maintenance of the \LaTeXe\ kernel is slowing down as the bugs become
+fewer and more subtle. Remember that we cannot change any of the
+underlying architecture of the kernel or any design decisions of the
+standard classes because we must preserve backwards compatibility with
+legacy documents at all costs.
+
+Even new features cannot be added, because any new documents using
+them will not compile in systems (such as journal production engines)
+that are generally not updated once they've been proven to work as
+necessary.
+
+None of this is to say that we consider \LaTeXe\ to be any less
+relevant for document production than in years past: a stable system
+is a useful one.
+Moreover, the package system continues to provide a flourishing and stable
+means
+for the development of a wide range of extensions.
+
+\newpage
+
+\section{Babel}
+
+One area of the \LaTeXe\ code base that is still receiving feedback to
+be incorporated into the main distribution is the Babel system for
+multilingual typesetting.
+While the Babel sources have already been added to the \textsc{svn} repository the
+integration of the test system for Babel is still outstanding.
+
+
+\section{The future}
+
+While work on \LaTeXe\ tends to maintenance over active development,
+the \LaTeX3 project is
+seeing new life. Our goals here are to provide a transition from the
+\LaTeXe\ document processing model to one with a more flexible
+foundation. Work is continuing in the \textsf{expl3} programming
+language and the \textsf{xpackages} for document design. Future
+announcements
+about \LaTeX3 will be available via the \LaTeX\ Project
+website and in TUGboat.
+
+\end{document}
diff --git a/macros/latex/base/ltnews20.pdf b/macros/latex/base/ltnews20.pdf
new file mode 100644
index 0000000000..86c9b8942a
--- /dev/null
+++ b/macros/latex/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews20.tex b/macros/latex/base/ltnews20.tex
new file mode 100644
index 0000000000..a43aa37b7c
--- /dev/null
+++ b/macros/latex/base/ltnews20.tex
@@ -0,0 +1,153 @@
+% \iffalse meta-comment
+%
+% Copyright 1993--2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews20.tex
+%
+% This is issue 20 of LaTeX News.
+
+\documentclass{ltnews}
+
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url}
+
+\publicationmonth{June}
+\publicationyear{2011}
+
+\publicationissue{20}
+
+\begin{document}
+
+\maketitle
+
+\section{Scheduled \LaTeX\ bug-fix release}
+
+This issue of \LaTeX~News marks the first bug-fix release of
+\LaTeXe\ since shifting to a new build system in 2009.
+Provided sufficient changes are made each year, we expect to
+repeat such releases once per year to stay in sync with \TeX\ Live.
+Due to the excitement of \TeX's $2^5$-th birthday last year,
+we missed our window of opportunity to do so for 2010.
+This situation has been rectified this year!
+
+\section{Continued development}
+
+The \LaTeXe\ program is no longer being actively developed, as any non-negligible changes now could have dramatic backwards compatibility issues with old documents. Similarly, new features cannot be added to the kernel since any new documents written now would then be incompatible with legacy versions of \LaTeX.
+
+The situation on the package level is quite different though. While most of us have stopped developing packages for \LaTeXe{} there are many contributing developers that continue to enrich \LaTeXe{} by providing or extending add-on packages with new or better functionality.
+
+However, the \LaTeX\ team certainly recognises that there are improvements to be made to the kernel code; over the last few years we have been working on building, expanding, and solidifying the \textsf{expl3} programming layer for future \LaTeX\ development. We are using \textsf{expl3} to build new interfaces for package development and tools for document design. Progress here is continuing.
+
+\section{Release notes}
+
+In addition to a few small documentation fixes, the following changes have been made to the \LaTeXe\ code; in accordance with the philosophy of minimising forwards and backwards compatibility problems, most of these will not be noticeable to the regular \LaTeX\ user.
+
+\paragraph{Font subsets covered by Latin Modern and \TeX\ Gyre}
+
+The Latin Modern and \TeX\ Gyre fonts are a modern suite of families based
+on the well-known Computer Modern and `PostScript 16' families with many additional
+characters for high-quality multilingual typesetting.%
+\footnote{%
+ See their respective TUGboat articles for more information:\\
+ \url{http://www.tug.org/TUGboat/tb24-1/jackowski.pdf}\\
+ \url{http://www.tug.org/TUGboat/tb27-2/tb87hagen-gyre.pdf}%
+}
+
+Information about their symbol coverage in the \verb|TS1| encoding is now included
+in \texttt{textcomp}'s default font definitions.
+
+% \paragraph{Private conditional switch in italic correction}
+% negligible improvement/only useful to LaTeX programmers: not worth documenting I think?
+
+% \paragraph{Improve formatting in \texttt{doc} for filenames with some punctuation}
+% negligible improvement, again?
+
+\paragraph{Redefinition of \cs{enddocument}}
+
+Inside the definition of \verb=\end{document}= the \texttt{.aux} file is read back in to resolve cross-references and build the table of contents etc. From 2.09 days this was done using \verb=\input= without any surrounding braces which could lead to some issues in boundary cases, especially if \verb=\input= was redefined by some package. It was therefore changed to use \LaTeXe{}'s internal name for this function. As a result, packages that modify \verb=\enddocument= other than through the officially provided hooks may need to get updated.
+
+\paragraph{Small improvement with split footnotes in \texttt{ftnright}}
+
+If in the first column there is more than a full column worth of footnote
+material the material will be split resulting in footnotes out of
+order. This issue is now at least detected and generates an error but the algorithm used by the package is
+unable to gracefully handle it in an automated fashion (some alternatives for resolving the problem if it happens are given in the package documentation).
+
+\paragraph{Improvement in \texttt{xspace} and font-switching}
+
+The \texttt{xspace} package provides the command \verb|\xspace|
+which attempts to be clever about inserting spaces automatically
+after user-defined control sequences.
+An important bug fix has been made to this command to correct its
+behaviour when used in conjunction with font-switching commands
+such as \verb|\emph| and \verb|\textbf|.
+Previously, writing
+\begin{verbatim}
+ \newcommand\foo{foo\xspace}
+ ... \emph{\foo} bar baz
+ ... \emph{\foo}, bar baz
+\end{verbatim}
+would result in an extraneous space being inserted after `foo' in
+both cases; this has now been corrected.
+
+
+\paragraph{RTL in \texttt{multicol}}
+
+ The 1.7 release of \texttt{multicol} adds support for languages that are typeset
+ right-to-left. For those languages the order of the columns on the page
+ also needs to be reversed---something that wasn't possible in earlier releases.
+
+The new feature is supported through the
+commands \verb|\RLmulticolcolumns| (switching to right-to-left typesetting)
+and \verb|\LRmulticolcolumns| (switching to left-to-right typesetting) the
+latter being the default.
+
+\paragraph{Improve French \texttt{babel} interaction with \texttt{varioref}}
+
+ Extracting and saving the page number turned out to be a source of subtle
+ bugs. Initially it was done through an \verb"\edef" with a bunch of
+\verb"\expandafter" commands inside. This posed a problem if the page number
+ itself contained code which needed protection (e.g., pr/4080) so this got
+ changed in the last release to use \verb"\protected@edef". However, that in turn failed with Babel
+(bug report/4093) if the label contained active characters, e.g., a ``:'' in French. So now
+we use (after one failed attempt pr/4159) even more \verb"\expandafter" commands and \verb"\romannumeral" trickery to avoid any expansion other
+ than what is absolutely required---making the code in that space absolutely unreadable.
+\begin{verbatim}
+ \expandafter\def\expandafter#1\expandafter{%
+ \romannumeral
+ \expandafter\expandafter\expandafter
+ \z@
+ \expandafter \@cdr
+ \romannumeral
+ \expandafter\expandafter\expandafter
+ \z@
+ \csname r@#2\endcsname\@nil}%
+\end{verbatim}
+Code like this nicely demonstrates the limitations in the programming layer of \LaTeXe{} and the advantages that \textsf{expl3} will offer on this level.
+
+\end{document}
diff --git a/macros/latex/base/ltnews21.pdf b/macros/latex/base/ltnews21.pdf
new file mode 100644
index 0000000000..b4d8b48342
--- /dev/null
+++ b/macros/latex/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews21.tex b/macros/latex/base/ltnews21.tex
new file mode 100644
index 0000000000..f9416b58e1
--- /dev/null
+++ b/macros/latex/base/ltnews21.tex
@@ -0,0 +1,255 @@
+% \iffalse meta-comment
+%
+% Copyright 2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews21.tex
+%
+% This is issue 21 of LaTeX News.
+
+\documentclass{ltnews}
+\def\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\publicationmonth{May}
+\publicationyear{2014}
+
+\publicationissue{21}
+
+\begin{document}
+
+\maketitle
+
+\section{Scheduled \LaTeX\ bug-fix release}
+
+This issue of \LaTeX~News marks the second bug-fix release of
+\LaTeXe\ (standard \LaTeX) since shifting to a new build system in 2009.
+Provided sufficient changes are made, we expect to
+make such releases yearly or every two years, in sync with \TeX\ Live.
+
+
+
+\subsection{Release notes}
+
+This release makes no changes to the core code in the \LaTeXe\ format
+but there are a small number of documentation fixes (not listed
+here). In addition several packages in the \textsf{base} and
+\textsf{required} areas have been updated as detailed below.
+
+
+This has been done in accordance with the philosophy of minimising
+problems in both forwards and backwards compatibility, so most of
+these changes should not be noticed by the regular \LaTeX\ user.
+
+References in the text below of the form ``graphics/3873'' are to
+bug reports listed
+at:\\ \url{http://latex-project.org/cgi-bin/ltxbugs2html}
+
+
+\let\paragraph\subsubsection
+
+\paragraph{\textsf{fixltx2e} updates}
+
+
+
+There are a number of bugs and faulty design decisions in \LaTeXe{}
+that should have been corrected long ago in the kernel code. However,
+such corrections cannot be done as this would break backwards
+compatibility in the following sense. A large number of documents
+exist by now that have worked around the bug or have even made use of
+a particular misfeature. Thus changing the kernel code would break
+too many existing documents.
+
+The corrections for these types of bug have therefore been collected together
+in a package that can be loaded only when needed; its name is \textsf{fixltx2e}.
+For this release we made the following changes to this package:
+\begin{itemize}
+\item
+ Misspelled float placement specifiers such as
+ \verb=\begin{figure}[tv]= instead of \texttt{tb} are silently
+ ignored by the kernel code. Now we test for such letters and issue
+ an error message.
+\item
+ \LaTeX's float handling algorithm can get out of sync if you mix
+ single and double-column floats (as they are placed independently
+ of each other). This was corrected in \textsf{fixltx2e} a few years ago
+ but the fix was not perfect as one situation using
+ \verb=\enlargethispage= generated a low-level \TeX{} error.
+ This behaviour of the package is now improved.
+\end{itemize}
+
+
+
+
+\paragraph{New \textsf{fltrace} package}
+
+For years the file \texttt{ltoutput.dtx} contained some hidden code to
+trace the detailed behaviour of the float placement algorithm of
+\LaTeX. Prompted by questions on StackExchange we now extract this
+code into a new \textsf{fltrace} package. To see the float algorithm
+in action (or to understand why it decides to place all your floats at
+the very end of the document) use
+\begin{verbatim}
+ \usepackage{fltrace} \tracefloats
+\end{verbatim}
+To stop tracing somewhere in the document use
+\verb=\tracefloatsoff= and to see the current value of various float
+parameters use \verb=\tracefloatvals=. As the package is identical to
+the kernel code with tracing added, it may or may not work if you load any
+other package that manipulates that part of the kernel code. In such a
+case your best bet is to load \textsf{fltrace} first.
+
+\paragraph{\textsf{inputenc} package updates}
+
+The \textsf{inputenc} package allows different input encodings for
+\LaTeX\ documents to be specified including the important
+\texttt{utf8} option used to specify the Unicode UTF-8 encoding. A
+common mistake in documents has been to also include this option when
+using the Unicode-based \TeX\ engines \hologo{LuaTeX} and \hologo{XeTeX}
+producing strange errors as these engines natively deal with UTF-8
+characters.
+
+If a document stored in an 8bit encoding is processed by
+\hologo{pdfTeX}, it needs the \textsf{inputenc} package to work
+correctly. However, if such a document is processed unchanged by
+\hologo{LuaTeX} or \hologo{XeTeX}, then accented characters may
+silently get dropped from the output.
+
+The package has been modified so that if used with \hologo{LuaTeX} or
+\hologo{XeTeX}, then it just issues a warning if \texttt{utf8} or
+\texttt{ascii} is specified, and stops with an error for any other
+encoding requested.
+
+
+
+One further improvement has been made to the encoding definition files
+(\texttt{.def}) used by \textsf{inputenc}: the catcode of \texttt{@}
+is now saved and restored when reading them instead of always using
+\verb=\makeatother= inside the files (latex/4192).
+
+
+
+\paragraph{The tools directory}
+
+In the past each of the sub-directories in the ``required'' section of
+the \LaTeX{} distribution contained a single \texttt{.ins} file to
+generate the code files from the source files. We have now
+started to provide individual \texttt{.ins} files for each of those
+packages that are likely to require updates outside a major
+\LaTeX{} release.
+
+\paragraph{\textsf{multicol} updates}
+
+Version 1.8 of \textsf{multicol} implements some improvements/fixes
+and one extension. In the past the balancing algorithm enlarged the
+column height until it found a solution that satisfied all
+constraints. If there were insufficient break points then the final
+column height could have been much larger than expected and if that
+happened near the end of the page it resulted in the text overflowing
+into the bottom margin. This situation is now detected and in that
+case a normal page is cut and balancing is resumed on the next
+page. Some overflow is still allowed and controlled via the parameter
+\verb=\maxbalancingoverflow=.
+
+The use of \verb=\enlargethispage= is now properly supported within
+the environment. Finally a new command \verb=\docolaction= was added
+to allow the execution of code depending on the column in which the
+command is executed. See the documentation for details.
+
+Bug fixes: the new version fixes both a color leak that could happen
+in certain situations and the problem that \texttt{multicols} could
+mess up the positioning of \verb=\marginpar=s that followed the
+environment.
+
+
+\paragraph{\textsf{tabularx} updates}
+
+The restrictions on embedding \verb|\tabularx| \verb|\endtabularx|
+into the definition of a new environment have been relaxed
+slightly. See the package documentation for details.
+
+\paragraph{\textsf{showkeys} updates}
+
+The \textsf{showkeys} package has been updated to fix problems if used
+at the start of list items, and to work if brace groups (\verb|{| and
+\verb|}|) are used in the optional argument of
+\verb|\cite|. (tools/4162, tools/4173)
+
+
+\paragraph{\textsf{color} updates}
+
+The \verb|\nopagecolor| command suggested by Heiko Oberdiek,
+available for some years in the \textsf{pdftex} option, has been
+added to the core package as suggested in graphics/3873. Currently
+this is supported in the driver files for \textsf{dvips} and
+\textsf{pdftex}. Patches to support other drivers are welcome.
+
+ \paragraph{\textsf{graphicx} updates}
+
+The \textsf{graphicx} version of \verb|\rotatebox| now allows
+\verb|\par| (and blank lines) in values, to match the change made
+to the \textsf{graphics} version some years ago. See graphics/4296.
+
+
+\paragraph{\textsf{keyval} updates}
+
+All parsing used in the \textsf{keyval} package has been changed
+to allow \verb|\par| (and blank lines) in values.
+(A second change, to parsing of brace groups
+in a construct such as \texttt{key=\{\{\{value\}\}\}}, was reverted in v1.15.)
+See graphics/3446.
+
+
+
+
+\vfill
+
+\section{Standard \LaTeX\ (\LaTeXe) and \textsf{expl3}}
+
+The substantial collection of innovative code in \textsf{expl3}
+implements a new programming language that has for a while now been
+used by some writers of \LaTeXe\ packages. This code has recently
+also been made available for use on top of plain \TeX\ or {\ConTeXt},
+largely to support generic packages that are supposed to work with
+different flavours of \TeX. These uses in no way affect authors of
+\LaTeX\ documents and such \LaTeXe\ packages will continue to work as
+advertised by their authors with standard \LaTeX.
+
+This code base will also become an important foundation for the kernel
+of \LaTeX3 and so the new programming language can be described as
+`The \LaTeX3 Programming Language'. However, if you see or hear that a
+package `uses \LaTeX3' then it remains very unlikely (as yet) to mean
+that the package is part of some `new version of \LaTeX'.
+
+News about the development and use of \textsf{expl3} and about other
+developments in the \LaTeX3 code base is reported regularly in the
+\LaTeX3~News series (\url{http://latex-project.org/l3news/}), the most
+recent issue of which was published in March 2014.
+
+
+\end{document}
diff --git a/macros/latex/base/ltnews22.pdf b/macros/latex/base/ltnews22.pdf
new file mode 100644
index 0000000000..013af12862
--- /dev/null
+++ b/macros/latex/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews22.tex b/macros/latex/base/ltnews22.tex
new file mode 100644
index 0000000000..65d7db900a
--- /dev/null
+++ b/macros/latex/base/ltnews22.tex
@@ -0,0 +1,244 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews22.tex
+%
+% This is issue 22 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\publicationmonth{January}
+\publicationyear{2015}
+
+\publicationissue{22}
+
+\begin{document}
+
+\maketitle
+
+\section{New \LaTeXe\ bug-fix policy}
+
+\subsection{Introduction}
+
+For some years we have supplied bug fixes to the \LaTeXe\ kernel via the
+\textsf{fixltx2e} package. This
+kept the kernel stable, but at the expense of meaning that most users did not
+benefit from bug fixes, and that some compromises
+which were made to save space in the
+machines of the time are still affecting most users today.
+
+In this release we have started a new update policy. All the fixes previously
+available via \textsf{fixltx2e} are now enabled \emph{by default} in the
+format, as are some further extensions for extended \TeX\ engines, \eTeX,
+\hologo{XeTeX} and \hologo{LuaTeX}. Compatibility and stability are still
+important considerations, and while most users will not notice these
+improvements, or will want to benefit from them, a new \textsf{latexrelease}
+package is provided that will revert all the changes and re-instate the
+definitions from earlier releases. The package can also be used with older
+releases to effectively \emph{update} the kernel to be equivalent to this 2015
+release.
+
+A new document, \textsf{latexchanges}, is distributed with the release
+that documents all the changes to documented commands since the 2014
+\LaTeX\ release, and will be updated in future releases if further
+changes have been made.
+
+\subsection{The \textsf{latexrelease} package}
+
+As noted above a new package is available to manage differences between \LaTeX\
+releases. If you wish to revert all changes back to the definitions as they
+were in previous releases you may start your document requesting the \LaTeX{} release from May~2014:
+\begin{verbatim}
+\RequirePackage[2014/05/01]{latexrelease}
+\documentclass{article}
+\end{verbatim}
+Conversely if you start a large project now and want to protect yourself
+against possible future changes, you may start your document
+\begin{verbatim}
+\RequirePackage[2015/01/01]{latexrelease}
+\documentclass{article}
+\end{verbatim}
+Then the version of \textsf{latexrelease} distributed with any future \LaTeX\
+release will revert any changes made in that format, and revert to the
+definitions as they where at the beginning of 2015.
+
+If you wish to share a document using the latest features with a
+user restricted to using an older
+format, you may use the form above and make the \textsf{latexrelease} package
+available on the older installation. The package will then update the format
+definitions as needed to enable the older format to work as if dated on the date
+specified in the package option.
+
+\subsection{The \cs{IncludeInRelease} command}
+
+The mechanism used in the \textsf{latexrelease} package is available for use in
+package code. If in your \textsf{zzz} package you have
+\begin{verbatim}
+\RequirePackage{latexrelease}
+\IncludeInRelease{2015/06/01}
+ {\zzz}{\zzz definition}
+ \def\zzz......new code
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}
+ {\zzz}{\zzz definition}
+ \def\zzz....original
+\EndIncludeInRelease
+\end{verbatim}
+then in a document using a format dated 2015/06/01 or later, the ``new code''
+will be used, and for documents being processed with an older format, the
+``original'' code will be used. Note the format date here may be the original
+format date as shown at the start of every \LaTeX\ run, or a format date
+specified as a package option to the \textsf{latexrelease} package.
+
+So if the document has
+\begin{verbatim}
+\RequirePackage[2014/05/01]{latexrelease}
+\documentclass{article}
+\usepackage{zzz}
+\end{verbatim}
+then it will use the \emph{original} definition of \verb|\zzz| even if
+processed with the current format, as the format acts as if dated 2014/05/01.
+
+
+\subsection{Limitations of the approach}
+
+The new concept provides full backward and forward compatibility for
+the \LaTeX{} format, i.e., with the help of a current
+\textsf{latexrelease} package the kernel can emulate all released
+formats (starting with 2014/06/01\footnote{Patching an older format
+ most likely works too, given that the changes in the past have been
+ minimal, though this isn't guaranteed and hasn't been tested.}).
+
+
+However, this is not necessarily true for all packages.
+ Only if a package makes use of the \cs{IncludeInRelease}
+functionality will it adjust to the
+requested \LaTeX{} release date. Initially this will only be true for
+a few selected packages and in general it may not even be advisable for packages
+that have their own well-established release cycles and methods.
+
+Thus, to regenerate a document with 100\,\% compatible behavior
+it will still be necessary
+to archive it together with all its inputs, for example, by archiving
+the base distribution trees (and any modifications made). However, the
+fact that a document requests a specific \LaTeX{} release date should
+help identifying what release tree to use to achieve perfect accuracy.
+
+
+\section{Updates to the kernel}
+
+\subsection{Updates incorporated from \textsf{fixltx2e}}
+
+The detailed list of changes incorporated from \textsf{fixltx2e} is
+available in the new \textsf{latexchanges} document that is
+distributed with this release. The main changes are that $2$-column
+floats are kept in sequence with one column floats, corrections are
+made to the \verb|\mark| system to ensure correct page headings in
+$2$-column documents, several additional commands are made robust.
+
+\subsection{\eTeX\ register allocation}
+
+\LaTeX\ has traditionally used allocation routines inherited from plain \TeX\
+that allocated registers in the range $0$--$255$. Almost all distributions have
+for some years used \eTeX\ based formats (or \hologo{XeTeX} or \hologo{LuaTeX})
+which have $2^{15}$ registers of each type ($2^{16}$ in the case of
+\hologo{LuaTeX}). The \textsf{etex} package has been available to provided an
+allocation mechanism for these extended registers but now the format will by
+default allocate in a range suitable for the engine being used. The new
+allocation mechanism is different than the \textsf{etex} package mechanism, and
+supports \hologo{LuaTeX}'s full range and an allocation mechanism for \LaTeX\
+floats as described below.
+
+On \eTeX\ based engines, an additional command, \verb|\newmarks| is available
+(as with the \textsf{etex} package) that allocates extended \eTeX\ marks, and
+similarly if \hologo{XeTeX} is detected a new command
+\verb|\newXeTeXintercharclass| is available, this is similar to the command
+previously defined in the \texttt{xelatex.ini} file used to build the
+\texttt{xelatex} format.
+
+\subsection{Additional \LaTeX{} float storage}
+
+\LaTeX's float placement algorithm needs to store floats (figures and tables)
+until it finds a suitable page to output them. It allocates $18$ registers for
+this storage, but this can often be insufficient.
+ The contributed \textsf{morefloats} package has
+been available to extend this list; however, it also only allocates from the
+standard range $0$--$255$ so cannot take advantage of the extended registers.
+The new allocation mechanism in this release incorporates a new command
+\verb|\extrafloats|. If you get the error:
+\mbox{\texttt{Too many unprocessed floats.}}
+then you can add (say) \verb|\extrafloats{500}| to the document preamble to
+make many more boxes available to hold floats.
+
+
+\subsection{Built-in support for Unicode engines}
+
+The kernel sources now detect the engine being used and adjust definitions
+accordingly, this reduces the need for the ``\texttt{.ini}'' files used to make
+the formats to patch definitions defined in \texttt{latex.ltx}.
+
+As noted above the format now includes extended allocation routines.
+
+The distribution includes a file \textsf{unicode-letters.def} derived from the
+Unicode Consortium's Unicode Character Data files that details the upper and
+lower case transformation data for the full Unicode range. This is used to set
+the \verb|lccode| and \verb|uccode| values if a Unicode engine is being used,
+rather than the values derived from the T1 font encoding which are used with
+8-bit engines.
+
+Finally \verb|\typein| is modified if \hologo{LuaTeX} is detected
+such that it works with this engine.
+
+\section{l3build}
+
+This release has been tested and built using a new build system implemented in
+\textsf{Lua}, intended to be run on the \textsf{texlua} interpreter distributed
+with modern \TeX\ distributions. It is already separately available
+from CTAN. This replaces earlier build systems (based at various times on
+\textsf{make}, \textsf{cons}, and Windows \textsf{bat} files). It allows the
+sources to be tested and packaged on a range of platforms (within the team,
+OS X, Windows, Linux and Cygwin platforms are used). It also allows the
+format to be tested on \hologo{XeTeX} and \hologo{LuaTeX} as well as the
+standard \hologo{pdfTeX}/\eTeX\ engines.
+
+\section{Hyperlinked documentation and TDS zip files}
+
+As well as updating the build system, the team have looked again at exactly
+what gets released to \textsc{ctan}. Taking inspiration from Heiko Oberdiek's
+\textsf{latex-tds} bundle, the PDF documentation provided now includes
+hyperlinks where appropriate. This has been done without modifying the sources
+such that users without \textsf{hyperref} available can still typeset the
+documentation using only the core distribution. At the same time, the release
+now includes ready-to-install TDS-style zip files. This will be of principal
+interest to \TeX\ system maintainers, but end users with older machines who
+wish to manually update \LaTeX\ will also benefit.
+
+\end{document}
diff --git a/macros/latex/base/ltnews23.pdf b/macros/latex/base/ltnews23.pdf
new file mode 100644
index 0000000000..c37e9f0bca
--- /dev/null
+++ b/macros/latex/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews23.tex b/macros/latex/base/ltnews23.tex
new file mode 100644
index 0000000000..693e22de83
--- /dev/null
+++ b/macros/latex/base/ltnews23.tex
@@ -0,0 +1,257 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews23.tex
+%
+% This is issue 23 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\makeatletter % -- provide command introduced in new release
+ % so this typesets with an old format
+
+% Check we are not in the preamble of a composite document
+\def\@tempa{\@latex@error{Can be used only in preamble}\@eha}
+\ifx\DeclareTextCommandDefault\@tempa
+\else
+ \DeclareTextCommandDefault\textcommabelow[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
+\fi
+\makeatother
+
+\publicationmonth{October}
+\publicationyear{2015}
+
+\publicationissue{23}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Enhanced support for \hologo{LuaTeX}}
+
+As noted in \LaTeX\ News 22, the 2015/01/01 release of \LaTeX{}
+introduced built-in support for extended \TeX\ systems.
+
+The range of allocated register numbers (for example, for count
+registers) is now set according to the underlying engine capabilities
+to 256, 32768 or 65536. Additional allocators were also added for the
+facilities added by \hologo{eTeX} (\verb|\newmark|) and \hologo{XeTeX}
+(\verb|\newXeTeXintercharclass|). At that time, however, the work to
+incorporate additional allocators for \hologo{LuaTeX} was not ready for
+distribution.
+
+The main feature of this release is that by default it includes
+allocators for \hologo{LuaTeX}-provided features, such as Lua
+functions, bytecode registers, catcode tables and Lua callbacks.
+Previously these features have been provided by the contributed
+\package{luatex} (Heiko Oberdiek) and \package{luatexbase}
+(\'{E}lie Roux,
+ Manuel P\'{e}gouri\'{e}-Gonnard and Philipp Gesang)
+packages. However, just as
+noted with the \package{etex} package in the previous release, it is
+better if allocation is handled by the format to avoid problems with
+conflicts between different allocation schemes, or definitions made
+before a package-defined allocation scheme is enabled.
+
+The facilities incorporated into the format with this release, and
+described below, are closely modelled on the \package{luatexbase}
+package and we thank the authors, and especially \'{E}lie Roux, for
+help in arranging this transition.
+
+The implementation of these \hologo{LuaTeX} features has been
+redesigned to match the allocation system introduced in the 2015/01/01
+\LaTeX\ release, and there are some other differences from the previous
+\package{luatexbase} package. However, as noted below,
+\package{luatexbase} is being updated in line with this \LaTeX\ release
+to provide the previous interface as a wrapper around the new
+implementation, so we expect the majority of documents using
+\package{luatexbase} to work without change.
+
+\subsection{Names of \hologo{LuaTeX} primitive commands}
+
+The 2015/01/01 \LaTeX\ release for the first time initialised
+\hologo{LuaTeX} in \textsf{latex.ltx} if \hologo{LuaTeX} is being
+used. Following the convention used in the contributed
+\textsf{lualatex.ini} file used to set up the format for earlier
+releases, most \hologo{LuaTeX}-specific primitives were defined with
+names prefixed by \texttt{luatex}. This was designed to minimize name
+clashes but had the disadvantage that names did not match the
+\hologo{LuaTeX} manual, or the names used in other formats, and
+produced some awkward command names such as \verb|\luatexluafunction|.
+From this release the names are enabled without the \texttt{luatex}
+prefix.
+
+In practice this change should not affect many documents; relatively
+few packages access the primitive commands, and many of those are
+already set up to work with prefixed or unprefixed names, so that they
+work with multiple formats.
+
+For package writers, if you want to ensure that your code works with
+this and earlier releases, use unprefixed names in the package and
+ensure that they are defined by using code such as:
+\begin{verbatim}
+\directlua{tex.enableprimitives("",
+ tex.extraprimitives(
+ "omega", "aleph", "luatex"))}
+\end{verbatim}
+Conversely if your document uses a package relying on prefixed names
+then you can add:
+\begin{verbatim}
+\directlua{tex.enableprimitives("luatex",
+ tex.extraprimitives(
+ "omega", "aleph", "luatex"))}
+\end{verbatim}
+to your document.
+
+Note the compatibility layer offered by the \package{luatexbase} package
+described below makes several commands available under both names.
+
+As always, this change can be reverted using:\\
+\verb|\RequirePackage[2015/01/01]{latexrelease}|\\
+at the start of the document.
+
+
+
+\subsection{\TeX\ commands for allocation in \hologo{LuaTeX}}
+For detailed descriptions of the new allocation commands see the
+documented sources in \textsf{ltluatex.dtx} or chapter N of
+\textsf{source2e}; however, the following new allocation commands are
+defined by default in \hologo{LuaTeX}:
+\verb|\newattribute|,
+\verb|\newcatcodetable|,
+\verb|\newluafunction| and
+\verb|\newwhatsit|.
+In addition, the commands \verb|\setattribute| and
+\verb|\unsetattribute| are defined to set and unset Lua attributes
+(integer values similar to counters, but attached to nodes). Finally
+several catcode tables are predefined:
+\verb|\catcodetable@initex|,
+\verb|\catcodetable@string|,
+\verb|\catcodetable@latex|,
+\verb|\catcodetable@atletter|.
+
+\subsection{Predefined Lua functions}
+If used with \hologo{LuaTeX}, \LaTeX\ will initialise a Lua table,
+\textsf{luatexbase}, with functions supporting allocation and also
+the registering of Lua callback functions.
+
+\subsection{Support for older releases and plain \TeX}
+The \hologo{LuaTeX} allocation functionality made available in this
+release is also available in plain \TeX\ and older \LaTeX\ releases
+in the files \textsf{ltluatex.tex} and \textsf{ltluatex.lua} which may be
+used simply by including the \TeX\ file: \verb|\input{ltluatex}|.
+An alternative for old \LaTeX\ releases is to use:\\
+\verb|\RequirePackage[2015/10/01]{latexrelease}|\\
+which will update the kernel to the current release, including
+\hologo{LuaTeX} support.
+
+\subsection{Additional \hologo{LuaTeX} support packages}
+In addition to the base \LaTeX\ release two packages have been
+contributed to the \textsf{contrib} area on CTAN. The
+\package{ctablestack} package offers some commands to help package
+writers control the \hologo{LuaTeX} \textsf{catcodetable}
+functionality, and the \package{luatexbase} package replaces the
+previously available package of the same name, providing a compatible
+interface but implemented over the \package{ltluatex} code.
+
+\section{More Floats and Inserts}
+If \hologo{eTeX} is available, the number of registers allocated in
+the format to hold floats such as figures is increased from 18 to 52.
+
+The extended allocation system introduced in 2015/01/01 means that in
+most cases it is no longer necessary to load the \package{etex}
+package. Many classes and packages that previously loaded this package
+no longer do so. Unfortunately in some circumstances where a package
+or class previously used the \package{etex} \verb|\reserveinserts|
+command, it is possible for a document that previously worked to
+generate an error ``no room for a new insert''. In practice this error
+can always be avoided by declaring inserts earlier, before the
+registers below 256 are all allocated. However, it is better not
+to require packages to be re-ordered and in some cases the re-ordering
+is complicated due to delayed allocations in \verb|\AtBeginDocument|.
+
+In this release, a new implementation of
+\verb|\newinsert| is used which allocates inserts from the previously
+allocated float lists once the classical register allocation has run
+out. This allows an extra 52 (or in \hologo{LuaTeX}, 64~thousand)
+insert allocations which is more than enough for practical documents
+(by default, \LaTeX\ only uses two insert allocations).
+
+\section{Updated Unicode data}
+
+
+The file \textsf{unicode-letters.def} recording catcodes, upper and
+lower case mappings and other properties for Unicode characters has
+been regenerated using the data files from Unicode~8.0.0.
+
+\section{Support for Comma Accent}
+The command \verb|\textcommabelow| has been added to the format.
+This is mainly used for the Romanian letters
+\textcommabelow{S}\textcommabelow{s}\textcommabelow{T}\textcommabelow{t}.
+This was requested in latex/4414 in the \LaTeX\ bug tracker.
+
+\section{Extended \package{inputenc}}
+The \texttt{utf8} option for \package{inputenc} has been extended to support
+the letters s and t with comma accent,
+U+0218\,--\,U+021b. Similarly circumflex w and y U+0174\,--\,U+0177 are defined.
+Also U+00a0 and U+00ad are declared by default, and defined to be
+\verb|\nobreakspace| and \verb|\-| respectively.
+
+The error message given on undefined UTF-8 input characters
+now displays the Unicode number
+in U+\textit{hex} format in addition
+to showing the character.
+
+\section{Pre-release Releases}
+The patch level mechanism has been used previously to identify \LaTeX\
+releases that have small patches applied to the main release, without
+changing the main format date.
+
+The mechanism has now been extended to allow identification of
+pre-release versions of the software (which may or may not be released
+via CTAN) but can be identified with a banner such as\\
+{\catcode`\<=13 \def<{\string<} \catcode`\>=13 \def>{\string>}%
+\verb|LaTeX2e <2015/10/01> pre-release-1|}\\
+Internally this is identified as a patch release with a negative patch
+level.
+
+\section{Updates in tools}
+
+The \package{multicol} package has been updated to fix the interaction
+with ``here'' floats that land on the same page as the start or end of
+a \textsf{multicols} environment.
+
+\end{document}
diff --git a/macros/latex/base/ltnews24.pdf b/macros/latex/base/ltnews24.pdf
new file mode 100644
index 0000000000..02776c7256
--- /dev/null
+++ b/macros/latex/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews24.tex b/macros/latex/base/ltnews24.tex
new file mode 100644
index 0000000000..6cba173b60
--- /dev/null
+++ b/macros/latex/base/ltnews24.tex
@@ -0,0 +1,263 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews24.tex
+%
+% This is issue 24 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\makeatletter % -- provide command introduced in new release
+ % so this typesets with an old format
+
+% Check we are not in the preamble of a composite document
+\def\@tempa{\@latex@error{Can be used only in preamble}\@eha}
+\ifx\DeclareTextCommandDefault\@tempa
+\else
+ \DeclareTextCommandDefault\textcommabelow[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
+ \DeclareTextCommandDefault\textcommaabove[1]{%
+ \hmode@bgroup
+ \ooalign{%
+ \hidewidth
+ \raise.7ex\hbox{%
+ \check@mathfonts\fontsize\ssf@size\z@\math@fontsfalse\selectfont`%
+ }%
+ \hidewidth\crcr
+ \null#1\crcr
+ }%
+ \egroup
+ }
+\fi
+
+\makeatother
+
+\publicationmonth{February}
+\publicationyear{2016}
+
+\publicationissue{24}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{\hologo{LuaTeX} support}
+
+This release refines the \hologo{LuaTeX} support introduced in the
+2015/10/01 release. A number of patches have been added to improve the
+behavior of \package{ltluatex} (thanks largely to code review by Philipp Gesang).
+The kernel code has been adjusted to
+allow for changes in \hologo{LuaTeX} v0.85--v0.88. Most notably, newer
+\hologo{LuaTeX} releases allow more than $16$ write streams and these are now
+enabled for use by \verb|\newwrite|, but also the experimental
+\texttt{newtoken} Lua library has been renamed back to \texttt{token}
+which required small adjustments in the \hologo{LuaTeX} setup.
+
+The biggest change in \hologo{LuaTeX} v0.85--v0.87 compared to previous
+versions is that all the primitives (originally defined in
+\hologo{pdfTeX}) dealing with the PDF ``back end''
+are no longer defined, being replaced by a much smaller set of new primitives.
+This does not directly affect the core \LaTeX{}
+files in this release but has required major changes to the
+\texttt{.ini} files used by \TeX{} Live and similar distributions to
+set up the format files. These changes in the \hologo{LuaTeX} engine
+will affect any packages using these back end commands (packages such
+as \package{graphics}, \package{color}, \package{hyperref}, etc.).
+Until all contributed packages are updated to the new syntax users may
+need to add aliases for the old \hologo{pdfTeX} commands. A new
+\package{luapdftexalias} package has been contributed to CTAN (not part of the
+core \LaTeX\ release) that may be used for this purpose.
+
+See also the sections below for related changes in the
+\textsf{tools} and \textsf{graphics} bundles.
+
+
+\section{Unicode data}
+
+As noted in \LaTeX{} News~22, the 2015/01/01 release of \LaTeX{} introduced
+built-in support for extended \TeX{} systems. In particular, the kernel now
+loads appropriate data from the Unicode Consortium to set \verb|\lccode|,
+\verb|\uccode|, \verb|\catcode| and \verb|\sfcode| values in an automated
+fashion for the entire Unicode range.
+
+The initial approach taken by the team was to incorporate the existing model
+used by (plain) \hologo{XeTeX} and to pre-process the ``raw'' Unicode data into
+a ready-to-use form as \verb|unicode-letters.def|. However, the relationship
+between the Unicode Consortium files and \TeX{} data structures is non-trivial and still
+being explored. As such, it is preferable to directly parse the original
+(\verb|.txt|) files at point of use. The team has therefore ``spun-out'' both
+the data and the loading to a new generic package, \package{unicode-data}. This
+package makes the original Unicode Consortium data files available in the
+\verb|texmf| tree (in \verb|tex/generic/unicode-data|) and provides generic
+loaders suitable for reading this data into the plain, \LaTeXe{}, and other,
+formats.
+
+At present, the following data files are included in this new package:
+\begin{itemize}\parskip=0pt
+ \item \verb|CaseFolding.txt|
+ \item \verb|EastAsianWidth.txt|
+ \item \verb|LineBreak.txt|
+ \item \verb|MathClass.txt|
+ \item \verb|SpecialCasing.txt|
+ \item \verb|UnicodeData.txt|
+\end{itemize}
+These files are used either by \LaTeXe{} or by \package{expl3}
+(i.e.~they represent the set currently required by the team). The
+Unicode Consortium provides various other data files and we would be happy to add
+these to the generic package, as it is intended to provide a single place
+to collect this material in the \verb|texmf| tree. Such requests can be
+mailed to the team as~usual or logged at the package home page:
+\url{https://github.com/latex3/unicode-data}.
+
+The new approach extends use of Unicode data in setting \TeX{} information in
+two ways. First, the \verb|\sfcode| of all end-of-quotation/closing punctuation
+is now set to $0$ (transparent to \TeX{}). Second, \verb|\Umathcode| values are
+now set using \verb|MathClass.txt| rather than setting up only letters (which
+was done using an arbitrary plane~$0$/plane~$1$ separation). There are also
+minor refinements to the existing code setting, particularly splitting the
+concepts of case and letter/non-letter category codes.
+
+For \hologo{XeTeX}, users should note that \verb|\xtxHanGlue| and
+\verb|\xtxHanSpace| are \emph{no longer defined}, that no assignments are made
+to \verb|\XeTeXinterchartoks| and that no \verb|\XeTeXintercharclass| data is
+loaded into the format. The values which were previously inherited from
+the plain \hologo{XeTeX} setup files are \emph{not} suitable for properly
+typesetting East Asian text. There are third-party packages addressing this
+area well, notably those in the \package{CTeX} bundle. Third-party packages
+may need adjustment to load the data themselves; see the \textsf{unicode-data}
+package for one possible loader.
+
+\section{More support for east European accents}
+
+As noted in \LaTeX{} News~23, comma accent support was added for \texttt{s} and
+\texttt{t} in the 2015/10/01 release. In this release a matching
+\verb|\textcommaabove| accent has been added for U+0123 (\verb|\c{g}|,
+\textcommaabove{g}) which is the lower case of U+0122 (\verb|\c{G}|,
+\textcommabelow{G}). In the OT1 and T1 encodings the combinations are
+declared as composites with the \verb|\c| command, which matches the
+Unicode names ``\textsf{latin (capital|small) letter g with cedilla}'' and
+also allows \verb|\MakeUppercase{\c{g}}| to produce \verb|\c{G}|, as
+required. In T1 encoding, the composite of \verb|\c| with \texttt{k}, \texttt{l},
+\texttt{n} and \texttt{r} are also
+declared to use the comma below accent rather than cedilla to match the
+conventional use of these letters.
+
+The UTF-8 \texttt{inputenc} option \texttt{utf8} has been extended to
+support all latin combinations that can be reasonably constructed with a
+(single) accent command an a base character for the T1 encoding so
+\textcommaabove{g}, \k{u} and similar characters may be directly input
+using UTF-8 encoding.
+
+\section{Changes in Graphics}
+
+The changes in \hologo{LuaTeX}~v0.87 mean that the \package{color} and
+\package{graphics} packages no longer share the \texttt{pdftex.def} file
+between \hologo{LuaTeX} and \hologo{pdfTeX}. A separate file
+\texttt{luatex.def} (distributed separately) has been produced, and
+distributions are encouraged to modify \texttt{graphics.cfg} and
+\texttt{color.cfg} configuration files to default to the \texttt{luatex}
+option if \hologo{LuaTeX}~v0.87 or later is being used. The team has
+contributed suitable \texttt{.cfg} files to CTAN to be used
+as models.
+
+Normally it is best to let the local \texttt{graphics.cfg}
+automatically supply the right option depending on the \TeX\ engine
+being used; however the \package{color} and \package{graphics} (and so
+\package{graphicx}) packages have been extended to have an explicit
+\texttt{luatex} option comparable to the existing \texttt{pdftex} and
+\texttt{xetex} options.
+
+The \package{trig} package has been updated so that pre-computed values
+such as $\sin(90)$ now expand to digits (\texttt{1} rather than the
+internal token \verb|\@one| in this case). This allows them to be used
+directly in PDF literal strings.
+
+\section{Changes in Tools}
+
+\hologo{LuaTeX} from version v0.87 no longer supports the
+\verb|\write18| syntax to access system commands. A new package
+\package{shellesc} has been added to \textsf{tools} that defines a new
+command \verb|\ShellEscape| that may be used in all \TeX\ variants to
+provide a consistent access to system commands. The package also
+defines \verb|\write18| in \hologo{LuaTeX} so that it continues to access
+system commands as before; see the package documentation for details.
+
+\section{Improving support for Unicode engines}
+
+\looseness=-1
+Stability concerns are always paramount when considering any change to
+the \LaTeXe{} kernel. At the same time, it is important that the format
+remains usable and gives reliable results for users. For the Unicode
+\TeX{} engines \hologo{XeTeX} and \hologo{LuaTeX} there are important
+differences in behavior from classical ($8$-bit) \TeX{} engines which
+mean that identical default behaviors are not appropriate. Over the
+past 18 months the team has addressed the most pressing of these
+considerations (as detailed above and in \LaTeX{} News~22 and 23),
+primarily by integrating existing patches into the kernel. There are,
+though, important areas which still need consideration, and which
+\emph{may} result in refinements to kernel support in this area in
+future releases.
+
+The default font setup in \LaTeXe{} at present is to use the \texttt{OT1}
+encoding. This assumes that hyphenation patterns have been read using
+appropriate codes: the \texttt{T1} encoding is assumed. The commonly-used
+hyphenation patterns today, \package{hyph-utf8}, are set up in this
+way for $8$-bit engines (\hologo{pdfTeX}) but for Unicode engines use
+Unicode code points. This means that hyphenation will be incorrect
+with Unicode engines unless a Unicode font is loaded. This requires
+a concept of a Unicode font encoding, which is currently provided by
+the \package{fontspec} package in two versions, \texttt{EU1} and
+\texttt{EU2}. The team is working to fully understand what is meant
+by a ``Unicode font encoding'', as unlike a classical \TeX{} encoding
+it is essentially impossible to know what glyphs will be provided
+(though each slot is always defined with the same meaning). There
+is also an overlap between this area and ideas of language and writing
+system, most obviously in documents featuring mixed scripts (for example
+Latin and Cyrillic).
+
+As well as these font considerations, the team is also exploring
+to what extent it is possible to allow existing ($8$-bit)
+documents to compile directly with Unicode engines without requiring
+changes in the sources. Whether this is truly possible remains an open
+question.
+
+It is important to stress that changes will only be made in this area where
+they do \emph{not} affect documents processed with
+\hologo{eTeX}/\hologo{pdfTeX} (i.e.~documents which are written for
+``classical'' $8$-bit \TeX{} engines). Changes will also be made only where
+they clearly address deficiencies in the current setup for Unicode engines
+(i.e.~where current behaviors are wrong).
+
+\end{document}
diff --git a/macros/latex/base/ltnews25.pdf b/macros/latex/base/ltnews25.pdf
new file mode 100644
index 0000000000..31867da62a
--- /dev/null
+++ b/macros/latex/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews25.tex b/macros/latex/base/ltnews25.tex
new file mode 100644
index 0000000000..9d675015c3
--- /dev/null
+++ b/macros/latex/base/ltnews25.tex
@@ -0,0 +1,137 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2016-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews25.tex
+%
+% This is issue 25 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+
+\publicationmonth{March}
+\publicationyear{2016}
+
+\publicationissue{25}
+
+\begin{document}
+
+\maketitle
+
+\section{Lua\TeX}
+This \LaTeX\ release sees several internal changes designed to ensure
+that the system is still usable with Lua\TeX\ versions greater than
+0.80, which have introduced many changes into the engine, most notably
+the removal or renaming of most of the primitive commands introduced by
+pdf\TeX. Also the lists of Lua callbacks handled by the callback
+allocation mechanism has been updated to match the callbacks defined
+in Lua\TeX\ version 0.90.
+
+These changes have also required updates in \textsf{tools}
+and \textsf{amsmath} as described below.
+
+This is the first release of \LaTeX\ for which the test suite reports
+no failures when used with Lua\TeX.
+
+\section{Documentation checksums}
+The \package{doc} package has always provided two mechanisms that were
+mainly intended to guard against file truncation or corruption when
+files were commonly distributed by email through unreliable mail
+gateways: a Character Table of the ASCII character set could be
+inserted (and checked) and a ``checksum'' (count of the number of
+backslashes in the code sections) could be checked. These features
+are not really needed with modern distribution mechanisms and can be a
+distraction when reading the source code and so have been removed. The
+\package{doc} package has been updated so that if you use a
+\verb|\CheckSum| command then, as before, the number is checked;
+however, if you omit the command then no error or warning is given.
+
+
+\section{Updates to \package{inputenc}}
+
+The UTF-8 support in \package{inputenc} has been further extended with
+support for non-breaking hyphens and more dashes.
+
+\section{Updates in Tools}
+
+The \package{varioref} package has been updated with improved
+documentation of multi\-lingual support, and avoiding unnecessary warnings in
+some cases with \verb|\reftextfaraway|.
+
+The \package{tabularx} package's handling of \verb|\endtabularx| in
+environment definitions has been fixed to again match its documentation.
+
+The \package{bm} package has been updated as required by the changes
+to \verb|\mathchardef| in Lua\TeX.
+
+
+\section{amsmath}
+
+Since the launch of \LaTeXe\ in 1993, the \textsf{amsmath} bundle has
+been part of the \emph{required} packages in the core \LaTeX\
+distribution, with bug reports handled by the \LaTeX\ bug database at
+\url{https://latex-project.org/bugs-upload.html}.
+
+The \textsf{amsmath} packages and the \textsf{amscls} classes have
+been maintained by the American Mathematical Society.
+
+With this release a new arrangement has been agreed between the
+American Mathematical Society and the \LaTeX3 project. The \LaTeX3
+project will take over maintenance of the \textsf{amsmath} bundle,
+with the American Mathematical Society retaining maintenance of
+\textsf{amscls}.
+
+The recommended installation of these files in the \TeX\ directory
+structure remains unchanged as \path|tex/latex/amsmath| and
+\path|tex/latex/amscls| respectively.
+
+This release of \package{amsmath} includes several updates so that
+\package{amsmath} does not generate errors when math is used with
+Lua\TeX\ v0.87+, which has changes to \verb|\mathchardef| that are
+incompatible with the previous version of \package{amsmath}. It also
+improves \verb|\dots| handling so that \verb|\long| macros are
+correctly handled (for example, \verb|\dots \Rightarrow| now
+uses centered dots), as well as commands expanding to character tokens
+(for example, \verb|\times \dots \times| will use centered dots with
+\verb|\times| defined as in the \package{unicode-math} package).
+
+\section{Related updates}
+In addition to the updates in the core \LaTeX\ release, some files in
+the CTAN ``contrib'' area have also been updated. Notably there have
+been further updates to the \textsf{unicode-data} files; also, the
+files required to build plain and \LaTeX\ formats have now been
+submitted to CTAN as \textsf{tex-ini-files}. The
+addition of a new \texttt{luatex} option for \textsf{graphics}-related
+packages (\textsf{luatex-def} on CTAN) has required updates to the
+configuration files to select a
+default option and these have similarly been uploaded to CTAN as
+\textsf{graphics-cfg}. (Previously these files were maintained
+directly in the \TeX\ Live repository, and were not available on CTAN.)
+\end{document}
diff --git a/macros/latex/base/ltnews26.pdf b/macros/latex/base/ltnews26.pdf
new file mode 100644
index 0000000000..39671b7cf7
--- /dev/null
+++ b/macros/latex/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews26.tex b/macros/latex/base/ltnews26.tex
new file mode 100644
index 0000000000..a1362b3475
--- /dev/null
+++ b/macros/latex/base/ltnews26.tex
@@ -0,0 +1,239 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2017-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews26.tex
+%
+% This is issue 26 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\publicationmonth{January}
+\publicationyear{2017}
+
+\publicationissue{26}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+\section{\eTeX{}}
+
+In \LaTeX{} News~16 (December 2003) the team announced
+\begin{quotation}
+We expect that within the next two years, releases of \LaTeX{} will
+change modestly in order to run best under an extended \TeX{} engine
+that contains the \eTeX{} primitives, e.g., \eTeX{} or pdf\TeX{}.
+\end{quotation}
+and also said
+\begin{quotation}
+Although the current release does not \emph{require} \eTeX{} features, we
+certainly recommend using an extended \TeX{}, especially if you need to debug
+macros.
+\end{quotation}
+
+For many years the team have worked on the basis that users will have \eTeX{}
+available but had not revisited the above statements formally. As of the
+January 2017 release of \LaTeXe{}, \eTeX{} is \emph{required} to build the
+format, and attempting to build a format without the extensions will fail.
+
+Practically, modern \TeX{} distributions provide the extensions in all engines
+other than the ``pure'' Knuth \texttt{tex}, and indeed parts of the
+format-building process already require \eTeX{}, most notably some of the UTF-8
+hyphenation patterns. As such, there should be no noticeable effect on users of
+this change.
+
+The team expect to make wider use of \eTeX{} within the kernel in future;
+details will be announced where they impact on end users in a visible way.
+
+\section{Default encodings in \hologo{XeLaTeX} and \hologo{LuaLaTeX}}
+The default encoding in \LaTeX\ has always been the original
+128-character encoding \texttt{OT1}. For Unicode based \TeX\ engines, this
+is not really suitable, and is especially problematic with
+\hologo{XeLaTeX} as in the major distributions this is built with
+Unicode based hyphenation patterns in the format. In practice this has
+not been a major problem as documents use the contributed
+\textsf{fontspec} package in order to switch to a
+Unicode encoded font.
+
+In this release we are adding \texttt{TU} as a new supported
+encoding in addition to the previously supported encodings such as \texttt{OT1}
+and \texttt{T1}. This denotes a Unicode based font encoding. It is essentially
+the same as the \texttt{TU} encoding that has been on trial with the
+experimental \texttt{tuenc} option to \textsf{fontspec} for the past
+year.
+
+The \hologo{XeLaTeX} and \hologo{LuaLaTeX} formats will now default
+to \texttt{TU} encoding and \texttt{lmr} (Latin Modern) family. In the
+case of \hologo{LuaLaTeX} the contributed \textsf{luaotfload} Lua
+module will be loaded at the start of each run to enable the loading
+of OpenType fonts.
+
+The \textsf{fontspec} package is being adjusted in a companion release
+to recognise the new encoding default arrangements.
+
+Note that in practice no font supports the full Unicode range, and so
+\texttt{TU} encoded fonts, unlike fonts specified for \texttt{T1}, may be
+expected to be incomplete in various ways. In the current release the file
+\texttt{tuenc.def} that implements the \texttt{TU} encoding-specific commands
+has made some basic assumptions for (for example) default handling of
+accent commands, and the set of command names is derived from the
+command names used for the UTF-8 support in the \textsf{inputenc} package,
+restricted roughly to the character ranges classically provided by
+the \texttt{T1} and \texttt{TS1} encodings, but is part of a longer term plan
+seen over recent releases to increase support for Unicode based \TeX\ engines
+into the core \LaTeX\ support.
+
+
+
+If for any reason you need to process a document with the previous
+default \texttt{OT1} encoding, you may switch encoding in the usual ways, for
+example
+\begin{verbatim}
+\usepackage[OT1]{fontenc}
+\end{verbatim}
+or you may roll back all the changes for this release by starting the
+document with
+\begin{verbatim}
+\RequirePackage[2016/12/31]{latexrelease}
+\end{verbatim}
+
+\section{\cs{showhyphens} in \hologo{XeLaTeX}}
+Due to the way \hologo{XeLaTeX} interfaces to font libraries, the
+standard definition of \cs{showhyphens} does not work. A variant
+definition has been available in the contributed \textsf{xltxtra}
+package, however a (slightly different) definition for \cs{showhyphens}
+is now included in \hologo{XeLaTeX} by default. As usual
+this change will be undone if an earlier
+release is specified using the \textsf{latexrelease} package.
+
+\section{The \textsf{fixltx2e} package}
+As described in \LaTeX{} News~22, the \textsf{fixltx2e} package has become
+obsolete with the new update policy. Since 2015 it has just made a
+warning and exited. In this release we have re-introduced all
+the code from the original fixes in the 2014 \LaTeX\ but guarded by
+\verb|\IncludeInRelease{2015/01/01}|.
+So for current releases \textsf{fixltx2e} still just displays a warning
+but for old releases, whether that is an old format, or a format with
+the version date reset via the \textsf{latexrelease} package, the
+fixes in the original \textsf{fixltx2e} will be applied.
+
+This improves the ability to run old documents in a way that is compatible
+with contemporary formats. If you have a 2014 document that used
+\verb|\usepackage{fixltx2e}| and you add
+\verb|\RequirePackage[2014/01/01]{latexrelease}| and process it with the
+current format then \textsf{latexrelease} will undo most changes made
+since 2014, but now when the document includes \textsf{fixltx2e} it
+will act like a 2014 version of the package and apply the code fixes,
+not just give a warning that the package is obsolete.
+
+\section{The \textsf{latexbug} package}
+
+As explained in more detail
+at the \LaTeX\ Project
+ website\footnote{\url{https://www.latex-project.org/bugs/}}
+a new package, \textsf{latexbug}, has been produced to help produce
+test files to accompany bug reports on the core \LaTeX\ distribution.
+This is being published separately to CTAN at the same time as this
+release. By using the \textsf{latexbug} package you can easily check
+that the packages involved in the test are all part of the core
+release. The \LaTeX\ project cannot handle bug reports on contributed
+packages, which should be directed to the package maintainer as given
+in the package documentation.
+
+\section{Updates to \textsf{amsmath}}
+The \textsf{amsmath} package has two updates at this release.
+\begin{itemize}
+\item The spacing to the left of the \texttt{aligned} and
+ \texttt{gathered} environments has been fixed: the spurious thin
+ space is no longer added by default. Package options control this
+ to revert to the original behaviour where required; see the
+ \textsf{amsldoc} guide for further details.
+\item The large delimiters around generalised fractions (for example
+ in the \cs{binom} construct) did not work in previous releases if
+ using \hologo{LuaTeX} or \hologo{XeTeX} with OpenType math fonts. This is
+ related to the lack of specific metrics for this use in the OpenType Math
+ table. In principle \hologo{LuaTeX} has two additional named metrics
+ to control the delimiters but these are not initialised by default,
+ and in \hologo{XeTeX} it does not seem possible to make them work at all.
+ So for Unicode \TeX\ systems, a new implementation of
+ \cs{genfrac} is used at this release that uses \verb|\left\right|
+ internally but parameterised to give spacing as close to the
+ original as possible. The implementation in (pdf)\TeX\ is
+ unaffected.
+\end{itemize}
+
+\section{Updates to \textsf{tools}}
+The \textsf{array} package has been updated to fix a longstanding but
+previously unreported issue with unwanted interactions between tables
+in the page head or foot and the body of the page, as reported in
+\href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=tools/4488}{PR
+ tools/4488}.
+There is also an update to the \hologo{LuaTeX} support in \textsf{bm}.
+
+\section{An addendum to the release changes in 2015: page breaks and vertical spacing}
+
+In 2015 we announced the introduction of the roll-back\slash
+roll-forward concept to manage bug fixes and additions to core
+\LaTeX{} in a manageable way. We also announced at that time
+that we now incorporate all fixes from \textsf{fixltx2e} into the
+kernel (as the old mechanism produced problems instead of improving
+the situation). Refer to
+\href{https://www.latex-project.org/news/latex2e-news/ltnews22.pdf}{\texttt{ltnews22.pdf}}
+for details.
+
+One of the fixes from \textsf{fixltx2e} was for a glaring bug in
+\cs{addvspace} that was originally detected in the mid-nineties and
+back then added to the \textsf{fixltx2e} support package. In certain
+situations \cs{addvspace} would result in a page/column break below
+the baseline of the last line. As a result documents using
+\cs{flushbottom} would show a clear misalignment (even more prominent
+when typesetting in two-column mode).
+
+Starting with release 2015/01/01 this is now finally corrected already
+in the kernel and not only in \textsf{fixltx2e}. In nearly all
+circumstances this will either make no difference to existing
+documents, or it will locally improve the visual appearance of that
+document without changing anything on other pages. However, by the
+nature of the change it is also possible that there are further
+non-local changes to the page breaks due to the different break
+positions introduced by the fix.
+
+Thus, for documents that have been written before 2015 and that should
+be preserved unchanged at all costs you may have to add
+\begin{verbatim}
+\RequirePackage[2014/01/01]{latexrelease}
+\end{verbatim}
+at the top of the document, to roll back the format to a date before
+the policy change.
+
+\end{document}
diff --git a/macros/latex/base/ltnews27.pdf b/macros/latex/base/ltnews27.pdf
new file mode 100644
index 0000000000..a9f90cfc34
--- /dev/null
+++ b/macros/latex/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews27.tex b/macros/latex/base/ltnews27.tex
new file mode 100644
index 0000000000..37b2fcf89e
--- /dev/null
+++ b/macros/latex/base/ltnews27.tex
@@ -0,0 +1,135 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2017-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews27.tex
+%
+% This is issue 27 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\publicationmonth{April}
+\publicationyear{2017}
+
+\publicationissue{27}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+\section{ISO 8601 Date format}
+Since before the first releases of \LaTeXe, \LaTeX\ has used a date
+format in the form \textsc{yyyy/mm/dd}. This has many advantages over more
+conventional formats, as it is easy to sort and avoids the unfortunate
+ambiguity between different communities as to whether 01/02/2017 is the
+1st of February or 2nd of January.
+
+However there is another date format, formalised by the
+International Standard ISO~8601. The basic format defined by this
+standard is functionally equivalent to the \LaTeX\ format, but using
+\texttt{-} rather than \texttt{/}. This date format is now supported
+in many Operating Systems and applications
+(for example the \verb|date --iso-8601| command in Linux and similar systems).
+
+From this release, \LaTeX\ will accept ISO format date strings in the
+date argument of \verb|\ProvidesPackage|, \verb|\usepackage|, etc.
+Currently we recommend that you do not use this format in any packages
+that need to work with older \LaTeX\ releases;
+the \textsf{latexrelease} package may be used with older releases to
+ add this functionality. This change is handled in a special way by
+ \textsf{latexrelease}: The package always adds support for ISO dates
+whatever format date is requested; this is required so that the
+necessary date comparisons may be made.
+
+The new functionality can be seen in the startup banner which
+advertises \texttt{LaTeX2e <2017-04-15>}.
+
+\section{Further TU encoding improvements}
+The 2017/01/01 release saw the introduction of the new TU encoding for
+specifying Unicode fonts with \hologo{LuaTeX} and
+\hologo{XeTeX}. There were a number of small corrections and additions
+in the patch releases updating 2017/01/01, and a further addition in
+this release, notably extended support for the dot-under accent,
+\verb|\d|.
+
+
+\section{Disabling hyphenation}
+The existing \LaTeX\ code for \verb|\verb| and \verb|verbatim| had some
+issues when used with fonts that were not loaded with hyphenation
+disabled via setting \verb|\hyphenchar| to $-1$. In this release these
+verbatim environments use a \verb|\language| setting,
+\verb|\l@nohyphenation|, that has no hyphenation patterns associated.
+
+The format ensures that a language has been allocated with this name.
+For most users this will in fact be no change as the standard
+\textsf{babel} language has for a long time allocated a language with
+this name.
+
+In order that page breaks in \texttt{verbatim} do not influence the
+language used in the page head and foot, the format now normalises the
+language used in the output routine to a default language as described
+below.
+
+\section{Discretionary hyphenation}
+The \LaTeX\ definition of \verb|\-| has been adjusted so that it will
+insert the current font's \verb|\hyphenchar|, as would the
+\TeX\ primitive. A comment in \textsf{source2e} has given
+this new definition since the first releases of \LaTeXe, and in this
+release we finally acted upon this comment. Previously \verb|\-|
+always inserted a \texttt{-} at a break point even if a different
+character would be used for automatic hyphenation with the current font.
+
+\section{Default document language}
+
+A new integer parameter \verb|\document@default@language| is
+introduced; this is initialised to $-1$ but is set at
+\verb|\begin{document}| to the language in force at that time if it
+ has not been set by preamble code. This is very similar to the
+ handling of the default color, and is used in a similar way to
+ normalise the settings for page head and foot as described above.
+Users should not normally need to set this explicitly but it is expected that
+language packages such as \textsf{babel} may set this if the default
+behaviour is not suitable.
+
+\section{Line spacing in parboxes}
+Inside a \verb|\parbox|
+\LaTeX\ normalises the baseline spacing. However it has not
+previously reset \verb|\lineskiplimit|. This meant that
+lines of a paragraph that have ascenders or descenders could be set
+with \emph{closer} line spacing than lines without. This can easily
+happen if you use a \verb|\parbox| in an AMS alignment, as they use a
+relatively large value of \verb|\lineskiplimit|.
+As usual, the \textsf{latexrelease} package may be used to
+force the older behavior.
+
+\end{document}
diff --git a/macros/latex/base/ltnews28.pdf b/macros/latex/base/ltnews28.pdf
new file mode 100644
index 0000000000..bf2a5d93e7
--- /dev/null
+++ b/macros/latex/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews28.tex b/macros/latex/base/ltnews28.tex
new file mode 100644
index 0000000000..c8af784081
--- /dev/null
+++ b/macros/latex/base/ltnews28.tex
@@ -0,0 +1,365 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2017-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews28.tex
+%
+% This is issue 28 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\providecommand\acro[1]{\textsc{#1}}
+\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+
+
+\publicationmonth{April}
+\publicationyear{2018}
+
+\publicationissue{28}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+\section{A new home for \LaTeXe{} sources}
+
+In the past the development version of the \LaTeXe{} source files has
+been managed in a Subversion source control system with read access
+for the public. This way it was possible to download in an emergency
+the latest version even before it was released to CTAN and made its
+way into the various distributions.
+
+We have recently changed this setup and now manage the sources using
+Git and placed the master sources on GitHub at
+\begin{quote}
+\url{https://github.com/latex3/latex2e}
+\end{quote}
+where we already store the sources
+for \pkg{expl3} and other work. As before, direct write access is restricted
+to \LaTeX{} Project Team members, but everything is publicly accessible
+including the ability to download, clone (using Git) or checkout
+(using SVN). More details are given in~\cite{Mittelbach:TB39-1}.
+
+\section{Bug reports for core \LaTeXe{}}
+
+For more than two decades we used GNATS, an open source bug tracking
+system developed by the FSF. While that has served us well in the past
+it started to show its age more and more. So as part of this move we
+also decided to finally retire the old \LaTeX{} bug database and replace
+it with the standard ``Issue Tracker'' available at Github.
+
+The requirements and the workflow for reporting a bug in the core
+\LaTeX{} software is documented at
+\begin{quote}
+\url{https://www.latex-project.org/bugs/}
+\end{quote}
+and with further details also discussed in~\cite{Mittelbach:TB39-1}.
+
+
+\section{UTF-8: the new default input encoding}
+
+The first \TeX{} implementations only supported reading 7-bit
+\acro{ascii} files---any accented or otherwise ``special'' character
+had to be entered using commands, if it could be represented at
+all. For example to obtain an ``\"a'' one would enter \verb=\"a=, and to
+typeset a ``\ss'' the command \verb=\ss=. Furthermore fonts at that
+time had 128 glyphs inside, holding the \acro{ascii} characters, some
+accents to build composite glyphs from a letter and an accent, and a
+few special symbols such as parentheses, etc.
+
+With 8-bit \TeX{} engines such as \hologo{pdfTeX} this situation changed
+somewhat: it was now possible to process 8-bit files, i.e., files that
+could encode 256 different characters. However, 256 is still a fairly
+small number and with this limitation it is only possible to encode a
+few languages and for other languages one would need to change the
+encoding (i.e., interpret the character positions 0--255 in a
+different way). The first code points 0--127 were essentially normed
+(corresponding to \acro{ascii}) while the second half 128--255 would
+vary by holding different accented characters to support a certain set
+of languages.
+
+Each computer used one of these encodings when storing or interpreting
+files and as long as two computers used the same encoding it was
+(easily) possible to exchange files between them and have them
+interpreted and processed correctly.
+
+But different computers may have used different encodings and given
+that a computer file is simply a sequence of bytes with no indication for
+which encoding is intended, chaos could easily happen and has
+happened. For example, the German word ``Gr\"o\ss e'' (height) entered on a
+German keyboard could show up as ``Gr\v T\`ae'' on a different
+computer using a different encoding by default.
+
+So in summmary the situation wasn't at all good and it was clear in
+the early nineties that \LaTeXe{} (that was being developed to provide
+a \LaTeX{} version usable across the world) had to provide a solution
+to this issue.
+
+The \LaTeXe{} answer was the introduction of the \package{inputenc}
+package~\cite{Mittelbach:Brno95} through which it is possible to
+provide support for multiple encodings. It also allows to correctly
+process a file written in one encoding on a computer using a different
+encoding and even supports documents where the encoding changes
+midway.
+
+Since the first release of \LaTeXe{} in 1994, \LaTeX{} documents that
+used any characters outside \acro{ascii} in the source (i.e. any
+characters in the range of 128--255) were supposed to load
+\package{inputenc} and specify in which file encoding they were
+written and stored.
+%
+If the \package{inputenc} package was not loaded then \LaTeX{} used a
+``raw'' encoding which essentially took each byte from the input file
+and typeset the glyph that happened to be in that position in the
+current font---something that sometimes produces the right result but
+often enough will not.
+
+In 1992 Ken Thompson and Rob Pike developed the UTF-8 encoding scheme
+which enables the encoding of all Unicode characters within 8-bit sequences.
+Over time this encoding has gradually taken over the world,
+replacing the legacy 8-bit encodings used before. These days all major
+computer operating systems use UTF-8 to store their files and it
+requires some effort to explicitly store files in one of the legacy
+encodings.
+
+As a result, whenever \LaTeX{} users want to use any accented
+characters from their keyboard (instead of resorting to \verb=\"a= and
+the like) they always have to use
+\begin{verbatim}
+ \usepackage[utf8]{inputenc}
+\end{verbatim}
+in the preamble of their documents as otherwise \LaTeX{} will produce
+gibberish.
+
+\subsection{The new default}
+
+With this release, the default encoding for \LaTeX\ files has been
+changed from the ``fall through raw'' encoding to UTF-8 if used with
+classic \TeX\ or \hologo{pdfTeX}. The implementation is essentially
+the same as the existing UTF-8 support from
+\verb|\usepackage[utf8]{inputenc}|.
+
+The \hologo{LuaTeX} and \hologo{XeTeX} engines always supported the
+UTF-8 encoding as their native (and only) input encoding, so with
+these engines \package{inputenc} was always a no-op.
+
+This means that with new documents one can assume UTF-8 input and it
+is no longer required to always specify
+\verb|\usepackage[utf8]{inputenc}|. But if this line is present it
+will not hurt either.
+
+
+\subsection{Compatibility}
+
+For most existing documents this change will be transparent:
+\begin{itemize}
+\item documents using only \acro{ascii} in the input file and
+ accessing accented characters via commands;
+\item documents that specified the encoding of their file via an
+ option to the \package{inputenc} package and then used 8-bit
+ characters in that encoding;
+\item documents that already had been stored in UTF-8 (whether or not
+ specifying this via \package{inputenc}).
+\end{itemize}
+Only documents that have been stored in a legacy encoding and used
+accented letters from the keyboard \emph{without} loading
+\package{inputenc} (relying on the similarities between the input used
+and the T1 font encoding) are affected.
+
+These documents will now generate an error that they contain invalid
+UTF-8 sequences. However, such documents may be easily processed by
+adding the new command \verb|\UseRawInputEncoding| as the first line
+of the file. This will re-instate the previous ``raw'' encoding
+default.
+
+\verb|\UseRawInputEncoding| may also be used on the command line to
+process existing files without requiring the file to be edited
+\begin{verbatim}
+ pdflatex '\UseRawInputEncoding \input' file
+\end{verbatim}
+will process the file using the previous default encoding.
+
+Possible alternatives are reencoding the file to UTF-8 using a tool
+(such as recode or iconv or an editor) or adding the line
+\begin{flushleft}
+\verb= \usepackage[=\meta{encoding}\verb=]{inputenc}=
+\end{flushleft}
+to the preamble specifying the \meta{encoding} that fits the file
+encoding. In many cases this will be \texttt{latin1} or
+\texttt{cp1252}. For other encoding names and their meaning see the
+\package{inputenc} documentation.
+
+As usual, this change may also be reverted via the more general
+\package{latexrelease} package mechanism, by speciying a release date
+earlier than this release.
+
+
+\subsection{BOM: byte order mark handling}
+
+When using Unicode the first bytes of a file may be a, so called, BOM
+character (byte order mark) to indicate the byte oder used in the
+file. While this is not required with UTF-8 encoded files (where the
+byte order is known) it is nevertheless allowed by the standard and
+some editors add that byte sequence to the beginning of a file. In the
+past such files would have generated a ``Missing begin document''
+error or displayed strange characters when loaded at a later stage.
+
+With the addition of UTF-8 support to the kernel it is now possible to
+identify and ignore such BOMs characters even before
+\verb=\documentclass= so that these issues will no longer be showing
+up.
+
+
+
+\section[A general rollback concept]
+ {A general rollback concept for packages and classes}
+
+ In 2015 a rollback concept for the \LaTeX{} kernel was introduced.
+ Providing this feature allowed us to make corrections to the
+ software (which more or less didn't happen for nearly two decades)
+ while continuing to maintain backward compatibility to the highest
+ degree.
+
+ In this release we have now extended this concept to
+ the world of packages and classes which was not covered
+ initially. As the classes and the extension packages have different
+ requirements compared to the kernel, the approach is different (and
+ simplified). This should make it easy for package developers to
+ apply it to their packages and authors to use when necessary.
+
+ The documentation of this new feature is given in an article
+ submitted to TUGboat and also available from our
+ website~\cite{Mittelbach:TB39-2}.
+
+
+\section[Integration of \pkg{remreset} and \pkg{chngcntr} packages]
+ {Integration of \pkg{remreset} and \pkg{chngcntr} packages
+ into the kernel}
+
+With the optional argument to \cs{newcounter} \LaTeX{} offers to
+automatically reset counters when some counter is stepped, e.g.,
+stepping a \texttt{chapter} counter resets the \texttt{section}
+counter (and recursively all other heading counters). However, what
+was until now missing was a way to undo such a link between counters
+or to link two counters after they have been defined.
+
+This can be now be done with \cs{counterwithin} and \cs{counterwithout},
+respectively. In the past one had to load the \pkg{chngcntr} package
+for this. For the programming level we also added
+\cs{@removefromreset} as the counterpart of the already existing
+\cs{@addtoreset} command. Up to now this was offered by the
+\pkg{remreset} package.
+
+\section{Testing for undefined commands}
+\LaTeX\ packages often use a test \verb|\@ifundefined| to test if a command
+is defined. Unfortunately this had the side effect of \emph{defining}
+the command to \verb|\relax| in the case that it had no definition.
+ The new release uses a modified definition
+(using extra testing possibilities available in \hologo{eTeX}. The new definition
+is more natural, however code that was relying on the side effect of the
+command being tested being defined if it was previously undefined may have to add
+\verb|\let\|\meta{command}\verb|\relax|.
+
+
+\section{Changes to packages in the tools category}
+
+\subsection{\LaTeX{} table columns with fixed widths}
+
+Frank published a short paper in
+TUGboat~\cite{Mittelbach:TB38-2-213} on producing tables that have
+columns with fixed widths. The outlined approach using column
+specifiers ``\texttt{w}'' and ``\texttt{W}'' has now been integrated
+into the \pkg{array} package.
+
+\subsection{Obscure overprinting with \pkg{multicol} fixed}
+
+A rather peculiar bug was reported on StackExchange for
+\pkg{multicol}. If the column/page breaking was fully controlled by
+the user (through \cs{columnbreak}) instead of letting the environment
+do its job and if then more \cs{columnbreak} commands showed up on the
+last page then the balancing algorithm was thrown off track.
+As a result some parts of the columns did overprint each other.
+
+The fix required a redesign of the output routines used by
+\pkg{multicol} and while it ``should'' be transparent in other cases
+(and all tests in the regession test suite came out fine) there is the
+off-chance that code that hooked into internals of \pkg{multicol}
+needs adjustment.
+
+
+\section{Changes to packages in the amsmath category}
+
+With this release of \LaTeX{} a few minor issues with \pkg{amsmath}
+have been corrected.
+
+\subsection{Updated user's guide}
+
+Furthermore, \texttt{amsldoc.pdf}, the AMS user's
+guide for the \pkg{amsmath} package~\cite{amsldoc}, has been updated
+from version~2.0 to~2.1 to incorporate changes and corrections made
+between 2016 and 2018.
+
+
+\begin{thebibliography}{9}
+
+\bibitem{Mittelbach:TB39-1} Frank Mittelbach:
+ \emph{New rules for reporting bugs in the \LaTeX{} core software}.
+ In: TUGboat, 39\#1, 2018.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:Brno95} Frank Mittelbach:
+ \emph{\LaTeXe{} Encoding Interface --- Purpose, concepts, and
+ Open Problems}.
+ Talk given in Brno June 1995.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:TB39-2} Frank Mittelbach:
+ \emph{A rollback concept for packages and classes}.
+ Submitted to TUGboat.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:TB38-2-213} Frank Mittelbach:
+ \emph{\LaTeX{} table columns with fixed widths}.
+ In: TUGboat, 38\#2, 2017.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{amsldoc} American Mathematical Society and The \LaTeX3 Project:
+ \emph{User's Guide for the \texttt{amsmath} package} (Version 2.1).
+ April 2018.
+ Available from
+ \url{https://www.ctan.org}
+ and distributed as part of every \LaTeX{} distribution.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/macros/latex/base/ltnews29.pdf b/macros/latex/base/ltnews29.pdf
new file mode 100644
index 0000000000..329f21266b
--- /dev/null
+++ b/macros/latex/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews29.tex b/macros/latex/base/ltnews29.tex
new file mode 100644
index 0000000000..78a1b2e60f
--- /dev/null
+++ b/macros/latex/base/ltnews29.tex
@@ -0,0 +1,526 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2018-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews29.tex
+%
+% This is issue 29 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\usepackage{csquotes}
+
+\providecommand\acro[1]{\textsc{#1}}
+\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+
+
+\providecommand\XeTeX{\hologo{XeTeX}}
+\providecommand\LuaTeX{\hologo{LuaTeX}}
+\providecommand\pdfTeX{\hologo{pdfTeX}}
+
+\newcommand\githubissue[2][]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}%
+ {github issue#1 #2}%
+ )}%
+ \par}
+
+% simple solution right now (just link to the first issue if there are more)
+\def\getfirstgithubissue#1 #2\relax{#1}
+
+\newcommand\sxissue[1]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
+
+\let\cls\pkg
+\newcommand\env[1]{\texttt{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\iffalse % only for TUB production
+\usepackage{graphicx}
+\makeatletter
+% Xe\TeX{} requires reflecting the first E, hence we complain if the
+% graphics package is not present. (For plain documents, this can be
+% loaded via Eplain.) Also, at Barbara's suggestion, if the current
+% font is slanted, we rotate by 180 instead of reflecting so there is at
+% least a chance to look ok. (The magic values here seem more or less
+% ok for \texttt{cmsl} and \texttt{cmti}.)
+%
+% \begin{macrocode}
+\def\tubreflect#1{%
+ \@ifundefined{reflectbox}{%
+ \TBerror{A graphics package must be loaded for \string\XeTeX}%
+ }{%
+ \ifdim \fontdimen1\font>0pt
+ \raise 1.6ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
+ \else
+ \reflectbox{#1}%
+ \fi
+ }%
+}
+\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 }
+\def\XekernbeforeE{-.125em}
+\def\XekernafterE{-.1667em}
+\DeclareRobustCommand{\Xe}{\leavevmode
+ \tubhideheight{\hbox{X%
+ \setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
+ \ifdim \fontdimen1\font>0pt \def\XekernbeforeE{0em}\fi
+ \lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
+ \kern\XekernafterE}}}
+\def\XeTeX{\Xe\TeX}
+\def\XeLaTeX{\Xe{\kern.11em \LaTeX}}
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\publicationmonth{December}
+\publicationyear{2018}
+
+\publicationissue{29}
+
+\begin{document}
+
+%\addtolength\textheight{4.2pc} % only for TUB
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+\bigskip
+
+\section{Introduction}
+
+The December 2018 release of \LaTeX{} is a maintenance release in
+which we have fixed a few bugs in the software: some are old, some
+newer, and they are mostly rather obscure.
+
+\section[Bug reports for core \LaTeXe{} and packages]
+ {Bug reports for core \LaTeXe{} and packages maintained by the Project Team}
+
+In Spring 2018 we established a new issue tracking system
+(Github issues at \url{https://github.com/latex3/latex2e/issues}) for both
+the \LaTeX{} core and the packages maintained by the
+\LaTeX{} Project Team, with an updated procedure for how to report a
+bug or problem.
+
+Initial experience with this system is good, with people who report
+problems following the guidelines and including helpful working
+examples to show the problem---thanks for doing this.
+
+The detailed requirements and the workflow for reporting a bug in the
+core \LaTeX{} software is documented at
+\begin{quote}
+\url{https://www.latex-project.org/bugs/}
+\end{quote}
+with further details and discussion in~\cite{29:Mittelbach:TB39-1}.
+
+
+\section{Changes to the \LaTeX{} kernel}
+
+\subsection{UTF-8:\ updates to the default input encoding}
+
+In the April 2018 release of \LaTeX{} we changed the default encoding
+from 7-bit \acro{ascii} to \acro{utf}-8 when using classic \TeX\ or
+\hologo{pdfTeX}; see \textit{\LaTeX{} News~28}~\cite{29:ltnews28} for
+details.
+
+Now, after half a year of experience with
+this new default,
+we have
+made a small number of adjustments to further improve the user experience.
+These include:
+\begin{itemize}
+\item
+ Some improvements when displaying error messages about \acro{utf}-8
+ characters that have not been set up for use with \LaTeX{},
+ or are invalid for some other reason;
+%
+\githubissue[s]{60, 62 and 63}
+%
+\item
+ The addition of a number of previously missing declarations for
+ characters that are in fact available with the default fonts, e.g.,
+ \cs{j} \enquote{\j} (0237), \cs{SS} \enquote{\SS} (1E9E),
+ \verb=\k{}= \enquote{\k{ }} (02DB) and \verb=\.{}= \enquote{\.{ }}
+ (02D9);
+\item
+ Correcting the names for \cs{guillemetleft}
+ \enquote{\guillemotleft} and \cs{guillemetright}
+ \enquote{\guillemotright} in all encoding files. These correct
+ names are in addition to the old (but wrong) Adobe names: Adobe
+ mistakenly called them Guillemot, which is a sea bird.
+%
+ \githubissue{65}
+%
+\item
+ Added \cs{Hwithstroke} (\enquote{\Hwithstroke}) and \cs{hwithstroke}
+ (\enquote{\hwithstroke}) necessary for typesetting Maltese.
+%
+ \sxissue{q/460110}
+\end{itemize}
+
+
+
+\subsection{Fixed \cs{verb*} and friends in \texorpdfstring{\XeTeX}{XeTeX} and \LuaTeX{}}
+
+
+The original \cs{verb*} and \texttt{verbatim*} in \LaTeX{} were coded
+under the assumption that the position of the space character (i.e.,
+\acro{ascii} 32) in a typewriter font contains a visible space glyph
+``\verb*= =''. This is correct for \pdfTeX{} with the most used font
+encodings \texttt{OT1} and \texttt{T1}. However, this unfortunately
+does not work for Unicode engines using the \texttt{TU} encoding since
+the space character slot (\acro{ascii} 32) then usually contains a real
+(normal) space, which has the effect that \cs{verb*} produces the same
+results as \cs{verb}.
+
+The \cs{verb*} code now always uses the newly introduced command
+\cs{verbvisiblespace} to produce the visible space character and this
+command will get appropriate definitions for use with the different
+engines. With \pdfTeX{} it will simply use \cs{asciispace}, which is
+a posh name for ``select character 32 in the current font'', but with
+Unicode engines the default definition is
+\begin{verbatim}
+ \DeclareRobustCommand\verbvisiblespace
+ {\leavevmode
+ {\usefont{OT1}{cmtt}{m}{n}\asciispace}}
+\end{verbatim}
+which uses the visible space from the font Computer Modern Typewriter,
+regardless of the currently chosen typewriter font. Internally the
+code ensures that the character used has exactly the same width as the
+other characters in the current (monospaced) font; thus, for example,
+code displays line up properly.
+
+It is possible to redefine this command to select your own character,
+for example
+\begin{verbatim}
+ \DeclareRobustCommand\verbvisiblespace
+ {\textvisiblespace}
+\end{verbatim}
+will select the the ``official'' visible space character of the
+current font. This may look like the natural default, but it wasn't
+chosen as our default because many fonts just don't have that Unicode
+character, or they have one with a strange shape.
+%
+\githubissue[s]{69 and 70}
+
+
+\subsection{Error message corrected}
+Trying to redefine an undefined command could in a few cases generate
+an error message with a missing space, e.g.,
+\verb=\renewcommand\1{...}= gave
+\begin{verbatim}
+ LaTeX Error: \1undefined.
+\end{verbatim}
+This is now fixed.
+%
+\githubissue{41}
+
+
+\subsection{Fixed fatal link error with \pkg{hyperref}}
+
+If an \cs{href} link text gets broken across pages, \pdfTeX{} and
+\LuaTeX{} will generate a fatal error unless both parts of the link
+are internally at the same boxing level. In two-column mode that was
+not the case if one of the pages had spanning top floats. This has now
+been changed so that the error is avoided.
+%
+\githubissue{94}
+
+
+\subsection{Avoid page breaks caused by invisible commands}
+
+Commands like \cs{label} or \cs{index} could generate a potential page
+break in places where a page break was otherwise prohibited, e.g.,
+when used between two consecutive headings. This has now been
+corrected. If for some reason you really want a break and you relied
+on this faulty behavior, you can always add one using \cs{pagebreak},
+with or without an optional argument.
+%
+\githubissue{81}
+
+
+
+\subsection{Prevent spurious spaces when reading table of contents data}
+
+When table of contents data is read in from a \texttt{.toc} file, the
+new-line character at the end of each line is converted by \TeX{} to a
+space. In normal processing this is harmless (as \TeX{} is doing this
+input reading whilst in vertical mode and each line in the file
+represents a single line (paragraph) in the table of contents. If,
+however, this is done in horizontal mode, which is sometimes the case,
+then these spaces will appear in the output. If you then omit some of
+the input lines (e.g., because you do not display \acro{toc} data below a
+certain level), then these spaces accumulate in the typeset output and
+you get surprising, and unwanted, gaps inside the text.
+
+The new code now adds a \texttt{\%} sign at the end of problematic
+lines in the \texttt{.toc} file so that \TeX{} will not generate such
+spaces that may survive to spoil the printed result. As some third
+party packages have augmented or changed the core \LaTeX{}
+functionality in that area (for example, by adding additional
+arguments to the commands in \acro{toc} files) the code uses a conservative
+approach and the \texttt{\%} signs are added only when certain
+conditions are met. Therefore some packages might require updates if
+they want to benefit from this correction, especially if they
+unconditionally overwrite \LaTeX{}'s \cs{addcontentsline} definition.
+%
+\githubissue{73}
+
+
+\subsection{Prevent protrusion in table of contents lines}
+
+In \TeX{}'s internal processing model,
+paragraph data is one of the
+major data structures. As a result,
+many things are internally modeled
+as paragraphs even if they are not conceptually
+``text paragraphs'' in
+the traditional sense.
+In a few cases this has some surprising effects
+that are not always
+for the better. One example is
+standard \acro{toc} entries,
+where you have
+heading data followed by some dot leaders and a page
+number at the right, produced, for example, from this:
+\begin{quote}
+ \contentsline {subsection}{Error message corrected}{2}{section*.7}
+\end{quote}
+The space reserved for the page number is of a fixed width, so that
+the dots always end in the same place. Well, they did end in the same
+place until the advent of protrusion support in the \TeX{} engines.
+Now, with the \pkg{microtype} package loaded, it is possible that the
+page number will protrude slightly into the margin (even though it’s
+typeset inside a box) and as a result this page number box gets
+shifted. With enough bad luck this can get you another dot in the
+line, sticking out like the proverbial sore thumb, as exhibited in the
+question on StackExchange that triggered the correction.
+
+\LaTeX{} now takes care that there will be no protrusion happening on
+such lines, even if it is generally enabled for the whole document.
+%
+\sxissue{q/172785}
+
+
+
+\subsection{Start L-R mode for \cs{thinspace} and friends}
+
+In \LaTeX{}, commands that are intended only for paragraph (L-R) mode
+are generally careful to start paragraph mode if necessary; thus they
+can be used at the start of a paragraph without surprising and
+unwanted consequences. This important requirement had been overlooked
+for a few horizontal spacing commands, such as \cs{thinspace}
+(a.k.a.\ ``\cs{,}''), and for some other support commands such as
+\cs{smash} or \cs{phantom}. Thus they ended up adding vertical space
+when used at the beginning of a paragraph or, in the case of
+\cs{smash}, creating a paragraph of their own. This has now been
+corrected, and a corresponding update has been made to the
+\pkg{amsmath} package, in which these commands are also defined.
+%
+\githubissue[s]{49 and 50}
+
+
+
+\subsection{Guarding \cs{pfill} in \pkg{doc}}
+
+For presenting index entries pointing to
+code fragments and the like,
+the \pkg{doc} package has a \cs{pfill} command that
+generates within the index a line of dots leading from
+the command name to the page or code line numbers.
+If necessary it would automatically split the entry
+over two lines. That worked well enough for a quarter century, but we
+discovered recently that it is broken inside
+the \cls{ltugboat} class,
+where it sometimes produces
+bad spacing within continuation lines.
+
+The reason turned out to be a redefinition of the \LaTeX{} command
+\cs{nobreakspace} (\verb=~=) inside the class \cls{ltugboat}, which
+removed any preceding space (and thus unfortunately also removed the
+dots on the continuation line). While one can argue that this is a
+questionable redefinition (if only done by a single class and not generally),
+it has been in the class so long that changing it would
+certainly break older documents. So instead we now guard against that
+removal of space.
+%
+\githubissue[s]{25 and 75}
+
+
+
+
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\subsection{Sometimes the \pkg{trace} package turned off too much}
+
+The \pkg{trace} package is a useful little tool for tracing macro
+execution: it hides certain lengthy and typically uninteresting
+expansions resulting from font changes and similar activities.
+However, it had the problem that it also reset other tracing settings
+such as \cs{showoutput} in such situations, so that you couldn't use
+\cs{showoutput} in the preamble to get symbolic output of all the
+pages in the document. This has now been corrected.
+
+
+
+
+\subsection{Update to \pkg{xr}}
+
+The \pkg{xr} package has been updated so that the code that reads the
+\texttt{.aux} file has been made more robust. It now correctly
+ignores conditionals (added by \pkg{hyperref} and other packages)
+rather than generating low level parsing errors.
+\sxissue{a/452321}
+
+
+\subsection{Column data for \env{multicols*} sometimes vanished}
+
+In certain situations involving \env{multicols*}, when there are more
+explicit \cs{columnbreak} requests than there are columns on the
+current page, data could vanish due to the removal of an internal
+penalty marking the end of the environment. This has been corrected by
+explicitly reinserting that penalty if necessary.
+%
+\githubissue{53}
+
+\subsection{Extension to \cs{docolaction} in \pkg{multicol}}
+
+The \cs{docolaction} command can be used to carry out actions
+depending on the column you are currently in, i.e., first, any inner
+one (if more than two) or last. However, if the action generates text
+then there is the question: is this text part of the current column or
+the one after? That is, on the next run, do we test before or after it,
+to determine in which column we are?
+
+This is now resolved as follows: if you use \cs{docolaction*} any
+generated text by the chosen action is considered to be after the test
+point. But if you use the command without the star then all the material
+it generates will be placed before the test point to determine the
+current column, i.e., the text will become part of the current column
+and may affect the test result on the next run.
+
+
+
+\subsection{Prevent color leak in \pkg{array}}
+
+In some cases the color used inside a \env{tabular} cell could ``leak
+out'' into the surrounding text. This has been corrected.
+%
+\githubissue{72}
+
+\subsection{Support fragile commands in \texttt{array} or \texttt{tabular} column templates}
+
+The preamble specifiers \texttt{p}, \texttt{m} and \texttt{b} each receives
+a user supplied argument: the width of the paragraph column. Normally
+that is something harmless, like a length or a simple length
+expression. But in more complicated settings involving the \pkg{calc}
+package it could break with a low-level error message. This has now
+been corrected.
+%
+\sxissue{q/459285}
+
+
+
+\section{Changes to packages in the amsmath category}
+
+The changes in the kernel made for \cs{thinspace}, \cs{smash},
+etc.\ (see above) have been reflected in the \pkg{amsmath} package
+code, so that loading this package doesn't revert them.
+%
+\githubissue[s]{49 and 50}
+
+
+
+
+
+\section{Website updates}
+
+\subsection{Publications area reorganized and extended}
+
+To help readers to find relevant information in more convenient and
+easy ways, the area of the website covering publications by the
+\LaTeX{} Project Team was reorganized and extended (many more
+abstracts added). We now provide the articles, talks and supplementary
+data structured both by year and also by major
+topics~\cite{29:site-pub}. Feel free to take a look.
+
+\subsection{Japanese translations of the user's guide}
+
+Yukitoshi Fujimura has kindly translated
+into Japanese two documents that are
+distributed with standard \LaTeX{}.
+These are:
+\begin{itemize}
+\item
+ \LaTeXe{} for authors;
+\item
+ User's Guide for the \pkg{amsmath}~Package~\cite{29:amsldoc}.
+\end{itemize}
+They can be found on the website documentation page~\cite{29:site-doc}.
+You will now also find there a typeset version of the full \LaTeXe{}
+source code (with index etc.\@) and a number of other goodies.
+
+
+
+
+\begin{thebibliography}{9}
+
+\bibitem{29:Mittelbach:TB39-1} Frank Mittelbach:
+ \emph{New rules for reporting bugs in the \LaTeX{} core software}.
+ In: TUGboat, 39\#1, 2018.
+ \url{https://latex-project.org/publications/}
+
+\bibitem{29:ltnews28}
+ \emph{\LaTeX{} News, Issue 28}.
+ In: TUGboat, 39\#1, 2018.\\
+ \rlap{\url{https://latex-project.org/news/latex2e-news/}}
+
+\bibitem{29:site-doc}
+ \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+ \url{https://latex-project.org/documentation/}
+
+\bibitem{29:site-pub}
+ \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\
+ \url{https://latex-project.org/publications/}
+
+\bibitem{29:amsldoc} American Mathematical Society and The \LaTeX3 Project:
+ \emph{User's Guide for the \texttt{amsmath} Package} (Version 2.1).
+ April 2018.
+ Available from
+ \url{https://www.ctan.org}
+ and distributed as part of every \LaTeX{} distribution.
+
+\end{thebibliography}
+
+\end{document}
+
diff --git a/macros/latex/base/ltnews30.pdf b/macros/latex/base/ltnews30.pdf
new file mode 100644
index 0000000000..48b32ce65b
--- /dev/null
+++ b/macros/latex/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews30.tex b/macros/latex/base/ltnews30.tex
new file mode 100644
index 0000000000..cfc1430fb8
--- /dev/null
+++ b/macros/latex/base/ltnews30.tex
@@ -0,0 +1,668 @@
+% \iffalse meta-comment
+%
+% Copyright 2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews30.tex
+%
+% This is issue 30 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\usepackage{csquotes}
+
+\providecommand\acro[1]{\textsc{#1}}
+\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+\providecommand\option[1]{\texttt{#1}}
+\providecommand\env[1]{\texttt{#1}}
+
+
+\providecommand\XeTeX{\hologo{XeTeX}}
+\providecommand\LuaTeX{\hologo{LuaTeX}}
+\providecommand\pdfTeX{\hologo{pdfTeX}}
+\providecommand\MiKTeX{\hologo{MiKTeX}}
+\providecommand\CTAN{\textsc{ctan}}
+\providecommand\TL{\TeX\,Live}
+\providecommand\githubissue[2][]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}%
+ {github issue#1 #2}%
+ )}%
+ \par\smallskip}
+
+% simple solution right now (just link to the first issue if there are more)
+\def\getfirstgithubissue#1 #2\relax{#1}
+
+\providecommand\sxissue[1]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
+
+\providecommand\gnatsissue[2]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F#2}%
+ {gnats issue #1/#2}%
+ )}%
+ \par}
+
+\let\cls\pkg
+\providecommand\env[1]{\texttt{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\iffalse % only for TUB production
+\usepackage{graphicx}
+\makeatletter
+% Xe\TeX{} requires reflecting the first E, hence we complain if the
+% graphics package is not present. (For plain documents, this can be
+% loaded via Eplain.) Also, at Barbara's suggestion, if the current
+% font is slanted, we rotate by 180 instead of reflecting so there is at
+% least a chance to look ok. (The magic values here seem more or less
+% ok for \texttt{cmsl} and \texttt{cmti}.)
+%
+% \begin{macrocode}
+\def\tubreflect#1{%
+ \@ifundefined{reflectbox}{%
+ \TBerror{A graphics package must be loaded for \string\XeTeX}%
+ }{%
+ \ifdim \fontdimen1\font>0pt
+ \raise 1.6ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
+ \else
+ \reflectbox{#1}%
+ \fi
+ }%
+}
+\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 }
+\def\XekernbeforeE{-.125em}
+\def\XekernafterE{-.1667em}
+\DeclareRobustCommand{\Xe}{\leavevmode
+ \tubhideheight{\hbox{X%
+ \setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
+ \ifdim \fontdimen1\font>0pt \def\XekernbeforeE{0em}\fi
+ \lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
+ \kern\XekernafterE}}}
+\def\XeTeX{\Xe\TeX}
+\def\XeLaTeX{\Xe{\kern.11em \LaTeX}}
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\publicationmonth{October}
+\publicationyear{2019}
+
+\publicationissue{30}
+
+\begin{document}
+
+%\addtolength\textheight{4.2pc} % only for TUB
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+%\newpage
+
+\medskip
+
+
+%%CCC Does it need an intro?
+%% \section{Introduction}
+
+%% This document is under construction \ldots
+
+
+\section{\LaTeX\texttt{-dev} formats now available}
+
+
+We know that many of you, especially developers and maintainers of
+important packages, have a strong interest in a stable \LaTeX{}
+environment.
+
+In order to keep \LaTeX{} very stable for users whilst allowing for
+further development to continue, we now have a development branch of
+\LaTeX{} on GitHub containing development code for the upcoming
+release. When this code is ready for wider consumption and testing, we
+generate a pre-release of \LaTeX{} from this development branch and make
+it available on \CTAN.
+
+For users of the \TL{} and \MiKTeX{} distributions it is therefore now
+straightforward to test their documents and code against the upcoming
+\LaTeX{} release with ease, simply by selecting a different program name
+(when using the command line) or by selecting a menu entry (after
+setting it up; see below).
+
+If you do this then the latest version of the \LaTeX{} development format
+will be used to process your document, allowing you to test the
+upcoming release with your own documents and packages. For example, if
+you run
+\begin{verbatim}
+ pdflatex-dev myfile
+\end{verbatim}
+then you will be greeted on the screen with something like \texttt{LaTeX2e
+ <2019-10-01> pre-release-2} (identifying the pre-release format)
+instead of the normal \texttt{LaTeX2e <2018-12-01>}. In this
+pre-release you will find the latest new features that we have
+developed.
+
+\subsection{Our hopes}
+
+We don’t expect everybody to start using the development formats to
+participate in testing, but we hope that people with a strong interest
+in a stable \LaTeX{} environment (especially developers and maintainers
+of important packages) will use the new facilities and help us to
+ensure that future public releases of \LaTeX{} do not (as has happened in
+the past) require some immediate patches because of issues that were
+not identified by our internal regression test suite or by other
+testing
+we do.
+
+Any issue identified when using the development format should
+preferably be logged as an issue on GitHub, following the procedure
+outlined on our website at \url{https://www.latex-project.org/bugs/}
+including the use of the \pkg{latexbug} package as described.
+
+Our bug reporting process normally states that issues involving
+third-party software are out of scope as we can’t correct external
+packages; see~\cite{30:Mittelbach:TB39-1}. However, in the particular
+case of the development format showing an incompatibility with a
+third-party package, it is fine to open an issue with us (in addition,
+please, to informing the maintainer of that package) so that we know
+about the problem and can jointly work on resolving it.
+
+\subsection{Details please \ldots}
+
+More details and some background information about the concepts and
+the process are available in an upcoming \textsl{TUGboat} article: \enquote{The
+ \LaTeX{} release workflow and the \LaTeX{} dev
+ formats}~\cite{devformat}.
+
+\subsection{Setting up menu items}
+
+While the command line call works out of the box if you have a recent
+\TL{} or \MiKTeX{} installation, its use within an integrated
+editing environment doesn’t at this point in time (maybe the
+developers of these editors will include it in the future). However,
+it is normally fairly simple to enable it as most (or even all?)\ of
+them provide simple ways to call your own setup. How this works in
+detail depends very much on the environment you use, so we can’t give
+much help here.
+
+But as an example: to provide an additional menu entry for
+\texttt{XeLaTeX-dev} on a MacBook all that is necessary is to copy
+the file \texttt{XeLaTeX.engine} to \texttt{XeLaTeX-dev.engine} and change the
+call from \texttt{xelatex} to \texttt{xelatex-dev} inside.
+
+
+
+
+\section{Improving Unicode handling in \pdfTeX{}}
+
+Perhaps the most important improvement in this release is
+even
+better support for \acro{utf}-8 characters when using \pdfTeX{}.\footnote{The
+ Japanese engines e-p\TeX{} and e-up\TeX{} can't use these features
+ yet as they don't support the primitive \cs{ifincsname}. Work is
+ under way to resolve this in the engines.}
+
+When using a \enquote{Unicode engine},
+any Unicode character (that is not acting as a command,
+i.e., is not \enquote{active})
+can be used as part of the
+\cs{label}/\cs{ref} mechanism or can be displayed in a message or
+written to a file. In 8-bit engines, however, this was severely
+restricted:
+essentially you had to limit yourself to using
+\acro{ascii} letters, digits and a few punctuation symbols. With the
+new release, most of these restrictions have been removed and you now
+can write labels such as
+\begin{verbatim}
+ \label{eq:größer}
+\end{verbatim}
+or use accented characters, etc., as part of a \cs{typeout} message.
+The only requirement remaining is that only those \acro{utf}-8 characters
+that are also available for typesetting can be used, i.e., only those
+characters for
+which adequate font support is loaded. Otherwise you will get an
+error message stating that
+the
+particular Unicode character is not set
+up for use with \LaTeX{}.
+
+Note, however, that the restrictions on what characters can be
+used in the names of commands have not changed.
+
+What is not possible when using
+an 8-bit engine such as \pdfTeX{} is to use
+characters other than \acro{ascii} letters as part of a command
+name. This is due to the fact that all other characters in such
+engines are not single character tokens, but in fact consist of a
+sequence of bytes and this is not supported in command names.
+
+\section{Improving file name handling in \pdfTeX{}}
+
+A related change is that file names used as part of \cs{input},
+\cs{includegraphics}, etc., commands
+can now contain any
+Unicode characters allowed by the file system in use,
+including spaces.
+In this case,
+ even characters that can't be typeset
+(due to lack of font support) can be used.
+
+
+\section{Improving the \env{filecontents} environment}
+
+The \env{filecontents} environment now supports an optional argument
+in which you can specify that it is allowed to \option{overwrite} an
+already existing file;
+ by default nothing is written if a file with the given name
+exists anywhere in the search tree. An alternative name for this
+option is \texttt{force}.
+Even then the environment will refuse to write
+to \cs{jobname}\texttt{.tex} to avoid clobbering its own input
+file. However, if you use a different extension on your input file you
+could still overwrite it (there is no way to test for that).
+
+There is also an
+option
+\option{nosearch},
+which specifies that only the current directory is
+examined for an existing file, not the whole \TeX{} inputs tree.
+This is useful if you want to write a
+local copy of a standard system file.
+Finally, \option{noheader} prevents writing a preamble to the file
+(this
+is the same as using the star form of the environment).
+
+Another change is that this
+environment is
+now allowed anywhere in the document,
+which means
+it provides everything (and more) of what the now obsolete
+\pkg{filecontents} package provided.
+
+
+
+\section{Making more user commands robust}
+
+In the early days of \LaTeX{} many commands were fragile, i.e., they
+needed \cs{protect} in front of them when used in places such as
+section headings and other \enquote{moving arguments}, etc.
+In \LaTeXe{} many of these commands were made robust,
+but still a fairly large number remained unnecessarily fragile.
+
+In this release of \LaTeX{} we have now
+made a lot more commands robust.
+There is a very small collection of commands that must stay fragile
+because their expansion (maybe partially) at just the right time is critical.
+Yet others are unlikely to ever be needed in a \enquote{moving argument}.
+
+Doing this for \cs{begin} and \cs{end} was rather tricky as the
+standard mechanism with \cs{DeclareRobustCommand} doesn't work here,
+at least not for \cs{end} as that needs to expand during typesetting
+without generating a \cs{relax} (from the \cs{protect}). Such a token
+would start a new row in table environments, such as \texttt{tabular},
+etc. Furthermore, some packages try to look into the definition of
+\cs{end} by expanding it several times. Thus expansion with
+\cs{expandafter} had to produce exactly the same result as before. But
+in the end we overcame that hurdle too, so now environments are
+automatically robust if used in places like headings or
+\verb=\typeout= and so forth.
+
+%%CCC do we need to say something about possible problems if other packages
+%% or documents have redefined commands whose robustness has changed?
+
+What hasn't been tackled yet is the redefinitions in \pkg{amsmath}:
+this package
+redefines a number of basic math constructs
+that are now robust, so that
+they become fragile again
+once the package is loaded.
+This area will be addressed in a followup release.
+%
+\githubissue{123}
+
+
+
+\section{Other changes to the \LaTeX{} kernel}
+
+\subsection{Guard against \cs{unskip} in tabular cells}
+
+If a \env{tabular} or \env{array} cell started with a
+command that started with an
+\cs{unskip}
+then centering the column broke
+ because the stretching glue
+ on the left got removed. The fix for this was to add
+ a minuscule, and hence unnoticeable, additional space after the stretching space:
+removing this extra space causes no problems.
+
+This change was also applied in the \pkg{array} package.
+
+\githubissue{102}
+
+
+\subsection{Fix Unicode table data}
+
+\texttt{U+012F} which is \enquote{i with ogonek} produced a
+\enquote{dotless i with ogonek} by mistake. This has been corrected.
+
+\githubissue{122}
+
+The Unicode slots \texttt{27E8} and \texttt{27E9} have been mapped to
+\cs{textlangle} and \cs{textrangle} which is the recommended mapping.
+In the past they raised a
+\\
+\LaTeX{} error.
+%
+\githubissue{110}
+
+When doing cut-and-paste from other documents or websites, f-ligatures and others ligatures
+might end up as
+single Unicode characters in your file. In the past those got rejected by \LaTeX{}.
+ We
+ now define those Unicode slots and map them back to the sequence of
+ individual characters constituting the ligature.
+If supported by the current font
+(which is normally the case) they
+are then reconstructed as ligatures and thus get typeset
+as desired.
+Otherwise they will come out as individual characters which
+is still better than an error message.
+
+\githubissue{154}
+
+
+\subsection{Improve \cs{InputIfFileExists}'s handling of file names}
+
+In rare circumstances it was possible that \cs{InputIfFileExists}
+would work incorrectly, e.g., a construction such as
+\begin{verbatim}
+\InputIfFileExists{foo}{\input{bar}}{}
+\end{verbatim}
+would not load the files \texttt{foo.tex} and \texttt{bar.tex} but
+would load \texttt{bar.tex} twice. This has been corrected.
+
+\githubissue{109}
+
+
+\subsection{Improve interface for cross-references}
+
+%%CCC should be 'provide' as they still exist. FMi - no they no longer do that
+The packages \pkg{fncylab} and \pkg{varioref} provided
+a slightly
+improved definition of \cs{refstepcounter} which allowed
+the internal
+\cs{p@..} commands to receive the counter value as an argument,
+instead of
+acting as a simple prefix. This supports
+more complex
+formatting of the value in the reference.
+
+
+These packages also provided
+the command \cs{labelformat} to help in the specification of
+such formatting in an easy way. For
+example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that
+references to equations
+automatically come out as
+\enquote{eq.~(5)} or similar. As such a \cs{labelformat} declaration
+means a \cs{ref} command can no
+longer be successfully used at the start of a sentence, the packages also
+provided \cs{Ref} for such scenarios.
+
+Both of these commands, \cs{labelformat} and \cs{Ref},
+are now removed from the packages and instead made available in
+the kernel so there is no
+need to load additional packages.
+
+
+
+
+\subsection{Improve wording of a warning message}
+
+The kernel now says \enquote{Trying to load \ldots}
+instead of \enquote{Try loading \ldots} in one of its informal
+messages to match style of similar messages.
+%
+\githubissue{107}
+
+
+\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}}
+
+As a side effect of setting up the error font for \acro{nfss}, this
+declaration also changed the current font size back to 10pt.
+In most
+circumstances that doesn't matter, because that declaration was meant
+to be used only during the format generation and not during
+a \LaTeX{} run.
+However, it has turned out to be
+used by some developers in other places
+(incorrectly in fact:
+e.g., inside some \texttt{.fd} files) where
+resetting the size causes
+havoc
+seemingly at random.
+The command has now changed to not produce such side effects.
+
+\gnatsissue{latex}{4399}
+
+
+
+\subsection{\pkg{nfssfont}: Make font table generation the default action}
+
+With the small file \texttt{nfssfont.tex} it is possible to produce
+font tables and other font tests
+in the style set up by Don Knuth.
+In nearly all cases
+a font table is wanted,
+so this action has been made the default.
+Now one can simply hit enter
+instead of having to write \verb=\table\bye=.
+
+
+\subsection{\pkg{trace}: Add package support in the kernel}
+
+The \pkg{trace} package implements the commands \cs{traceon}
+and \cs{traceoff} that work like
+\cs{tracingall} but skip
+certain code blocks that produce a lot of tracing output.
+%%CCC being of no interest to anyone!! -- FMi I love your encouragement
+This is useful when debugging, to suppress uninteresting tracing
+from, for example, loading a font.
+Code blocks that should not be traced
+need to be surrounded by the commands
+\cs{conditionally@traceoff} and \cs{conditionally@traceon}.
+
+The \LaTeX{} kernel now provides dummy definitions for these two
+commands so that package writers can use them in their packages
+regardless of \pkg{trace} being loaded or not.
+
+
+
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\subsection{\pkg{array}: Warn if primitive column specifiers are overwritten}
+
+With \cs{newcolumntype} it is possible to define your own column
+specifiers for a \texttt{tabular} preamble; it is also possible to
+change existing ones. However, doing that for a primitive column
+specifier, such as \texttt{c}, is seldom a good idea, since then its
+functionality becomes unavailable.
+The package was therefore supposed
+to warn the user in this case, but due to a missing \cs{expandafter}
+in the code it never did---now it does.
+%
+\githubissue{148}
+
+
+\subsection{\pkg{multicol}: Introduce \texttt{minrows} counter for balancing}
+
+When there are only a few lines of text on a page at the end of a
+\env{multicols} environment,
+balancing the columns often looks rather odd: such as
+three columns each containing a single line. The balancing behavior
+can now be controlled through the counter \texttt{minrows}
+(default is~1) which specifies that,
+after balancing, there must be at least that many lines in the first column.
+Thus, if you set \texttt{minrows}
+to \texttt{2} then you
+would get a
+distribution of \texttt{2+1+0} lines and if set
+to three, the result
+would be
+\texttt{3+0+0} instead of the default \texttt{1+1+1}.
+
+What is most appropriate really depends on the circumstances, but this
+now gives you the tools to make local or global adjustments.
+
+
+\subsection{\pkg{varioref}: Better support for \pkg{cleveref}}
+
+The \pkg{varioref} package has been internally updated to provide
+better interfaces for packages such as \pkg{hyperref} and
+\pkg{cleveref}.
+
+It also
+has a new package option \option{nospace} that stops
+\pkg{varioref} from meddling with space in front of
+its commands. The
+original behavior was always somewhat problematical and it is
+suggested that
+all new documents
+use this option (which
+should really have been the default).
+
+Support was also added for the Arabic language through the option
+\option{arabic}.
+
+
+
+
+\subsection[\pkg{xr}: Support citations to bibliographies in\\ external documents]
+{\pkg{xr}: Support citations to bibliographies in external documents}
+
+The \pkg{xr} package can be used to cross-reference an external \LaTeX{}
+document.
+This means that even when a work is split over different documents (that
+need to be processed separately), \cs{ref} or \cs{pageref} can use labels from
+any document, creating links between them. This facility has now been extended
+so that \cs{cite} commands and
+their cousins can now also reference bibliographies in external
+documents; this feature was first provided in the package
+\pkg{xcite} by Enrico Gregorio.
+
+Note that for technical reasons \pkg{xr} doesn't work with
+\pkg{hyperref}. Use \pkg{xr-hyper} instead if you need the latter
+package.
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+\subsection{\pkg{amsmath}: Introduce \cs{overunderset} command}
+
+The \pkg{amsmath} package has always offered
+the commands \cs{overset} and
+\cs{underset} to produce binary operators with something set above or
+below. But sometimes one needs to put something above and something below:
+The newly added \cs{overunderset} makes this
+easily possible.
+
+
+
+\section{Documentation updates}
+
+There are a number of
+%small
+documentation updates in files
+on the documentation page of the project website~\cite{30:site-doc}.
+
+\subsection{Highlighting the standard \texorpdfstring{\acro{nfss}}{NFSS} codes for series}
+
+The \emph{Font Selection Guide}~\cite{fntguide} has been
+updated to strongly recommend that the standard codes should be used
+when providing font support. The reason for this recommendation is explained here.
+
+
+The font selection scheme uses a number of standard codes for
+\cs{fontseries} and \cs{fontshape} to ensure that different fonts are
+comparable, e.g., that you get a \enquote{light} weight if you specify
+\texttt{l} and \enquote{extra bold} when you write \texttt{eb},
+etc. Over the years people came up with a number of other creative
+short codes like \texttt{k}, \texttt{j}, \texttt{t} and others with
+the result that changing a font family required different codes and
+thus prevented users from easily mixing and matching different
+families.
+Some work has been undertaken to get back to a coherent scheme and
+all the font families supported through the program \texttt{autoinst}
+are now producing the standard codes again.
+
+
+\subsection{\LaTeX{} \texttt{base} and \texttt{doc} distribution reunited}
+
+For a long time the \LaTeX{} distribution available from \CTAN{} was
+split into several parts to allow them to be uploaded or downloaded
+separately. As this is these days more confusing than helpful we have
+recombined the base part with the documentation part (as both are
+anyway always updated together). Thus the package \texttt{latex-doc}
+is no longer separately available from \CTAN{} but contained in the
+\texttt{latex-base} distribution.
+
+
+\begin{thebibliography}{9}
+
+%\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{30:Mittelbach:TB39-1} Frank Mittelbach:
+ \emph{New rules for reporting bugs in the \LaTeX{} core software}.
+ In: TUGboat, 39\#1, 2018.
+ \url{https://latex-project.org/publications/}
+
+\bibitem{devformat} Frank Mittelbach:
+ \emph{The
+ \LaTeX{} release workflow and the \LaTeX{} dev formats}.
+ In: TUGboat, 40\#2, 2019.
+ \url{https://latex-project.org/publications/}
+
+\bibitem{fntguide} \LaTeX{} Project Team:
+ \emph{\LaTeXe{} font selection}.\\
+ \url{https://latex-project.org/documentation/}
+
+\bibitem{30:site-doc}
+ \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+ \url{https://latex-project.org/documentation/}
+
+%\bibitem{30:site-pub}
+% \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\
+% \url{https://latex-project.org/publications/}
+
+\end{thebibliography}
+
+\end{document}
diff --git a/macros/latex/base/ltoutenc.dtx b/macros/latex/base/ltoutenc.dtx
index 86135e96c8..b16af5c8c6 100644
--- a/macros/latex/base/ltoutenc.dtx
+++ b/macros/latex/base/ltoutenc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -1030,12 +1030,25 @@
% \begin{macrocode}
\@onlypreamble\DeclareTextComposite
% \end{macrocode}
+%
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
+%
+%
+%
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\UseTextAccent}{Make commands robust}%
+% \end{macrocode}
+%
% \begin{macro}{\UseTextAccent}
% \begin{macro}{\UseTextSymbol}
% \changes{v1.7p}{1995/11/17}{Support \cs{@wrong@font@char} latex/1676}
@@ -1054,7 +1067,7 @@
% \task{?}{Improve this and document its problems, see pr/3160}
% \changes{v1.9z}{2000/01/30}{Macro reimplemented (pr/3160)}
% \begin{macrocode}
-\def\UseTextAccent#1#2#3{%
+\DeclareRobustCommand\UseTextAccent[3]{%
\hmode@start@before@group
{%
% \end{macrocode}
@@ -1070,7 +1083,7 @@
%
% \changes{v1.9z}{2000/01/30}{Macro reimplemented (pr/3160)}
% \begin{macrocode}
-\def\UseTextSymbol#1#2{%
+\DeclareRobustCommand\UseTextSymbol[2]{%
\hmode@start@before@group
{%
\def\@wrong@font@char{\MessageBreak
@@ -1082,6 +1095,20 @@
% \end{macrocode}
%
% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\UseTextAccent}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\UseTextAccent
+%<latexrelease>\kernel@make@fragile\UseTextSymbol
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
\def\@use@text@encoding#1{%
\edef\f@encoding{#1}%
\xdef\font@name{%
diff --git a/macros/latex/base/ltoutenc.ins b/macros/latex/base/ltoutenc.ins
index 62e35e7707..e3f436fbc1 100644
--- a/macros/latex/base/ltoutenc.ins
+++ b/macros/latex/base/ltoutenc.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/ltoutput.dtx b/macros/latex/base/ltoutput.dtx
index d1fe26b90a..138bc85ba3 100644
--- a/macros/latex/base/ltoutput.dtx
+++ b/macros/latex/base/ltoutput.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2018/11/28 v1.4d LaTeX Kernel (Output Routine)]
+ [2019/08/27 v1.4e LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -783,6 +783,7 @@
% {Added macro}
% \changes{v1.1f}{1994/11/14}{Use normal box register: why a box?}
% \changes{v1.1l}{1995/04/24}{Add \cs{vbox} latex/1392}
+% \changes{v1.4e}{2019/08/27}{Make \cs{AtBeginDvi} robust}
%
% We use a box register in which to put
% stuff that must appear before anything else in the
@@ -792,7 +793,7 @@
% page when it is unboxed.
% \begin{macrocode}
\newbox\@begindvibox
-\def \AtBeginDvi #1{%
+\DeclareRobustCommand \AtBeginDvi [1]{%
\global \setbox \@begindvibox
\vbox{\unvbox \@begindvibox #1}%
}
diff --git a/macros/latex/base/ltpage.dtx b/macros/latex/base/ltpage.dtx
index 4d5601556d..c5ce52b1c6 100644
--- a/macros/latex/base/ltpage.dtx
+++ b/macros/latex/base/ltpage.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpage.dtx}
- [2000/06/02 v1.0k LaTeX Kernel (page style setup)]
+ [2019/08/27 v1.0l LaTeX Kernel (page style setup)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpage.dtx}
@@ -63,6 +63,7 @@
% \changes{v1.0a}{1994/03/07}{Initial version, split from ltherest.dtx}
% \changes{v1.0b}{1994/04/19}{Improve documentation}
% \changes{v1.0i}{1996/04/18}{Improve documentation}
+% \changes{v1.0l}{2019/08/27}{Make various commands robust}
%
%
% \subsection{Page Style Commands}
@@ -175,6 +176,14 @@
% \end{macro}
% \end{macro}
%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\markboth}{Make commands robust}%
+% \end{macrocode}
+%
% \begin{macro}{\markboth}
% \begin{macro}{\markright}
% \changes{v1.0d}{1994/05/20}{Changed setting for \cs{protect}.}
@@ -193,7 +202,7 @@
% \changes{v1.0j}{2000/05/26}{Reimplementation to fix expansion
% error (pr/3203).}
% \begin{macrocode}
-\def\markboth#1#2{%
+\DeclareRobustCommand\markboth[2]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
\unrestored@protected@xdef\@themark {{#1}{#2}}%
@@ -201,7 +210,10 @@
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
-\def\markright#1{%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareRobustCommand\markright[1]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
% \end{macrocode}
@@ -216,6 +228,21 @@
% \end{macro}
% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\markboth}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\markboth
+%<latexrelease>\kernel@make@fragile\markright
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
%
% \begin{macro}{\@markright}
% \changes{v1.0j}{2000/05/26}{Reimplementation to fix expansion
@@ -269,7 +296,7 @@
% interfering with the 1fil space of |\newpage|.)
%
% \begin{macrocode}
-\def\raggedbottom{%
+\DeclareRobustCommand\raggedbottom{%
\def\@textbottom{\vskip \z@ \@plus.0001fil}\let\@texttop\relax}
% \end{macrocode}
% \end{macro}
@@ -278,7 +305,7 @@
% |\flushbottom|:
% Inverse of |\raggedbottom| --- makes all pages the same height.
% \begin{macrocode}
-\def\flushbottom{%
+\DeclareRobustCommand\flushbottom{%
\let\@textbottom\relax \let\@texttop\relax}
% \end{macrocode}
% \end{macro}
@@ -290,7 +317,7 @@
% \changes{LaTeX2e}{1993/12/18}{Added \cs{emergencystretch}}
% \changes{v1.0h}{1994/07/20}{Save a few tokens}
% \begin{macrocode}
-\def\sloppy{%
+\DeclareRobustCommand\sloppy{%
\tolerance 9999%
\emergencystretch 3em%
\hfuzz .5\p@
@@ -310,7 +337,7 @@
% \changes{v1.0f}{1995/04/24}{reset \cs{emergencystretch} latex/1344}
% Resets \TeX's parameters to their normal finicky values.
% \begin{macrocode}
-\def\fussy{%
+\DeclareRobustCommand\fussy{%
\emergencystretch\z@
\tolerance 200%
\hfuzz .1\p@
diff --git a/macros/latex/base/ltpageno.dtx b/macros/latex/base/ltpageno.dtx
index da1d574b15..f6b10985b8 100644
--- a/macros/latex/base/ltpageno.dtx
+++ b/macros/latex/base/ltpageno.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltpar.dtx b/macros/latex/base/ltpar.dtx
index 3b72b43a9c..75b4894eb1 100644
--- a/macros/latex/base/ltpar.dtx
+++ b/macros/latex/base/ltpar.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltpictur.dtx b/macros/latex/base/ltpictur.dtx
index 6b84231ab5..ad82cd477f 100644
--- a/macros/latex/base/ltpictur.dtx
+++ b/macros/latex/base/ltpictur.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2016/03/29 v1.1l LaTeX Kernel (Picture Mode)]
+ [2019/08/27 v1.1m LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -95,6 +95,8 @@
% \changes{v0.1e}{1994/05/22}{Use new warning cmds}
% \changes{v1.0f}{1994/11/17}
% {\cs{@tempa} to \cs{reserved@a}}
+% \changes{v1.1m}{2019/08/27}{Remove several unnecessary \cs{gdef} definitions}
+% \changes{v1.1m}{2019/08/27}{Make various commands robust}
%
% \begin{oldcomments}
%
@@ -196,8 +198,8 @@
% \changes{v1.0h}{1995/05/12}{Macro added for latex/1355}
% |#1| should be a |(| (eating any white space before the bracket),
% \begin{macrocode}
-\long\gdef\picture#1{\pictur@#1}
-\gdef\pictur@(#1){%
+\long\def\picture#1{\pictur@#1}
+\def\pictur@(#1){%
\@ifnextchar({\@picture(#1)}{\@picture(#1)(0,0)}}
% \end{macrocode}
% \end{macro}
@@ -205,7 +207,7 @@
%
% \begin{macro}{\@picture}
% \begin{macrocode}
-\gdef\@picture(#1,#2)(#3,#4){%
+\def\@picture(#1,#2)(#3,#4){%
\@picht#2\unitlength
\setbox\@picbox\hb@xt@#1\unitlength\bgroup
\hskip -#3\unitlength
@@ -221,7 +223,7 @@
% (proposed by John Hobby)}
%
% \begin{macrocode}
-\gdef\endpicture{%
+\def\endpicture{%
\egroup\hss\egroup
\ht\@picbox\@picht\dp\@picbox\z@
\mbox{\box\@picbox}}
@@ -233,7 +235,7 @@
% changed 20 Jul 87).
%
% \begin{macrocode}
-\long\gdef\put(#1,#2)#3{%
+\long\def\put(#1,#2)#3{%
\@killglue\raise#2\unitlength
\hb@xt@\z@{\kern#1\unitlength #3\hss}%
\ignorespaces}
@@ -244,7 +246,7 @@
% \changes{v0.1c}{1994/04/28}{(DPC) Ignore spaces between )(}
% |#3| had better be a |(|.
% \begin{macrocode}
-\gdef\multiput(#1,#2)#3{%
+\def\multiput(#1,#2)#3{%
\@xdim #1\unitlength
\@ydim #2\unitlength
\@multiput(}
@@ -254,7 +256,7 @@
% \begin{macro}{\multiput}
% \changes{v0.1c}{1994/04/28}{(DPC) Macro added}
% \begin{macrocode}
-\long\gdef\@multiput(#1,#2)#3#4{%
+\long\def\@multiput(#1,#2)#3#4{%
\@killglue\@multicnt #3\relax
\@whilenum \@multicnt >\z@\do
{\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}%
@@ -266,16 +268,16 @@
%
% \begin{macro}{\@killglue}
% \begin{macrocode}
-\gdef\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}}
+\def\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\thinlines}
% \begin{macro}{\thicklines}
% \begin{macrocode}
-\gdef\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc
+\DeclareRobustCommand\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc
\@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth}
-\gdef\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw
+\DeclareRobustCommand\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw
\@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth}
% \end{macrocode}
% \end{macro}
@@ -283,19 +285,20 @@
%
% \begin{macro}{\linethickness}
% \begin{macrocode}
-\gdef\linethickness#1{\@wholewidth #1\relax \@halfwidth .5\@wholewidth}
+\DeclareRobustCommand\linethickness[1]
+ {\@wholewidth #1\relax \@halfwidth .5\@wholewidth}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ishortstack}
% \begin{macrocode}
-\gdef\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}}
+\def\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@ishortstack}
% \begin{macrocode}
-\gdef\@shortstack[#1]{%
+\def\@shortstack[#1]{%
\leavevmode
\vbox\bgroup
\baselineskip-\p@\lineskip 3\p@
@@ -315,22 +318,22 @@
%
% \begin{macro}{\@ishortstack}
% \begin{macrocode}
-\gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}
+\def\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@stackcr}
% \begin{macro}{\@ixstackcr}
% \begin{macrocode}
-\gdef\@stackcr{\@ifstar\@ixstackcr\@ixstackcr}
-\gdef\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}}
+\def\@stackcr{\@ifstar\@ixstackcr\@ixstackcr}
+\def\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@istackcr}
% \begin{macrocode}
-\gdef\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
+\def\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
% \end{macrocode}
% \end{macro}
%
@@ -507,7 +510,7 @@
%
% \begin{macro}{\line}
% \begin{macrocode}
-\gdef\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+\def\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
\@linelen #3\unitlength
\ifdim\@linelen<\z@\@badlinearg\else
\ifnum\@xarg =\z@ \@vline
@@ -519,7 +522,7 @@
%
% \begin{macro}{\@sline}
% \begin{macrocode}
-\gdef\@sline{%
+\def\@sline{%
\ifnum\@xarg<\z@ \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg
\else \@negargfalse \@yyarg \@yarg \fi
\ifnum \@yyarg >\z@ \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi
@@ -580,7 +583,7 @@
%
% \begin{macro}{\@hline}
% \begin{macrocode}
-\gdef\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi
+\def\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi
\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen
\ifnum \@xarg <\z@ \hskip -\@linelen \fi}
% \end{macrocode}
@@ -588,7 +591,7 @@
%
% \begin{macro}{\@getlinechar}
% \begin{macrocode}
-\gdef\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8%
+\def\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8%
\advance\@tempcnta -9\ifnum #2>\z@ \advance\@tempcnta #2\relax\else
\advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi
\char\@tempcnta}
@@ -597,7 +600,7 @@
%
% \begin{macro}{\vector}
% \begin{macrocode}
-\gdef\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+\def\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
\@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
\ifnum\@tempcnta<5\relax
\@linelen #3\unitlength
@@ -612,7 +615,7 @@
%
% \begin{macro}{\@hvector}
% \begin{macrocode}
-\gdef\@hvector{\@hline\hb@xt@\z@{\@linefnt
+\def\@hvector{\@hline\hb@xt@\z@{\@linefnt
\ifnum \@xarg <\z@ \@getlarrow(1,0)\hss\else
\hss\@getrarrow(1,0)\fi}}
% \end{macrocode}
@@ -620,13 +623,13 @@
%
% \begin{macro}{\@vvector}
% \begin{macrocode}
-\gdef\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi}
+\def\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@svector}
% \begin{macrocode}
-\gdef\@svector{\@sline
+\def\@svector{\@sline
\@tempcnta\@yarg \ifnum\@tempcnta <\z@ \@tempcnta -\@tempcnta\fi
\ifnum\@tempcnta <5%
\hskip -\wd\@linechar
@@ -639,7 +642,7 @@
% \begin{macro}{\@getlarrow}
% \changes{v1.1h}{1999/04/15}{Replaced octal number, CAR}
% \begin{macrocode}
-\gdef\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta 27 % '33
+\def\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta 27 % '33
\else
\@tempcnta #1\relax\multiply\@tempcnta \sixt@@n
\advance\@tempcnta -9 \@tempcntb #2\relax\multiply\@tempcntb \tw@
@@ -652,7 +655,7 @@
% \changes{v1.1h}{1999/04/15}{Replaced octal number, CAR}
% \begin{macro}{\@getrarrow}
% \begin{macrocode}
-\gdef\@getrarrow(#1,#2){\@tempcntb #2\relax
+\def\@getrarrow(#1,#2){\@tempcntb #2\relax
\ifnum\@tempcntb <\z@ \@tempcntb -\@tempcntb\relax\fi
\ifcase \@tempcntb\relax \@tempcnta 45 % '55
\or
@@ -671,13 +674,13 @@
%
% \begin{macro}{\@vline}
% \begin{macrocode}
-\gdef\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi}
+\def\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@upline}
% \begin{macrocode}
-\gdef\@upline{%
+\def\@upline{%
\hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
\@height \@linelen \@depth \z@\hss}}
% \end{macrocode}
@@ -685,7 +688,7 @@
%
% \begin{macro}{\@downline}
% \begin{macrocode}
-\gdef\@downline{%
+\def\@downline{%
\hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
\@height \z@ \@depth \@linelen \hss}}
% \end{macrocode}
@@ -695,7 +698,7 @@
% \changes{v1.1h}{1999/04/15}{Replaced octal number, CAR}
% \changes{v1.1i}{2000/01/15}{Removed space at end-of-line, CAR}
% \begin{macrocode}
-\gdef\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char 54}% '66
+\def\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char 54}% '66
\raise \@linelen \hb@xt@\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}}
% \end{macrocode}
% \end{macro}
@@ -703,7 +706,7 @@
% \changes{v1.1h}{1999/04/15}{Replaced octal number, CAR}
% \begin{macro}{\@downvector}
% \begin{macrocode}
-\gdef\@downvector{\@downline\lower \@linelen
+\def\@downvector{\@downline\lower \@linelen
\hb@xt@\z@{\@linefnt\char 63 % '77
\hss}}
% \end{macrocode}
@@ -800,7 +803,7 @@
%
% \begin{macro}{\dashbox}
% \begin{macrocode}
-\gdef\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
+\def\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
\lineskip \z@skip
\@dashdim #2\unitlength
\@dashcnt \@dashdim \advance\@dashcnt 200
@@ -1081,7 +1084,7 @@
% \begin{macro}{\@getcirc}
% \changes{v1.1j}{2003/12/30}{issue warning if circle size can't be met pr/3473}
% \begin{macrocode}
-\gdef\@getcirc#1{\@tempdima #1\relax \advance\@tempdima 2\p@
+\def\@getcirc#1{\@tempdima #1\relax \advance\@tempdima 2\p@
\@tempcnta\@tempdima
\@tempdima 4\p@ \divide\@tempcnta\@tempdima
\ifnum \@tempcnta >10\relax
@@ -1114,13 +1117,13 @@
%
% \begin{macro}{\@put}
% \begin{macrocode}
-\gdef\@put#1#2#3{\raise #2\hb@xt@\z@{\hskip #1#3\hss}}
+\def\@put#1#2#3{\raise #2\hb@xt@\z@{\hskip #1#3\hss}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\oval}
% \begin{macrocode}
-\gdef\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}}
+\def\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}}
% \end{macrocode}
% \end{macro}
%
@@ -1146,7 +1149,7 @@
%
% \begin{macro}{\@oval}
% \begin{macrocode}
-\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
% \end{macrocode}
% \changes{v1.1l}{2016/03/29}{initialise tests}
@@ -1189,7 +1192,7 @@
%
% \begin{macro}{\@ovvert}
% \begin{macrocode}
-\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+\def\@ovvert#1#2{\vbox to\@ovyy{%
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
\else \kern \@ovri \kern \@ovdy \fi
@@ -1209,7 +1212,7 @@
%
% \begin{macro}{\@ovhorz}
% \begin{macrocode}
-\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
\if@ovr \else \kern \@ovdx \fi
% \end{macrocode}
% \changes{v1.1l}{2016/03/29}
@@ -1232,7 +1235,7 @@
%<latexrelease> {Avoid almost zero length leaders}%
%<latexrelease>\let\if@ovvline\@undefined
%<latexrelease>\let\if@ovhline\@undefined
-%<latexrelease>\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+%<latexrelease>\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
%<latexrelease> \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
%<latexrelease> \@tfor\reserved@a :=#3\do
%<latexrelease> {\csname @ov\reserved@a false\endcsname}%
@@ -1254,7 +1257,7 @@
%<latexrelease> \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
%<latexrelease> \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
%<latexrelease> \endgroup}
-%<latexrelease>\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+%<latexrelease>\def\@ovvert#1#2{\vbox to\@ovyy{%
%<latexrelease> \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
%<latexrelease> \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
%<latexrelease> \else \kern \@ovri \kern \@ovdy \fi
@@ -1262,7 +1265,7 @@
%<latexrelease> \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
%<latexrelease> \hbox{\char \@tempcntb}%
%<latexrelease> \else \kern \@ovdy \kern \@ovro \fi}}
-%<latexrelease>\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+%<latexrelease>\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
%<latexrelease> \if@ovr \else \kern \@ovdx \fi
%<latexrelease> \leaders \hrule \@height \@wholewidth \hfil
%<latexrelease> \if@ovl \else \kern \@ovdx \fi
@@ -1275,13 +1278,13 @@
% \changes{LaTeX2.09}{1993/08/05}
% {(RMS) Added error message if \cs{circle} is used in math mode.}
% \begin{macrocode}
-\gdef\circle{\@inmatherr\circle\@ifstar\@dot\@circle}
+\def\circle{\@inmatherr\circle\@ifstar\@dot\@circle}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@circle}
% \begin{macrocode}
-\gdef\@circle#1{%
+\def\@circle#1{%
\begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
\ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb
\@ovro\ht\@tempboxa
@@ -1299,13 +1302,13 @@
% \begin{macro}{\@dot}
% Internal form of |\circle*|.
% \begin{macrocode}
-\gdef\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+\def\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@circ}
% \begin{macrocode}
-\gdef\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5\p@
+\def\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5\p@
\@tempcnta\@tempdima \@tempdima \p@
\divide\@tempcnta\@tempdima
\ifnum\@tempcnta >15\relax \@tempcnta 15\relax \fi
@@ -1442,7 +1445,7 @@
% \begin{macro}{\qbeziermax}
% The maximum number of points to plot.
% \begin{macrocode}
-\gdef\qbeziermax{500}
+\def\qbeziermax{500}
% \end{macrocode}
% \end{macro}
%
@@ -1474,12 +1477,12 @@
% ignore spaces between its arguments.
% |#2| should be white space, and |#4| should be |(|.
% \begin{macrocode}
-\gdef\bezier#1)#2(#3)#4({\@bezier#1)(#3)(}
+\def\bezier#1)#2(#3)#4({\@bezier#1)(#3)(}
% \end{macrocode}
%
% \begin{macro}{\@bezier}
% \begin{macrocode}
-\gdef\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
+\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
\ifnum #1=\z@
\@ovxx #4\unitlength
\advance\@ovxx -#2\unitlength
@@ -1533,10 +1536,55 @@
\hb@xt@\z@{\kern\@xdim
\unhcopy\@tempboxa\hss}%
\advance\count@\@ne}}}
-%</2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
%
+% As the commands above all use ``picture'' interface we couldn't define them with
+% |\DeclareRobustCommand| so we do that now.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\bezier}{Make commands robust}%
+\MakeRobust\bezier
+\MakeRobust\circle
+\MakeRobust\dashbox
+\MakeRobust\line
+\MakeRobust\linethickness
+\MakeRobust\multiput
+\MakeRobust\oval
+\MakeRobust\put
+\MakeRobust\qbezier
+\MakeRobust\shortstack
+\MakeRobust\thinlines
+\MakeRobust\vector
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\bezier}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\bezier
+%<latexrelease>\kernel@make@fragile\circle
+%<latexrelease>\kernel@make@fragile\dashbox
+%<latexrelease>\kernel@make@fragile\line
+%<latexrelease>\kernel@make@fragile\linethickness
+%<latexrelease>\kernel@make@fragile\multiput
+%<latexrelease>\kernel@make@fragile\oval
+%<latexrelease>\kernel@make@fragile\put
+%<latexrelease>\kernel@make@fragile\qbezier
+%<latexrelease>\kernel@make@fragile\shortstack
+%<latexrelease>\kernel@make@fragile\thinlines
+%<latexrelease>\kernel@make@fragile\vector
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
% \Finale
%
diff --git a/macros/latex/base/ltplain.dtx b/macros/latex/base/ltplain.dtx
index 5c4050b734..2337133f2f 100644
--- a/macros/latex/base/ltplain.dtx
+++ b/macros/latex/base/ltplain.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -314,8 +314,10 @@
% \begin{macro}{\newskip}
% \begin{macro}{\newmuskip}
% \begin{macro}{\newbox}
+% \begin{macro}{\newtoks}
% \begin{macro}{\newread}
% \begin{macro}{\newwrite}
+% \begin{macro}{\newfam}
% \begin{macro}{\newlanguage}
% \changes{v1.0c}{1994/03/28}
% {Remove some \cs{outer} declarations.}
@@ -429,6 +431,8 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
%\begin{macro}{\e@alloc@chardef}
% \changes{v2.0a}{2014/12/30}{macro added}
diff --git a/macros/latex/base/ltsect.dtx b/macros/latex/base/ltsect.dtx
index cb1c6d2c30..239d4c547f 100644
--- a/macros/latex/base/ltsect.dtx
+++ b/macros/latex/base/ltsect.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -31,7 +31,7 @@
%%% From File: ltsect.dtx
%<*driver>
% \fi
-\ProvidesFile{ltsect.dtx}[2018/09/26 v1.1c LaTeX Kernel (Sectioning)]
+\ProvidesFile{ltsect.dtx}[2019/08/27 v1.1d LaTeX Kernel (Sectioning)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltsect.dtx}
@@ -85,6 +85,7 @@
% {\cs{@tempa} to \cs{reserved@a}}
% \changes{v1.0m}{1995/05/03}{TO: Promoted documentation to doc.sty
% standard}
+% \changes{v1.1d}{2019/08/27}{Make various commands robust}
%
% \begin{macrocode}
%<*2ekernel>
@@ -114,65 +115,104 @@
% And finally, the |\maketitle| command produces the actual title,
% using the information previously saved with the other commands.
%
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\title}{Make commands robust}%
+% \end{macrocode}
+%
+%
% \begin{macro}{\title}
-% \begin{macro}{\@title}
% \changes{LaTeX2e}{1993/12/11}{Added default}
% |\title| for use in |\maketitle|. If not given |\maketitle| will
% produce an error message.
% \begin{macrocode}
-\def\title#1{\gdef\@title{#1}}
-\def\@title{\@latex@error{No \noexpand\title given}\@ehc}
+\DeclareRobustCommand\title[1]{\gdef\@title{#1}}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+%
%
% \begin{macro}{\author}
-% \begin{macro}{\@author}
% \changes{LaTeX2e}{1993/12/11}{Added default}
%
% |\author| for use in |\maketitle|. If not given |\maketitle| will
% produce a warning message.
%
% \begin{macrocode}
-\def\author#1{\gdef\@author{#1}}
-\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+\DeclareRobustCommand\author[1]{\gdef\@author{#1}}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \begin{macro}{\date}
-% \begin{macro}{\@date}
% |\date| for use in |\maketitle|. If not given |\maketitle| will
% produce |\today| as the default.
% \begin{macrocode}
-\def\date#1{\gdef\@date{#1}}
-\gdef\@date{\today}
+\DeclareRobustCommand\date[1]{\gdef\@date{#1}}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \changes{1.0h}{1994/11/04}{(ASAJ) Added \cs{protected@xdef} to
% \cs{thanks}.}
% \begin{macro}{\thanks}
% \begin{macrocode}
-\def\thanks#1{\footnotemark
+\DeclareRobustCommand\thanks[1]{\footnotemark
\protected@xdef\@thanks{\@thanks
\protect\footnotetext[\the\c@footnote]{#1}}%
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@thanks}
-% \begin{macrocode}
-\let\@thanks\@empty
-% \end{macrocode}
-% \end{macro}
% \begin{macro}{\and}
% \begin{macrocode}
-\def\and{% % \begin{tabular}
+\DeclareRobustCommand\and{% % \begin{tabular}
\end{tabular}%
\hskip 1em \@plus.17fil%
- \begin{tabular}[t]{c}}% % \end{tabular}
+ \begin{tabular}[t]{c}}% % \end{tabular}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\title}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\title
+%<latexrelease>\kernel@make@fragile\author
+%<latexrelease>\kernel@make@fragile\date
+%<latexrelease>\kernel@make@fragile\thanks
+%<latexrelease>\kernel@make@fragile\and
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
+% \begin{macro}{\@title}
+% \begin{macrocode}
+\def\@title{\@latex@error{No \noexpand\title given}\@ehc}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@author}
+% \begin{macrocode}
+\def\@author{\@latex@warning@no@line{No \noexpand\author given}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@date}
+% \begin{macrocode}
+\gdef\@date{\today}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@thanks}
+% \begin{macrocode}
+\let\@thanks\@empty
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/base/ltspace.dtx b/macros/latex/base/ltspace.dtx
index 6f212bba15..d840b13bbb 100644
--- a/macros/latex/base/ltspace.dtx
+++ b/macros/latex/base/ltspace.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2018/10/10 v1.3i LaTeX Kernel (spacing)]
+ [2019/08/27 v1.3j LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -62,6 +62,7 @@
% \changes{v1.2q}{1996/07/27}{Further documentation of problems}
% \changes{v1.2r}{1996/07/27}{Correct documentation of problems}
% \changes{v1.2w}{1998/08/17}{Documentation fixes.}
+% \changes{v1.3j}{2019/08/27}{Make various commands robust}
%
%
% \section{Spacing}
@@ -274,18 +275,66 @@
%<*2ekernel>
\message{spacing,}
% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\pagebreak}{Make commands robust}%
+% \end{macrocode}
%
% \begin{macro}{\pagebreak}
% \begin{macro}{\nopagebreak}
% \changes{v1.2h}{1995/07/05}{Reimplemented both using \cs{@no@pgbk}}
% \changes{v1.2j}{1995/10/16}{(DPC) Use \cs{@testopt} /1911}
% \begin{macrocode}
-\def\pagebreak{\@testopt{\@no@pgbk-}4}
-\def\nopagebreak{\@testopt\@no@pgbk4}
+\DeclareRobustCommand\pagebreak{\@testopt{\@no@pgbk-}4}
+\DeclareRobustCommand\nopagebreak{\@testopt\@no@pgbk4}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\linebreak}
+% \begin{macro}{\nolinebreak}
+% \changes{v1.2u}{1996/10/29}{Reimplemented both using \cs{@no@lnbk}}
+% \changes{v1.2j}{1995/10/16}{(DPC) Use \cs{@testopt} /1911}
+% \begin{macrocode}
+\DeclareRobustCommand\linebreak{\@testopt{\@no@lnbk-}4}
+\DeclareRobustCommand\nolinebreak{\@testopt\@no@lnbk4}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\samepage}
+% \begin{macrocode}
+\DeclareRobustCommand\samepage{\interlinepenalty\@M
+ \postdisplaypenalty\@M
+ \interdisplaylinepenalty\@M
+ \@beginparpenalty\@M
+ \@endparpenalty\@M
+ \@itempenalty\@M
+ \@secpenalty\@M
+ \interfootnotelinepenalty\@M}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\pagebreak}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\pagebreak
+%<latexrelease>\kernel@make@fragile\nopagebreak
+%<latexrelease>\kernel@make@fragile\linebreak
+%<latexrelease>\kernel@make@fragile\nolinebreak
+%<latexrelease>\kernel@make@fragile\samepage
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
%
% \begin{macro}{\@no@pgbk}
% \changes{v1.2h}{1995/07/05}{Macro replaces \cs{@pgbk}
@@ -302,16 +351,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\linebreak}
-% \begin{macro}{\nolinebreak}
-% \changes{v1.2u}{1996/10/29}{Reimplemented both using \cs{@no@lnbk}}
-% \changes{v1.2j}{1995/10/16}{(DPC) Use \cs{@testopt} /1911}
-% \begin{macrocode}
-\def\linebreak{\@testopt{\@no@lnbk-}4}
-\def\nolinebreak{\@testopt\@no@lnbk4}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
+%
% \begin{macro}{\@no@lnbk}
% \changes{v1.2u}{1996/10/29}{Macro replaces \cs{@lnbk}
% and \cs{@nolnbk}}
@@ -331,19 +371,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\samepage}
-% \begin{macrocode}
-\def\samepage{\interlinepenalty\@M
- \postdisplaypenalty\@M
- \interdisplaylinepenalty\@M
- \@beginparpenalty\@M
- \@endparpenalty\@M
- \@itempenalty\@M
- \@secpenalty\@M
- \interfootnotelinepenalty\@M}
-% \end{macrocode}
-% \end{macro}
-%
%
% \begin{macro}{\\}
% \changes{v1.2a}{1994/11/11}{(DPC) Make robust}
@@ -1140,9 +1167,9 @@
% \begin{macro}{\enspace}
% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)}
% \begin{macrocode}
-\def\thinspace{\leavevmode@ifvmode\kern .16667em }
-\def\negthinspace{\leavevmode@ifvmode\kern-.16667em }
-\def\enspace{\leavevmode@ifvmode\kern.5em }
+\DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em }
+\DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em }
+\DeclareRobustCommand\enspace{\leavevmode@ifvmode\kern.5em }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/base/lttab.dtx b/macros/latex/base/lttab.dtx
index 76ccd13e56..646015daf3 100644
--- a/macros/latex/base/lttab.dtx
+++ b/macros/latex/base/lttab.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -31,7 +31,7 @@
%%% From File: lttab.dtx
%<*driver>
% \fi
-\ProvidesFile{lttab.dtx}[2016/11/28 v1.1o LaTeX Kernel (Columns)]
+\ProvidesFile{lttab.dtx}[2019/08/27 v1.1p LaTeX Kernel (Columns)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lttab.dtx}
@@ -84,8 +84,9 @@
% \changes{v1.0c}{1994/05/07}{Removed surplus braces from
% \cs{@ifnextchar} constructs}
% \changes{v1.0f}{1994/05/21}{Use new error commands}
-% \changes{v1.0j}{1994/11/17}
-% {\cs{@tempa} to \cs{reserved@a}}
+% \changes{v1.0j}{1994/11/17}{\cs{@tempa} to \cs{reserved@a}}
+% \changes{v1.1q}{2019/08/27}{Remove several unnecessary \cs{gdef} definitions}
+% \changes{v1.1q}{2019/08/27}{Make various commands robust}
%
% \subsection{tabbing}
%
@@ -386,7 +387,7 @@
% a local variable). That this is allowed is a fundamental design
% flaw which is not going to be corrected now.
% \begin{macrocode}
-\gdef\@startline{%
+\def\@startline{%
\ifnum \@nxttabmar >\@hightab
\@badtab
\global\@nxttabmar \@hightab
@@ -401,7 +402,7 @@
%
% \begin{macro}{\@stopline}
% \begin{macrocode}
-\gdef\@stopline{%
+\def\@stopline{%
\unskip
\@stopfield
\if@rjfield
@@ -424,7 +425,7 @@
% \changes{v1.0d}{1994/05/13}
% {Colour support}
% \begin{macrocode}
-\gdef\@startfield{%
+\def\@startfield{%
\global\setbox\@curfield\hbox\bgroup\color@begingroup}
% \end{macrocode}
% \end{macro}
@@ -433,7 +434,7 @@
% \changes{v1.0d}{1994/05/13}
% {Colour support}
% \begin{macrocode}
-\gdef\@stopfield{%
+\def\@stopfield{%
\color@endgroup\egroup}
% \end{macrocode}
% \end{macro}
@@ -442,7 +443,7 @@
% \changes{v1.0d}{1994/05/13}
% {Colour support}
% \begin{macrocode}
-\gdef\@contfield{%
+\def\@contfield{%
\global\setbox\@curfield\hbox\bgroup\color@begingroup
\unhbox\@curfield}
% \end{macrocode}
@@ -450,38 +451,34 @@
%
% \begin{macro}{\@addfield}
% \begin{macrocode}
-\gdef\@addfield{\global\setbox\@curline\hbox{\unhbox
+\def\@addfield{\global\setbox\@curline\hbox{\unhbox
\@curline\unhbox\@curfield}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@ifatmargin}
% \begin{macrocode}
-\gdef\@ifatmargin{\ifdim \wd\@curline =\z@}
+\def\@ifatmargin{\ifdim \wd\@curline =\z@}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@tabcr}
% \begin{macrocode}
-\gdef\@tabcr{\@stopline \@ifstar{\penalty \@M \@xtabcr}\@xtabcr}
+\def\@tabcr{\@stopline \@ifstar{\penalty \@M \@xtabcr}\@xtabcr}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@xtabcr}
% \begin{macrocode}
-\gdef\@xtabcr{\@ifnextchar[\@itabcr{\@startline\ignorespaces}}
+\def\@xtabcr{\@ifnextchar[\@itabcr{\@startline\ignorespaces}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@itabcr}
% \begin{macrocode}
-\gdef\@itabcr[#1]{\vskip #1\@startline\ignorespaces}
+\def\@itabcr[#1]{\vskip #1\@startline\ignorespaces}
% \end{macrocode}
%
-% \begin{macrocode}
-\gdef\kill{\@stopfield\@startline\ignorespaces}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\tabbing}
% \changes{v1.1f}{1995/10/23}{(CAR)Make \cs{@hightab} consistently a
@@ -489,7 +486,7 @@
% \changes{latex2e}{1993/12/13}{Removed optional argument of \cs{item}}
% We use |\relax| to prevent |\item| from scanning too far.
% \begin{macrocode}
-\gdef\tabbing{\lineskip \z@skip\let\>\@rtab\let\<\@ltab\let\=\@settab
+\def\tabbing{\lineskip \z@skip\let\>\@rtab\let\<\@ltab\let\=\@settab
\let\+\@tabplus\let\-\@tabminus\let\`\@tabrj\let\'\@tablab
\let\\=\@tabcr
\@hightab\@firsttab
@@ -512,7 +509,7 @@
%
% \begin{macro}{\endtabbing}
% \begin{macrocode}
-\gdef\endtabbing{%
+\def\endtabbing{%
\@stopline\ifnum\@tabpush >\z@ \@badpoptabs \fi\endtrivlist}
% \end{macrocode}
% \end{macro}
@@ -520,7 +517,7 @@
% \begin{macro}{\@rtab}
% Omitted |\global| added to |\@rtab| 17 Jun 86
% \begin{macrocode}
-\gdef\@rtab{\@stopfield\@addfield\ifnum \@curtab<\@hightab
+\def\@rtab{\@stopfield\@addfield\ifnum \@curtab<\@hightab
\global\advance\@curtab \@ne \else\@badtab\fi
\@tempdima\dimen\@curtab
\advance\@tempdima -\dimen\@curtabmar
@@ -534,7 +531,7 @@
% \changes{v1.1f}{1995/10/23}{(CAR)Ensure that \cs{@hightab} increases
% by at most one}
% \begin{macrocode}
-\gdef\@settab{\@stopfield\@addfield
+\def\@settab{\@stopfield\@addfield
\ifnum \@curtab <\@maxtab
\ifnum\@curtab =\@hightab
\advance\@hightab \@ne
@@ -552,7 +549,7 @@
%
% \begin{macro}{\@ltab}
% \begin{macrocode}
-\gdef\@ltab{\@ifatmargin\ifnum\@curtabmar >\@firsttab
+\def\@ltab{\@ifatmargin\ifnum\@curtabmar >\@firsttab
\global\advance\@curtab \m@ne \global\advance\@curtabmar\m@ne\else
\@badtab\fi\else
\@latex@error{\string\<\space in mid line}\@ehd\fi\ignorespaces}
@@ -561,7 +558,7 @@
%
% \begin{macro}{\@tabplus}
% \begin{macrocode}
-\gdef\@tabplus{%
+\def\@tabplus{%
\ifnum\@nxttabmar<\@hightab
\global\advance\@nxttabmar\@ne
\else
@@ -573,7 +570,7 @@
%
% \begin{macro}{\@tabminus}
% \begin{macrocode}
-\gdef\@tabminus{%
+\def\@tabminus{%
\ifnum\@nxttabmar>\@firsttab
\global\advance\@nxttabmar\m@ne
\else
@@ -585,7 +582,7 @@
%
% \begin{macro}{\@tabrj}
% \begin{macrocode}
-\gdef\@tabrj{%
+\def\@tabrj{%
\@stopfield\@addfield\global\@rjfieldtrue\@startfield\ignorespaces}
% \end{macrocode}
% \end{macro}
@@ -593,7 +590,7 @@
% \begin{macro}{\@tablab}
% |\setbox\@curline| made |\global| in |\@tablab|. 17 Jun 86
% \begin{macrocode}
-\gdef\@tablab{%
+\def\@tablab{%
\@stopfield
\global\setbox\@curline\hbox{%
\box\@curline
@@ -605,9 +602,16 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\pushtabs}{Make commands robust}%
+% \end{macrocode}
+%
% \begin{macro}{\pushtabs}
% \begin{macrocode}
-\gdef\pushtabs{%
+\DeclareRobustCommand\pushtabs{%
\@stopfield\@addfield\global\advance\@tabpush \@ne \begingroup
\@contfield}
% \end{macrocode}
@@ -621,7 +625,7 @@
% a local variable). That this is allowed is a fundamental design
% flaw which is not going to be corrected now.
% \begin{macrocode}
-\gdef\poptabs{\@stopfield\@addfield
+\DeclareRobustCommand\poptabs{\@stopfield\@addfield
\ifnum \@tabpush >\z@
\endgroup
\global\advance\@tabpush \m@ne
@@ -636,7 +640,25 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+\DeclareRobustCommand\kill{\@stopfield\@startline\ignorespaces}
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\pushtabs}{Make commands robust}%
+%<latexrelease>
+%<latexrelease>\kernel@make@fragile\pushtabs
+%<latexrelease>\kernel@make@fragile\poptabs
+%<latexrelease>\kernel@make@fragile\kill
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
% \begin{macro}{\tabbingsep}
% \begin{macrocode}
\newdimen\tabbingsep
@@ -785,7 +807,7 @@
%
% \begin{macro}{\extracolsep}
% \begin{macrocode}
-\def\extracolsep#1{\tabskip #1\relax}
+\DeclareRobustCommand\extracolsep[1]{\tabskip #1\relax}
% \end{macrocode}
% \end{macro}
%
@@ -1294,7 +1316,13 @@
\edef\@preamble{%
\@preamble{%
\ifcase\@chnum
- \hfil\ignorespaces\@sharp\unskip\hfil
+ \hfil
+% \end{macrocode}
+% \changes{v1.1p}{2018/12/30}{Add extra \cs{hskip} to guard against an
+% \cs{unskip} at the start of a c-column cell (gh/102)}
+% \begin{macrocode}
+ \hskip1sp%
+ \ignorespaces\@sharp\unskip\hfil
\or
% \end{macrocode}
% \changes{v1.1g}{1996/04/22}
diff --git a/macros/latex/base/ltthm.dtx b/macros/latex/base/ltthm.dtx
index 78e8a2e586..ee1b51ac5d 100644
--- a/macros/latex/base/ltthm.dtx
+++ b/macros/latex/base/ltthm.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltvers.dtx b/macros/latex/base/ltvers.dtx
index 7a001bb2b1..17f5f3ee5e 100644
--- a/macros/latex/base/ltvers.dtx
+++ b/macros/latex/base/ltvers.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltvers.dtx}
- [2018/12/01 v1.1b LaTeX Kernel (Version Info)]
+ [2019/07/01 v1.1c LaTeX Kernel (Version Info)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltvers.dtx}
@@ -112,11 +112,22 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2018-12-01}
+ {2019-10-01}
%</2ekernel|latexrelease>
%<*2ekernel>
\def\patch@level{0}
% \end{macrocode}
+%
+% \begin{macro}{\development@branch@name}
+% For more fine grain control there is the possibility to name the
+% current development branch. This is only used when the
+% \cs{patch@level} is negative (i.e., a pre-release format) and is
+% intended to help help us internally when we locally install a
+% format out of some development branch.
+% \begin{macrocode}
+\edef\development@branch@name{}
+% \end{macrocode}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -179,9 +190,21 @@
\write16{\fmtname \space<\fmtversion> patch level \patch@level}
\else
\everyjob\expandafter{\the\everyjob
- \typeout{\fmtname \space<\fmtversion> pre-release\patch@level}}
+ \typeout{\fmtname \space<\fmtversion> pre-release\patch@level
+ \ifx\development@branch@name\@undefined \else
+ \ifx\development@branch@name\@empty \else
+ \space (\development@branch@name\space branch)%
+ \fi
+ \fi
+ }}
\immediate
- \write16{\fmtname \space<\fmtversion> pre-release\patch@level}
+ \write16{\fmtname \space<\fmtversion> pre-release\patch@level
+ \ifx\development@branch@name\@undefined \else
+ \ifx\development@branch@name\@empty \else
+ \space (\development@branch@name\space branch)%
+ \fi
+ \fi
+ }
\fi
\fi
%</2ekernel>
@@ -207,7 +230,8 @@
% \begin{macrocode}
\def\IncludeInRelease#1{%
\if@includeinrelease
- \PackageError{latexrelease}{mis-matched IncludeInRelease}{}%
+ \PackageError{latexrelease}{mis-matched IncludeInRelease}%
+ {There is an \string\EndIncludeRelease\space missing}%
\@includeinreleasefalse
\fi
\kernel@ifnextchar[%
@@ -260,7 +284,7 @@
\long\def\@check@IncludeInRelease#1\IncludeInRelease
#2#3\@end@check@IncludeInRelease{%
\ifx\@check@IncludeInRelease#2\else
- \PackageError{latexrelease}{skipped IncludeInRelease}{}%
+ \PackageError{latexrelease}{skipped IncludeInRelease for tag \string#2}{}%
\fi}
% \end{macrocode}
%
diff --git a/macros/latex/base/ltx3info.pdf b/macros/latex/base/ltx3info.pdf
new file mode 100644
index 0000000000..6ee1395e6a
--- /dev/null
+++ b/macros/latex/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex/base/ltx3info.tex b/macros/latex/base/ltx3info.tex
new file mode 100644
index 0000000000..d3a7542cfd
--- /dev/null
+++ b/macros/latex/base/ltx3info.tex
@@ -0,0 +1,474 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+\documentclass[a4paper]{article}
+
+% Commands and environments:
+
+\newcommand{\eg}{e.g.~}
+\newcommand{\ie}{i.e.~}
+
+
+\newenvironment{citations}{%
+ \list{}{%
+ \renewcommand{\makelabel}[1]{\normalfont\itshape ##1}%
+ }%
+}{%
+ \endlist
+}
+
+% Some logos:
+
+\newcommand{\NFSS}{NFSS}
+
+\newcommand{\LaTeXNews}{\LaTeX~News}
+
+\newcommand{\AW}{Addison Wesley}
+
+\newcommand{\SGML}{{\sc SGML}}
+\newcommand{\DSSSL}{{\sc DSSSL}}
+\newcommand{\HTML}{{\sc HTML}}
+\newcommand{\XML}{{\sc XML}}
+\newcommand{\PDF}{{\sc PDF}}
+
+\newcommand{\PS}{{\sc Post\-Script}}
+
+\newcommand{\AmSTeX}{$\mathcal A$\lower.4ex\hbox{$\!\mathcal
+ M\!$}$\mathcal S$-\TeX}
+\newcommand{\AmSLaTeX}{$\mathcal A$\lower.4ex\hbox{$\!\mathcal
+ M\!$}$\mathcal S$-\LaTeX}
+\newcommand{\MF}{{\sc Meta\-font}}
+
+% sections
+
+\setcounter{secnumdepth}{-2}
+
+% Front matter:
+
+\title{\Large The \LaTeX3 Project}
+
+\author{\copyright 1995--1999 \
+Frank Mittelbach and
+Chris Rowley}
+
+\date{12 January 1999}
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\maketitle
+
+\begin{abstract}
+ This article describes the motivation, achievements and future of
+ the \LaTeX3 Project, which was established to produce a new version
+ of \LaTeX{}, the widely-used and highly-acclaimed document
+ preparation system. It also describes how you can help us to
+ achieve our aims.\\[2pt]
+ \textbf{For Archive maintainers, Authors, Publishers and
+ Distributors:}\\
+ The project team request that, whenever possible, you include this
+ article in any of the following:
+ \begin{itemize}
+ \item Books about \TeX{} and \LaTeX{}.
+ \item Instructions for authors on using \LaTeX{}.
+ \item The printed documentation of CD-ROM collections that contain
+ \LaTeX.
+ \item On-line collections that include a significant proportion of
+ documents encoded in \LaTeX.
+\end{itemize}
+\end{abstract}
+
+\section{Outline}
+
+The purposes of the \LaTeX3 system can be summarized thus: it will
+greatly increase the range of documents which can be processed; and it
+will provide a flexible interface for typographic designers to easily
+specify the formatting of a class of documents.
+
+The \LaTeX3 Project Team is a small group of volunteers whose aim is
+to produce this major new document processing system based on the
+principles pioneered by Leslie Lamport in the current \LaTeX.
+
+The major visible work of the team before 1997 was the development of
+the current \emph{standard} version of \LaTeX{}. This was first
+released in 1994 and has since then been actively maintained and
+enhanced by extensions to that core system. They will continue to
+develop and maintain this system, releasing updated versions every six
+months and recording these activities in the \LaTeX{} bugs database
+(see below).
+
+Although \LaTeX{} may be distributed freely, the production and
+maintenance of the system does require expenditure of reasonably large
+sums of money. The \LaTeX3 Project Fund has therefore been set up to
+channel money into this work. We know that some users are
+aware of this fund as they have already contributed to it---many
+thanks to all of them! If you want to know more about how you can
+help the project, see Page \pageref{fund}---and thanks in advance for
+your generosity in the future.
+
+
+\section{Background}
+
+With \TeX{}, Knuth designed a formatting system that is able to
+produce a large range of documents typeset to extremely high quality
+standards. For various reasons (\eg quality, portability, stability
+and availability) \TeX{} spread very rapidly and can nowadays be best
+described as a world-wide de facto standard for high quality
+typesetting. Its use is particularly common in specialized areas, such
+as technical documents of various kinds, and for multi-lingual
+requirements.
+
+The \TeX{} system is fully programmable. This allows the development
+of high-level user interfaces whose input is processed by \TeX{}'s
+interpreter to produce low-level typesetting instructions; these are
+input to \TeX{}'s typesetting engine which outputs the format of each
+page in a device-independent page-description language. The \LaTeX{}
+system is such an interface; it was designed to support the needs of
+long documents such as textbooks and manuals. It separates content and
+form as much as possible by providing the user with a generic (\ie
+logical rather than visual) mark-up interface; this is combined with
+style sheets which specify the formatting.
+
+Recent years have shown that the concepts and approach of \LaTeX{} are
+now widely accepted. Indeed, \LaTeX{} has become the standard method
+of communicating and publishing documents in many academic
+disciplines. This has led to many publishers accepting \LaTeX{}
+source for articles and books; and the American Mathematical Society
+now provides a \LaTeX{} package making the features of \AmSTeX{}
+available to all users of \LaTeX{}. Its use has also spread into many
+other commercial and industrial environments, where the technical
+qualities of \TeX{} together with the concepts of \LaTeX{} are
+considered a powerful combination of great importance to such areas as
+corporate documentation and publishing. This has also extended to
+on-line publishing using, for example, \PDF{} output incorporating
+hypertext and other active areas.
+
+With the spreading use of \SGML{}-compliant systems (\eg Web-based
+publishing using \HTML{} or \XML{}) \TeX{} again is a common choice as
+the formatting engine for high quality typeset output: a widely used
+such system is {\em The Publisher\/} from ArborText, whilst a more
+recent development is the object-oriented document editor Grif. The
+latter is used for document processing in a wide range of industrial
+applications; it has also been adopted by the Euromath consortium as
+the basis of their mathematician's workbench, one of the most advanced
+of the emerging project-oriented user environments. Typeset output
+from \SGML{}-coded documents in these systems is obtained by
+translation into \LaTeX{}, which will therefore soon also be a natural
+choice for the output of \DSSSL-compliant systems.
+
+Because a typical \SGML{} Document Type Definition (DTD) uses concepts
+similar to those of \LaTeX{}, the formatting is often implemented by
+simply mapping document elements to \LaTeX{} constructs rather than
+directly to `raw \TeX'.
+This enables the
+sophisticated analytical techniques built into the \LaTeX{}
+software to be exploited; and it avoids the need to program in \TeX{}.
+
+\section{Motivation}
+
+This increase in the range of applications of \LaTeX{} has highlighted
+certain limitations of the current system, both for authors of
+documents and for designers of formatting styles.
+
+In addition to the need to extend the variety of classes of document
+which can be processed by \LaTeX{}, substantial enhancements are
+necessary in, at least, the following areas:
+ \begin{itemize}
+ \item
+ the command syntax (attributes, short references, etc);
+ \item
+ the layout specification interface (style design);
+ \item
+ the level of robustness (error recovery, omitted tags);
+ \item
+ the extendibility (package interface);
+ \item
+ the layout specification of tabular material;
+ \item
+ the specification and inclusion of graphical material;
+ \item
+ the positioning of floating material, and other aspects of page
+ layout;
+ \item
+ the requirements of hypertext systems.
+ \end{itemize}
+
+ Further analysis of these deficiencies has shown that some of the
+ problems are to be found in \LaTeX{}'s internal concepts and design.
+ This project to produce a new version therefore involves thorough
+ research into the challenges posed by new applications and by the use
+ of \LaTeX{} as a formatter for a wide range of documents, \eg \SGML{}
+ documents; on-line \PDF{} documents with hypertext links.
+
+ This will result in a major re-implementation of large parts of the
+ system. Some of the results of such rethinking of the fundamentals
+ are already available in Standard \LaTeX{}, notably in the following
+ areas:
+
+\begin{itemize}
+\item Font declaration and selection;
+\item Font and glyph handling within mathematical formulas;
+\item Handling multiple font glyph encodings within a document;
+\item Allowing multiple input character encodings within a document;
+\item A uniform interface for graphics inclusion;
+\item Support for coloured text;
+\item Building and interfacing new classes and extension packages.
+\end{itemize}
+
+
+\section{Description}
+
+The strengths of the present version of \LaTeX{} are
+as follows:
+ \begin{itemize}
+ \item excellent standard of typesetting for text, technical
+formulas\\
+and tabular material;
+ \item separation of generic mark-up from visual formatting;
+ \item ease of use for authors;
+ \item portability of documents over a wide range of platforms;
+ \item adaptability to many languages;
+ \item widespread and free availability;
+ \item reliable support and maintenance by the \LaTeX3 project team.
+ \end{itemize}
+ These will be preserved and in many cases greatly enhanced by the new
+ version which is being developed to fulfill the following requirements.
+ \begin{itemize}
+ \item
+ It will provide a syntax that allows highly automated translation
+ from popular \SGML{} DTDs into \LaTeX{} document classes (these
+ will be provided as standard with the new version).
+
+ The syntax of the new \LaTeX{} user-interface will, for example,
+ support the \SGML{} concepts of `entity', `attribute' and `short
+ reference' in such a way that these can be directly linked to the
+ corresponding \SGML{} features.
+
+ \item
+ It will support hypertext links and other features required for
+ on-line structured documents using, for example, \HTML{} and \XML{}.
+
+\item
+ It will provide a straightforward style-designer interface to support
+ both the specification of a wide variety of typographic requirements
+ and the linking of entities in the generic mark-up of a document to
+ the desired formatting. These two parts of the design process will
+ be clearly separated so that it is possible to specify different
+ layouts for the same DTD.
+
+ The language and syntax of this interface will be as natural as
+ possible for a typographic designer. As a result, this language
+ could easily be interfaced to a visually-oriented, menu-driven
+ specification system.
+
+ This interface will also support \DSSSL{} specifications and
+ style-sheet concepts such as those used with \HTML{} and \XML{}.
+
+ \item
+ It will provide an enhanced user-interface that allows expression of
+ the typesetting requirements from a large range of subject areas. Some
+ examples are listed here.
+
+ \begin{itemize}
+ \item The requirements of technical documentation (\eg offset layout,\\
+ change bars, etc).
+ \item The requirements of academic publishing in the humanities\\
+ (critical text editions, etc).
+ \item The requirements of structural formulas in chemistry.
+ \item Advanced use of the mathematical-typesetting features of \TeX{}.
+ \item The integration of graphical features, such as shading,
+ within text.
+ \item the integration of hypertext and other links in on-line
+ documents using systems such as \HTML{}, \XML{} and \PDF{}.
+
+ \end{itemize}
+
+ Special care will be taken to ensure that this interface is
+ extensible: this will be achieved by use of modular designs.
+
+
+ \item
+ It will provide a more robust author-interface. For example,
+ artificial restrictions on the nesting of commands will be removed.
+ Error handling will be improved by adding
+ a more effective, interactive help system.
+
+ \item
+ It will provide access to arbitrary fonts from any family (such as
+ the \PS{} and TrueType fonts) including a wide range of fonts for
+ multi-lingual documents and the specialist glyphs required by
+ documents in various technical and academic areas.
+
+ \item
+ The new interfaces will be documented in detail and the
+ system will provide extensive catalogues of examples, carefully
+ designed to make the learning time for new users (both designers and
+ authors) as short as possible.
+
+ \item
+ The code itself will be thoroughly documented and it will be
+ designed on modular principles. Thus the system will be easy to
+ maintain and to enhance.
+\end{itemize}
+
+The resulting new \LaTeX{} will, like the present version, be usable
+with any standard \TeX{} system (or whatever replaces it) and so will
+be freely available on a wide range of platforms.
+
+
+\section{\LaTeX{} documentation}
+
+\begingroup
+\setlength{\parindent}{0pt}
+
+A complete description of Standard \LaTeX{} can be found in:
+\begin{citations}
+\item[\LaTeX: A Document Preparation System]
+ Leslie Lamport,\\ \AW, 2nd ed, 1994.
+\item[The \LaTeX{} Companion]
+ Mittelbach, Goossens with Braams, Carlisle and Rowley,\\ \AW, 2nd ed, 2004.
+\end{citations}
+
+A recent addition to the publications closely associated with the
+project is:
+\begin{citations}
+\item[The \LaTeX{} Graphics Companion]
+ Goossens, Mittelbach and Rahtz,\\ \AW, 1997.
+\end{citations}
+
+This \LaTeX{} distribution comes with documentation on several aspects
+of of the system. The newer features of the system are described in
+the following documents:
+\begin{citations}
+\item[\LaTeXe{} for authors]
+ describes the new features of \LaTeX{} documents,
+ in the file \texttt{usrguide.tex};
+\item[\LaTeXe{} for class and package writers]
+ describes how to produce \LaTeX{} classes and packages,
+ in the file \texttt{clsguide.tex};
+\item[\LaTeXe{} font selection]
+ describes the new features of \LaTeX{} fonts for
+ class and package writers,
+ in the file \texttt{fntguide.tex}.
+\end{citations}
+
+For further contacts and sources of information on \TeX{} and
+\LaTeX{}, see the addresses on Page~\pageref{contacts}.
+
+\endgroup
+\pagebreak
+
+
+\section{The \LaTeX3 Project Fund}
+\label{fund}
+
+Although \LaTeX{} may be distributed freely, the production and
+maintenance of the system does require expenditure of reasonably large
+sums of money. There are many necessities that need substantial
+financing: examples are new or enhanced computing equipment and travel
+to team meetings (the volunteers come from many different countries,
+so getting together occasionally is a non-trivial exercise).
+
+This is why we are appealing to you for contributions to the fund.
+Any sum will be much appreciated; the amount need not be large as
+small contributions add up to very useful amounts. Contributions of
+suitable equipment and software will also be of great value. This
+appeal is both to you as an individual author and to you as a member
+of a group or as an employee: please encourage your department or your
+employer to contribute towards sustaining our work.
+
+We should like to see funded projects that make considerable use of
+\LaTeX{} (\eg conferences and research teams who use it to publish
+their work, and electronic research archives using it) include
+contributions to this fund in their budgets. %% e-print systems
+
+We are also asking commercial organisations to assess the benefits
+they gain from using, or distributing, a well-supported \LaTeX{} and
+to make appropriate contributions to the fund in order that we can
+continue to maintain and improve the product. If you work for, or do
+business with, such an organisation, please bring to the attention of
+the relevant people the existence and needs of the project.
+
+In particular, we ask that all the large number of organisations and
+businesses that distribute \LaTeX{}, within other software or as part
+of a CD-ROM collection, should consider pricing all products containing
+\LaTeX{} at a level that enables them to make regular donations to the
+fund from the profit on these items. We also ask all authors and
+publishers of books about \LaTeX{} to consider donating part of the
+royalties to the fund.
+
+Contributions should be sent to one of the following addresses:
+\begin{quote}\small\label{addrs}
+ \TeX{} Users Group, P.O. Box 2311, Portland, OR~97208-2311 USA\\
+ Fax:~+1~503~223~3960 \ Email: \texttt{tug@tug.org}
+
+ \noindent
+ UK TUG, 1 Eymore Close, Selly Oak, Birmingham B29~4LB UK\\
+ Fax: +44 121 476 2159 \ Email: \texttt{uktug-enquiries@tex.ac.uk}
+\end{quote}
+
+Cheques should be payable to the user group (TUG or UKTUG) and be
+clearly marked as contributions to the \LaTeX3 fund.
+Many thanks to all of you who have contributed in the past and thanks
+in advance for your generosity in the future.
+
+\section{Contacts and information}
+\label{contacts}
+
+In addition to the sources mentioned above, \LaTeX{} has its home page
+on the World Wide Web at:
+\begin{verbatim}
+ http://www.latex-project.org/
+\end{verbatim}
+This page describes \LaTeX{} and the \LaTeX3 project, and contains
+pointers to other \LaTeX{} resources, such as the user guides, the
+\TeX{} Frequently Asked Questions, and the \LaTeX{} bugs database.
+
+More general information, including contacts for local User Groups,
+can be accessed via:
+\begin{verbatim}
+ http://www.tug.org/
+\end{verbatim}
+
+The electronic home of anything \TeX-related is the Comprehensive
+\TeX{} Archive Network (CTAN). This is a network of cooperating ftp
+sites, with over a gigabyte of \TeX{} material:
+\begin{verbatim}
+ ftp://cam.ctan.org/tex-archive/
+ ftp://dante.ctan.org/tex-archive/
+ ftp://tug.ctan.org/tex-archive/
+\end{verbatim}
+
+For more information, see the \LaTeX{} home page.
+
+
+\end{document}
+
+
+
diff --git a/macros/latex/base/ltxcheck.tex b/macros/latex/base/ltxcheck.tex
index d5426aafa1..7446c06cea 100644
--- a/macros/latex/base/ltxcheck.tex
+++ b/macros/latex/base/ltxcheck.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltxdoc.dtx b/macros/latex/base/ltxdoc.dtx
index 329353d123..2d3e5aad2a 100644
--- a/macros/latex/base/ltxdoc.dtx
+++ b/macros/latex/base/ltxdoc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2018/03/15 v2.0x Standard LaTeX documentation class]
+%<class> [2019/09/16 v2.0y Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -356,6 +356,7 @@
/endgroup%
% \end{macrocode}
%
+% \changes{v2.0y}{2019/09/16}{Say that oldcomments may not be accurate (gh/180)}
% \begin{macrocode}
\begingroup
\catcode`\/=\catcode`\\
@@ -375,6 +376,7 @@
/parindent/z@
/ttfamily/expandafter/let/expandafter/oc@ttf/the/font
/rmfamily
+ /textit{Historical /LaTeX/,2.09 comments (not necessarily accurate any more):}
/hfuzz/maxdimen
}
/endgroup
@@ -388,6 +390,7 @@
\ifvmode%
\def\commentline{#1}%
\ifx\commentline\oldc%
+ \textit{End of historical \LaTeX\,2.09 comments.}
\end{oldcomments}%
\else%
\ifx\commentline\begmac%
diff --git a/macros/latex/base/ltxdoc.pdf b/macros/latex/base/ltxdoc.pdf
index d7d6d9d694..f641b9f483 100644
--- a/macros/latex/base/ltxdoc.pdf
+++ b/macros/latex/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex/base/ltxguide.cls b/macros/latex/base/ltxguide.cls
index 7b1d05ec20..8ef06b95aa 100644
--- a/macros/latex/base/ltxguide.cls
+++ b/macros/latex/base/ltxguide.cls
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/ltxref.dtx b/macros/latex/base/ltxref.dtx
index a5c11bf21b..27d3250413 100644
--- a/macros/latex/base/ltxref.dtx
+++ b/macros/latex/base/ltxref.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltxref.dtx}
- [2014/09/29 v1.1k LaTeX Kernel (Cross Referencing)]
+ [2019/09/16 v1.1m LaTeX Kernel (Cross Referencing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltxref.dtx}
@@ -126,6 +126,50 @@
%
% \end{oldcomments}
%
+% \DescribeMacro\labelformat
+% A reference via |\ref| produces by default the data associated with
+% the corresponding |\label| command (typically a number); any
+% additional formatting has to be provided by the user. If, for
+% example, references to equations are always to be typeset as
+% ``equation (\textit{number})'', one has to code
+% ``\verb=equation (\ref{=\textit{key}\verb=})=''. With |\labelformat|
+% there is a possibility to generate such
+% frills automatically without resorting to low-level coding.
+% The command takes two arguments: the first is
+% the name of a counter and the second is its representation when
+% referenced. This means that for a successful usage, one has to know
+% the counter name being used for generating the label, though in
+% practice this should not pose a problem. The current counter number
+% is picked up as an argument.
+% Here are two examples:
+%\begin{verbatim}
+% \labelformat{section}{section~#1}
+% \labelformat{equation}{equation~(#1)}}
+%\end{verbatim}
+%
+% \DescribeMacro\Ref
+% A side effect of using |\labelformat| is that, depending on the
+% defined formatting, it becomes impossible to use |\ref| at the
+% beginning of a sentence (if its replacement text starts with a
+% lowercase letter). To overcome this problem we
+% introduce the command |\Ref| that behave like
+% |\ref| except that it uppercases the first token
+% of the generated string.
+%
+
+% To make |\Ref| work properly the very first token in the second
+% argument of |\labelformat| has to be a simple \textsc{ascii} or
+% UTF-8 letter, otherwise the capitalization will fail or worse, you
+% will end up with some error messages. If you actually need something
+% more complicated in this place (e.g., an accented letter not written
+% as a UTF-8 character) you have to explicitly surround it with
+% braces, to identify the part that needs to be capitalized. For
+% example, for figure references in the Hungarian language you might
+% want to write |\labelformat{figure}{{\'a}bra~\thefigure}| or use
+% |\labelformat{figure}{ábra~\thefigure}| which avoids the brace
+% problem.
+%
+%
% \begin{macro}{\G@refundefinedtrue}
% \changes{v1.1i}{1995/12/07}{Renamed (back) from \cs{G@refundefined}}
% \begin{macro}{\@refundefined}
@@ -247,7 +291,6 @@
%
% \begin{macro}{\label}
% \changes{v1.1d}{1994/11/04}{(ASAJ)Added \cs{protected@write}}
-% \begin{macro}{\refstepcounter}
% \changes{v1.1d}{1994/11/04}{(ASAJ)Added \cs{protected@edef}}
% The commands |\label| and |\refstepcounter| have been changed to
% allow |\protect|'ed commands to work properly. For example,
@@ -263,79 +306,112 @@
{\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%
\@esphack}
% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\refstepcounter}{Add \labelformat and \Ref}%
+% \end{macrocode}
+%
+% \begin{macro}{\refstepcounter}
+% Step the counter and allow for labels to point to its current value.
+% \begin{macrocode}
\def\refstepcounter#1{\stepcounter{#1}%
\protected@edef\@currentlabel
- {\csname p@#1\endcsname\csname the#1\endcsname}%
+% \end{macrocode}
+% By generating the second csname first the |\p@...| command can
+% grab it as an argument which can be helpful for more complicated
+% typesetting arrangements.
+%
+% The trick is to ensure that |\csname the#1\endcsname| is turned
+% into a single token before |\p@...| is expanded further. This
+% way, if the |\p@...| command is a macro with one argument it will
+% receive |\the...|. With the original kernel code (i.e., without the
+% |\expandafter|) it will instead pick up |\csname| which would be
+% disastrous.
+%
+% Using |\expandafter| instead of braces delimiting the argument is
+% better because, assuming that the |\p@...| command is not defined
+% as a macro with one argument, the braces will stay and prohibit
+% kerning that might otherwise happen between the glyphs generated
+% by |\the...| and surrounding glyphs.
+%
+% \changes{v1.1l}{2019/08/22}{Allow \cs{p@...} to have an
+% argument}
+% \begin{macrocode}
+ {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\@currentlabel}
-% For |\label| commands that come before any environment
%
+% \begin{macro}{\labelformat}
+% A shortcut to set the |\p@...| macro for a counter. It will pick
+% up the counter representation as an argument so that it can be
+% specially formatted.
+% \changes{v1.1l}{2019/08/22}{Commanded moved from \texttt{varioref.sty}}
% \begin{macrocode}
-\def\@currentlabel{}
+\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\Ref}
+% This macro expands the result of |\ref| and then uppercases the
+% first token. Only useful if the label was generated via
+% |\labelformat| and contains some lower case letter at its start. If
+% the label starts with a complicated construct (e.g., an accented
+% letter that is provided via a command, e.g., \verb=\"a= instead
+% of a UTF-8 character like ä) one has to surround everything that
+% needs uppercasing in
+% a brace group in the definition of |\labelformat|.\footnote{There
+% is one problem with this approach: the braces are kept in a
+% normal \texttt{\textbackslash ref} which might spoil kerning.
+% Perhaps one day this needs redoing.}
+% \changes{v1.1l}{2019/08/22}{Commanded moved from \texttt{varioref.sty}}
% \begin{macrocode}
-%</2ekernel>
+\DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
% \end{macrocode}
+% \end{macro}
%
-% \subsection{An extension of counter referencing}
%
%
-% At the moment a reference to a counter |foo| will generate the
-% equivalent of |\p@foo\thefoo| although not quite in this form. For
-% some applications it would be nice of one could have |\thefoo| being
-% an argument to |\p@foo| to be able to put material before and after
-% the number generated by |\thefoo|. This can be easily achieved with
-% a small change to one of the kernel commands as follows:
+% \changes{v1.1m}{2019/09/16}{Correctly revert the \cs{p@...} change}
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\refstepcounter}{Add \labelformat and \Ref}%
+%<latexrelease>
+%<latexrelease>\def\refstepcounter#1{\stepcounter{#1}%
+%<latexrelease> \protected@edef\@currentlabel
+%<latexrelease> {\csname p@#1\endcsname\csname the#1\endcsname}%
+%<latexrelease>}
+%<latexrelease>\let\labelformat\@undefined
+%<latexrelease>\let\Ref\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
+%
+%
%
-%\begin{verbatim}
-%\def\refstepcounter#1{\stepcounter{#1}%
-% \protected@edef\@currentlabel
-% {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
-%}
-%\end{verbatim}
%
-% The trick is to ensure that |\csname the#1\endcsname| is turned into
-% a single token before |\p@...| is expanded further. This way, if the
-% |\p@...| command is a macro with one argument it will receive
-% |\the...|. With the kernel code (i.e., without the |\expandafter|)
-% it will instead pick up |\csname| which would be disastrous.
-%
-% Using |\expandafter| instead of braces delimiting the argument is
-% better because, assuming that the |\p@...| command is not defined as
-% a macro with one argument, the braces will stay and prohibit kerning
-% that might otherwise happen between the glyphs generated by
-% |\the...| and surrounding glyphs.
-%
-% We have refrained from making this change in the kernel code
-% although for existing documents it would be 100\% backward
-% compatible. The reason being that any class or package making use of
-% this functionality would then horribly fail with older \LaTeX{}
-% installations.
-%
-% Instead we suggest that people who are interested in using this
-% functionality in a document class or package add the redefinition to
-% the class file. To ensure that this redefinition is properly applied
-% they might want to test for the original definition first, e.g.
+% \begin{macro}{\@currentlabel}
+% Default for |\label| commands that come before any environment.
+% \begin{macrocode}
+\def\@currentlabel{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
%
-%\begin{verbatim}
-%\CheckCommand*\refstepcounter[1]{\stepcounter{#1}%
-% \protected@edef\@currentlabel
-% {\csname p@#1\endcsname\csname the#1\endcsname}%
-%}
-%\renewcommand*\refstepcounter[1]{\stepcounter{#1}%
-% \protected@edef\@currentlabel
-% {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
-%}
-%\end{verbatim}
%
% \Finale
%
diff --git a/macros/latex/base/makeindx.dtx b/macros/latex/base/makeindx.dtx
index 280416f65b..aa998bf3ca 100644
--- a/macros/latex/base/makeindx.dtx
+++ b/macros/latex/base/makeindx.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/makeindx.ins b/macros/latex/base/makeindx.ins
index d7ad42e2f9..b31b967c41 100644
--- a/macros/latex/base/makeindx.ins
+++ b/macros/latex/base/makeindx.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/makeindx.pdf b/macros/latex/base/makeindx.pdf
index f6475a4ece..f5985404bb 100644
--- a/macros/latex/base/makeindx.pdf
+++ b/macros/latex/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex/base/manual.err b/macros/latex/base/manual.err
deleted file mode 100644
index e78b18de9f..0000000000
--- a/macros/latex/base/manual.err
+++ /dev/null
@@ -1,365 +0,0 @@
-\documentclass{article}
-
-\newcommand{\reportedby}[2]{{\small [First reported by #1 on \mbox{#2}.]}}
-\newcommand{\erratum}[1]{\subsubsection*{#1}}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% MODIFICATION DATE %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% Defines \moddate to expand to modification date such as %
-% %
-% 5 Aug 1991 %
-% %
-% and \prdate to print it in a large box. Assumes editor %
-% updates modification date in standard SRC Gnu Emacs style. %
-% (should work for any user name). %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\ypmd{% %
-% %
-% %
- Last modified on Sat 13 October 2018 at 12:56:41 PST by lamport %
- endypmd} %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\moddate}{\expandafter\xpmd\ypmd} %
-\def\xpmd Last modified %
-on #1 #2 #3 #4 at #5:#6:#7 #8 by #9 endypmd{#2 #3 #4} %
-\newcommand{\prdate}{\noindent\fbox{\Large\moddate}} %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newcommand{\mytt}{\normalfont\ttfamily}
-\newcommand{\cindex}{\index}
-\newcommand\bs{\char '134 } % A backslash character for \tt font
-
-\title{Errata to the Second Edition of the \LaTeX\ Manual}
-\author{Leslie Lamport}
-\date{\moddate}
-
-\begin{document}
-\maketitle
-
-\noindent These are all the errors and omissions to the manual,
-\LaTeX: {\em A Document Preparation System}, second edition, published
-by Addison-Wesley, reported as of \moddate. Positions in the book are
-indicated by page and line number, where the top line of a page is
-number 1 and the bottom line is number $-1$. A running head and a
-page number are not considered to be lines, but all other lines are.
-Please report any additional errors to The \LaTeX\ Project at
-\texttt{www.latex-project.org/bugs/}\,.
-
-
-\subsection*{Errors Corrected in the First Printing}
-
-\erratum{page 25, example of \texttt{verse} environment}
-Replace \verb|{\em all\/}| by \verb|\emph{all}|.
- \reportedby{Rosemary Bailey}{29 Aug 1994}
-
-\erratum{page 28, first paragraph}
-Not an error, but it would be
-helpful to add the following sentence to the end of that paragraph:
- ``(If a declaration has arguments, they become additional
-arguments of the corresponding environment's \verb|\begin| command.)''
-
-
-\erratum{page 33, line 10}
-Add \verb|\]| to the list of fragile commands.
- \reportedby{Rosemary Bailey}{29 Aug 1994}
-
-\erratum{page 43, table 3.5}
-Add an entry for \verb|\notin| ($\notin$).
- \reportedby{Rosemary Bailey}{29 Aug 1994}
-
-\erratum{page 72, two examples}
-Change \verb|{\em ...}| to \verb|\emph{...}|
- \reportedby{Rosemary Bailey}{29 Aug 1994}
-
-\erratum{page 101}
-This is not an error, but some readers will find it helpful if, in the
-descriptions of \verb|\setlength| and \verb|\addtolength|,
-\verb|\gnat| were replaced by \verb|\parskip|.
- \reportedby{Ellen Gilkerson}{9 Aug 1994}
-
-\erratum{page 108, lines 7 and 10}
-This is not an error, but it might be easier to understand
-the example if \verb|\len| were replaced by something like \verb|\saved|.
- \reportedby{Rosemary Bailey}{29 Aug 1994}
-
-\erratum{page 139, lines $-8$ and $-9$}
-
-The funny break between these two lines should be eliminated.
-\reportedby{Malcolm Clark}{9 Aug 1994}
-
-\erratum{page 177, line $-12$}
-
-The \verb|twocolumn| option cannot be used with the \verb|letters|
-class.
-
-\erratum{page 197, lines 7 and 9}
-
-The \verb|figure*| environment is ended by \verb|\end{figure*}|, and
-the \verb|table*| environment is ended by \verb|\end{table*}|.
-\reportedby{Malcolm Clark}{9 Aug 1994}
-
-\erratum{page 228}
-
-Add a note that, before running a LaTeX2.09 file in compatibility mode
-in LaTeX2e, you should delete the old versions of the auxiliary files.
-
-\subsection*{Errors Corrected in the Second Printing}
-
-\erratum{page xv, line 10}
-``Chris Rowley'' should come after ``Sebastian Rahtz''.
-\reportedby{Martin Schr\"{o}der}{24 April 1995}
-
-
-
-\erratum{page 29, line $-10$}
-Change ``error indicator line'' to ``error locator line''.
-\reportedby{Xavier Perramon}{2 Jan 1995}
-
-\erratum{page 37, lines 26--28}
-Change the two sentences ``None of these \ldots formula.'' to:
-\begin{quote}
-These text-producing commands can be used in math mode to put ordinary
-text in a formula. (When the command is used in math mode, its
-argument is processed in LR mode.) The declarations cannot be used in
-math mode. Section 3.3.8 explains how to change the type style of a
-formula's math-mode symbols.
-\end{quote}
-\reportedby{Mike Piff}{7 Mar 1995}
-
-\erratum{page 39, line 6}
-Replace ``any mode'' with ``paragraph and LR mode''. Also,
-after line 8, add:
-\begin{quote}
-The commands \verb|\dag|, \verb|\ddag|, \verb|\S|, and \verb|\P|
-can also be used in math mode.
-\end{quote}
-
-\erratum{page 53, line 24}
-Change ``are needed in the'' to ``are used in the''
-\reportedby{Mike Piff}{21 Oct 1994}
-
-\erratum{page 80, line 1}
-The section heading should not be outdented.
-\reportedby{Martin Schr\"{o}der}{23 Jan 1995}
-
-\erratum{page 83, line $-8$}
-Change ``\verb|\resettime|'' to ``\verb|\settime|''.
-
-\erratum{page 84, after line $11$} Add the following sentence: ``The
-\hbox{\verb|\onlyslides|} and \hbox{\verb|\onlynotes|} commands may
-not work right if a \texttt{slide}, \texttt{overlay}, or \texttt{note}
-environment appears in the argument of any command.''
-\reportedby{Eike Ritter}{May 1996}
-
-\erratum{page 153, line 1}
-Add ``or subentry'' after ``entry''.
-\reportedby{Martin Schr\"{o}der}{22 Feb 1995}
-
-\erratum{page 171}
-Add the following before line $-4$:
-\begin{description}
-\item[\mytt \bs columnwidth]
-Normal width
- \cindex{columnwidth}%
-of a column;
-% \index{column!width}%
- \index{width!of column}%
-equals \verb|\textwidth| except for multiple-column styles.
-Its value should not be changed with the length-setting commands.
-\end{description}
-Also, in line $-4$, change \verb|\textwidth| to \verb|\columnwidth|.
-%\reportedby{Volker Kuhlmav}{20 Jan 1995}
-\reportedby{Rosemary Bailey}{9 Sep 1994}
-
-\erratum{page 180, lines 15--19}
-%
-Replace these five lines (which begin ``These commands are overridden'')
-with:
-\begin{itemize} \item[]
-To override a heading on a right-hand page (any page for one-sided
-printing), put a \verb|\markright| after the sectioning command and in
-its mandatory argument, and add an optional argument without the
-\verb|markright|, as in
-\begin{itemize}
-\item[]
- \verb|\chapter[Gnu Scents]{Gnu Scents\markright{|\textit{right\_head}\verb|}}|\\
- \verb|\markright{|\textit{right\_head}\verb|}|
-\end{itemize}
-To change the heading on a left-hand page, put a \verb|\markboth|
-command immediately after the sectioning command.
-\end{itemize}
-\reportedby{Jerome Breitenbach}{14 Dec 1995}
-
-\erratum{page 182}
-The dimensions
-\verb|\pageheight| and \verb|\pagewidth|
-should be \verb|\paperheight| and \verb|\paperwidth|,
-respectively. (The index entries on page 260 should also be changed.)
-\reportedby{Alan Jeffrey, on behalf of a user}{12 Sep 1995}
-\erratum{page 192, line 19}
-Change ``\emph{cmd}'' to ``\emph{def}''.
-\reportedby{Martin Schr\"{o}der}{9 Mar 1995}
-
-
-\erratum{page 195, line 14}
-Change ``numbered `within' it'' to ``numbered directly `within' it''.
-\reportedby{Martin Schr\"{o}der}{5 Dec 1994}
-
-\erratum{page 197, line 14}
-After ``\verb|\textwidth|'' add ``or \verb|\columnwidth|''
-\reportedby{Volker Kuhlmann}{22 Jan 1995}
-
-\erratum{page 226}
-
-After line 7, add
-\begin{quote}
-These declarations may not be used in math mode.
-\end{quote}
-Replace lines 16-19 (beginning ``None of these commands'') with
-\begin{quote}
-When these commands are used in math mode, the \emph{text}
-argument is processed in LR mode.
-
-These commands and declarations are robust. Words typeset in
-typewriter style are not hyphenated except where permitted by \verb|\-|
-commands.
-\end{quote}
-\reportedby{Marc Lavine}{22 Aug 1995}
-
-\erratum{page 228}
-To the section ``Type Styles and Sizes'', add the following sentence:
-A few mathematical symbols now require the \texttt{latexsym} package---see
-Tables 3.4--3.7.
-
-\subsection*{Errors Corrected in the Sixteenth Printing}
-
-\erratum{page 42, line 14}
-Change ``through a symbol'' by ``through a relation symbol''.
-\reportedby{Frank Mittelbach}{15 Nov 1996}
-
-\erratum{page 42, Table 3.4}
-\verb|\land| should be listed as a synonym for \verb|\wedge|, and
-\verb|\lor| should be listed as a synonym for \verb|\vee|.
-\reportedby{Chris Rowley}{28 Oct 1998}
-
-\erratum{page 43, Table 3.7}
-\verb|\lnot| should be listed as a synonym for \verb|\neg|.
-\reportedby{Chris Rowley}{15 Oct 1998}
-
-\erratum{page 137} This is not an error, but it would be better to
-change lines 23 and 24 to:
-\begin{quote}
-\LaTeX\
- \index{file!not found error}%
- \index{file!nonexistent}%
-is trying to read a file that apparently doesn't exist. If the missing
-file has the extension \texttt{tex}, then \LaTeX\ is trying to
- \index{input)@\verb+\input+!of nonexistent file}%
- \index{include)@\verb+\include+!of nonexistent file}%
-\verb|\input| or \verb|\include| it; if it
-\end{quote}
-
-\erratum{page 171, line 19}
-Change the description of \verb|\indent| to:
-\begin{description}
-\item[\mytt \bs indent]
-Produces a
-% \cindex{indent}%
-% \index{paragraph!indentation}%
-horizontal space whose width equals the width of the
-paragraph indentation. It can be used to add a paragraph indentation
-where one would otherwise be suppressed. (If it doesn't work,
-try typing \verb|\indent\indent|.) Robust.
-\end{description}
-\reportedby{Chris Rowley}{15 Oct 1998}
-
-\erratum{page 179, line 19}
-%
-Change to:
-\begin{quote}
-page style for the \texttt{article} and \texttt{report} document classes.
-\end{quote}
-\reportedby{Stephen J. Alter}{17 Sep 1997}
-
-\erratum{page 195, line 28}
-Replace ``\textit{num}$_1$ and \textit{num}$_1$ are numbers''
-with ``\textit{num}$_1$ and \textit{num}$_2$ are numbers''.
-\reportedby{Magnus Lewis-Smith}{14 Jan 1999}
-
-\erratum{page 196, line $-5$}
-Change \verb|\newboolean{|\emph{name}\verb|}| to
-\verb|\newboolean{|\emph{nam}\verb|}|.
-\reportedby{Christopher von B\"{u}low}{28 Aug 2000}
-
-
-\erratum{page 198, line 14}
-Change ``it will not be printed'' to ``it will usually not be printed''.
-
-\erratum{page 218, line $-14$}
-Change ``\texttt{tabular}'' to ``\texttt{tabbing}''.
-\reportedby{Carlos Pita}{27 Aug 2001}
-
-\erratum{foldout, column 3, line 3}
-Replace \emph{style} with \emph{class}. \reportedby{Christopher von B\"{u}low}{28 Aug 2000}
-
-\subsection*{Errors Corrected in the Seventeenth Printing}
-
-\erratum{page 51, line 8}
-Change ``The \verb|\,| command'' to ``The \verb|\,| and \verb*|\ | commands''.
-\reportedby{Phillip J Shelton}{2 Jul 1999}
-
-\erratum{page 61, second example (middle of page)}
-Remove the \verb|\mbox{}| following the \texttt{tabbing} environment.
-\reportedby{Marcin Wolinski}{17 Sep 2003}
-
-\erratum{page 210, line 20}
-Add a space after ``bibliography''.
-\reportedby{Marcin Wolinski}{17 Sep 2003}
-
-\subsection*{Error Corrected in the Twenty-First Printing}
-\erratum{page 198, line $-11$}
-The sentence beginning ``The last three rules'' is hard to read. Better
-would be:
-\begin{quote}
-\noindent The last three rules are suspended when a
- \verb|\clearpage|,\linebreak
- \verb|\cleardoublepage|, or
- \verb|\end{document}| command occurs,
-at which point all unprocessed figures and tables are allowed a
-\hbox{\mytt p} option and printed.
-\end{quote}
-\reportedby{Paul Stanford}{9 Oct 2004}
-
-\subsection*{Error Corrected in the Twenty-Second Printing}
-
-\erratum{page 253, column 2, lines $-5$ and $-6$}
-
-The two index entries for \verb|\ldots| should be combined.
-
-
-\reportedby{Christopher Dutchyn}{22 July 2005}
-
-
-\subsection*{Uncorrected Errors}
-
-\erratum{page 206, line 17 (\texttt{\string\multicolumn} explanation)}
-
-Insert the following text right after ``\texttt{l}, and \texttt{r}.''
-\begin{quote}
-If the part of the environment's \emph{cols} argument being replaced
-immediately follows an \texttt{@} expression, then the \emph{item}
-will be preceded by a normal intercolumn space unless the
-\verb|\multicolumn| command's \emph{col} argument begins with an
-\texttt{@} expression. In particular, beginning the \emph{col}
-argument with \verb|@{}| will suppress that space.
-\end{quote}
-\reportedby{Ulrike Fischer, Frank Mittelbach}{23 Sep 2018}
-
-\end{document}
-
-%try
-%try
diff --git a/macros/latex/base/manual.pdf b/macros/latex/base/manual.pdf
deleted file mode 100644
index 62d4eab9a6..0000000000
--- a/macros/latex/base/manual.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/minimal.cls b/macros/latex/base/minimal.cls
index 48d3cb4cf0..d55576326d 100644
--- a/macros/latex/base/minimal.cls
+++ b/macros/latex/base/minimal.cls
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/modguide.pdf b/macros/latex/base/modguide.pdf
new file mode 100644
index 0000000000..5024a2070a
--- /dev/null
+++ b/macros/latex/base/modguide.pdf
Binary files differ
diff --git a/macros/latex/base/modguide.tex b/macros/latex/base/modguide.tex
new file mode 100644
index 0000000000..ff796c7687
--- /dev/null
+++ b/macros/latex/base/modguide.tex
@@ -0,0 +1,412 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: modguide.tex
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[1995/11/28]
+
+\newcommand{\reasonsection}[1]{\subsubsection*{\it #1}}
+
+\newcommand{\nstex}{\textsf{NS-TeX}}
+
+\setcounter{secnumdepth}{-1}
+
+\title{Modifying \LaTeX}
+
+\author{\copyright~Copyright 1995, \LaTeX3 Project Team.\\
+ All rights reserved.}
+
+\date{12 December 1995}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\begin{abstract}
+ This document was produced in response to suggestions that the
+ modification and distribution conditions for the files constituting
+ the New Standard \LaTeX{} system should be similar to those implied
+ by Version~2 of the \textsc{GNU} General Public Licence, as
+ published by the Free Software Foundation.
+\end{abstract}
+
+\section{Introduction}
+\label{sec:intro}
+
+This article describes the principles underlying our policy on
+distribution and modification of the files comprising the \LaTeX{}
+system. It has been produced as a result of detailed discussions of
+the issues involved in the support and maintenance of a widely
+distributed document processing system used by diverse people for many
+applications. These discussions have involved users, maintainers of
+installations that support \LaTeX{} and various types of organisations
+that distribute it. The discussions are continuing and we hope that
+the ideas in this article will make a useful contribution to the
+debate.
+
+Our aim is that \LaTeX{} should be a system which can be trusted by
+users of all types to fulfill their needs. Such a system must be
+stable and well-maintained. This implies that it must be reasonably
+easy to maintain (otherwise it will simply not get maintained at
+all). So here is a summary of our basic philosophy:
+\begin{quote}
+ We believe that the freedom to rely on a widely-used standard for
+ document interchange and formatting is as important as the freedom to
+ experiment with the contents of files.
+
+ We are therefore adopting a policy similar to that which Donald
+ Knuth applies to modifications of the underlying \TeX{} system: that
+ certain files, together with their names, are part of the system and
+ therefore the contents of these files should not be changed unless
+ the following conditions are met:
+ \begin{itemize}
+ \item they are clearly marked as being no longer part of the
+ standard system;
+ \item the name of the file is changed.
+ \end{itemize}
+\end{quote}
+
+
+\section{The system}
+\label{sec:sys}
+
+In developing this philosophy, and the consequent limitations on how
+modifications of the system should be carried out, we were heavily
+influenced by the following facts concerning the current widespread
+and wide-ranging uses of the \LaTeX{} system.
+\begin{enumerate}
+\item \LaTeX{} is not just a document processing system;
+ it also defines a language for document exchange.
+
+\item The standard document class files, and some other files, also
+ define a particular formatting of a document.
+
+\item The packages that we maintain define a particular document
+ interface and, in some cases, particular formatting of parts of a
+ document.
+
+\item The interfaces between different parts of the \LaTeX{} system
+ are very complex and it is therefore very difficult to check that a
+ change to one file does not affect the functionality of both that
+ file and also other parts of the system not obviously connected to
+ the file that has been changed.
+\end{enumerate}
+
+This leads us to the general principle that:
+\begin{quote}
+ with certain special exceptions, if you change the contents of a
+ file then the changed version should have a different file name.
+\end{quote}
+
+We certainly do not wish to prevent people from experimenting with the
+code in different ways and adapting it to their purposes. However, we
+are concerned that any distribution of modifications to the code
+should be very clearly identified as not being a part of the standard
+distribution. The exact wording and form of the distribution
+conditions is thus something that is flexible, but only within the
+constraint of keeping \LaTeX{} as a standardised, reliable product for
+the purposes described above: the exchange and formatting of
+documents.
+
+
+\section{Some examples}
+\label{sec:expl}
+
+Here we elaborate the arguments that have led us to the above
+conclusion.
+
+
+\reasonsection{Separate development considered harmful!}
+\label{sec:ja}
+
+In many fields, the use of \LaTeX{} as a language for communication
+is just as important as its capacity for fine typesetting; this is a
+very important consideration for a large population of authors,
+journal editors, archivists, etc.
+
+Related to this issue of portability is the fact that the file names
+are part of the end-user syntax.
+
+As a real example, the \LaTeX{} `tools' collection contains the
+package `array.sty'. A new user-level feature was added to this file
+at the end of 1994 and a document using this feature can contain the
+line:
+\begin{verbatim}
+ \usepackage{array}[1994/10/16]
+\end{verbatim}
+
+By supplying the optional argument, the document author is indicating
+that a version of the file \texttt{array.sty} dated no earlier than
+that date is required to run this document without error.
+
+This feature would be totally worthless if we were to allow an
+alternative version of the array package to be distributed under the
+same name since it would mean that there would be in circulation files
+of a later date, but without the new feature. If the document
+were processed using this `alternative array' then it would certainly
+produce `undefined command' errors and would probably not be
+processable at all.
+
+
+\reasonsection{What's in a file-name?}
+\label{sec:jb}
+
+In a pure markup language, such as SGML, it is reasonably clear that
+control over the final presentation lies with the receiver of a
+document and not with the author.
+
+However, the way that \LaTeX{} is often used in practice means that
+most people (at least when using the standard classes and packages)
+expect the formatting to be preserved when they send the document to
+another site.
+
+For example, suppose, as is still the most common use of \LaTeX{} in
+publishing, you produce a document for `camera-ready-copy' using the
+class `article' and that you carefully tune the formatting by, for
+example, adding some explicit line breaks etc, to ensure that it fits
+the 8 page limit set by the editor a journal or proceedings.
+
+It then gets sent to the editor or a referee who, without anyone
+knowing, has a non-standard version of the class file `article' and so
+it then runs to 9 pages. The consequence of this will, at the least,
+be a lot of wasted time whilst everyone involved works out what has
+gone wrong; it will probably also lead to everyone blaming each other
+for something which was in fact caused by a misguided distribution
+policy.
+
+It should also be noted that, for most people, the version of the
+class file `article' that gets used is decided by a site maintainer
+or the compilers of a CD-ROM distribution. To most users,
+the symbols \texttt{a\,r\,t\,i\,c\,l\,e} in:
+\begin{verbatim}
+ \documentclass{article}
+\end{verbatim}
+are just as much part of \LaTeX{}'s syntax as are the symbols
+\texttt{1\,2\,p\,t} in:
+\begin{verbatim}
+ \hspace{12pt}
+\end{verbatim}
+Thus they should both define a standard formatting rather than
+sometimes producing 1 more page or a 5pt larger space.
+
+Users rely on the fact that the command (or menu item) `LaTeX'
+produces a completely standard \LaTeX, including the fact that
+`article' is the `standard article'. They would not be at all happy
+if the person who installed and maintains \LaTeX{} for them were
+allowed to customise `article' every second day so as (in her or his
+opinion) to improve the layout; or because another user wanted to write
+a document in a different language or typeset one with different fonts.
+
+\reasonsection{\TeX{} itself}
+\label{sec:tex}
+
+We have modelled our policies on those of the \TeX{} system since this
+has for some time now been widely acknowledged as a very stable and
+high quality typesetting system.
+
+The distribution policy set up by Donald Knuth for \TeX{} has the
+following features:
+\begin{itemize}
+\item There is a clearly specified method for changing parts of the
+ software by the use of `change files'.
+\item Although arbitrary changes are allowed, the resulting program
+ can be called \TeX{} only if its functionality is precisely the same
+ as that of \TeX{} (i.e.~neither less nor more) in all important
+ areas.
+\item There are many files in the system that cannot be changed at all
+ (without changing the name): examples are the file
+ \texttt{plain.tex} and the files associated with fonts, including
+ the Metafont source files.
+\end{itemize}
+
+
+\reasonsection{Maintaining complexity}
+\label{sec:compl}
+
+Our experience of maintaining \LaTeX{} has shown us just how complex
+are the interactions between different parts of the system.
+
+We have therefore, with lots of help from the bug reports you send in,
+developed a large suite of test files which we run to check the
+effects of every change we make. A non-negligible percentage of these
+test runs give unexpected results and hence show up some unexpected
+dependency in the system.
+
+
+\section{Some assurances}
+\label{sec:conc}
+
+We are certainly not attempting to stop people reformatting \LaTeX{}
+documents in any way they wish. There are many ways of customising
+incoming documents to your personal style that do not involve changing
+the contents of \LaTeX{}'s standard files; indeed, this freedom is one
+of the system's many advantages.
+The simplest way to achieve this is to replace
+\begin{quote}
+\verb|\documentclass{article}|\quad by\quad
+\verb|\documentclass{myart}|
+\end{quote}
+
+Nor do we wish to discourage the production of new packages improving
+on the functionality or implementation of those we distribute. All we
+ask is that, in the best interests of all \LaTeX{} users, you give
+your superbly improved class or package file some other name.
+
+\section{Configuration possibilities}
+\label{sec:conposs}
+
+The standard \LaTeX{} system format can be configured in several ways
+to suit the needs and resources of an installation. For example, the
+loading of fonts and font tables can be customised to match the font
+shapes, families and encodings normally used in text mode. Also, by
+producing the appropriate font definition files, the font tables
+themselves can be set up to take advantage of the available fonts and
+sizes. The loading of hyphenation patterns can be adjusted to cover
+the languages used; this has to be done as part of making the format
+since this is the only stage at which patterns can be loaded.
+
+A complete list of these configuration possibilities can be found in
+the distributed guide \emph{Configuration options for} \LaTeXe{}
+(\texttt{cfgguide.tex}). However, as it says there, the number of
+configuration possibilities is strictly limited; we hope that having
+read this far you will appreciate the reasons for this decision. One
+consequence of this is that there is no provision for a general
+purpose configuration file, or for adding extra code just before the
+|\dump| of the format file.
+
+This was a deliberate decision and we hope that everyone (yes, that
+includes you!) will support its intent. Otherwise there will be a
+rapid return to the very situation, of several incompatible versions
+of \LaTeX~2.09, that originally prompted us to produce \LaTeXe{}: the
+new, and \emph{only}, `Standard \LaTeX'. This will make \LaTeX{}
+unmaintainable and, hence, unmaintained (by us, at least).
+
+\begin{quote}
+ Therefore you should not misuse the configuration files or other
+ parts of the distribution to produce non-standard versions of
+ \LaTeX{}.
+\end{quote}
+
+Some of the allowed configurations can result in a system that can produce
+documents that are no longer `formatting compatible'; for example, the
+use of different default fonts will most likely produce different line
+and page breaks. If you do produce a system that is configured in
+such a way that it is not `formatting compatible' then you should
+consider carefully the needs of users who need to create portable
+documents. A good way to provide for their needs is to make
+available, in addition, a standard form of \LaTeX{} without any
+`formatting incompatible' customisations.
+
+
+\section{Modification conditions}
+\label{sec:modcon}
+
+It is possible that you need to produce a document processing system
+based on standard \LaTeX{} but with functionality that cannot be
+implemented by using the approved configuration files and complying
+with the restriction on the code that is allowed in them. In other
+words, you may need a system which is sufficiently distinct from
+Standard \LaTeX{} that it is not feasible to do this simply by using
+the configuration options we provide or by producing new classes and
+packages.
+
+If you do produce such a system then, for the reasons described
+above, you should ensure that your system is clearly distinguished
+from Standard \LaTeX{} in every possible way, including the following.
+
+
+\begin{enumerate}
+\item
+ Give your system a distinguished name, such as \nstex, which clearly
+ distinguishes it from \LaTeX{}.
+
+\item
+ Ensure that it contains no file with a name the same as that of
+ a file in the standard distribution but with different contents.
+ (If this is not possible then you must:
+ \begin{itemize}
+ \item
+ ensure that files from the non-\LaTeX{} system cannot be
+ accidentally accessed whilst using a standard \LaTeX{};
+ \item ensure that each file from the non-\LaTeX{} system clearly
+ identifies itself as a non-\LaTeX{} file on the terminal and in the
+ log file.)
+ \end{itemize}
+
+\item
+ Ensure that the method used to run your system is clearly
+\label{mcon:command}
+ distinct from that used to run Standard \LaTeX; e.g.~by using a
+ command name or menu entry that is clearly not \texttt{latex}
+ (or \texttt{LaTeX} etc).
+
+\item
+ Ensure that, when a file is being processed by your system, the
+ use of non-standard \LaTeX{} is clearly proclaimed to the user by
+ whatever means is appropriate.
+
+\item Ensure that what is written at the beginning of the log file
+ clearly shows that your system has been used, and that it is
+ not Standard \LaTeX{}.
+ See the file \texttt{cfgguide.tex} for how to achieve this.
+
+\item
+ Clearly explain to users that bug reports concerning your
+ system should not be sent to the maintainers of Standard
+ \LaTeX{}.
+\end{enumerate}
+
+\subsection*{Note to system administrators}
+
+If you install a non-standard (modified) version of \LaTeX{} on a
+multi-user site then please, in addition, install Standard \LaTeX{}
+and observe the conditions enumerated above, particularly
+\ref{mcon:command}.
+
+
+\section{What do you think?}
+\label{sec:you}
+
+We are interested in your views on the issues raised in this document.
+The best way to let us know what you think, and to discuss your ideas
+with others, is to join the \texttt{LaTeX-L} mailing list and send your
+comments there.
+To subscribe to this list, mail to:
+\begin{verbatim}
+ listserv@urz.uni-heidelberg.de
+\end{verbatim}
+the following one line message:
+\begin{verbatim}
+ subscribe LATEX-L <your-first-name> <your-second-name>
+\end{verbatim}
+
+\end{document}
diff --git a/macros/latex/base/newdc.ins b/macros/latex/base/newdc.ins
index 5bbbe900da..5786282a87 100644
--- a/macros/latex/base/newdc.ins
+++ b/macros/latex/base/newdc.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/newlfont.dtx b/macros/latex/base/newlfont.dtx
index f058ddced9..5bba5441dd 100644
--- a/macros/latex/base/newlfont.dtx
+++ b/macros/latex/base/newlfont.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/nfssfont.dtx b/macros/latex/base/nfssfont.dtx
index 41712816b2..a77dfba7b3 100644
--- a/macros/latex/base/nfssfont.dtx
+++ b/macros/latex/base/nfssfont.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -32,7 +32,7 @@
%
% \iffalse
% Copyright (C) 1994 Donald E. Knuth
-% Copyright (C) 1994-94, 2003, 2006 Frank Mittelbach,
+% Copyright (C) 1994-2019 Frank Mittelbach,
% all rights reserved.
% \fi
%
@@ -242,12 +242,24 @@
\fontsize\size\size
\fi
% \end{macrocode}
-% Finally select the font and assign it to |\currfontname|.
+% Then select the font and assign it to |\currfontname|.
% \begin{macrocode}
\selectfont\edef\currfontname{\fontname\font}%
\fi
\startfont
- \message{Now type a test command (\string\help\space for help):}}
+% \end{macrocode}
+% Finally we ask for some ``action'' and offer |\table\bye| as
+% default---basically I got tired of having to type that in each
+% time.
+% If some other action is given you end with a |*| prompt and have
+% to finish the run with |\bye| yourself eventually.
+% \begin{macrocode}
+ \typein[\action]{Now type a test command or
+ \string\help\space for help [ \string\table\space\string\bye\space]:}%
+ \ifx\action\empty
+ \expandafter\table\expandafter\bye
+ \fi
+}
% \end{macrocode}
%
% \begin{macrocode}
@@ -474,7 +486,7 @@ official r\^ole in fluffy souffl\'es? }
\begin{document}
\let\typeout\oldtypeout
-\ifx\noinit!\else\init\fi
+\ifx\noinit!\else\expandafter\init\fi
%</code>
% \end{macrocode}
%
diff --git a/macros/latex/base/nfssfont.ins b/macros/latex/base/nfssfont.ins
index 222551ea30..c1ac663471 100644
--- a/macros/latex/base/nfssfont.ins
+++ b/macros/latex/base/nfssfont.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/nfssfont.pdf b/macros/latex/base/nfssfont.pdf
index 3ab32e6f95..88a54a902e 100644
--- a/macros/latex/base/nfssfont.pdf
+++ b/macros/latex/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex/base/olddc.ins b/macros/latex/base/olddc.ins
index 694cc6df6f..b512ab2e3e 100644
--- a/macros/latex/base/olddc.ins
+++ b/macros/latex/base/olddc.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/oldlfont.dtx b/macros/latex/base/oldlfont.dtx
index 3c768e1e8f..bf39341488 100644
--- a/macros/latex/base/oldlfont.dtx
+++ b/macros/latex/base/oldlfont.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/preload.dtx b/macros/latex/base/preload.dtx
index 0bc9fb4415..a6d7903299 100644
--- a/macros/latex/base/preload.dtx
+++ b/macros/latex/base/preload.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/proc.dtx b/macros/latex/base/proc.dtx
index 724b939fd2..a74dfa36e4 100644
--- a/macros/latex/base/proc.dtx
+++ b/macros/latex/base/proc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/proc.ins b/macros/latex/base/proc.ins
index 48765bddec..15161a4960 100644
--- a/macros/latex/base/proc.ins
+++ b/macros/latex/base/proc.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/proc.pdf b/macros/latex/base/proc.pdf
index 3daa1444cd..265e13a7be 100644
--- a/macros/latex/base/proc.pdf
+++ b/macros/latex/base/proc.pdf
Binary files differ
diff --git a/macros/latex/base/slides.dtx b/macros/latex/base/slides.dtx
index 4ccd6824e6..54cfaa20fd 100644
--- a/macros/latex/base/slides.dtx
+++ b/macros/latex/base/slides.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/slides.ins b/macros/latex/base/slides.ins
index a5bbc579c3..a25c3f8fe2 100644
--- a/macros/latex/base/slides.ins
+++ b/macros/latex/base/slides.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
@@ -96,7 +96,7 @@ extension .ins) which are part of the distribution.
This is a generated file.
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -109,7 +109,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
@@ -138,7 +138,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -151,7 +151,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/slides.pdf b/macros/latex/base/slides.pdf
index 1a33f7e0cf..5a581a8839 100644
--- a/macros/latex/base/slides.pdf
+++ b/macros/latex/base/slides.pdf
Binary files differ
diff --git a/macros/latex/base/slifonts.fdd b/macros/latex/base/slifonts.fdd
index 304b521cdb..abb950d6a1 100644
--- a/macros/latex/base/slifonts.fdd
+++ b/macros/latex/base/slifonts.fdd
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -45,7 +45,7 @@
%<*driver, >
\ProvidesFile{sfonts.drv}
%</driver, >
- [1998/06/12 v2.2e Standard LaTeX slide font definitions]
+ [2019/07/09 v2.2f Standard LaTeX slide font definitions]
%
%<*driver>
\documentclass{ltxdoc}
@@ -65,8 +65,6 @@
%
%\fi
%
-% \CheckSum{78}
-%
%
% \changes{v2.2c}{1997/05/26}{Removed spaces in and around arguments
% to \cs{DeclareFontShape} and \cs{EC@family}.}
@@ -456,6 +454,18 @@
\DeclareErrorFont{OT1}{lcmss}{m}{n}{19.907}
\DeclareFontSubstitution{OT1}{lcmss}{m}{n}
\input ot1lcmss.fd
+% \end{macrocode}
+%
+% Ensure some suitable starting values but don't load any font
+% yet. In the past this was implicitly done as part of
+% \cs{DeclareErrorFont} but not any longer.
+% \changes{v2.2f}{2019/07/09}{Explicitly set some defaults}
+% \begin{macrocode}
+\fontencoding{OT1}
+\fontfamily{lcmss}
+\fontseries{m}
+\fontshape{n}
+\fontsize{19.907}{19.907}
%</main>
% \end{macrocode}
%
diff --git a/macros/latex/base/slifonts.pdf b/macros/latex/base/slifonts.pdf
index 5c71c2333f..5e6de06797 100644
--- a/macros/latex/base/slifonts.pdf
+++ b/macros/latex/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex/base/source2e.pdf b/macros/latex/base/source2e.pdf
index 02ac1bf9c6..c0586f08b7 100644
--- a/macros/latex/base/source2e.pdf
+++ b/macros/latex/base/source2e.pdf
Binary files differ
diff --git a/macros/latex/base/source2e.tex b/macros/latex/base/source2e.tex
index 79b9a7f5db..d34dabfa47 100644
--- a/macros/latex/base/source2e.tex
+++ b/macros/latex/base/source2e.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/syntonly.dtx b/macros/latex/base/syntonly.dtx
index 98c8e4dfc3..6d4c710d0d 100644
--- a/macros/latex/base/syntonly.dtx
+++ b/macros/latex/base/syntonly.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/syntonly.ins b/macros/latex/base/syntonly.ins
index c05eb92bf0..2adf6c3d78 100644
--- a/macros/latex/base/syntonly.ins
+++ b/macros/latex/base/syntonly.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright (C) 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file has the LPPL maintenance status "maintained".
diff --git a/macros/latex/base/syntonly.pdf b/macros/latex/base/syntonly.pdf
index 0f92fed10d..37b44ac0bb 100644
--- a/macros/latex/base/syntonly.pdf
+++ b/macros/latex/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex/base/testpage.tex b/macros/latex/base/testpage.tex
index d7f468d241..d2b3919f93 100644
--- a/macros/latex/base/testpage.tex
+++ b/macros/latex/base/testpage.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
diff --git a/macros/latex/base/texpert.txt b/macros/latex/base/texpert.txt
index 7e2860d09d..9380a677fe 100644
--- a/macros/latex/base/texpert.txt
+++ b/macros/latex/base/texpert.txt
@@ -207,4 +207,4 @@ the distributed files with names <*>guide.tex. You will need
to install the new version before you can typeset these files.
---- Copyright 1995-2016 the LaTeX3 project. All rights reserved ---
+--- Copyright 1995-2019 the LaTeX3 project. All rights reserved ---
diff --git a/macros/latex/base/tlb1144.pdf b/macros/latex/base/tlb1144.pdf
deleted file mode 100644
index a96aee591e..0000000000
--- a/macros/latex/base/tlb1144.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/tlc2.err b/macros/latex/base/tlc2.err
deleted file mode 100644
index 57b3c85715..0000000000
--- a/macros/latex/base/tlc2.err
+++ /dev/null
@@ -1,4630 +0,0 @@
-\newcommand\erratafiledate{2014-09-30}
-
-\def\comando#1{\texttt{\string#1}}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% To produce a printed version of this errata file run this file through
-% LaTeX. It will unpack a small class file (if not already present) and
-% a configuration file with the extension .cfg. You might want to modify
-% the setting in this configuration file to print only a partial errata
-% suitable for your printed revision of this book, see details in the
-% .cfg file.
-%
-% The current version of this file can be found at:
-%
-% https://www.latex-project.org/help/books/
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\begin{filecontents}{ttcterrata.cls}
-%%
-%% Copyright (C) 1997,2004,2005,2007, 2014 Frank Mittelbach
-%% This class file is licenced under LPPL latest version;
-%% see https://www.latex-project.org/lppl
-%
-%
-% It sets up a few commands used to format the errata entries for books in the
-% Addison-Wesley Series:
-%
-% Tools and Techniques for Computer Typesetting
-%
-% hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books.
-%
-% Changes:
-%
-% v1.0a - changed name from errata.cls to ttcterrata.cls
-
-\ProvidesClass{ttcterrata}
- [2007/11/10 v1.0a Mini class for errata files; subject to change (FMi)]
-
-\LoadClass{article}
-
-\setcounter{secnumdepth}{-1}
-\addtolength\textwidth{5cm}
-\addtolength\oddsidemargin{-3cm}
-
-\addtolength\textheight{36pt}
-
-\RequirePackage{shortvrb}
-\MakeShortVerb{\|}
-
-\RequirePackage{array,longtable}
-\RequirePackage{multicol}
-
-
-\newcommand\erratagetnumber{}
-\def\erratagetnumber#1/#2/#3\erratagetnumber{#1#2#3}
-
-
-\newcommand\gobbleerrata{%
- \setbox\@tempboxa\vbox\bgroup
- \let\endgobble\egroup
- \let\hideamp\relax
- \let\\\relax\let\par\@@par}
-
-\newcommand*\hideamp{&}
-
-\let\endgobble\relax
-
-
-\newcommand\erratastartdate{}
-\newcommand\myprinting{1}
-
-
-\newcommand\doweprint[2]{%
- \ifnum \myprinting < \if!#2!1000 \else \ifx s#2 1000\else#2 \fi\fi
- \ifnum \expandafter\erratagetnumber\erratastartdate\erratagetnumber <
- \erratagetnumber#1\erratagetnumber \relax
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \else
- \@tempswafalse
- \fi
-}
-
-
-
-\newcommand\includedentries{entries after = \erratastartdate}
-\newcommand\printedentries{between \erratastartdate\space and}
-
-\newcommand\showallerrors{%
- \renewcommand\includedentries{all errata entries}%
- \renewcommand\printedentries{up to}
- \renewcommand\doweprint[2]{\@tempswatrue}}
-
-
-\newcommand\displayrevisionfix[2]{%
- \if!#2!\textbf{#1}\else\textit{#1}\rlap{\textsuperscript{#2}}\fi}
-
-\newcommand\norevisionnumbers{%
- \renewcommand\displayrevisionfix[2]{\textbf{##1}}}
-
-\IfFileExists{\jobname.cfg}
- {
- \input{\jobname.cfg}
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* Configuration file for \jobname.err found }
- \typeout{*}
- \typeout{***************************************************}
- \AtEndDocument{
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* If you wish to generate an errata listing}
- \typeout{* containing only errors found after a certain revision}
- \typeout{* and/or only errors found after a certain date}
- \typeout{* modify the information stored in \jobname.cfg}
- \typeout{*}
- \typeout{* Current settings are:}
- \typeout{*}
- \typeout{* \@spaces printing of your book = \myprinting}
- \typeout{* \@spaces include \includedentries}
- \typeout{*}
- \typeout{***************************************************}
- }}
- {}
-
-%% \erroronpage <page> <line info> <contributor> <date> <fixed in revision>
-
-\newcommand\erroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\seriouserroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
-
-\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
- {\endgobble\end{longtable}}
-
-\newcommand\erratatitle[2]
- {\begin{center}\LARGE\bfseries
- Errata list for #1\\[5pt](\myprinting.\ printing)\\[10pt]
- \small Includes all entries found \printedentries\space #2\\
- (For other periods/print runs reprocess this document
- with different config settings)
- \end{center}%
- \markright{Errata for #1 (\printedentries\space #2)}%
- \thispagestyle{plain}%
- \vspace{20pt}}
-
-\pagestyle{myheadings}
-
-\AtBeginDocument{\small}
-
-\setlength\parindent{0pt}
-\setlength\parskip{2pt}
-
-\newcommand\contributor[2]{\makebox[1cm][l]{\sffamily#1} #2\par}
-
-% some special shortcuts overwriting existing commands:
-
-\let\u\underline
-\renewcommand\>{$\to$}
-
-%%% some code suggested by Thorsten Hansen to count the number of
-%%% contributions by individuals (will work only if we do not get
-%%% too many :-)
-
-\def\count@contributors#1/#2/#3\@nil{
- \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
-%%% also count secondary:
-%%% \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
-}
-
-\renewcommand\erroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\seriouserroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\contributor[2]{\makebox[1cm][l]{%
- \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
-
-\end{filecontents}
-
-
-\begin{filecontents}{\jobname.cfg}
-%
-%
-% Configuration file for the errata listing of
-%
-% The LaTeX Companion, Second Edition
-%
-%
-% \erratastartdate
-%
-% Specifies the date from which on errata entries should be listed.
-%
-% The format is YYYY/MM/DD.
-%
-% The default below ensures that all entries for a particular
-% printing are typeset.
-%
-
-\renewcommand\erratastartdate{2004/04/22}
-
-
-%
-% \myprinting
-%
-% Specifies which (revised) printing you own. For example, if you
-% have the second printing set this to 2 so that errors already
-% corrected in that printing will not appear in your errata
-% listing.
-%
-% The default below ensures that all entries relevant to the x-th
-% printing are typeset.
-%
-%
-
-\renewcommand\myprinting{1}
-\renewcommand\myprinting{2} % 3rd printing was without corrections
-\renewcommand\myprinting{4} % September 2005
-
-%
-% \norevisionnumbers
-%
-% Specifies that all page numbers in the errata are shown in the same
-% format (bold face) irregardless of whether or not they are fixed
-% in some revision. The default is to print corrected errors in
-% italic and add the revision number as a superscript.
-
-%
-% \showallerrors
-%
-% With this command you tell the program that all errata entries are
-% supposed to be generated. This makes \myprinting and
-% \erratastartdate basically obsolete so this isn't turned on by
-% default.
-%
-%
-\endinput
-\end{filecontents}
-
-
-\documentclass{ttcterrata}[2005/11/10] % we want new class
-
-\usepackage[T1]{fontenc}
-\let\u\underline % shortcut for this file
-\newcommand\meta[1]{$\langle$\textit{#1\/}$\rangle$}
-
-\usepackage{textcomp}
-
-\usepackage{url}
-
-\begin{document}
-
-\erratatitle{The \LaTeX{} Companion, Second Edition}{\erratafiledate}
-
-
-\begin{verbatim}
-@book(A-W:MG04,
- author = {Frank Mittelbach and Michel Goossens},
- title = {The {\LaTeX} Companion},
- edition = 2,
- note = {With Johannes Braams, David Carlisle, and Chris Rowley},
- series = {Tools and Techniques for Computer Typesetting},
- publisher = {Addison-Wesley},
- address = {Boston, Massachusetts},
- year = 2004,
- pagenums = {1120},
- bibliography = {yes},
- index = {yes},
- isbn = {0-201-36299-6},
-)
-\end{verbatim}
-
-
-\begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{3cm}}
-\item[]
-
-This file (\texttt{\jobname.err}) can be found as part of the \LaTeX{}
-distribution and its latest version is maintained on the \LaTeX{}
-project site at \texttt{https://www.latex-project.org/help/books/\jobname.err}
-where you will also find extracts of the book.
-
-The first column in the table shows the page number of the errata
-entry. Superscript numbers in the first column refer to the printed
-revision in which this entry was corrected (\textit{s} indicates a
-correction in the sources only). The second
-column gives the precise location (negative line or paragraph numbers
-are counted from the bottom of the page). The third column shows the
-first finder of the problem.
-
-You can customize this list to only show errata related to the printing
-you own by changing the configuration in the file \texttt{\jobname.cfg}.
-
-\begin{center}
- \Large \bfseries To Err is Human --- Bug Contest
-\end{center}
-
-Any mistake found and reported is a gain for all readers of our book.
-For this reason Addison-Wesley and the authors offer a prize (for 6
-periods) to the eligible person who finds the largest
-number of bugs during that period (in case of a draw a random choice
-will be made between all those with the largest number of findings).
-A person can receive at most one prize, ever; errors found by any of
-the authors do not count.
-
-Each prize is a free choice of any single computing book found on the
-AW Professional web site \texttt{http://www.awprofessional.com} (that
-is, no boxed sets or multiple volume offers).
-
-
-As usual, the authors and publisher reserve the right to make various
-decisions such as whether a reported feature is an error for
-competitive purposes or whether similar features count as a single or
-multiple errors. ---
-Good luck!
-
-\begin{center}
-\begin{tabular}{clr}
-Contest period ends & Winner \\[4pt]
-2004/10 & Hubert G\"a\ss lein & 287 suggestions\\
-2005/04 & Ulrich Dirr & 11 suggestions\\
-2005/10 & Daniel Alonso i Alemany & 13 suggestions\\
-2006/04 & Michael Schutte & 2 suggestions\\
-2008/05 & Brooks Moses & 1 suggestion \\
-\ldots & -- final draw eventually --
-\end{tabular}
-\end{center}
-\end{list}
-
-\newpage
-
-
-%<--------------------------
-
-\newcommand\BibTeX{\textsc{Bib}\TeX}
-
-\begin{erratalist}
-
-\CHAPTER{General }
-
-\seriouserroronpage{general}{}{FMi}{2004/06/12}{}
-
- To help you in assessing this errata document we have placed
- exclamation marks in front of each entry that we consider essential
- for correctly understanding the book contents.
-
-\erroronpage{general}{}{FMi}{2004/05/14}{}
-
- Due to the printing process there may be small alignment problems
- between blue and black text on some pages. These can vary from book
- to book depending on how the paper was handled between print
- runs---such is the analog nature of printing on a press.
-
-
-
-\erroronpage{general}{}{FMi}{2004/07/28}{}
- Slightly updated examples matching the second printing will be made
- available at CTAN: \texttt{info/examples/tlc2}. The book CD will
- have the original examples from the first printing.
-
-
-
-\CHAPTER{Front matter}
-
-\erroronpage{iv}{bottom}{FMi}{2004/04/23}{2}
- Some updates indicating second printing (with corrections)
-
-\erroronpage{v}{l.7}{FMi}{2004/04/23}{}
- For the record: the term ``for ever'' is the British spelling and a
- conscious decision.
-
-\erroronpage{xiii}{\S 8.6.2}{FMi}{2004/06/21}{2}
- Change section heading: ``Operator \u{and function} names''
-
-\erroronpage{xxiii}{11.2}{FMi}{2004/07/26}{2}
- Change table caption: ``Languages supported by \u{\texttt{texindy}}''
-
-\erroronpage{xxvii}{para 1, l.1+6+7}{CAR}{2004/05/20}{2}
- Each time a space is missing between package names in parentheses.
-
-\erroronpage{xxvii}{para 1, l.-2}{THa}{2004/06/21}{2}
- Add: ``Thorsten Hansen (\textsf{bibunits}\u{, \textsf{multibib}})
-
-\erroronpage{xxvii}{para 4, l.2}{NBe}{2004/04/23}{2}
- Replace ``Wai Wing'' with ``Wai Wong'' (very sorry for this typo).
-
-\erroronpage{xxvii}{para 4, l.2}{MHCL/CAR}{2004/06/09}{2}
- Kai Tek airport is correctly named Kai Tak airport but the photo
- was actually taken at Hong Kong International Airport
-
-\erroronpage{xxvii}{after para 4}{FMi}{2004/06/09}{2}
- Add following paragraph:
-``Any mistake found and reported is a gain for all readers of our
-book. We would therefore like to thank those readers who reported
-any of the mistakes which had been overlooked so far.
-The latest version of the errata file can
-be found on the \LaTeX{} project site at
-\texttt{https://www.latex-project.org/help/books/tlc2.err} where you will also
-find an on-line version of the index and other extracts from the book.''
-
-\CHAPTER{Chapter 1}
-
-\erroronpage{2}{para 5, l.1}{MSc}{2004/06/03}{2}
- Replace: LaTeX \> \LaTeX{}
-
-\erroronpage{7}{para 5, l.-2}{HjG}{2004/05/20}{2}
- Missing word and wrong designation of acronym:
- ``\ldots\
- languages such \u{as} the \u{Portable Document} Format (PDF)
- \ldots''
-
-
-\erroronpage{7}{para 5, l.-2}{MSc/CAR}{2004/06/06}{2}
-Replace: ``\ldots produce other device-independent
- output forms in proprietary languages such as the Portable Document
- Format~(PDF) (extension~\texttt{.pdf}).'' \> \\
- ``\ldots produce device-independent
- file formats including the Portable Document Format~(PDF)
- (extension~\texttt{.pdf}), which is the native file format of Adobe
- Acrobat.''
-
-
-\erroronpage{13}{para -2, l.5}{FMi}{2004/04/23}{2}
- Replace ``writes'' with ``write''.
-
-%\erroronpage{13}{last para, l.1}{MSc}{2004/06/08}{}
-% ``blue notes`` vertically misaligned
-
-\erroronpage{14}{para 2, l.2}{FMi}{2004/06/12}{2}
- Bug in \texttt{url.sty} generated extra space.
-
-\erroronpage{14}{para 2, l.6}{FMi}{2004/04/23}{2}
- Printing problem: ``or'' only half visible.
-
-\erroronpage{14}{para 3, l.3}{HjG}{2004/05/20}{2}
- Printing problem: ``d'' in ``document'' only half visible.
-
-\erroronpage{14}{exa 1-3-5, l.6}{DHL}{2004/05/14}{2}
- Printing problem: ``i'' in ``\verb=\section='' not visible.
-
-
-\CHAPTER{Chapter 2}
-
-\erroronpage{16}{para 4,ll.2--4}{HjG}{2005/04/03}{4}
- Nitpicking? Code for class options will not be in a package file!\\
- ``Code for \u{class} options is sometimes stored in files
- (in \u{this case} with the extension \texttt{.clo}) but is normally
- directly specified in the class or package file (\dots).''
- \>\\
- ``Code for options is sometimes stored in files
- (in \u{the case of classes} with the extension \texttt{.clo}) but
- is normally
- directly specified in the class or package file (\dots).''
-
-\erroronpage{16}{para 4, l.-2}{HjG}{2004/10/10}{4}
- Although not wrong, better:
- ``For example,
- the option \texttt{11pt} \u{might be} related to
- \u{\texttt{art11.clo}} when\ldots''
- \>
- ``For example,
- the option \texttt{11pt} \u{is} related to
- \u{\texttt{size11.clo}} when\ldots''
-
-\erroronpage{20}{para 1, l.-2}{BMo}{2004/05/14}{2}
- Words need to be swapped: ``\ldots can achieve \u{this effect} by
- \ldots''
-
-\erroronpage{20}{footnote, l.2}{MSc/FMi}{2004/06/10}{2}
- Replace ``e.g.,'' with ``i.e.,''
-
-\erroronpage{21}{para 1 of 2.1.4, l.-1}{HjG}{2004/05/20}{2}
- Words need to be swapped:
- ``\ldots package \u{created by} Donald Arseneau.''
-
-\erroronpage{21}{para -2, l.2}{MLi}{2013/07/12}{}
- The command is called \verb=\AskOption= (without ``s'')
-
-\erroronpage{24}{para -2,ll.-3\slash -2}{HjG}{2005/04/03}{4}
- \LaTeX{}nically not correct:\\
- ``\u{all} lower-level counter\u{s} (i.e., \u{those} with
- higher-level number\u{s}) \u{are} reset.''\>\\
- ``\u{the next} lower-level counter (i.e., \u{that} with \u{the next}
- higher-level number) \u{is} reset.''
-
-\seriouserroronpage{26}{footnote}{HjG}{2004/05/20}{2}
- Misplaced closing brace (see example 2-2-3):\\
- \verb=\fbox{\csname thesection\endcsname\hspace{0.5em}=%
- \u{\texttt{\textbraceright}}
- \>
- \verb=\fbox{\csname thesection\endcsname=%
- \u{\texttt{\textbraceright}}\verb=\hspace{0.5em}=
-
-\erroronpage{27}{exa 2-2-4}{MBr}{2004/08/01}{2}
- Rewrite example text to avoid overfull hbox.
-
-\erroronpage{27}{para -2, l.4}{HjG}{2004/05/20}{2}
- Missing italic correction:
- \verb=\=\emph{name}\verb=mark=
-
-
-\seriouserroronpage{28}{afterskip item, ll.3--4}{HjG}{2005/04/03}{4}
- \LaTeX{}nically not correct (cf.\ latex/3463):\\
- ``\dots\ whether a display heading (\textit{afterskip}${}\geq0$) or a
- run-in heading (\textit{afterskip}${}<0$) is produced.''\>\\
- ``\dots\ whether a display heading (\textit{afterskip}${}>0$) or a
- run-in heading (\textit{afterskip}${}\leq0$) is produced.''
-
-\seriouserroronpage{32}{para -1,l.4--7}{HjG/FMi}{2004/05/20}{2}
- Replace: ``The modified |\section| command
-also starts a new page, which is typeset with a special page style
-(see Chapter~4) and with
-top floats suppressed.
-The indentation of the first paragraph in a
-section is also suppressed by using the low-level kernel command
- |\@afterheading| and setting
-the Boolean switch \texttt{@afterindent} to \texttt{false}.
-For details on the use of these commands see the |\chapter| implementation in
-the standard classes (file \texttt{classes.dtx}).''
-
-\seriouserroronpage{33}{code}{FMi}{2004/05/20}{2}
- Replace code as follows to make statement on p.32 true:\\
-\hspace{0pt minus\linewidth}\begin{minipage}{1.35\linewidth}
-\begin{verbatim}
-\makeatletter
- \renewcommand\appendix{%
- \renewcommand\section{% % Redefinition of \section...
- \newpage\thispagestyle{plain}% % new page, folio bottom
- \suppressfloats[t]\@afterindentfalse % no top floats, no indent
- \secdef\Appendix\sAppendix}% % call \Appendix or \sAppendix
- \setcounter{section}{0}\renewcommand\thesection{\Alph{section}}}
-
- \newcommand\Appendix[2][?]{% % Complex form:
- \refstepcounter{section}% % step counter/ set label
- \addcontentsline{toc}{appendix}% % generate toc entry
- {\protect\numberline{\appendixname~\thesection}#1}%
- {\raggedleft\large\bfseries \appendixname\ % typeset the title
- \thesection\par \centering#2\par}% % and number
- \@afterheading % prepare indentation handling
- \sectionmark{#1}% % add to running header
- \addvspace{\baselineskip}} % space after heading
-
- \newcommand\sAppendix[1]{% % Simplified (starred) form
- {\raggedleft\large\bfseries\appendixname\par \centering#1\par}%
- \@afterheading\addvspace{\baselineskip}}
-\makeatother
-\end{verbatim}
-\end{minipage}
-
-\erroronpage{30}{para-3, l.-2}{RPa}{2004/09/14}{4}
- ``page 426'' should be ``page 428''
-
-\seriouserroronpage{33}{code}{HjG}{2004/05/20}{2}
- Definitions of \verb=\Appendix= and \verb=\sAppendix= use
- \verb=\flushright= instead of \verb=\raggedleft=!
-
- Editorial note: already addressed in previous major change.
-
-\erroronpage{33}{exa 2-2-11}{MBr}{2004/08/01}{2}
- Text contains two spaces after period (not wrong but unnecessary).
-
-\erroronpage{33}{exa 2-2-11}{FMi}{2004/04/23}{2}
- Comment only needs one \% not two.
-
-% not really a bug but ...
-\erroronpage{35}{para 1}{hajk}{2005/09/29}{}
- Package fncychap also makes unwanted ``Chapter 0'' heading for
- |\chapter{Preface}| in |\frontmatter| of book.
-
- Comment: I don't really consider this a bug (as it is not surprising
- with such designs) but will see if it can be explicitly mentioned.
-
-\seriouserroronpage{45}{para 2, l.13}{DHL}{2004/05/27}{2}
- In the displayed code, the second occurrence of
- ``\verb=\renewcommand\theBhead=\dots'' \>
- ``\verb=\renewcommand\theChead=\dots''
-
-\erroronpage{37}{para 3, l.-2}{FMi}{2004/10/21}{4}
- Replace: ``\ldots title in lowercase'' \>
- ``\ldots title in \u{small capitals}''
-
-\erroronpage{46}{para -2,l.3}{HjG}{2005/04/03}{4}
- Delete: ``need\u{ed}'' \> ``need''
-
-\erroronpage{48}{para 2, l.5}{HjG}{2004/05/20}{2}
- Delete doubled word:
- ``(\ldots\ to the \u{the} table of contents)''
-
-\erroronpage{49}{para 3, l.2}{DHL/CAR}{2004/05/27}{2}
- Replace: ``Thereby, the result of'' \>
- ``The exact effect of''
-
-\erroronpage{50}{para -4, l.3}{HjG}{2004/05/20}{2}
- Add remark:
- ``\ldots, so that the standard document classes have definitions
- for \verb=\l@part= and \verb=\l@chapter=
- \u{(or \texttt{\char`\\l@section} with \textsf{article})}
- that do not use \verb=\@dottedtocline=.''
-
-\erroronpage{50}{para --1}{FMi}{2004/10/22}{4}
- Replace para with:
- The nesting level of the entry.
- With the help of the counter \texttt{tocdepth} the user can
- control how many nesting levels will be displayed.
- Levels greater than the value of this counter
- will not appear in the table of contents.
-
-
-\erroronpage{51}{fig.~2.3}{HjG}{2004/05/20}{2}
- The lines of the ``heading text'' are wrapped at a place different
- from that indicated by the \verb=|<- \@tocrmarg ->|=.
-
-\seriouserroronpage{51}{descr. of
- \texttt{\textbackslash
- @pnumwidth}}{CBa}{2005/04/04}{4}
- Needs changing with |\renewcommand|!
-
-\seriouserroronpage{51}{descr. of
- \texttt{\textbackslash @tocrmarg}}{HjG/FMi}{2004/05/20}{2}
- Add additional sentence:
- ``It can be set to a rubber length, which results in the TOC being set
- unjustified.''
-
-\erroronpage{51}{footnote}{FMi}{2004/09/19}{4}
- Add: ``\ldots See Section 7.10.3 \u{on page 428} for more\ldots''
-
-\seriouserroronpage{52}{para 2, exa}{CBa}{2005/04/04}{4}
- As |\@pnumwidth| is actually a macro the assignment using
- |\settowidth| unfortunately doesn't work at all.
- Instead a value needs to be assigned via |\renewcommand|.
-
-\erroronpage{52}{para 3, l.1}{HjG}{2004/05/20}{2}
- Printing problem: ``w'' in ``down'' only half visible.
-
-\erroronpage{52}{middle}{HjG}{2004/05/21}{2}
- Add after code line:
- ``When adjusting \verb=\@pnumwidth= this way it is likely that the
- value of \verb=\@tocrmarg= needs to be changed as well to keep the
- layout of the table of contents consistent.''
-
-\seriouserroronpage{52}{para 3, l.-1}{JJN}{2004/08/17}{4}
- Replace ``and section'' with ``section, and subsection''.
- (or replace code above to use |\setcounter{tocdepth}{1}| and speak
- of "first" level)
-
-\erroronpage{55}{ll.-8/-7}{HjG}{2004/05/21}{2}
- Missing word: ``\ldots\ is defined by \u{the} second argument.''
-
-\erroronpage{56}{footnote}{CBe}{2004/07/27}{2}
-Remove: ``\ldots are limited to three characters, like MS-DOS \u{or Windows}.''
-
-\seriouserroronpage{57}{tab.~2.3}{HjG}{2004/05/21}{2}
- \verb=\mtcPSfont= \> \verb=\mtcSPfont=\\
- \verb=\nomtcrules= \> \verb=\nomtcrule=\\
- \verb=\mtcrules= \> \verb=\mtcrule=
-
-\seriouserroronpage{57}{para-2, l.-3}{HjG}{2004/05/21}{2}
- \verb=\partoc= \> \verb=\parttoc=
-
- \erroronpage{58}{exa 2-3-8}{CBe}{2004/07/27}{2}
- km2 appears two times in the code and in the printed output;
- it should be \verb=km\textsuperscript={2} in the code
- and km\textsuperscript{2} in the output.
-
-\erroronpage{62}{l.-11}{HjG}{2004/05/21}{2}
- ``recourse'' \> ``recur''
-
-\erroronpage{63}{para 1, l.1}{FMi}{2004/11/11}{4}
- Typo: ``This artific\u{i}al example shows how''
-
-\erroronpage{65}{para 2, l.-1}{CKr}{2004/10/15}{4}
- Correct: ``formated'' \> ``format\u{t}ed''
-
-\erroronpage{66}{marginal note}{FMi}{2004/04/23}{2}
- Restrictions on keys deserve a dangerous bend sign.
-
-\erroronpage{68}{exa 2-4-3}{HjG}{2004/05/21}{2}
- The box in the margin ``\fbox{2-4-3}'' is shifted right
- (with respect to other such boxes).
-
-\erroronpage{72}{para 3, l.-3}{HjG/FMi}{2004/05/21}{2}
- Change/add:
- ``\ldots by comparing \u{the number of the chapter} in which the
-|\label| \u{occurred} with the current\ldots''
-
-\erroronpage{75}{para -1, l.2}{CKr}{2004/10/17}{4}
- Change: ``provided the \textit{keys}'' \>
- ``provided the \textit{key}\u{s}''
-
-\seriouserroronpage{76}{para -2, l.5--8}{DAr/FMi}{2004/07/24}{2}
-Change marginal to ``{\itshape Unnumbered sections get moving
-arguments}''
-
-Change text to: ``As a consequence, \u{the
-arguments of unnumbered sectioning commands} are turned into
-moving arguments, \ldots''
-
-\erroronpage{77}{para -1, l.-4}{DAr}{2004/07/24}{2}
- Add: ``In addition, no \u{unrelated} |\addcontentsline| command is
-allowed to intervene between heading and label.''
-
-\erroronpage{78}{\S 2.4.5, l.1}{HjG}{2004/05/24}{2}
- Add: ``Sebastian
- Rahtz \u{(with contributions by Heiko Oberdiek and
- David Carlisle)} has developed\ldots''
-
-\erroronpage{78}{para 3, l.3}{UFi}{2004/06/01}{2}
- Program name changed: ``Acrobat Reader'' \> ``Adobe Reader''
-
-
-\CHAPTER{Chapter 3}
-
-\erroronpage{84}{}{DAr}{2004/07/23}{2}
-Change: ``For example, if the current size is \u{\ttfamily\textbackslash Large} then
-\verb=\relsize{-2}= would change to \u{\ttfamily\textbackslash normalsize}\,.
-
-\seriouserroronpage{84}{exa 3-1-7}{FMi}{2004/04/23}{2}
- To avoid extra space in the output, second line should read:\\
- \verb*= {\relsize{-2}small words} inside.=
-
-\erroronpage{85}{para -1, l.5}{WaS/FMi}{2004/06/16}{2}
- Change: ``ON 28TH \u{OF} JULY 2003'' \> ``ON 2ND AUGUST 2004''
- (no OF generated)
-
-\seriouserroronpage{87}{para 3, l.1}{DAr}{2004/07/24}{2}
- Replace: |\uuline| \> |\uline|
-
-\erroronpage{87}{exa. 3-1-15}{V-Li}{2004/08/14}{}
- \verb+\-+ should be used on a word that is actually hyphenated.
-
- Well, would be nice but not easy to find one.
-
-\erroronpage{87}{exa. 3-1-16}{DHL}{2004/06/07}{2}
- The solid band produced by |\xout| is actually supposed to come
- out as a series of separated ``/'' symbols. With the
- \texttt{ulem} package used for the first printing that works well
- for most text fonts, but
- with Times Roman (used in the example) you get the result shown.
- The new package version fixes this defect.
-
-\erroronpage{92}{para 3, l.1+4}{UFi}{2004/07/31}{2}
-Change: ``The position and the \u{height} of the line
-produced by the |\ul| command can be customized using either
-|\setul| or |\setuldepth|\,. The command |\setul| takes two
-dimensions as arguments: the position of the line in relation to the
-baseline and the \u{height} of the line.
-
-\erroronpage{92}{para -1}{FMi}{2004/07/31}{2}
-Add: ``\ldots can use colored rules instead and, if desired, modify the
-highlighting color\u{ as demonstrated below}:
-
-\erroronpage{95}{exa 3-1-33}{MHo/FMi}{2004/05/17}{2}
- Replace: ``setup'' by ``set-up'' for consistency.
-
-\erroronpage{102}{para 1, l.-3}{CBC}{2004/05/18}{2}
- Replace: ``in great \u{of} detail'' with ``in great detail''.
-
-\erroronpage{103}{l.8}{HjG}{2004/05/23}{2}
- Replace: ``arbitrary bad lines'' \> ``arbitrar\u{il}y bad lines''
-
-\erroronpage{105}{para -3, l.1}{HjG}{2004/05/23}{2}
- Replace: ``typesetting'' \> ``typing''
-
-
-
-\erroronpage{107}{l.3--7}{CBe}{2004/07/27}{4}
- |\linespread| is the \LaTeXe\ command for
- setting up the value of \comando{\baselinestretch}; it is not necessary
- to use |\renewcommand| and in particular it is not necessary to
- activate the new interline spacing by changing font; it suffices the command
- |\selectfont|; the procedure described in this paragraph,
- although still possible, was the one to use with \LaTeX\,209 and with the
- early versions of \LaTeXe, and it was the only way when the First Edition was
- published. The command |\linespread| is introduced the first
- time on page~204, but section 3.1.13 was the right place to do it.
-
-
-\erroronpage{107}{para 4, l.3}{HjG}{2004/05/25}{2}
- Delete word: ``\ldots\ single\u{ (default)}, \ldots''
-
-\erroronpage{107}{para -1, l.3--5}{DHL/FMi}{2004/06/07}{2}
- Add/change:
- ``\ldots leading is increased twice---once by |\baselineskip| (where
- \LaTeX{} already adds about 20\% space between baselines)\ldots'' \>
-``\ldots leading is \u{effectively} increased twice---once by |\baselineskip| (\u{which
- \LaTeX{} already sets to about 20\% above the font size})\ldots''
-
-
-\erroronpage{116}{Footnote 1, line 1}{CBC}{2004/05/18}{2}
- Replace: ``I managed to confuse'' with ``we managed to confuse''.
-
-\erroronpage{117}{para 2, l.2}{HjG}{2004/05/25}{2}
- Missing letter: ``It take\u{s} two \ldots''
-
-\erroronpage{117}{para 3, l.3}{CBC}{2004/05/18}{2}
- Tense correction: ``\ldots they did not change when the text font
- \u{was} modified''.
-
-\erroronpage{117}{para 3,l.-3}{FMi}{2004/05/31}{2}
- Change: ``your list consist of'' \> ``your list\u{s} consist of''.
-
-\erroronpage{117}{para 3,l.-2}{CBC}{2004/05/18}{2}
- Change: ``lists consist\u{s} of'' \> ``lists consist of''.
-
-\erroronpage{117}{footnote}{HjG}{2004/05/26}{2}
- Missing word: ``See, \ldots, the \textsf{ledmac} package [171]
- \u{for} the kinds of \ldots''
-
-\erroronpage{119}{para 2, l.1}{DHL}{2004/06/07}{2}
- Replace word: ``By default, the footnote text is \u{justified}\ldots''
-
-\erroronpage{121}{para 2, l.4}{HjG}{2004/05/25}{2}
- Missing word: ``the \texttt{symbol*} \u{option}''
-
-\erroronpage{124}{middle para, ll. -3/-2}{HjG}{2004/05/26}{2}
- Missing word: ``It is even possible \u{to} use \ldots''
-
-\iffalse
-%% only do if real error on page
-\erroronpage{125}{para 3 of \S 3.2.7, ll.-2/-1}{HjG}{2004/05/26}{}
- Word position: ``\ldots\ whenever |\endnote| or |\endnotemark|
- \u{is used} without an optional argument.''
-\fi
-
-\erroronpage{127}{para 3, l.last}{PYu}{2004/07/01}{2}
- Replace: ``ragged left'' \> ``ragged right''.
-
-\erroronpage{131}{footnote, l.1}{CBC}{2004/05/19}{2}
- Change: ``is not producing'' \> ``does not produce''.
-
-\seriouserroronpage{141}{syntax box}{HjG}{2004/05/26}{2}
- Replace:
- \emph{body-font} \> \emph{body-style}\\
- \emph{head-font} \> \emph{head-style}\\
- \emph{head-after-format} \> \emph{head-after-space}
-
-\erroronpage{142}{exa 3-3-21/22}{UZi}{2005/03/15}{}
- With the newest version of \texttt{amsthm} the font setting for the headline
- is ignored for the optional description of the theorem (looks like a
- bug in amsthm).
-
-\erroronpage{142}{exa 3-3-21}{FMi}{2005/08/15}{4}
- There is an incompatibility between \texttt{amsthm} and
- \texttt{ragged2e}. If the latter is used then the use of |\newline|
- in a theorem declaration doesn't work.
-
-\erroronpage{142}{para -2, l.1}{DHL}{2004/06/07}{2}
- Missing word: ``make'' \> ``\u{to} make''.
-
-\seriouserroronpage{148}{exa 3-3-26}{HjG}{2004/05/26}{2}
- In the example, |\hfil| is used; the text immediately before says:
- ``By using |\hfill| \ldots''
-
-\erroronpage{150}{exa 3-3-28}{HjG}{2004/05/27}{2}
- Nit-picking :-)\\
- Comment should read: ``|%|\quad\texttt{term <\u{=} labelwidth}''\\
- And in ll.2/3 of the text following the example:
- ``If the label is \u{smaller} than |\labelwidth|, \ldots'' \>
- ``\ldots\ \u{not wider} \ldots''
-
-\erroronpage{150}{Example 3-3-28, line 7}{UF}{2004/06/27}{2}
-In the code of the parbox there should be a |\mbox{}| or something
-similar after the |\\| to prevent an underfull hbox-warning.
-
-\erroronpage{150}{exa 3-3-28}{JBez}{2004/07/20}{}
- The vertical space above "Return values" is too small.
-
-\erroronpage{151}{para 3, l.2}{DHL}{2004/06/07}{2}
- Wrong word: to match the example,
- ``\textsc{Notes}'' should be ``\textsc{Note}''
-
-\erroronpage{152}{l.-1 before exa 3-4-2}{HjG}{2004/05/31}{2}
- Replace: ``(see page 167)'' \> ``(see page 168)''
-
-\erroronpage{155}{para 3, l.2}{HjG}{2004/05/31}{2}
- Replace: ``behaves similarly to''
- \> ``is much like''
-
-\erroronpage{155}{para -2, l.5}{HjG}{2004/05/31}{2}
- Replace: ``behave in similar fashion to''
- \> ``\ldots in \u{a fashion similar} to''
-
-\erroronpage{156}{para -1, l.4}{CBC}{2004/05/20}{2}
- Change: ``There is also the possibility to operate'' \> ``It is also
- possible to operate''.
-
-\erroronpage{157}{para 2, l.-4}{CBC}{2004/05/20}{2}
- Change: ``\ldots discussed below) are potentially'' \> ``\ldots
- discussed below) \u{is} potentially''.
-
-\erroronpage{158}{para3, l.3}{DHL/FMi}{2004/06/07}{2}
- Change word: ``tiny white rules \u{behind} the lines'' \> ``tiny white
- rules \u{between} the lines''.
-
-\erroronpage{166}{syntax box}{CAR}{2004/06/02}{2}
- Remove extra space: ``\ldots\verb*/}=/\u{~}\emph{data}\texttt=''
-
-\erroronpage{167}{para 1, l.2}{DAl}{2005/01/11}{4}
- Missing letter: ``\ldots bold italic face exi\u{s}ts.''
-
-\erroronpage{168}{para 3, l.2}{MLa}{2004/05/10}{2}
- Letter missing: ``While on\u{e} can successfully deploy a
- package\ldots''
-
-\erroronpage{169}{tab.~3.7}{HjG}{2004/05/26}{2}
- Spurious space: ``Pascal (\u{ \strut}Borland, \ldots)''
-
-\erroronpage{169}{tab.~3.7}{THa/FMi}{2004/06/21}{2}
- Move the information about blue entries to a separate table note.
-
-\erroronpage{173}{para 2, l.2}{FMi}{2004/11/11}{4}
- Typo: ``to indicate that the line was artific\u{i}ally broken''
-
-\erroronpage{175}{para 1, l.6}{FMi}{2005/02/22}{4}
- Replace: \textsf{inputenclistings} \> \textsf{inputenc}
-
-\erroronpage{177}{exa 3-5-1}{HjG/FMi}{2004/05/31}{2}
- In the first paragraph, the ``\ldots \verb*=.\para='' yields a
- single (sentence ending) interword space; but in the following
- three, ``\ldots \verb*=. \para='' yields doubled space.
- (Due to the leading space in the definition of |\para|.)
- The same problem is in exa 3-5-2 except that there is does not show
- in the output due to a linebreak.
-
-\seriouserroronpage{177/178}{ll.-2/-1/1}{HjG/FMi}{2004/06/01}{2}
- Missing word and references to wrong paragraphs of exa 3-5-2:\\
- ``The line numbers in the second |\marginpar| continue the
- numbering on the main vertical list (the last line of \u{first}
- paragraph was~5) and the \u{second} paragraph then continues with
- line number~9.''
- \\ \>
- ``\ldots\ (the last line of \u{the} \u{preceding} paragraph was~5) and
- the \u{third} paragraph \ldots''
-
-\erroronpage{179}{exa 3-5-5}{HjG}{2004/05/31}{2}
- In the first paragraph, the two instances of
- ``|\linelabel{|\ldots|}|\verb*= \sample=''
- yield double (sentence ending) interword space.
- (Due to the leading space in the definition of |\sample|.)
-
-\erroronpage{179}{Example 3-5-5, l.-2}{CBC}{2004/05/20}{2}
- Change: ``we see to refer to'' \> ``we see references to''.
-
-\erroronpage{182}{para 2, l.-2}{CBC}{2004/05/20}{2}
- Change: ``of an \verb=\Parallel..Text='' \> ``of \u{a}
- \verb=\Parallel..Text=.
-
-\erroronpage{182}{para 3, l.1}{HjG/FMi}{2004/05/31}{2}
- ``computer \u{lingua}'' \> ``computer \u{jargon}''
-
-\erroronpage{182}{exa 3-5-11}{HjG/FMi}{2004/05/31}{2}
- Small improvement:\\
- |\setlength\parindent{|\u{\texttt{-10pt}}|}| \>
- \ldots \u{\texttt{\char`\{-\char`\\leftskip\char`\}}}
-
-\iffalse only on some books
-\erroronpage{183}{exa 3-5-13}{HjG}{2004/05/31}{}
- Printing problem:
- ``|[|'' in ``|\begin{Parallel}[v]{}{}|'' only half visible.
-\fi
-
-\erroronpage{184}{footnote 1, l.1--2}{BMo}{2004/05/16}{2}
- Rewrite beginning: ``Although the \textsf{multicol} package is
- distributed under LPPL (\LaTeX{} Project Public License)~[111], for
- historical reasons its copyright contains an additional ``moral
- obligation'' clause\ldots''
-
-\erroronpage{189}{para 3, l.2}{MHo}{2004/05/08}{2}
- Spurious extra letter: ``If this is a
- possibility, \texttt{multicols}\u{t} produces a warning.''
-
-\erroronpage{189}{para -2, ll.2/3}{HjG}{2004/05/31}{2}
- Extra word: ``bars in the margin, \u{the} known as \ldots''
-
-\erroronpage{189}{par -1, l.4/5}{HjG}{2004/05/31}{2}
- Add comma: ``However, if \ldots\ another\u{,} the \ldots''
-
-\erroronpage{190}{}{FMi}{2004/06/13}{2}
- Editorial comment: changes for page 189 affect page break position
- so 190 has to be retypeset for second printing.
-
-
-\CHAPTER{Chapter 4}
-
-\erroronpage{196}{table 4.2}{YiL}{2012/05/07}{}
- The values shown in the table aren't any quite correct. These days
- some of them are calculated depending on the chosen paper size option
- and so have slightly different values from what is listed in the table.
- The values listed are those that have been used in 2.09 (i.e., they
- would be fully correct in compatibility mode, that is for documents
- starting with |\documentstyle|).
-
-\erroronpage{199}{code block}{UFi}{2004/07/31}{2}
- Change:
- \texttt{\u{1in}+}|\oddsidemargin+\textwidth+\evensidemargin|\texttt{\u{+1in}}
-
-
-\erroronpage{202}{para 3, l.4}{CBC}{2004/05/21}{2}
- Change: ``list-related parameter'' \> ``list-related parameters''.
-
-\erroronpage{202}{para 3, l.4}{PYu}{2004/07/07}{2}
- Remove surplus word: ``in \u{in} figure 3.3''
-
-\erroronpage{203}{para 3, l.3}{HjG}{2004/05/31}{2}
- ``one or the other criteri\u{a}''
- \> ``\ldots\ criteri\u{on}'' (singular)
-
-\seriouserroronpage{205}{para 2, l.2}{HjG}{2004/05/31}{2}
- Delete backslash: ``an option of the type
- \u{\texttt{\char`\\}}\emph{num}|headlines|''
-
-\erroronpage{205}{para 3, l.1}{CBC}{2004/05/21}{2}
- Swap words: ``header \u{is size} enlarged'' \> ``header \u{size is}
- enlarged''.
-
-\erroronpage{205}{para 4, l.4}{CAR}{2004/06/06}{2}
- Delete word: ``\ldots taken up by the binding\u{ method}. For
- example,\ldots''
-
-\erroronpage{205}{para 5, l.2}{CBC}{2004/05/21}{2}
-Omitted word: ``one can \u{perform} the parameter calculations''.
-
-\seriouserroronpage{205}{para 5}{FMi}{2004/06/06}{2}
-Append: For details see the KOMA-Script documentation.
-
-\seriouserroronpage{205}{Example 4-2-6, 1.3}{CBC}{2004/05/21}{2}
-Add a comment line: ``\verb=% syntax: \typearea[<binding corr.>]{<slices>}=''
-
-\erroronpage{206}{para 2, l.6}{FMi}{2004/06/06}{2}
-
- Replace: ``\ldots shows a layout \u{identical} to the one
- produced\ldots'' \>
- ``\ldots shows a layout \u{very similar} to the one produced\ldots''
-
-\seriouserroronpage{206}{para 2, l.6}{HjG}{2004/05/31}{2}
- Wrong references:\\
- ``Example \u{4-2-4} on page \u{204}'' \>
- ``Example \u{4-2-5} on page \u{205}''
-
-\erroronpage{209}{para 1, l.1--2}{BMo}{2004/05/16}{2}
- Replace:
- ``\ldots and does not leave sufficient space for marginal notes
- that fall outside the page.''
- \>
- ``\ldots but does not adjust the size of the marginal boxes to fit
- in the remaining margin.''
-
-
-\erroronpage{210}{para -1, l.3}{CBC}{2004/05/21}{2}
- Omitted word: ``allow you \u{to} set several values''.
-
-\erroronpage{211}{para 4, l.6}{FMi}{2004/08/30}{4}
- Add: ``\ldots be called multiple times \u{in the preamble},
- each time overwriting the previous settings.''
-
-\erroronpage{212}{para -1, l.2}{CKr}{2004/11/11}{4}
- Remove surplus: ``the \emph{logical} page
- \u{you} you want to produce.''
-
-\seriouserroronpage{213}{para 1, l.2}{BMo}{2004/05/16}{2}
- Option \texttt{executive} is listed twice, replace once with
- \texttt{letter}.
-
-\erroronpage{213}{para 2, l.1}{CKr}{2004/11/11}{4}
- Typo: ``The following example sets up an artific\u{i}ally small logical page''
-
-\erroronpage{213}{para 1, l.1--2}{FMi}{2006/09/09}{4}
- Option \texttt{b3} is listed twice.
-
-\erroronpage{213/214}{exa 4-2-11/13}{FMi}{2004/06/05}{2}
- The picture (|rosette.ps|) is clipped a tiny bit at the left side.
- That's actually an error in the |.ps| file itself and can be seen
- in all other examples where the file is used.
-
-\seriouserroronpage{214}{para 1, l.6}{BMo}{2004/05/16}{2}
- ``\ldots\ \texttt{notext} \ldots'' should be ``\ldots\
- \texttt{nographics} \ldots''.
-
-\erroronpage{217}{para -2, l.1}{HjG}{2005/05/08}{4}
- Replace (since the package's default is different):\\
- Finally the \u{en dash} between the prefix and the page number \dots\ \>\\
- Finally the \u{separator} between the prefix and the page number \dots
-
-\erroronpage{219}{l.4}{HjG}{2004/06/03}{2}
- Missing italic correction:
- \verb=\=\emph{name}\verb=mark=
-
-\erroronpage{219}{para -1,l.2}{HjG}{2005/05/09}{4}
- Reference to wrong section:\\
- ``Table~9.2 on page~547 in Section~\u{9.1.3}'' \>\\
- ``Table~9.2 on page~547 in Section~\u{9.2.1}''
- (or omit section refence completely)
-
-\erroronpage{223}{tab 4.3}{THa}{2004/06/22}{2}
- Spurious space after superscript \textsuperscript{a} in footnote.
-
-\erroronpage{226}{para. 5, l.2}{PYu}{2004/07/05}{2}
- Change to plural: ``The headers and footers are typeset \u{in boxes}
- that, by default, \u{have} the same width as |\textwidth|\,. The
- \u{boxes} can be made wider (or narrower)\ldots''
-
-
-\erroronpage{227}{para 2,l.1}{HjG}{2005/05/09}{4}
- Replace:
- ``running \u{heading}'' \>
- ``running \u{header}''
-
-\erroronpage{227}{para 3,l.1}{HjG}{2005/05/09}{4}
- Replace:
- ``the \u{heading} is extended'' \>
- ``the \u{header} is extended'' \>
-
-\erroronpage{229}{2.-1}{CBC}{2004/05/24}{2}
- Change: ``if the first B-head\ldots would have already been'' \> ``if
- the first B-head\ldots had already been''.
-
-\erroronpage{229}{para -2,l.-2}{HjG}{2005/05/09}{4}
- Replace:
- ``the \u{heading}'' \>
- ``the \u{header}''
-
-\erroronpage{230}{exa 4-4-3}{HjG}{2005/05/09}{4}
- Add |%| character:
- ``|\fancyfoot[R]{\scriptsize\today}|\texttt{\u{\char`\%}}''
-
-% not a bug, but heh ho
-\erroronpage{232}{ll.1/2}{HjG}{2004/06/03}{2}
- Add words: ``With a similar mechanism we prepared \u{the running
- headers of} the index for this book.''
-
-\erroronpage{232}{ll.1/2}{CKr}{2004/11/17}{4}
- Remove surplus: ``With a similar mechanism we prepared \u{the} the running\ldots''
-
-\seriouserroronpage{234}{First boxed command}{CBC}{2004/05/24}{2}
- Change: ``\verb=\enlargethispage*{=size\verb=}='' \>
- ``\verb=\enlargethispage{=size\verb=}=''.
-
-\erroronpage{237}{para 1, l.3}{MKo}{2004/08/06}{2}
- Change: ``\textsf{scrpage}'' \> ``\textsf{scrpage2}''
-
-\erroronpage{237}{para 4, l.3}{DAl}{2005/01/11}{4}
- Change: ``also works as \u{an} replacement'' \> ``also works as
- \u{a} replacement''
-
-\erroronpage{237}{para 5, l.2}{CBe}{2004/07/27}{2}
- Change: ``14pt'' \> ``17pt''
-
-
-\CHAPTER{Chapter 5}
-
-\erroronpage{239}{para -1, l.1}{HjG}{2004/06/03}{2}
- Extra word: ``After \u{a} taking a quick look \ldots''
-
-\erroronpage{241}{Example 5-1-1}{CBC}{2004/05/24}{2}
-
- Change: ``esprit trouble'' \> ``esprit troubl\'e''.
-
-The whole example has been changed to better demonstrate
-the \verb|\kill| command.
-
-\erroronpage{242}{para -2}{DSch/FMi}{2005/09/19}{4}
- Replace para with:
-``The \texttt{tabular*} environment has an additional width argument that
-specifies the required total width of the table.
-It needs stretchable spaces between columns, that have to be added using
-|\extracolsep| (see page~246).''
-
-\iffalse
-%% check, maybe (if other error
-\erroronpage{243}{para 1, l.3/4}{HjG}{2004/06/03}{}
- Change: ``Their scope can be \u{general} or local.''
- \> ``\u{global}''
-\fi
-
-\erroronpage{243}{}{CBe}{2004/07/27}{4}
- The explanation of the command \comando{\arraystretch} is
- wrong; in fact it does not multiply the inter-row space by the specified
- factor, so that a factor of 1.5 would move the rows 50\% farther apart.
- \comando{\arraystretch} scales by the specified factor the height and depth of
- the invisible strut that is in the first cell of every row of tabular and array
- environments. If all the cells of the row are smaller than the strut the effect
- is more or less similar to an enlargement of the inter-row space, while if at
- least one cell in the row is larger than the strut no spreading apart takes
- place other than that required by the largest cell.
-
-
-
-\erroronpage{243/244}{tab.~5.1/5.2}{HjG}{2004/06/03}{2}
- In the left columns of these tables, typewriter font should be used
- for the braces, to better match the appearance in the syntax boxes.
-
-\erroronpage{244}{tab.~5.2}{HjG}{2004/06/03}{2}
- 1. In the |m| row, the braces in |\parbox|\u{\{}\emph{width}\u{\}}
- are not from the typewriter font, as they are in the |b| row.\\
- 2. In the |>| and |<| rows, the |p|, |m|, and |b| options are
- listed once without and once with their |{..}| arguments.
-
-\seriouserroronpage{244}{para -1, l.3--4}{FMi/DCa}{2005/02/05}{4}
- Replace: ``the sum of its value,
- added to the product
- |\baselineskip|${}\times{}$|\arraystretch}|''
- \>
- `` $|\arraystretch| \times (|\extrarowheight| + 0.7 |\baselineskip|)$''
-
-
-\erroronpage{246}{para 3}{FMi}{2005/09/19}{4}
- Add blue marginal note: ``Making \texttt{tabular*} stretch to the
- required width''
-
-\erroronpage{246}{para 3, l.3/4}{HjG}{2004/06/03}{2}
- Change:
- ``The use \ldots\ is subject\u{ed} to two restrictions: \ldots''
- \> ``\ldots~subject \ldots''
-
-\erroronpage{247}{exa 5-2-9}{CBe}{2004/07/27}{2}
- Add hyphenation points for |Possibi\-li\-t\'es|
-
-\erroronpage{248}{para 1}{FMi}{2005/09/19}{4}
- Replace para with: ``A
- common use of |@{}| is to remove the space equal to
-the value of |\tabcolsep| (for \texttt{tabular}) that, by default,
-appears on each side of the table,
-except when the column specification starts or ends in a \verb=|=.''
-
-
-\erroronpage{249}{exa 5-2-11}{FMi}{2004/07/27}{2}
- Add hyphenation points for |Possibi\-li\-t\'es|
-
-\seriouserroronpage{249}{l.-2}{HjG}{2004/06/03}{2}
- Change:
- ``\ldots\ the \textsf{array} package \texttt{m} and \u{\texttt{t}}
- types, \ldots''
- \> ``\ldots\ \u{\texttt{b}} \ldots''
-
-\erroronpage{252}{para 2, l.3}{HjG}{2004/06/03}{2}
- Missing word: ``\ldots\ the last entry in \u{a} row \ldots''\\
- Missing word: ``This specification may \u{be} saved \ldots''
-
-\erroronpage{252}{para 3, l.1}{HjG}{2004/06/03}{2}
- Either add: ``The |X| columns are set using the |p| column
- \u{type}, \ldots''\\
- or change (cf.~l.2: an |m| column): ``\ldots\ using \u{a} |p|
- column \ldots''
-
-\seriouserroronpage{257}{syntax box~2}{HjG}{2004/06/03}{2}
- Typo: ``\texttt{\char`\\botto\u{m}caption}''
-
-\erroronpage{261}{para 3, l.3}{HPB/FMi}{2004/07/16}{2}
-Add: ``\ldots may be typeset using
- \u{the packages \textsf{array} and} \textsf{longtable} \ldots''
-
-\erroronpage{262}{para -1, l.2}{HjG/FMi}{2004/06/04}{2}
- Missing characters:
- ``in standard \LaTeX{}\u{'s} \textsf{article} class''
-
-\erroronpage{270}{exa 5-6-7}{DCa}{2004/07/22}{2}
- Spurious `` d'' after ``Beef'' should be deleted.
-
-\seriouserroronpage{270}{para 3 l.1}{UFi}{2004/07/31}{2}
- Change: |\botrule| \> |\bottomrule|
-
-\seriouserroronpage{271}{para 3}{FMi}{2004/12/17}{4}
- Replace para by: ``By default, the rule extends all the way to the left, but is
- ``trimmed'' from the rightmost column by the length specified in the
- length parameter |\cmidrulekern|. The optional (\emph{trim})
- \u{argument may contain the characters
- \texttt{l} and \texttt{r},
- indicating that the rule}
- \u{is to be trimmed from the left or right, respectively.}
- Each \texttt{l} and \texttt{r} may optionally be followed by a width
- argument \u{specified using \texttt{\{}\emph{widths}\texttt{\}}},
- in which case the rule is trimmed by this amount rather than by the default
- |\cmidrulekern|.
-
-
-\seriouserroronpage{271}{syntax box~1}{HjG}{2004/06/04}{2}
- Argument is optional, not mandatory:
- |\addlinespace|\texttt{\u[}\emph{width}\texttt{\u]}
-
-\erroronpage{273}{para 3, l.3}{HjG}{2004/05/26}{2}
- Missing word: ``not accounted for \u{by} |\multirow|''
-
-\seriouserroronpage{278}{para 2, l.-1}{HjG}{2004/05/26}{2}
- Replace: ``Section 6-3-4'' \> ``Example 6-3-4''
-
-\erroronpage{279}{list, item 1}{CKr}{2004/11/30}{4}
- Correct typo: ``forced line b\u{r}eaks.''
-
-
-
-\CHAPTER{Chapter 6}
-
-\erroronpage{283}{para 2, l.5--8}{FMi}{2005/01/15}{4}
-Replace with: ``We then continue by
- explaining how you can define and use your own floating environments (Section~6.3.1),
- or, conversely, how captioning commands can be used to enter
- information into the list of figures and tables for nonfloating
- material (Section~6.3.2).
- Then methods for rotating the content of a float are described
- (Section~6.3.3).
-
-\erroronpage{284}{}{FMi}{2005/01/15}{4}
- Editorial comment: needs reprinting since one line moved from
- 283 to the current page.
-
-\erroronpage{285}{item 3, l.3}{FMi}{2005/02/13}{4}
- Use typewriter: ``the default is \texttt{12pt}
- \texttt{plus} \texttt{2pt} \u{\texttt{minus}}
- \texttt{2pt} for 10\,pt''
-
-\erroronpage{285}{item 3, l.3}{HjG}{2005/02/06}{4}
- Default for 12pt document size is given wrong:\\
- ``\texttt{\u{14pt} plus 2pt minus 4pt}'' \>
- ``\texttt{\u{12pt} plus 2pt minus 4pt}''
-
-\erroronpage{285}{item 3, l.4}{HjG}{2004/06/05}{2}
- Should be singular: ``for 12pt document size\u{s}).''
-
-\erroronpage{285}{item 7, l.3}{HjG/FMi}{2005/02/06}{4}
- Replace (as it is rubbish):
- ``(the default is like |\textfloatsep| on a text page,
- but is |8pt plus 2fil| on a page that contains only floats)'' \>\\
- ``(the default is like |\textfloatsep|)''
-
-\erroronpage{288}{para -1, l.4--7}{DAr/FMi}{2004/07/23}{2}
- Replace part with:
-``However, by itself this option
-forces all floats to appear \emph{before} the next section material is
-typeset, since the |\FloatBarrier| prevents a float from a current
- section from appearing below
-the start of the new section, even if some material of the current
-section is present on the same page. ''
-
-\erroronpage{292}{para 4, ll.1/2}{HjG}{2004/06/05}{2}
- Replace: ``combination \u{to}'' \> ``combination \u{of}''
-
-\seriouserroronpage{292}{para -1, l-2}{FMi}{2005/01/08}{4}
-Add sentence:
- ``Because the float styles define the placement of the caption,
-floats can contain only a single \verb=\caption= command which is a
-restriction compared to standard \LaTeX's behavior.''
-
-Also add marginal warning: ``Only one \verb=\caption= supported''
-
-
-\erroronpage{293}{para 1, l.3}{J-CCh}{2005/06/01}{4}
-Remove surplus char: ``package documentation in
-\texttt{float\u{s}.dtx}.''
-
-\seriouserroronpage{293}{exa 6-3-1}{HjG/FMi}{2004/06/05}{2}
- Wrong command used (or misplaced opening brace) in preamble code:\\
- |\newcommand\xmlcode[1]{\|\u{\ttfamily ttfamily}|{#1}}|
- \>\\
- |\newcommand\xmlcode[1]{\|\u{\ttfamily texttt}|{#1}}| \\
- only by chance this doesn't do any harm in the example!
-
-\erroronpage{293}{exa 6-3-1}{CBe}{2004/07/27}{4}
-The Euler constant must be typeset in roman type according
-to the ISO rules; $e$ is the charge of the electron.
-
-\erroronpage{294}{exa 6-3-3}{HjG/FMi}{2004/06/05}{2}
- The picture (|rosette.ps|) is clipped a tiny bit at the left side.
- That's actually an error in the |.ps| file itself and can be seen
- in all other examples where the file is used.
-
-\erroronpage{295}{para -2, l.3}{HjG}{2004/06/05}{2}
- Missing word: ``The |[H]| \u{float} is \ldots''
-
-
-\erroronpage{298}{para 1, l.4}{AMa}{2005/01/13}{4}
- The word ``caption'' should be should typeset in sans serif.
-
-\seriouserroronpage{298}{para 3, l.5}{HjG}{2004/06/06}{2}
- Missing argument: ``|\newfloat{XMLexa}|%
- \u{\texttt{\textbraceleft\meta{placement}\textbraceright}}|{lox}|''
-
-\erroronpage{299}{para 2, ll.-2/-1}{HjG}{2004/06/06}{2}
- Missing word: ``so that it \u{is} not worth''
-
-\erroronpage{301}{exa 6-4-2}{HjG}{2004/06/06}{2}
- Misspelled word (both in source and output):\\
- ``\texttt{ex-\u{s}ample}'' \> ``\texttt{ex-ample}''
-
-\seriouserroronpage{302}{para 2, l.4}{HjG}{2004/06/06}{2}
- Missing argument: ``|\newfloat{XML}|%
- \u{\texttt{\textbraceleft\meta{placement}\textbraceright}}|{lox}|''
-
-\erroronpage{304/305}{exa 6-4-4}{HjG}{2004/06/06}{2}
- The |\FIG| command is different from the one from
- exa 6-4-3 (p.303).
- Add a line:\\
- |\newcommand\FIG{\includegraphics[width=10mm]{elephant}}|\\
- in the preamble part of the example's source.\\
- (But that will probably spoil your hand-optimized page breaks. ---
- Actually it will improve them: by getting the example larger on
- line will carry over from 304 to 305 avoiding the widow there
- without changing that page otherwise)
-
-\erroronpage{307}{l.-4}{HjG}{2005/02/12}{4}
- Surplus closing brace:\\
- ``|\makebox[\linewidth][c]{\usebox\@tempboxa}|%
- |\par|\texttt{\u\textbraceright}|% single line|''
-
-\iffalse
-\erroronpage{307}{l.3--4}{CBe}{2004/07/27}{}
-The Runaway error may be explained in a better way: the
- \emph{short-text} cannot exceed one paragraph; the \emph{long-text} may be
- several paragraphs long; if the optional argument \emph{short-text} is missing
- the \emph{long-text} replaces it, therefore the macros that should process the
- single paragraph \emph{short-text} get terribly shaken and produce the Runaway
- argument error. A reference to Appendix~B and the long\slash short definition
- of commands should be helpful.
-\fi
-
-\erroronpage{309}{para 4, l.3}{DAl}{2005/06/29}{4}
- Missing comma: ``\ldots you will get a typical ``standard \LaTeX''
- format\u{,} that is, \ldots''
-
-\erroronpage{312}{\texttt{position} option}{JS/FMi}{2005/09/14}{4}
- State that key \texttt{bottom} is the default.
-
-\erroronpage{312}{para 2, l.2}{DAl}{2005/06/29}{4}
- Word in wrong position: ``for example, ``above'' the caption if
- caption is \u{the} placed at the bottom.''
- \>
- ``for example, ``above'' the caption if \u{the} caption is \ldots''
-
-\erroronpage{317}{para -4, l.1}{HjG}{2004/06/06}{2}
- Extra letter: ``The \textsf{subfig} package\u{s} \ldots''
-
-\erroronpage{319}{para 1, l.5}{C-JCh}{2005/06/10}{4}
- Incorrect right quote: ``numbers like ``11.3\u{''}\ldots''
-
-\erroronpage{319}{para 2, l.3}{C-JCh}{2005/06/10}{4}
- Incorrect right quote: ``such as ``Figure 1(a-c)\u{''}.''
-
-\erroronpage{321}{exa 6-5-13, l.2}{HjG/FMi}{2004/06/06}{2}
- Change value:
- ``|listofindent=4em|'' \> ``|listofindent=5em|''.\\
- Looks better and also makes description on page 320 correct.
-
-\erroronpage{321}{para 3, l.2}{UFi}{2004/07/31}{2}
-Remove: ``approach is to \u{to} specify\ldots''
-
-\erroronpage{326}{para -1, l.4}{DAl}{2005/07/14}{4}
- Missing letter: ``floats appear to\u{o} close to each other\ldots''
-
-
-
-\CHAPTER{Chapter 7}
-
-\erroronpage{332}{para -2,l.2}{THa}{2004/07/21}{2}
- SinCE SEriFS arE noT alwayS horizonTaL: ``Serifs are the tiny
- horizontal strokes\dots'' \> ``Serifs are the tiny strokes\dots''
-
-\erroronpage{338}{para -1, l.3}{HjG}{2004/06/29}{2}
- Missing word: ``command \u{and} declarative forms''
-
-\erroronpage{341}{para -2, l.-2}{HjG}{2004/06/29}{2}
- Missing comma: ``such as |\OE|\u, to lowercase).''
-
-\erroronpage{342}{tab 7.1}{CBe/FMi}{2004/07/27}{2}
- Add footnote: ``\textit{The actual sizes shown above are those specially
- tailored for use in this book}''
-
-\erroronpage{347}{para 2, l.5+6}{JS/FMi}{2006/11/08}{s}
-Replace: ``\u{Computer Modern Typewriter and}
-Computer Modern Sans \u{have} only bold extended variants.''
-\>
- ``\u{In contrast} Computer Modern Sans \u{has} only bold extended variants.''
-
-\erroronpage{349}{Table 7.4}{AFV}{2008/08/08}{}
-The font associated with the command |\mathtt| is a sans typewriter font. This
-differs from nearly all TeX set ups where the math typewriter font is Computer
-Modern Typewriter.
-
-\erroronpage{349}{para -1, l.2}{HjG}{2004/06/29}{2}
- Missing comma:
- ``\ldots\ where commands, such as |\rm|\u, would cause \ldots''
-
-\erroronpage{351}{para -2, l.5}{HjG}{2004/06/29}{2}
- Surplus word:
- ``\ldots\ belongs to the text \u{the} surrounding the formula.''
-
-\erroronpage{353}{para 4, l.2}{HjG}{2004/06/29}{2}
- Replace:
- ``\u{Extended} Computer Modern'' \>
- ``\u{European} Computer Modern''
-
-\erroronpage{354/355}{marginal 3}{FMi}{2004/04/23}{2}
- Should be on top of page 355.
-
-\erroronpage{354}{table caption}{AFV/FMi}{2009/01/5}{}
- Replace: ``Classification of the Computer Modern font families'' \>
- ``Classification of \u{most} Computer Modern font families''
- as not all fonts are listed.
-
-\erroronpage{355}{para 4, l.2}{HjG}{2004/06/29}{2}
- Missing character: ``on\u{e} can simply exchange''
-
-\erroronpage{356}{para 2, l.2}{HjG}{2004/06/30}{2}
- Correct: ``\u{ZE}-fonts'' \> ``\u{EZ}-fonts''
- (Index entry is OK!)
-
-\erroronpage{357}{exa 7-5-5, last line}{RSt}{2004/05/26}{2}
- Reference [174] instead of [175].
-
-\erroronpage{357}{exa 7-5-5}{HjG}{2004/06/30}{2}
- Add page entries for ``Clasen, Matthias'', ``Vieth, Ulrik'', and
- ``Ziegler, Justin'' to ``People'' index (pp.1080+1082)
-
-\erroronpage{357}{l.-2}{HjG}{2004/06/30}{2}
- Add word:
- ``Clearly, no one wants to type \u{text} like this \ldots''
-
-\erroronpage{358}{para -1, l.1}{HjG}{2004/06/30}{2}
- Change word order:\\
- ``The list of \u{currently} \u{supported encodings} by
- \textsf{inputenc} \ldots'' \>\\
- ``The list of \u{encodings} \u{currently supported} by
- \textsf{inputenc} \ldots''
-
-\erroronpage{359}{several places}{MKu/FMi}{2004/06/24}{2}
- Replace: ISO-8859 \> ISO 8859
-
-\erroronpage{360}{item 8}{CKr}{2004/12/30}{4}
- Replace: Next Computer encoding \> Ne\u{XT} Computer encoding
-
-\erroronpage{360}{item 9}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8
-
-\erroronpage{360}{para -1}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8 (several times)
-
-\erroronpage{361}{para 2+3}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8 (several times)
-
-\erroronpage{361}{l.-14}{CBe/FMi}{2004/07/27}{2}
- Replace: ``preamble or the document class'' \>
- ``document class, a package, or in the preamble''
-
-
-\erroronpage{362}{l.1}{HjG}{2004/06/30}{2}
- Swap phrases:\\
- ``\ldots\ the user \u{in the preamble} \u{to load still
- more encodings}.'' \\\>\\
- ``\ldots\ the user \u{to load still more encodings}
- \u{in the preamble}.''
-
-\erroronpage{362}{para 1, l.1}{SCo}{2004/05/17}{2}
- Printing problem in some books: ``still'', second `l' only half visible.
-
-\erroronpage{367}{para 2, l.3}{CKr}{2005/01/03}{4}
- Wrong font: ``old-style numerals by simply switching to the \u{\texttt{TS1}}''
-
-\erroronpage{368}{para -4, l.3}{HjG}{2004/07/01}{2}
- Change:\\
- ``\ldots\ only. \u{Only} real errors will be shown.'' \>\\
- ``\ldots\ only. \u{However,} real errors will be shown
- \u{on the terminal}.''
-
-\erroronpage{370}{para 2, l.-1}{RSt}{2004/05/26}{2}
- Replace: ``ran run'' with ``\u{you ran}''.
-
-\erroronpage{370}{para 4, l.5}{HjG}{2004/07/06}{2}
- Add: ``\ldots\ in one of the three \u{text font} categories.''
-
-\erroronpage{371}{para 1, l.4}{HjG}{2004/07/06}{2}
- Add: ``\ldots, such as via a call to |\usefont|\u{ (see Example
- 7-6-1 below)}.''
-
-\erroronpage{373}{first line of 7.6.1}{UFi}{2004/07/31}{2}
- Remove ``the \u{the} fonts''
-
-\erroronpage{373}{first para, l.-1}{BeB}{2004/06/28}{2}
- ``collection'' is (at least seems to me) singular:\\
- Typo: ``appear'' \> ``appears''
-
-\erroronpage{374}{`Bookman', l.1}{HjG}{2004/07/08}{2}
- Typo: ``Bookman was originally design\u{ed} \ldots''
-
-\seriouserroronpage{380}{para 1, l.4--5}{BMo}{2004/05/16}{2}
- Better show octal numbers: ``\ldots starting positions like
- \texttt{'254}, \texttt{'266}, \texttt{'300}, and \texttt{'312}
- (i.e., in octal notation) in\ldots''
-
-\erroronpage{380}{exa. 7-6-10}{J-CCh}{2005/07/06}{4}
- Replace: AGEWMET\u{P}HTOS \> AGEWMET\u{R}HTOS
-
-\erroronpage{386}{para -1, l.2}{RWa}{2004/05/31}{2}
- Replace ``the X Window\u{s} system'' with ``the X Window \u{S}ystem''.
-
-\erroronpage{387}{para -1, ll.3/4}{HjG}{2004/07/09}{2}
- Missing word: ``\texttt{0.87478} should \u{be} used''\\
-
-\iffalse
-% no idea if we can fit that in:
-\erroronpage{387}{para -1, ll.3/4}{HjG}{2004/07/09}{}
- Value for 12\,pt?
-\fi
-
-\erroronpage{388}{tab. 7.14}{HjG}{2004/07/09}{2}
- Row~1: Thickness of vertical line between first two columns too
- wide (printing problem).
-
-\erroronpage{388}{tab 7.14, l.-2}{RPa}{2004/09/14}{4}
- Missing space between ``m,'' and ``bx'' in the middle column.
-
-\erroronpage{391}{tab. 7.15}{FMi}{2004/07/09}{2}
- Row~1: Thickness of vertical line between first two columns too
- wide (printing problem).
-
-\erroronpage{391}{tab 7.15, l.-2}{RPa}{2004/09/14}{4}
- Missing space between ``m,'' and ``bx'' in the middle column.
-
-\erroronpage{392}{tab 7.16, l.3}{RPa}{2004/09/14}{4}
- ``(bx)'' should be moved to the second column.
-
-\erroronpage{393}{tab 7.17, l.3}{RPa}{2004/09/14}{4}
- Missing space between ``(it),'' and ``sc'' in the third column.
-
-\erroronpage{395}{exa 7-7-20}{HjG}{2004/06/22}{2}
- Commands need to be swapped to match text:\\
- ``|\gothfamily| Swab'' \> ``|\swabfamily| Swab''\\
- ``|\swabfamily| Gothic'' \> ``|\gothfamily| Gothic''
-
-\erroronpage{395}{exa 7-7-21}{TSS}{2004/05/25}{2}
- The ``s'' in word ``dies'' should be the ``short s'' (ligature
- ``s:'') since it occurs in a syllable-final position.
-% others wrong???
-%According to page 765 of "The World's Writing Systems" (edited by P.T.
-%Daniels and W. Bright, ISBN 0-19-507993-0, Oxford University Press,
-%1996), a syllable-final "s" in fraktur text should be the "short s".
-
-\erroronpage{396}{para 3, l.5}{FMi}{2004/04/23}{2}
- Should be: ``\ldots on the \u{third} line.''
-
-\erroronpage{396}{exa 7-7-22}{TSS}{2004/05/25}{2}
- The ``s'' in word ``dies'' should be the ``short s'' (ligature
- ``s:'') since it occurs in a syllable-final position.
-
-\erroronpage{403}{para 1, ll.1/2}{HjG}{2004/07/09}{2}
- Change: ``by using \u{G}lyph \u{C}hart''
- \> ``by using \u{the} \u{g}lyph \u{c}hart''\\
- (cf.\ para 3, l.1)
-
-\erroronpage{405}{para 3, l.4}{HjG}{2004/06/22}{2}
- Missing word:
- ``of \u{the} International Phonetic Alphabet (IPA)''
-
-\erroronpage{405/406}{ll.-1/1/2}{HjG}{2004/06/22}{2}
- Move closing parenthesis:\\
- ``\ldots (based on \ldots\ by Donald Knuth, \ldots \u).'' \> \\
- ``\ldots (based on \ldots\ by Donald Knuth\u), \ldots \,.''
-
-\erroronpage{406}{exa 7-8-11}{HjG}{2004/07/09}{2}
- Add comma (?): ``|k\ae{}t|\texttt{\u,}''
-
-\erroronpage{407}{para -2, l.1}{BMo}{2004/05/16}{2}
- Missing word: ``With popular fonts designed for use with \TeX{},
- the euro symbol \u{is} usually available\ldots''
-
-\erroronpage{413}{para -2, l-1}{CBe}{2004/07/27}{4}
- ``local guide''; I believe this is an obsolete concept, dating back to
- the times when \TeX\ and \LaTeX\ were used on multitasking mainframes;
- commercial distributions might still have a ``local guide'', but I have never
- seen one.
-
-
-\erroronpage{414}{footnote}{hv}{2008/10/30}{}
-Replace: |\pcharpath| \> |\pscharpath|.
-
-These days the package |pst-char| has been integrated into |pst-text|.
-
-\erroronpage{416}{tab. 7.27}{HjG}{2004/07/09}{2}
- Uppercase vs.\ lowercase in entries for \texttt{T3} and
- \texttt{TS3}:\\
- ``\LaTeX{} \u{P}honetic \u{A}lphabet encoding'' $\leftrightarrow$\\
- ``\LaTeX{} \u{p}honetic \u{a}lphabet encoding''
-
-\erroronpage{417}{para 4, l.6}{HjG}{2004/07/10}{2}
- Correct case:
- ``\ldots\ in front of it. \u For example,''
-
-\erroronpage{418}{para 2, l.-2}{HjG}{2004/07/10}{2}
- Add:
- ``a typewriter font \u{in medium series} with italic shape''
-
-\erroronpage{420}{table 7.28}{CKr}{2005/04/08}{4}
- For consistency: ``narrow'' \> ``\u{N}arrow''
-
-\erroronpage{420}{para 1, l.6}{FMi}{2004/06/24}{2}
- Replace: ISO-9660 \> ISO 9660
-
-\erroronpage{426}{para 1, l.-2}{CKr}{2005/01/17}{4}
- Remove surplus: ``\ldots---other declarations that use this \u{the}
- font will benefit automatically.''
-
-\erroronpage{426}{para 1, last sentence}{CAR}{2005/01/22}{4}
- Replace with following sentence:
- ``This may seem like a strange usage but it has the advantage that when
- such additional
- fonts become available you will need to change
- only one font shape group declaration---all declarations that
- refer indirectly to these fonts will then benefit automatically.''
-
-
-\erroronpage{426}{para 5}{HjG}{2004/07/10}{2}
- Surplus word: ``\ldots, this function \u{it} writes \ldots''
-
-\erroronpage{426}{l.-2}{HjG}{2004/07/10}{2}
- Add word: ``The \u{third} argument''
-
-\erroronpage{428}{item 6}{CKr}{2005/01/18}{4}
- Replace: ``Specified the quad width'' \> ``Specifie\u{s} the quad
- width''
-
-\erroronpage{432}{para 4, l.9}{HjG}{2004/07/11}{2}
- Not plural: ``\ldots: the outer text size\u{s} and the three math
- sizes for this text size.''
-
-\erroronpage{433}{l.-10}{HjG}{2004/07/11}{2}
- Not start of a sentence, hence \> lowercase:
- ``\u{a}nd are usually placed in an \texttt{.fd} file.''
-
-\erroronpage{441}{para 5, l.1}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8
-
-\erroronpage{442}{footnote, l.2}{usw}{2005/01/11}{4}
- Sentence begins with lowercase 's'.
-
-\erroronpage{443}{para 1, l.1--2}{FMi}{2005/06/10}{4}
-Replace the parentheses with: ``(for the latter people sometimes use
-the single character \verb="=\,, but this is incorrect as it may
-produce a straight double quote, i.e., ")''
-
-\erroronpage{443}{para 3, l.4}{CKr}{2005/01/21}{4}
- Correct order: ``Instead, these commands have been implemented in
- \u{such a} way that \ldots''
-
-\erroronpage{444}{para 2, l.4}{DAl}{2005/08/01}{4}
- Missing word: ``\ldots associates the number 224 \u{with} the
-command |\alpha|.''
-
-\erroronpage{445}{para 4, ll.3--5}{HjG}{2004/07/12}{2}
- Move closing parenthesis:\\
- ``\ldots, which normally denote certain accents (i.e.,
- are encoding-specific commands, but \ldots\ environment\u).''
- \\ \> \\
- ``\ldots, which normally denote certain accents (i.e.,
- are encoding-specific commands\u), but \ldots\ environment.''
-
-\erroronpage{446}{footnote, l.1}{CKr}{2005/01/21}{4}
- Correct order: \ldots ``\textthreesuperior'' \u{was a}
- math glyph---comprehensible?
-
-\erroronpage{447}{Heading}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8
-
-\erroronpage{451}{para 4, l.2}{HjG}{2004/07/12}{2}
- Wrong number:
- ``\texttt{\u{'240}} octal'' \> ``\texttt{\u{'344}} octal''
-
-\erroronpage{453}{para 2, l.2}{DAl}{2005/08/01}{4}
- Missing word : ``\ldots an \emph{LICR-object} that is \u{to} be
-used whenever\ldots''
-
-\erroronpage{455}{para 3, l.-1}{JCh}{2004/07/17}{2}
- Typo (characters need to be swapped):
- ``L\u{CI}R'' \> ``L\u{IC}R''
-
-\erroronpage{457}{tab. 7.33}{HjG}{2004/07/12}{2}
- Wrong sort order (table rows need to be swapped):\\
- |\OE| $\leftrightarrow$ |\O| -- cf.\ |\o| and |\oe| on p.459
-
-\erroronpage{457}{tab. 7.33}{HjG}{2004/07/12}{2}
- Entry |\`i|: ``(\u{avail})'' \> ``(\u{alias})''
-
-\erroronpage{458}{\texttt{\string\copyright}}{FMi/usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\seriouserroronpage{458}{l. 27--30}{JLV}{2005/05/31}{4}
- Unfortunately |\guillemotleft|, |\guillemotright|, |\guilsinglleft|, and
- |\guilsinglright| have no ``default'' and only function in |OT1| if
- \textsf{babel} is loaded
-
-
-\erroronpage{458}{\texttt{\string\k} entries}{usw}{2005/01/11}{4}
- All |\k| entries should be |<constr.>| in LY1 encoding
-
-\erroronpage{459}{\texttt{\string\r A}}{FMi}{2005/04/09}{4}
- |\r A| is |<constr.>| in OT1 encoding
-
-\erroronpage{459}{\texttt{\string\r} entries}{usw}{2005/01/11}{4}
- All |\r| entries should be |<constr.>| in LY1 encoding
-
-\erroronpage{459}{\texttt{\string\textcelsius}}{usw}{2005/01/11}{4}
- Default from |constr./TS1|.
-
-\erroronpage{460}{\texttt{\string\textcopyright}}{usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\erroronpage{460}{\texttt{\string\textdiv}}{usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\erroronpage{460}{\texttt{\string\texteuro}}{usw}{2005/01/11}{4}
- Defined in the newer versions of the encoding (but not available in
- all fonts!)
-
-\erroronpage{460}{tab. 7.33}{HjG}{2004/07/12}{2}
- Wrong sort order (table rows need to be swapped):\\
- |\textdblhyphenchar| $\leftrightarrow$ |\textdblhyphen|
-
-\erroronpage{461}{\texttt{\string\textlnot}}{usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\erroronpage{461}{\texttt{\string\textpertenthousand}}{DAl}{2005/08/01}{4}
- Constructed in T1 encoding
-
-\erroronpage{461}{\texttt{\string\textperthousand}}{DAl}{2005/08/01}{4}
- Constructed in T1 encoding
-
-\erroronpage{461}{\texttt{\string\textpm}}{usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\erroronpage{461}{table, l. -12}{usw}{2004/05/24}{2}
- ``\verb=\textquotedblleft=" is indented by accident.
-
-\erroronpage{462}{\texttt{\string\texttimes}}{usw}{2005/01/11}{4}
- Natively available in LY1 encoding
-
-\erroronpage{462}{tab. 7.33}{HjG}{2004/07/12}{2}
- Wrong sort order (table rows need to be swapped):\\
- |\textthreequartersemdash| $\leftrightarrow$ |\textthreequarters|
-
-\erroronpage{463}{para 1, ll.1/2}{HjG}{2004/06/28}{2}
- Add: ``prior \u{to} 1990''
-
-\erroronpage{463}{para 1, l.2}{HjG}{2004/06/28}{2}
- Change:
- ``\ldots integrated in \u{1993})'' \>
- ``\ldots integrated in \u{1994})''
-
-
-\CHAPTER{Chapter 8}
-
-\erroronpage{465}{para 4, ll.2+4}{HjG}{2004/06/20}{2}
- Add page entry for ``Swanson, Ellen'' to ``People'' index
- (p.1082). \\
- Add page entry for ``Knuth, Donald'' to ``People'' index
- (p.1081).
-
- Editorial comment: no need for reprinting this page.
-
-
-\erroronpage{466}{para 2, ll.3+6}{HjG}{2004/06/20}{2}
- Add page entry for ``Spivak, Michael'' to ``People'' index
- (p.1082).\\
- Add page entry for ``Jones, David'' to ``People'' index
- (p.1081).
-
-\erroronpage{466}{para 3 l.1}{UFi}{2004/06/04}{2}
- Remove comma: ``Michael\u, would have been\ldots''
-
-\seriouserroronpage{468}{para 3, ll.10+11}{JTa}{2004/08/31}4{}
- Extra closing brace after the second argument of
- \texttt{\textbackslash newenvironment} on both lines.
-
-\erroronpage{471}{para 2, l.4}{VPe}{2004/06/02}{2}
- Extra word: ``\ldots this change \u{can} are discussed\ldots''
-
-\erroronpage{478}{exa 8-2-19}{CBe}{2004/07/27}{2}
-Poor Maxwell's equations! No doubt there are mathematical
- physicists or physical mathematicians that write Maxwell's equations that way.
- This is a good example for showing some capabilities of the
- \textsf{amsmath} package and its possible extensions by means of the
- \comando{\newenvironment} command, but it is an example where all possible ISO
- rules are violated! Physical equations deal with quantities, not with
- mathematical variables; and quantities have dimensions; as such they have to
- comply with the rules established by the Sisth\`{e}me International (SI) and the
- various obsolete ``cgm'' systems are officially deprecated; the partial
- derivative sign $\partial$ has exactly that meaning and it cannot substitute
- the ``nabla'' $\nabla$ sign; finally the $j$ symbol probably indicates the
- current density, but in an equation that does not comply with the ISO rules it
- might indicate the imaginary unit (which, on the opposite, is prescribed to be
- typeset in roman or upright shape as well as $\pi$); treating with vectorial
- quantities these should be well marked either with a vector math accent or
- must be set in bold italic; with variables depending from four quantities the
- apex for indicating the derivative is not univocal for specifying the quantity
- with respect to which the derivative is taken. I repeat: the example is good
- for describing the math extension capabilities but it could induce the casual
- reader to believe that this is the correct form for writing down the Maxwell's
- equations; unfortunately it is not.
-
-\erroronpage{480}{para -2, ll.8/9}{HjG}{2004/06/20}{2}
- ``(there must be no space before the \texttt[)'' --- why?\\
- (Would be ignored by \TeX{} as the end of the cs-name!)
-
- Deleted this text.
-
-\erroronpage{484}{para 3, ll.1/2}{HjG}{2004/06/20}{2}
- Add word: ``\ldots\ the \texttt{equation} \u{environment} is
-\ldots''
-
-\erroronpage{488}{para 1, l.2}{HjG}{2004/06/20}{2}
- Add word: ``\ldots\ as a subscript \u{or} superscript.''
-
-\erroronpage{488}{para 1, l.1}{FMi}{2005/04/23}{4}
- Replace word: ``Note that both \u{environments} \ldots''
- \> ``Note that both \u{structures} \ldots'' (as one is a command)
-
-\erroronpage{489}{para -2, l.3}{HjG}{2004/06/20}{2}
- Missing closing parenthesis: ``(see Section 8.5.3\u)''
-
-\erroronpage{489}{exa. 8-3-9.1}{DAl}{2005/08/21}{4}
- The third array actually only needs \texttt{c} as preamble even
- though \texttt{cc} is not wrong. as empty columns on the right are ignored
-
-\erroronpage{491}{para -2, l.3}{BMo}{2004/05/21}{2}
- Replace: ``aside'' \> ``at the side''
-
-\erroronpage{493--95}{ll.-1/-2}{HjG}{2004/06/21}{2}
- Perhaps a note regarding the defaults should be added:\\
- ``The first two parameters, \emph{ldelim} and \emph{rdelim}, are
- the left and right delimiters, respectively.
- \u{They must be either both empty or both non-empty;}
- \u{to place a single delimiter, use a period ``\texttt.'' on the
- ``empty'' side.}''
-
- Editorial comment: affects pagebreaks for 494/95 as well
-
-\iffalse % more blue align stuff
-\erroronpage{498}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-\erroronpage{499}{\S 8.6.2}{HjG}{2004/06/21}{2}
- Change section heading: ``Operator \u{and function} names''
-
-\iffalse % more blue align stuff
-\erroronpage{500}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-\erroronpage{501}{exa 8-6-4}{HjG}{2004/06/21}{2}
- Surplus word (in source comment):\\
- ``\texttt{\% the old \u{the} definition of \textbackslash csc}''
-
-\erroronpage{507}{footnote}{CKr}{2005/02/16}{4}
- Good try but wrong word: ``Technically this is due to the denominator being
- wider than the \u{numerator} in this case\ldots''
-
-\seriouserroronpage{508}{table 8.6, col.5}{FMi}{2004/04/23}{2}
- The bad alignment (in some books) of the blue color probably makes
- the illustrations in this column useless.
-
-\iffalse % more blue align stuff
-\erroronpage{510}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-\erroronpage{511}{marginal note}{MHe}{2004/05/22}{2}
- Swap words: ``\ldots change \u{the existing} math font
- set-up''
-
-\erroronpage{512}{para 3, l.6}{HjG}{2004/06/22}{2}
- Surplus closing brace:
- ``|\bm{\alpha}|\texttt{\u\textbraceright}''
-
-\seriouserroronpage{513}{Figure 8.1}{LSchu}{2004/05/22}{2}
- Text font is Times, but should be Computer Modern (rather
- embarrassing that).
-
-\erroronpage{513}{para 3, l.1}{HjG}{2004/06/22}{2}
- Change: ``In this section show a sample text'' \>\\
- ``In this section \u{we} show a sample text''
-
-\iffalse % more blue align stuff
-\erroronpage{513}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-\erroronpage{515}{para 1, l.3}{HjG}{2004/06/22}{2}
- Wrong reference: ``Figure~8.3'' \> ``Figure~8.2''
-
-\erroronpage{515}{para -1, l.1}{BMo/CAR}{2004/05/21}{2}
- Replace: ``The Metafont versions of Concrete Roman and Math\ldots''
- \> ``The Metafont versions of Concrete, both Roman and Math,\ldots''
-
-\seriouserroronpage{516}{fig.~8.6}{CKr/FMi}{2005/02/18}{4}
- The txfonts have the symbols |\succapprox| and |\precapprox| in the
- wrong position in the fonts.
- Until the fonts are corrected one can manually fix the problem by
- redeclaring them after loading the \texttt{txfonts} package, i.e.,
-\begin{verbatim}
-\usepackage{txfonts}
-\DeclareMathSymbol{\succapprox}{\mathrel}{AMSb}{119}
-\DeclareMathSymbol{\precapprox}{\mathrel}{AMSb}{118}
-\end{verbatim}
-
-\erroronpage{517}{footnote}{FMi}{2005/06/03}{4}
- Y\&Y has unfortunately folded and their domain was taking over by a
- seller for ``latex'' clothing (interesting isnt it?).
- Some information about Y\&Y can be found at
- \texttt{https://www.tug.org/yandy}.
-
-\seriouserroronpage{518}{fig.~8.9}{CKr/FMi}{2005/02/18}{4}
- The pxfonts have the symbols |\succapprox| and |\precapprox| in the
- wrong position in the fonts.
- Until the fonts are corrected one can manually fix the problem by
- redeclaring them after loading the \texttt{pxfonts} package, i.e.,
-\begin{verbatim}
-\usepackage{pxfonts}
-\DeclareMathSymbol{\succapprox}{\mathrel}{AMSb}{119}
-\DeclareMathSymbol{\precapprox}{\mathrel}{AMSb}{118}
-\end{verbatim}
-
-\erroronpage{521}{para 2, l.3}{HjG}{2004/06/26}{2}
- Missing interword space: ``Section\u~7.6.1''
-
-\erroronpage{521}{footnote}{FMi}{2005/06/03}{4}
- Y\&Y has unfortunately folded and their domain was taking over by a
- seller for ``latex'' clothing (interesting isnt it?).
- Some information about Y\&Y can be found at
- \texttt{https://www.tug.org/yandy}.
-
-\seriouserroronpage{523}{figure 8.16}{MHe}{2004/05/22}{2}
- The symbols to the left and right of ``Q(t)'' in the middle of
- the figure are wrong (this is
- actually a bug in the informal math set-up which has now been
- corrected).
-
-\erroronpage{523}{figure 8.16, caption}{BMo}{2004/05/21}{2}
- Replace: ``Info Math fonts'' with ``Informal Math fonts''.
-
-\erroronpage{523}{para 3, l.2}{HjG}{2004/06/26}{2}
- Change:\\
- ``The HV math fonts \u{are} designed at MicroPress'' \>\\
- ``The HV math fonts \u{have been} designed at MicroPress''
-
-\erroronpage{524}{para 1, ll.4--6}{HjG}{2004/06/27}{2}
- Change:\\
- ``This \u{package} extends the \ldots\ font collections\u{ and}
- should normally be loaded \ldots'' \>\\
- ``This \u{font} extends the \ldots\ font collections\u{; the
- corresponding \textsf{stmaryrd} package} should normally be loaded
- \ldots''
-
-\erroronpage{524}{para 2, l.7}{HjG}{2004/06/27}{2}
- The text states: ``\u{\raisebox{1ex}{\scriptsize(\emph{kernel})}}
- identifies symbols \ldots''. However, later on only
- ``\u{\raisebox{1ex}{\scriptsize(\emph{ker})}}'' is used.
- [E.g., Table~8.10 on page~527 (|\hbar|)
- and Table~8.11 on page~528 (|\angle|).]
-
-\erroronpage{524}{para 2, l.-3}{HjG}{2004/06/27}{2}
- The text speaks of ``Alphabetic symbols'' -- but the referenced
- Table~7.30 on page~435 calls it ``Alphabet character''~!?
-
-\erroronpage{524}{exa 8-9-1}{HjG}{2004/06/27}{2}
- The |fleqn| option is used, but in the output, the two equations
- seem to be right aligned rather than left aligned!\\
- Indeed true: this is because in \textsf{amsmath} the |\mathindent|
- added on the left is
- actually a rubber length (see page 471) that is automatically
- shortend if there is not enough space.
-
-\iffalse % more blue align stuff
-\erroronpage{524}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-
-\erroronpage{525}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-
-\erroronpage{526}{para -1, l.1}{CKr/FMi}{2005/02/20}{4}
-Change: ``The unaccented ASCII Latin letters and Arabic
- numeral digits (see Table~8.8) \u{all} referred to\ldots''
- \> ``\ldots \u{are} referred to\ldots''
-
-\erroronpage{527}{para 2, l.1}{HjG}{2005/05/21}{4}
- Replace:\\
- ``in the first \u{columns} of Table~8.9'' \>
- ``in the first \u{rows} of Table~8.9''
-
-\erroronpage{527}{para 2, l.5}{HjG}{2004/06/27}{2}
- Change:
- ``Similarly, the list of lowercase Greek letters \u{there is}
- no omicron'' \>\\
- ``Similarly, the list of lowercase Greek letters \u{contains}
- no omicron''
-
-\iffalse % more blue align stuff
-\erroronpage{528}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
- \erroronpage{527}{table 8.10}{BMo/CAR}{2004/05/21}{2}
- This table would be
- better if reordered, in particular so that the first row
- contains: \verb=\aleph \beth \gimmel \daleth=. This would
- make the this text correct: ``The first four [entries in
- table 8.10] are Hebrew letters.''
-
-
-\erroronpage{527,528}{table 8-10/11}{FMi}{2006/08/09}{s}
- Added the missing symbol from amssymb: |\circledR|, |\yen|,
- |\checkmark|, and |\maltese|.
-
- The general distribution of symbols between the two tables is a bit
- questionable, but this will stay as it is.
-
-\erroronpage{528}{table 8-11}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{528}{table 8.11}{LHe}{2008/02/08}{}
- |\dag| and |\ddag| are |\mathord|s not |\mathbin| as claimed in table
- 8.13.
-
-
-\seriouserroronpage{529}{table 8.12, l.3}{JGr}{2004/06/10}{2}
- \verb=\mathring{x}= is missing its accent.
-
-\erroronpage{529}{para 1, l.2}{CKr}{2005/04/24}{4}
- Replace: ``looked up |\neq|'' \> ``looked up |\ne|\u{\texttt{g}}''
-
-\erroronpage{530}{table 8-13}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{530}{table 8.13}{LHe}{2008/02/08}{}
- |\dag| and |\ddag| are not |\mathbin|s, hence don't belong in this table
- and they
- aren't (as claimed in legend) synonyms of |\dagger|
- and |\ddagger| respectively.
-
-\erroronpage{531}{table 8.15}{BMo/FMi}{2004/05/21}{2}
- The commands starting with |\var...| are only partially in blue to
- indicate their relationship with those commands missing the ``var'' in their
- names. But this is more confusing than helpful, so they are now made
- fully blue.
-
-\seriouserroronpage{531}{table 8.15}{CAR/FMi}{2004/06/05}{2}
- |\obar| is listed twice while |\obslash| (also from stmaryrd) is missing
-
-\erroronpage{531}{table 8-15}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\seriouserroronpage{532}{tables 8-16, 8-17}{HjG}{2004/07/13}{2}
- Since |\precsim| is not a negated symbol, it should be moved from
- Table~8-17 to Table~8-16, where its sibling |\succsim| already
- lives.
-
-\erroronpage{532}{tables 8-16/17}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{532}{table 8.17}{CKr}{2005/02/22}{4}
- Add: ``\ldots or, \u{if} flagged\ldots''
-
-\iffalse % more blue align stuff
-\erroronpage{533}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned.
-\fi
-
-\erroronpage{533}{tables 8-18/19}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\iffalse % more blue align stuff
-\erroronpage{534}{page}{FMi}{2004/04/23}{}
- Printing problem: blue color not properly aligned (horizontally).
-\fi
-
-\erroronpage{534}{table 8-20}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{534}{tab. 8.20}{HjG}{2004/06/28}{2}
- 1. |\hookleftarrow| is listed twice.\\
- 2. Some ``compound'' symbols have different line widths in their
- ``head'' and ``tail'' parts:
- |\Longleftarrow|, |\Longmapsfrom|, |\Longmapsto|, |\Longrightarrow|.
-
-
-\erroronpage{534}{table 8-21}{MBr}{2004/08/02}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{535}{table 8-22/23}{HjG}{2004/07/13}{2}
- Various deviations from alphabetical sort order of the table
- entries.
-
-\erroronpage{537}{table 8-27}{DIs/FMi}{2006/08/09}{s}
- Added the four missing delimiters from amssymb: |\llcorner|, |\lrcorner|,
- |\ulcorner|, and |\urcorner|. Updated the table note and galley text accordingly.
-
-
-\CHAPTER{Chapter 9}
-
-\erroronpage{540}{para -2, l.6}{MKu/FMi}{2004/06/24}{2}
- Replace: ISO-8859-x \> ISO 8859-x
-
-\erroronpage{540}{para -1, l.4}{FMi}{2004/07/20}{2}
-Plural: ``Clearly, 8 bits \u{are} not sufficient\ldots''
-
-\erroronpage{541}{para 1, l.-2}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8
-
-\seriouserroronpage{543}{table 9.1}{MHe/JBr}{2004/06/10}{}
- The Babel implementation on the CD is missing the australian and
- newzealand
- options. If you need them, download a new version of Babel.
-
-\erroronpage{543}{table 9.1}{JBr/WaS}{2004/07/31}{2}
- Replace: ``\texttt{english}, \texttt{USenglish}
- (\texttt{\itshape american}, \texttt{\itshape canadian}), \texttt{UKenglish}
- (\texttt{\itshape british}), \texttt{australian} (\texttt{\itshape
- newzealand})''
-
- Add footnote: ``\textit{The option \texttt{\upshape english}
- combines American hyphenation patterns
- with a British date format.}''
-
-
-\erroronpage{545}{exa 9-2-1}{JAn}{2005/09/09}{4}
- The quotes surrounding R\'ef\'erences and Chapitre
- should be the french ones: use |\og| and |\fg{}|. And similar those
- around German words should use |"`| and |"'|.
-
-
-\erroronpage{546}{para 3, l.4}{HjG}{2004/06/17}{2}
- Typo: ``pattern\u{s}''
-
-\seriouserroronpage{548}{para 2, l.4}{UFi}{2004/06/03}{2}
- Replace: |\aliasshorthand{"}{/}| should be \verb=\aliasshorthand{"}{|}=
-
-\erroronpage{549}{para 1, l.5}{HjG}{2004/06/17}{2}
- Characters should be in `typewriter font' (as in l.2):\\
- ``\,``;'' and ``?''\,'' \> ``\,``|;|'' and ``|?|''\,''
-
-\erroronpage{550}{para -2, l.1--2}{CKr}{2005/02/28}{4}
- Correct: ``Some are
- meant to ease typing, wher\u{e}as others\ldots''
-
-
-\erroronpage{551}{tab 9.3}{CBe}{2004/07/27}{}
- I am surprised that in Russian there is no word for ``Glossary''.
-
- Frank: It most certainly exits :-), but right now Babel doesn't
- know about it---so there is nothing we can do about it at the
- moment. Actually the same problem exists with Polish, although here
- I got a translation ``s\l{}ownik termin\'ow'' which will eventually
- find its way into Babel.
-
-\erroronpage{552}{exa 9-3-4}{CBe}{2004/07/27}{2}
- The words \texttt{i"lusio} and il$\cdot$lusio in the example are
- incorrect. They should be \texttt{i"lusi\string\'o} and il$\cdot$lusi\'{o}
- respectively %(ref: TB 14-3-252-259)
-
-
-\seriouserroronpage{553}{para 4}{UFi}{2004/06/03}{2}
-
- Replace with: ``Another popular shorthand is |"-|, which indicates a
- hyphenation point (like |\-|), but without supressing
- hyphenation in the remainder of the word:''
-
-\erroronpage{553}{exa 9-3-8}{FMi}{2004/06/03}{2}
- Replace the example body with:
-\begin{verbatim}
-\fbox{\parbox[t]{1cm}{minister"-president}} \quad
-\fbox{\parbox[t]{1cm}{minister\-president}} \quad
-\fbox{\parbox[t]{1cm}{ministerpresident}}
-\end{verbatim}
-to show the differences between |"-|, |\-|, and no hyphen.
-
-\erroronpage{553}{exa 9-3-9}{FMi}{2004/06/03}{2}
- Replace the example body with:
-\begin{verbatim}
-1. \present{Gutenberg-Universit"at}
-2. \present{Gutenberg"-Universit"at}
-3. \present{Gutenberg""Universit"at}
-4. \present{Gutenberg"=Universit"at}
-5. \present{Gutenberg"~Universit"at}
-\end{verbatim}
-
-\erroronpage{554}{para 4, l.2}{HjG}{2004/06/17}{2}
- Replace: ``|~n~|\meta{letter}'' \> ``|~n|''
- and ``|~N~|\meta{letter}'' \> ``|~N|''
-
-\erroronpage{554}{exa 9-3-11}{UFi/MGo}{2004/06/03}{2}
- Replace body with:
- ``|En fran\c{c}ais on doit mettre un \fg petit espace\fg\|
- |devant la ponctuation double: comme cela!|
- \ldots''
-
-\erroronpage{556}{item 2, l.3}{HjG}{2004/06/17}{2}
- Remove:
- ``\ldots\u{, with the addition that also \texttt{'u} and
- \texttt{'U} are made available}.''
-\iffalse
-auf s.556 unten (1. item) steht, dass der ' fuer Catalan mit allen
-vokalen verwendet werden kann; das gilt auch fuer Galician (2. item);
-deswegen macht der u.g. nebensatz wenig sinn, denn U gehoert ja zu den
-vokalen! -- war vielleicht 'N gemeint? (aber auch das wird bei
-Galician schon erwaehnt!)
-\fi
-
-\erroronpage{556}{para 4, l.2}{UFi}{2004/06/03}{2}
- Correct spelling: ``\ldots optional \u{because} the acute accent has\ldots''
-
-\erroronpage{557}{exa 9-3-19}{FMi/JBe}{2005/03/20}{4}
- Replaced the example text with a spanish example showing 3 levels of
- quotations.
-
-\erroronpage{558}{para -1, l.2}{UFi}{2004/06/03}{2}
- Add comma: ``day, month\u, year''
-
-\iffalse % alternative (but needs to change two pages)
- Replace:
- ``\ldots |\hebdate| to translate any Gregorian date, given \u{the three
- arguments \emph{day}, \emph{month},
- and \emph{year},}
- into a Gregorian date in Hebrew.''
-\fi
-
-\erroronpage{561--562}{para 2, l.-1; para 2, l.1}{BMo}{2004/05/16}{2}
- The number 999999 (and 1000, in the second instance) should not
- be written with a period as thousands-separator as this is
- confusing for readers used to a different convention.
-
-\erroronpage{562}{para 2, l.1+2}{FMi/DPa}{2004/07/24}{2}
- Change: ``digits \u{before the decimal point} are expressed'' \>
- ``digits \u{denoting multiples of a thousand} are expressed''
-
-\erroronpage{563}{l -18/-17}{CBe}{2004/07/27}{4}
-The non zero \texttt{lccode} for the apostrophe is not
- a speciality of the Italian language; this non null assignment is made at least
- also for Catalan and for French; it should be done for all languages that use
- the apostrophe for replacing an elided vowel.
-
-\seriouserroronpage{564}{table 9.5}{FMi}{2004/04/23}{2}
- Add a note that the definition of \verb=\th= conflicts with its standard
- definition as the LICR object ``\th{}'' (thorn).
-
-\erroronpage{564}{tab. 9.5}{HjG/FMi}{2004/06/18}{2}
- In the `Serbian' column, ``|\sh| sh'' is listed twice;
- replace the second instance with ``|\arsh| arsh''.
-
-\erroronpage{564}{para -1, l.5}{ERy}{2004/08/06}{2}
- Change: ``helpfull'' \> ``helpful''
-
-\erroronpage{565}{line 1}{JGr}{2004/06/16}{2}
- Missing space in: Anotherlayout
-
-\erroronpage{569}{l.-2}{HjG}{2004/06/18}{2}
- Misspelled name:
- ``Andrew Janishe\u{w}sky'' \> ``Andrew Janishe\u{v}sky''
- (This affects p.1081, too!)
-
-\erroronpage{571}{l.1}{HjG}{2004/06/18}{2}
- Replace: ``UNIX-like'' \> ``UN*X-like''
- (to match spelling elsewhere in the book)
-
-\erroronpage{571}{ll.3+4}{MKu/FMi}{2004/08/03}{2}
- Change: ``ISO-IR-111'' \> ``ISO-IR~111'' \\
- and ``ISO-IR-144'' \> ``ISO-IR~144''
-
-\erroronpage{571}{para 4}{HjG}{2004/06/18}{2}
- Code page ``|mnk|'' listed twice.
-
-%\erroronpage{572}{page}{FMi}{2004/04/23}{}
-% Printing problem: blue color not properly aligned.
-
-\erroronpage{573}{descr. env.}{HjG}{2004/06/18}{2}
- Items \texttt{T2B:} and \texttt{T2C:} ``Crimean~Tatar'' \> ``Crimean-Tatar''
-
-\erroronpage{573}{para 3, l.4}{HjG}{2004/06/18}{2}
- Typo: ``pac\u{ak}ge'' \> ``pac\u{ka}ge''
-
-\erroronpage{574}{para 6, l.1}{HjG}{2004/06/18}{2}
- Replace: ``The |cb| font use\u{s} \ldots''
- \> ``The |cb| font\u{s} use \ldots''
-
-\erroronpage{574}{para 7, l.2}{HjG}{2004/06/18}{2}
- Replace: ``translation'' \> ``transliteration''
-
-\erroronpage{575}{tab 9.7}{CBe}{2004/07/27}{2}
- I do not recognize my \texttt{grmn1000} font table; at least
- it is incomplete compared with the one that has been uploaded on CTAN in 2002,
- well ahead of the publication of this Second Edition.
-
- (Unfortunately an older tfm file was used so that some glyphs do not
- show up in the table)
-
-\erroronpage{576}{tab. 9.9}{HjG}{2004/06/18}{2}
- Replace: ``Diaresis'' \> ``Dia\u{e}resis''
-
-\erroronpage{576}{tab 9.9}{CBe}{2004/07/27}{2}
-|<'otan| does not produce the Greek word on its right,
- which was by mistake obtained with |<'o|\texttt{\'otan}
-
-\erroronpage{576}{tab 9.10}{CBe}{2004/07/27}{2}
- In the first line all the examples with upper case letters
- are wrong in the sence that these glyphs cannot appear in real text,
- hence they are removed.
- The last two lines are wrong with both lower and upper case
- letters. The former error implies a hiatus between an initial capital letter
- and a preceding vowel that by definition of ``initial'' is missing. The latter
- error is related to the fact that spirit and accent are separated, the former
- to the left of the vowel, the latter over the vowel.
-
- Part of the problems are due to a missing |\languageattribute{greek}{polutoniko}|.
-
-\erroronpage{579}{table 9.12, l.7}{HjG}{2005/06/02}{4}
- Remove extra right brace: ``|\fontfamily{fr}|\u{\texttt{\textbraceright}}''
-
-\seriouserroronpage{580}{example file \texttt{language.dat}}{WaS}{2004/06/14}{2}
- \u{\texttt{us}}\texttt{english} \> \texttt{\u{US}english}\\
- \u{\texttt{uk}}\texttt{english} \> \texttt{\u{UK}english}
-
-\seriouserroronpage{580}{\texttt{language.dat} on CD}{WaS}{2004/06/14}{}
-The language name problem, i.e.,
-
- \u{\texttt{us}}\texttt{english} \> \texttt{\u{US}english}\\
- \u{\texttt{uk}}\texttt{english} \> \texttt{\u{UK}english}
-
-is also present in the language.dat file on
-the book CD.
-
-\erroronpage{581}{para 2, l.2}{UFi}{2004/06/04}{2}
- Six "languages" are loaded ...: seven?
-
-\erroronpage{581}{para 1, l.2}{WaS/FMi}{2004/06/14}{2}
- Change: ``\ldots loaded first by INI\TeX{}; English in the example
- above).''
- \> ``\ldots loaded first by INI\TeX{}); for compatibility reasons this language
- should contain US-English hyphenation patterns.''
-
-\erroronpage{581}{para 2, l.2}{WaS}{2004/06/14}{2}
- Language names are to be corrected according to p.580.
-
-\iffalse
-% no space. do what? probably nothing right now
-\erroronpage{581}{para 2, l.3}{HjG}{2004/06/18}{}
- Add a footnote to explain the meaning of the term
- ``hyphenation trie''?
-\fi
-
-\erroronpage{583}{para 1, l.1}{HjG}{2004/06/18}{2}
- Wrong number: ``(line 32)'' \> ``(line 34)''
-
-\erroronpage{583}{para 1, l.3}{HjG}{2004/06/18}{2}
- Replace: ``\texttt{welsh.\u{sty}}'' \> ``\texttt{welsh.\u{ldf}}''
-
-\seriouserroronpage{585}{}{CBe}{2004/07/27}{2}
-The line:\\
- \comando{\adddialect\{austrian\}\{german\}}\\
- and the following one correspond neither to lines 102\textendash 103 of the language
- skeleton, nor to the grammar of the \comando{\adddialect} on page 584; this
- description as well as the skeleton file apparently require that the language
- name be preceded by \comando{\l@}; in facts, for example,
- the \texttt{germanb.ldf} contains the line:\\
- \comando{\adddialect}\comando{\l@austrian}\comando{\l@german}
-
-\seriouserroronpage{586}{code line 2}{TSS}{2004/05/26}{2}
- Extra closing brace after \verb|\def\germanhyphenmins|.
-
-\seriouserroronpage{589}{syntax box}{UFi}{2004/06/04}{2}
- Change: |\addto\csname[code]| \> |\addto\csname{code}| (wrong braces)
-
-\erroronpage{591}{para 1, l.5}{UFi}{2004/06/04}{2}
- Extra character: ``The third argument, \emph{ex\u{c}ec}, contains\ldots''
-
-\erroronpage{592}{para 3, l.2+4}{PPN}{2004/05/25}{2}
- Replace: ``Panday'' \> ``Pand\u{e}y'' (sorry)
-
-\seriouserroronpage{592}{para 3, l.3}{PPN}{2004/05/25}{2}
- Replace ``\textsf{bang}'' with ``\textsf{bengali}''. This
- package is available on CTAN in the \textsf{languages/bengali/pandey}.
-
-\seriouserroronpage{592}{para 3, l.4 }{PPN}{2004/05/25}{2}
- Replace ``\textsf{denag}'' with ``\textsf{devnag}''.
- This package is on CTAN \texttt{languages/devanagari/velthuis}.
-
-\erroronpage{592}{para 5, l.1}{CKr}{2004/10/15}{4}
- Replace: ``E\u{hit}opian'' \> ``E\u{thi}opian''
-
-\erroronpage{592}{general remarks}{PPn}{2004/05/25}{}
-Additional remarks not for inclusion in the book: For \TeX{}, \LaTeX{}
-in languages of India,
-there are several nice packages. An overview can be found in the
-following {\sc TUGboat} Articles;
-
-\begin{enumerate}
-\item Anshuman Pandey, \textsl{An overview of Indic Fonts for \TeX{}},
-{\sc TUGboat} Volume 19, Number 2 / June 1998 115---119
-\item Anshuman Pandey, \textsl {Typesetting Bengali in \TeX{}}, {\sc
-TUGboat} Volume 20, Number 2, June 1999 119---126
-\item C. V. Radhakrishnan, \textsl{A case for \TeX{} in India}, {\sc
-TUGboat} Volume 19, Number 1, March 1998, 6---9.
-\item Karel P\'{\i}\v{s}ka, \textsl{A conversion of public Indic fonts
-from METAFONT into Type I format with} {\sc TeX{}TRACE}, Volume
-23, Number 1, 2002, 70---73
-\item
-Yannis Haralambous and John Plaice, \textsl{Low-level Devan\=agari
-support for Omega-- Adapting {\sf devnag}}, i
-Volume 23, Number 1, 2002, 50---56
-\end{enumerate}
-
-In addition to these articles, TUGIndia has uploaded two
-\LaTeXe{} packages (i) Malayalam for \LaTeXe{}, and (ii) Kannada
-\LaTeX{}, both available from www.sarovar.org.
-
-A remark on {\sf devnag} package:-- Originally developed by Frans
-Velthuis in 1991, it was upgraded for use with \LaTeXe{} (made
-NFSS-complaint), and maintained by a team consisting of Dominik
-Wujastyk, John Smith, Anshuman Pandey, Fran\c{c}ois Patte, and
-Zden\v{e}k Wagner. Very recently, the project has
-been handed over to TUGIndia, for further development,
-and as of May 2004, it has moved from sourceforge.net to
-sarovar.org.
-
-
-
-\CHAPTER{Chapter 10}
-
-\erroronpage{chap.10}{boxed texts}{HjG}{2004/06/08}{2}
- In addition to what has been reported elsewhere, here's an overview
- of some more inconsistencies in (some of) the ``syntax boxes'' of
- this chapter. \\
- With parenthesized arguments, commas are part of the syntax;
- hence they should be set in `typewriter font' (???). \\
- The space after these commas should also be uniform.
- \\ \vspace{.5\baselineskip}
- %
- \begin{tabular}{@{}rrllp{44mm}@{}} \hline
- page(s) & box(es) & comma & space & remark \\ \hline
- 599 & & |\rm| & no & asterisk should be in |\tt| \\
- 602/3 & all & |\rm| & yes & ``...'' vs.\ ``\ldots'' \\
- 606 & 1 & |\rm| & no & ``...'' vs.\ ``\ldots'' \\
- 606 & 2 & |\it| & no & \\
- 607 & & |\rm| & yes & \\
- 608 & all & |\it| & no & \\
- 610 & 1--2 & |\rm| & yes & ``...'' vs.\ ``\ldots'' \\
- 616 & & |\it| & no & \raggedright
- also in text after box! \\
- (ll.1+5 in first para)
- \tabularnewline
- 639 & & |\it| & no & \\
- 641 & 1--2 & $^*$ & no & \raggedright
- $^*$various flaws; \\
- see separate error entry.
- \tabularnewline \hline
- \end{tabular}
-
-
-\erroronpage{596}{para 4, l.2}{HjG}{2004/06/07}{2}
- Replace: ``is the same as \u{those} produced''
- \> ``\ldots \u{that} \ldots''
-
-\erroronpage{597}{para -1, l.-4/-3}{HjG}{2004/06/07}{2}
- Replace: ``\ldots, in case \u{they are} changed''
- \> ``\ldots, in case \u{it is} changed''
-
-\erroronpage{597/598}{para -1, l.-2}{HjG}{2004/06/07}{2}
- Delete word: ``which again \u{that} expects one argument.''
-
-\erroronpage{599}{boxed text}{CAR}{2004/05/26}{2}
- The asterisk after |\fancyput| should be centred and the `(' and `)'
- should be in typewriter.
-
-\seriouserroronpage{599}{boxed text}{HjG}{2004/06/08}{2}
- Replace brackets by braces. (The \emph{horizontal-material}
- argument is not an optional, but a mandatory one.)
-
-\erroronpage{600}{para 2, l.4}{HjG}{2004/06/07}{2}
- Replace: ``\u{don't} work'' \> ``\u{does not} work''
-
-\erroronpage{600}{exa 10-1-12}{GBa}{2004/07/28}{2}
- The optional parameter ``[t]'' in the second example is printed as text
-in line (1).
-
- Remove in code: ``\texttt{[t]}''
-
- Append to previous paragraph: ``An optional position argument is not supported.''
-
-\erroronpage{601}{l.-17}{CBe}{2004/07/27}{2}
-Add word: Calculating the horizontal and vertical \u{distance}
-
-\erroronpage{602--603}{all boxed texts}{CAR}{2004/05/26}{2}
- All the parentheses `(' and `)' (9 pairs in total)
- should be in `typewriter font'.
-
-\erroronpage{604,605,609}{}{HjG}{2004/06/07}{2}
- On p.604 (l. -2) and p.605 (ll. 1, 2) we have ``|join|
- environment(s)''.\\
- On p.605 (ll. -6, -1) these are called ``|..join| environments''.\\
- On p.609 (para 3, l.5) it's ``|join| environments'' again.
-
-\erroronpage{606}{para 2, l.1}{HjG}{2005/05/16}{4}
- ``The \textsf{epic} \ldots'' \>
- either: ``\textsf{epic} \ldots''
- or: ``The \textsf{epic} package \ldots''
-
-\erroronpage{606}{para 3, l.1}{HjG}{2004/06/07}{2}
- Delete comma and move word:\\
- ``This command\u{, which} is a variant \ldots\ command, allows
- \ldots'' \>\\
- ``This command is a variant \ldots\ command, \u{which} allows
- \ldots''
-
-\erroronpage{606}{second boxed text}{CAR}{2004/05/26}{2}
- Brackets should also be in `typerwriter font'.
-
-\erroronpage{606}{para -1}{HjG/FMi}{2005/05/19}{4}
- The arguments ``\textit{$\Delta$width}'' and
- ``\textit{$\Delta$height}'' are mistakenly used in math mode. In
- the book that means a different font and different kerning.
-
-\erroronpage{606--608}{all boxed texts}{CAR}{2004/05/26}{2}
- All the parentheses `(' and `)' (9 pairs in total)
- should be in `typewriter font'.
-
-\erroronpage{609}{}{FMi}{2004/06/07}{2}
- Editorial comment: reprinted see earlier summary entries.
-
-\erroronpage{610}{first two boxed texts}{CAR}{2004/05/26}{2}
- All the parentheses `(' and `)' (6 pairs in total)
- should be in `typewriter font'.
-
-\erroronpage{612}{exa 10-1-25}{PYu/FMi}{2004/07/05}{2}
- The |\protect| in front of |\footnotesize| (twice) is not necessary.
-
-\erroronpage{613}{para 1, ll.2/3}{HjG}{2004/06/21}{2}
- Citations disrupt sentence!\\
- ``\ldots\ bundle [48,49] or [57, Chapter~6] for \ldots'' \> \\
- ``\ldots\ bundle \u{(see }[48,49] or [57, Chapter~6]\u)''\\
- and move the parenthesised citations to the end of the sentence.
-
-\erroronpage{614}{para 1, l.4}{HjG}{2004/06/07}{2}
- Missing closing quotes:
- ``the ``extended\u{\strut''} or ``enhanced'' \ldots''
-
-\erroronpage{615}{Tab.\ 10.1}{FMi}{2006/10/21}{s}
-The important driver ``vtex'' is missing. On the other hand
-some of the listed drivers are only of historical interest.
-
-\erroronpage{616}{boxed texts}{FMi}{2004/05/26}{2}
- Corrections as outlined in summary entry above.
-
-\erroronpage{618}{boxed text}{CAR}{2004/05/26}{2}
- Replace: ``\textit{key val list}'' \> ``\textit{key/val-list}''
- (also in following text).
-
-\erroronpage{619}{viewport}{BMo/FMi}{2007/10/20}{s}
- Explanation of \texttt{viewport} key changed to better explain that it only
- changes the space reserved but doesn't prevent printing the whole graphic
- (unless \texttt{clip} is used additionally)
-
-\erroronpage{620}{editorial change}{FMi}{2007/10/20}{s}
- Text changes on previous page results in different page break.
-
-\erroronpage{620}{para 1, l.1; para 2, l.1}{HjG}{2004/06/07}{2}
- Replace:
- ``the first \u{seven} keys'' \> ``the first \u{eight} keys''\\
- ``The first \u{nine} keys'' \> ``The first \u{ten} keys''
-
-\erroronpage{620}{para 5, l.2}{FMi}{2005/04/27}{4}
- Replace:
- ``\ldots in the \u{optional arguments}.'' \>
- ``\ldots in the \textit{key/val-list}.''
-
-%\erroronpage{621}{page}{FMi}{2004/04/23}{}
-% Printing problem: blue color not properly aligned.
-
-\erroronpage{623}{para 1, l.7}{HjG}{2004/06/07}{2}
- Delete word: ``some \u{of} key combinations''
-
-\erroronpage{623}{boxed text}{CAR}{2004/05/26}{2}
- Replace: ``\textit{key val list}'' \> ``\textit{key/val-list}''
- (also in following text).
-
-\erroronpage{630}{para 3, l.3}{UFi}{2004/06/01}{2}
- Replace: ``the next |\parbox| examples'' \> ``the next
- \u{\texttt{tabular}} examples''
-
-\erroronpage{631}{para.2, l.6}{FMi/HjG}{2006/10/22}{s}
- Ersetze: "`\u{This point} is shown \ldots"' \>
- "`\u{This} is shown \ldots"'
-
-\erroronpage{631}{para -1, l.-1}{JBr}{2004/08/02}{2}
- Replace: ``\textit{key val}'' \> ``\textit{key/val}''
-
-\erroronpage{632}{fig. 10.2}{HjG}{2004/06/07}{2}
- The horizontal extent of the box is called ``|length|'' \>
- probably better: ``|width|''.\\
- Missing standalone horizontal specs:
- ``|[l]|'' $\equiv$ ``|[lc]|'';
- ``|[r]|'' $\equiv$ ``|[rc]|''.
-
-\erroronpage{632}{boxed text}{CAR}{2004/05/26}{2}
- Replace: ``\textit{key val list}'' \> ``\textit{key/val-list}''
-
-\erroronpage{633}{para 1, ll.4/5}{HjG}{2005/05/16}{4}
- Add character: ``A matrix \ldots\ appear\u{s} below.''
-
-\erroronpage{633}{l.-2}{HjG/DPa}{2004/06/07}{2}
- Replace: ``The material in the section can be compared to
- Sebastian\ldots'' \>
- ``The material in this section is similar to that of Sebastian\ldots''
-
-\seriouserroronpage{633}{example}{HjG}{2006/10/21}{s}
- The first column shows incorrect output: instead of x=0mm it uses some
- internal default.
-
-\erroronpage{634}{editorial change}{FMi}{2006/10/21}{s}
- Fix on previous page will change page break.
-
-
-\erroronpage{637}{footnote 2}{FMi}{2004/06/12}{2}
- Bug in \texttt{url.sty} generated extra space.
-
-\erroronpage{639}{boxed text}{HjG}{2004/06/08}{2}
- The parentheses `(' and `)' should be in `typewriter font'.
-
-\erroronpage{640}{para -1, l.-2}{HjG}{2004/06/07}{2}
- ``the second |\vector| is truncated'' \>
- ``the second |\vector| is not rendered correctly''
-
-\erroronpage{641}{first two boxed texts}{HjG}{2004/06/08}{2}
- The parentheses `(' and `)' around ``x1,y1'' (3 pairs in total)
- should be in `typewriter font'.\\
- All coordinates should be in (math) italic with subscripts
- (cf., e.g., pp.607/610): $x_1$, $y_1$, $x_2$, $y_2$.
-
-\seriouserroronpage{641}{para 2 l.1}{UFi}{2004/06/01}{2}
- Replace: ``between points (x1,y2)'' \> ``between points (x1,\u{y1})''
-
-\erroronpage{641}{syntax boxes}{FMi}{2004/06/01}{2}
- The variable parts do not show the right fonts.
-
-\erroronpage{641}{para 3, l.1}{ReSt}{2005/04/17}{4}
- Remove: ``The |\Curve| command\u{s} is similar\ldots''
-
-\erroronpage{641}{para 3, l.2}{HjG}{2004/06/07}{2}
- Second occurrence of mandatory argument should use the same font as
- the first one, i.e., ``\textit{m}'' instead of ``\texttt{m}''.
-
-\seriouserroronpage{641}{para 4, ll.2/3}{HjG}{2004/06/07}{2}
- Change sentence:\\
- ``Like |\linethickness|, it is an absolute value \u{in points}
- (i.e., not affected by |\unitlength|)\u{ with the unit omitted}.''
- \>\\
- ``Like |\linethickness|, it is an absolute value (i.e., not
- affected by |\unitlength|)\u{, given in any of \LaTeX's units}.''
-
-\erroronpage{642}{item 6, l.2}{ReSt}{2005/04/28}{4}
- Remove: ``font information \u{information} to allow\ldots''
-
-\seriouserroronpage{643}{para 4, l.3}{MSc}{2004/06/04}{2}
- delete ``,and .gif''
-
-\erroronpage{643}{para 3, l.1}{FMi}{2005/11/11}{s}
- Unfortunately Th\`anh's name is misspelled. The correct spelling
- is ``H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh''.
-
-\erroronpage{643}{para 4, l.5}{CBe}{2004/07/27}{2}
-Add: ``\ldots can be converted to PDF by
-ImageMagick's \texttt{convert} utility\u{, \texttt{eps2pdf}} (\u{both
-of} which call \texttt{ghostscript}
-internally), \texttt{Acrobat Distiller}, or\ldots''
-
-\erroronpage{646}{l.1}{HjG/FMi}{2004/06/08}{2}
-Add:
- ``(If the \texttt{dvi} file contains more than one
-page several output files are generated.)''
-
-
-\CHAPTER{Chapter 11}
-
-\erroronpage{651}{1st example}{PYu}{2004/07/01}{2}
- ``Page 9 :'' should be typeset ``Page 9:''.
-
-\erroronpage{652}{2nd example}{HjG}{2004/06/10}{2}
- Missing colon: ``Page 22\u{\strut:}''
-
-\erroronpage{652}{l.-3}{HjG}{2004/06/10}{2}
- Surplus words: ``The latter case \u{is for} allows for \ldots''
-
-\seriouserroronpage{654}{para 2 l.7}{UFi}{2004/06/01}{2}
- Missing |}|: ``like
- |\index{\texttt{|\emph{key}|}|\u{\texttt{\textbraceright}} and''
-
-
-
-%That's a nice one: somehow the copy-editor has but the output is one
-%of the few remaining graphics in the book, sigh
-
-\seriouserroronpage{656}{figs. 11.3+4}{HjG}{2004/06/10}{2}
- The text on p.649, l.1 claims:
- ``Figures 11.3 and 11.4 on page 656 show the input and generated
- output of a small \LaTeX{} document, \ldots, together with the
- result of including the \textsf{showidx} package \ldots''
- This does not quite hold: There are some differences in the text
- and the output of \textsf{showidx} contains some index entries not
- present in the source.
-
-\vspace{.5\baselineskip}
- %
-\hspace*{-100pt}\begin{minipage}[b]{\linewidth}
- \begin{tabular}{@{}lll@{}} \hline
- \multicolumn{3}{c}{Differences in the text} \\ \hline
- & source (fig. 11.3) & output (fig. 11.4) \\ \hline
- \S1 & \ldots actually written into that file \u{only} \ldots
- & \ldots actually \u{only} written into that file \ldots \\
- \S2 & \u{To} prepare the index \ldots
- & \u{In order to} prepare the index \ldots\\
- \S2 & \ldots, \u {such as} \ldots
- & \ldots, \u{like} \ldots \\
- \S3 & \ldots by \u{the index processor} \ldots
- & \ldots by \u{\texttt{makeindex}} \ldots \\ \hline
- \multicolumn{3}{c}{Missing index entries} \\ \hline
- & \multicolumn{2}{l}{include index} \\
- & \multicolumn{2}{l}{Final production run} \\
- & \multicolumn{2}{l}{makeindex@\texttt{makeindex} program
- \emph{(2nd instance)}} \\ \hline
- \end{tabular}
-\end{minipage}
-
-\vspace{.5\baselineskip}
-The source has now been edited to match the printed output.
-
-
-\erroronpage{656}{}{CBe}{2004/07/27}{s}
- How horrible the page rotated counterclockwise!
-
-\erroronpage{657}{\texttt{-p} item, l.-1}{HjG}{2004/06/10}{2}
- Add word: ``\ldots the three \u{special} cases \ldots''
-
-\erroronpage{660}{tab 11.1, note}{JMH}{2005/08/06}{4}
- Swap the words ``single'' and ``double''
-
-\iffalse
-% not a bug make it look nicer
-\erroronpage{661}{tab. 11.2, right col.}{HjG}{2004/06/10}{}
- Inter-line spacing in multiple-line entries ???\\(Keywords:
- |headings_flag|, |item_x1|, |delim_0|, |page_precedence|)
-\fi
-
-\erroronpage{661}{tab. 11.2, l.12}{JMH}{2005/08/06}{4}
- The identifier referred is ``\texttt{heading\_flag}'', but the
- description uses the word ``\texttt{flag}''.
-
-
-\erroronpage{662}{l.6}{RPa}{2004/09/14}{4}
- The |-p| option is described on page 657.
-
-
-% in short rnaRA is correct
-\seriouserroronpage{664/665}{para -2/-1}{HjG}{2004/06/10}{2}
- Confusion: default value of |page_precedence|:\\
- In para~\mbox{-2}, l.\mbox{-1}:
- ``\ldots; the default is |rRnaA|, as noted in Table~11.2 on
- page~661.''
- But in that table, ``|"rnaRA"|'' is given!\\
- In para~\mbox{-1}, l.\mbox{-2}:
- ``\ldots\ default |page_precedence| of |rnaRA| \ldots''!\\
- (Also note that the remarks on p.666, para~2, suggest |rRnaA|,
- referring to the same table as above.)
-
-Changed to consistently refer to rnaRA.
-
-page 666 changed to reflect rnaRA:\\
-`` \ldots\ assumes that pages numbered with lowercase Roman
-numerals precede those numbered with Arabic numerals, which in turn
-precede those numbered with the lowercase alphabet, uppercase Roman
-numerals and finally the uppercase alphabet.
-
-
-\seriouserroronpage{661/664-5}{}{FMi}{2005/08/14}{4}
-
- Confusion: the changes made in the second printing were wrong! The
- default for |page_precedence| is |rRnaA| after all. (Or more
- precisely: the program code shows |rnaRA| as the default but that
- value is never used and the program logic implements |rRnaA| -- what
- a mess.)
-
- Most of that section rewriten to better explain the limitations of
- MakeIndex in the area of ``funny'' page numbers.
-
-
-\seriouserroronpage{666}{para 4 l.5 and l.6}{UFi}{2004/06/01}{2}
- Add extra visual space in second index: ``Likewise,
- \verb*=\index{a space}= and
- \verb*=\index{a space}= produce\ldots''
-
-\erroronpage{668}{boxed text}{HjG}{2004/06/10}{2}
- Slight inconsistency (also in subsequent text: para~\mbox{-2}):
- File arguments named ``\emph{idx1 idx2 \ldots}'' -- as opposed to
- pp.~655 and~674, where they're named ``\emph{idx0 idx1 \ldots}''.
-
-\erroronpage{669}{para 3}{JS}{2004/07/24}{2}
- Since xindy ignores all macros, it has no problems at all with
- formatting macros, but more problems with macros producing text.
- Substituted this paragraph with:
-
- ``\texttt{texindy} ignores unknown
- \TeX{} commands by default under the assumption that they do not
- produce text. It also knows about typical text-producing commands
- like \verb=\LaTeX= and \verb=\BibTeX= and handles them correctly.
- If you have your own command definition that produces text, or if you
- use one supplied by a package, then the entry is sorted
- incorrectly. You will either need to specify an explicit sort key
- in your index entry, as in \verb=\index{prog@\Prog}=, or write a
- \texttt{xindy} style file with a merge rule, as explained in
- Section~11.3.4.
-
- Be aware that producing index entries in arguments of commands has
- its own pitfalls, e.g., in
- \verb=\command{Properties of \Prog\index{\Prog}}=.
- Then \LaTeX{} commands might be expanded
- before they are written to the \texttt{idx} file and the placement
- in the index will depend on the expansion of \verb=\Prog=.''
-
-\erroronpage{669}{para -2, l.3}{MKu/FMi}{2004/07/01}{2}% already done by fmi
- Add: ``\ldots \verb|\usepackage[latin1]{inputenc}| to all her
- documents \u{(or on recent Linux distributions the
- option \texttt{utf8})}, while\ldots''
-
-\erroronpage{669}{section 11.3.2, para 2, L.3}{JMH}{2005/08/06}{4}
-"*her* documents": why a female *her*?
-
-\erroronpage{670}{table 11.3}{TMW/JS}{2004/06/07}{2}
- texindy can only work with Latin scripts out of the box. Removed
- all other languages, and checked list of supported languages with
- current xindy ``\LaTeX{} Companion Release''.
-
-\erroronpage{671}{para 2}{JS}{2004/06/07}{2}
-Replace with: ``There are about 50 predefined languages available, 35 of them are
-readily usable with \texttt{texindy}. They are listed in
-Table~11.3 on the facing page; you select one of them with the
-\texttt{texindy} option~\texttt{-L}. The other predefined
-languages have non-Latin scripts, their usage is described in the
-\texttt{xindy} documentation.
-
-
-\erroronpage{672}{table 11.4}{TSS/JS/CAR}{2004/05/26}{2}
- The \verb|word-order| module has two essentially equivalent
- descriptions. The |letter-order| module doesn't mention that
- it's turned on by texindy option \texttt{-l}. Use ``so-called'' as
- an example for |ignore-hyphen|. Add table footnote ``When two
- entries are identical except for ignored characters, those
- characters are not ignored any more.''
-
-\erroronpage{673}{para 5, ll.2/3}{HjG}{2004/06/10}{2}
- Words need to be swapped:
- ``multiple \u{characters may} form a unit''
-
-\erroronpage{674}{para 1 l.1}{UFi}{2004/06/01}{2}
- Extra word: ``those \u{of} available''
-
-\erroronpage{674/675}{boxed text and item list below}{JS}{2004/07/24}{2}
- Add option |[-C codepage]|. Add explanation between option |-L|
- and |-q|: ``Use \textit{codepage} as internal base
- encoding for sorting. This is used for fine-grained control of language
- module selection, needed only for non-Latin scripts.''
-
-\erroronpage{675}{example code}{JS}{2004/07/24}{2}
- Exchange xindy example style file with one that works. (Half of the
- lines were problematic in subtle ways.)
-
-\erroronpage{679}{example 3, para after the source}{JMH}{2005/08/06}{4}
- \texttt{:define-attributes} \> \texttt{define-attributes}
-
-\seriouserroronpage{679}{descr of theindex}{DSch}{2005/05/23}{4}
- Comparing the code in TLC2 with \texttt{book.cls} made me realize
-that the |\columnsep| command must come \emph{before} |\twocolumn| in
-order to have the desired effect.
-
-\seriouserroronpage{680}{descr of theindex}{DSch}{2005/05/23}{4}
- Comparing the code in TLC2 with \texttt{book.cls} made me realize
-that the |\columnsep| command must come \emph{before} |\twocolumn| in
-order to have the desired effect.
-
-\erroronpage{680}{First code block}{AFV}{2006/01/13}{s}
- Correct: |\mark|\texttt{\u k}|both| \>
- |\markboth|
-
-\erroronpage{681}{para 1 of \S 11.4.3, l.2}{HjG}{2004/05/26}{2}
- Extra word: ``augments \u{the} \LaTeX's indexing mechanism''
-
-
-\CHAPTER{Chapter 12}
-
-\erroronpage{general}{several pages}{HVo/FMi}{2004/05/21}{}
- The German word ``Schuldrecht'' is incorrectly hyphenated as
- ``Schul\-drecht'' in several examples due to the fact that English
- hyphenation patterns are used unless the language is
- explicitly marked. This is a deliberate effect, see pages 719 and
- 733--734.
-
-\erroronpage{683}{para 3, l.1}{HjG}{2004/06/12}{2}
- Missing word:
- ``The chapter begins \u{with} a short introduction \ldots''
-
-
-\erroronpage{684/685}{exa 12-1-2, l.-2 of source}{BMo/FMi}{2004/05/16}{2}
- ``But then it might not'' should be ``But then they might not''
- for parallelism with the ``Multiple authors'' to which it is
- referring.
-
- Also changed: ``Multiple authors'' \> ``Entries with multiple
- authors''
- so that it is clear that not the authors are a problem (though
- come to think of it: given the example's authors\ldots)
-
-\erroronpage{685}{exa 12-1-1/2}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-
-\erroronpage{687}{para 1}{FMi}{2004/08/03}{2}
-Add: ``Depending on the layout produced by the class,
-it may result in \u{a normal space,} some extra space\u, or in starting a new line.''
-
-\erroronpage{688}{figure 12.1}{JMH}{2005/07/18}{4}
- Replace in first item: |\cite| \> |\citation|
-
-\erroronpage{690}{entry test97}{HjG/FMi}{2004/06/18}{2}
- Add ``\texttt{and others}'' to the author field. Otherwise the
- example explanations in chapter 13 (pages 793--797) are
- partially wrong.
-
- Editorial comment: This change will affect the output of a
- number of examples in chapter 12 as well.
-
-\erroronpage{691}{syntax box}{HjG}{2004/06/13}{2}
- Set commas in `typewriter font'
-
-\erroronpage{694}{para 3, l.2}{HjG}{2004/06/13}{2}
- Missing comma: `\,``see [2--3,7\u,13]''\,'
-
-\erroronpage{696}{para 1, l.1}{DAl}{2005/08/21}{4}
- Missing word: ``\ldots option \u{is} shown in Example 12-2-9\ldots''
-
-\erroronpage{697}{para 3, l.5}{HjG}{2004/06/13}{2}
- Move period: `\,``Ref\u{''.}\,' \> `\,``Ref\u{.''}\,'
-
-%%\erroronpage{702}{para 2, l.2}{BMo}{2004/05/16}{}
-%% ``Evidently'' does not seem to me to be quite the right word here.
-%
-% not convinced yet /FMi
-
-\erroronpage{705}{exa 12-3-17/18}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\erroronpage{705}{para 3, l.5}{TMi}{2004/08/27}{4}
- Replace ``Geophysics'' with ``Geophysical''.
-
-\erroronpage{707}{exa 12-3-22}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\erroronpage{707}{exa 12-3-22, l.-2 of source}{BMo}{2004/05/16}{2}
- ``But then it might not'' should be ``But then they might not''
- for parallelism with the ``Multiple authors'' to which it is
- referring.
-
- Also changed: ``Multiple authors'' \> ``Entries with multiple
- authors''
-
-
-\erroronpage{708}{para 3, l.6}{UFi}{2004/05/27}{2}
- Replace: ``situati\u{ui}n'' \> ``situation''
-
-\erroronpage{708}{para 4, l.1}{HjG}{2004/06/14}{2}
- Add: ``when using \u{the} \texttt{chicago} \u{\BibTeX\ style}.''
-
-\seriouserroronpage{710}{para 4, l.2}{BMo}{2004/05/16}{2}
- Replace:
- ``locate the printed version.'' \> ``locate the
- article within the journal.''
-
-\erroronpage{713}{para 1, l.3}{HjG}{2004/06/14}{2}
- Replace: ``|\citep|'' \> ``|\citealp|''
-
-\erroronpage{717}{para 1, l.4}{JMH}{2005/07/18}{4}
-Add word: ``If you \u{only} want to specify an \textit{annotator},
-\ldots''
-
-\seriouserroronpage{719}{para 4, l.-2/-1}{UFi}{2004/05/27}{2}
- Extra word: ``the \u{the} journal'' \\
- Correct explanation: ``\ldots the journal name\u{, volume number,}
- and year of publication, which is why we got ``TUGboat \u{10
- [}1989\u]''.''
-
-\seriouserroronpage{719}{syntax box}{HjG/FMi}{2004/06/14}{2}
- Order of optional arguments are like |\cite| (i.e., swapped):\\
- |\citetitle[|\emph{post-note}|]{|\emph{key(s)}|}| or
- |\citetitle[|\emph{annotator}|][|\emph{post-note}|]{|\emph{key(s)}|}|\\
- |\cite*[|\emph{post-note}|]{|\emph{key(s)}|}| or
- |\cite*[|\emph{annotator}|][|\emph{post-note}|]{|\emph{key(s)}|}|
-
-\seriouserroronpage{722}{para 2, ll.2/3}{HjG}{2004/06/14}{2}
- Correct explanation: ``\ldots is always ``author name, journal,
- \u{volume,} and year''.''
-
-\seriouserroronpage{723}{syntax box}{HjG/FMi}{2004/06/14}{2}
- Order of optional arguments are like with |\cite|:\\
- |\fullcite[|\emph{post-note}|]{|\emph{key(s)}|}| or
- |\fullcite[|\emph{annotator}|][|\emph{post-note}|]{|\emph{key(s)}|}|
-
-\erroronpage{726}{para 3, l.2}{HjG}{2004/06/14}{2}
- Delete comma:
- ``\ldots\ when used together\u, with \ldots''
-
-\seriouserroronpage{727}{para 3, l.-3}{JBe}{2004/06/01}{2}
- Replace: \texttt{\textbackslash jbnovarioref} \>
- \texttt{\textbackslash jbignorevarioref}
-
-\erroronpage{727}{examples 12-5-21/22}{FMi}{2004/06/03}{2}
- Not wrong, but it looks funny: due to the chosen example height the
- footnote from the previous page (not shown) is partially carried
- over so we get ``43311-7'' as the first item in the footnote. That
- is the last part of the ISBN number see example 12-5-20.
-
- Previous page enlarged by one line to avoid this.
- \verb|\AtBeginDocument{\enlargethispage*{\baselineskip}}|
- added to (hidden) preamble commands.
-
-\erroronpage{729}{para 1, l.-1}{HjG}{2004/06/14}{2}
- Correct: ``to ``Ibid.\u{, \S\,3}''.''
-
-\seriouserroronpage{730}{example 12-5-28}{UFi}{2004/05/27}{2}
- Citation 7 and 8 are similar, but the description above says
- something else...
-
- To correct this mistake and to better show what happens, the example
- was changed to contain a slightly different set of citations (same
- change was made to example 12-5-27):
-\begin{verbatim}
- Full citations: \cite{aschur} \cite{bschur}
- not shown on the left!
-\newpage
- text \cite[\S\,7]{aschur} text
- \cite[\S\,8]{aschur} \cite[\S\,16]{zpo}
- text \cite[\S\,7]{bschur} \cite{aschur}
- text \cite[\S\,3]{zpo}
-\end{verbatim}
-And the text above the example was changed as follows:
-
- ``If \texttt{name\&title\&auto} was selected (either implicitly or
-explicitly), then the following happens: the first citation of a
-publication automatically displays the full entry (citation~5 in the
-next example). In case of repeated citations to unambiguous works
-only the name of the author(s) are shown (citation~8). For ambiguous citations
-this will be done only for immediately following citations
-(citation~4). However, if there are
-intervening citations, then the name(s) and short titles are shown
-(citations~3, 6, and~7).''
-
-\erroronpage{731}{para 1, l.4}{HjG/FMi}{2004/06/15}{2}
- Correct/change to: ``that \u{two}
- citation\u{s} \ldots\ \u{are} actually wrong:''
-
-\erroronpage{732}{para 3. l.2}{JMH}{2005/07/18}{4}
-Replace: ``in which case \u{the first} cross-reference \ldots''
-\> ``in which case \u{a} cross-reference \ldots''
-
-\erroronpage{734}{para 1, l.2}{CKr}{2005/05/7}{4}
- Correct: |\bibgerman| \> |\bib|\u{\texttt s}|german|
-
-\erroronpage{734}{para 2, l.-1}{CKr}{2005/03/24}{4}
- Remove surplus letters: ``get the correct\u{ion} hyphenation.''
-
-\seriouserroronpage{741}{l.-5}{HjG}{2004/06/15}{2}
- Missing closing brace:
- |\renewcommand\opcit{\textit{supra}|\u{\texttt{\textbraceright}}
-
-\seriouserroronpage{743}{item 3}{UFi}{2004/05/27}{2}
- Equal sign missing: \texttt{sortkey\u{ = }"Bismarck, Otto von"}.
-
-\erroronpage{744}{exa 12-5-48/49}{HjG}{2004/06/15}{}
- There's a spurious space before all occurrences of
- ``\textsc{D. E. Knuth}''! \\ This is (partly, ie in the footnote)
- due to a missing percent in the definition of |\@realcite| and
- |\@printbibliography| in the camel package. Seems that a problem
- with the volume parsing in camel is the reason for the surplus
- spaces showing up in the bibliography output. Reported to the
- author.
-
-\erroronpage{745}{ll.3/4}{HjG}{2004/06/15}{2}
- Missing metaness:\\
- ``\ldots\ \texttt{jobname.tts}'' \>
- ``\ldots\ \meta{jobname}\texttt{.tts}''\\
- ``\ldots\ \texttt{jobname.lts}'' \>
- ``\ldots\ \meta{jobname}\texttt{.lts}''
-
-\erroronpage{746}{tab 12.2}{HjG}{2004/06/15}{2}
- Replace (`bibtopic' column, row 4; `multibib' column, row 7):\\
- ``no'' \> ``No''
-
-\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2}
- Change ``Requires tailored .bib files'' \> ``Works with standard
- .bib files''
- (and change matching row entries)
-
-\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2}
- Change: ``Above typeset together somewhere'' \>
- ``Group bibliographies together''
-
-\erroronpage{749}{para -1, l.1}{THa}{2004/06/22}{2}
- Missing accents: ``Jose Alberto Fernandez'' \> ``Jos\'e Alberto
- Fern\'andez''
-
-\erroronpage{750}{para -3, l.-2}{CKr}{2005/03/31}{4}
- Delete surplus word: ``\ldots as \u{the} the auxiliary files would be
- overwritten.''
-
-\erroronpage{752}{para 1, l.-1}{HjG}{2004/06/15}{2}
- Delete backslash:
- ``\ldots in an \texttt{\u\textbackslash article} class).''
-
-\erroronpage{753}{para 4, l.5}{HjG}{2004/06/15}{2}
- Replace: ``|\bibliography|'' \> ``|\bibliographystyle|''
-
-\seriouserroronpage{755/756}{}{THa}{2004/06/21}{2}
- Wrong limitation of multibib: The whole passage from ``A final
- difference'' up to ``|nocite|.'' should be replaced with something
- like: ``The multibib package (since version 2.3 of 2004/01/24) is
- compatible with most other packages that provide extensions to the
- cite mechanisms, including \textsf{cite}, \textsf{natbib}, and
- {jurabib}. Moreover, the package provides a general interface which
- allows to add arbitrary extensions of cite commands to be recognized
- by \textsf{multibib}.''
-
- Editorial comment: change affects pagebreak position.
-
-\erroronpage{756}{Ex. 12-6-10}{THa/FMi}{2004/06/21}{2}
- Replace source text with:
- |\LaTeX{} offers an interface to include|\\
- |graphics \citelatex{LGC97}. \LaTeX's|\\
- |default citation scheme is| \\
- |number-only \cite{vLeunen:92}.|\\
- i.e., move/remove the sentence periods. This should not affect the
- output as the superscript is moved and double periods are removed.
-
-
-\CHAPTER{Chapter 13}
-
-% perhaps
-\erroronpage{758}{para 3, ll.1/2}{HjG}{2004/06/16}{2}
- Delete word: ``\ldots\ to look for
- \u{management} tools that help in managing such databases.''
-
-\erroronpage{758}{para 4}{HjG/FMi}{2004/06/16}{2}
- Add+change: ``Once everything is under control, we return in
- \u{Section~13.5} to the task of typesetting
-and look at how different \BibTeX{} styles can be used to produce
-different bibliography layouts from the same input. As there may not
-be a suitable style for a particular set of layout requirements
-available, Section~\u{13.5.2} discusses how to
-generate\ldots''
-
-\erroronpage{763}{tab. 13.1}{HjG/FMi}{2004/06/16}{2}
- In the explanation for \texttt{misc}, replace:\\
- ``(i.e., the entire field is empty)'' \>
- ``(i.e., the entire entry is empty or has only ignored fields).''
-
-\erroronpage{764}{para -3, l.-1}{HjG}{2004/06/16}{2}
- Add: ``following a field \u{name (and \texttt= sign)}''
-
-\erroronpage{765}{tab. 13.2}{HjG}{2004/06/16}{2}
- In the explanation for \texttt{type}:\\
- l.2: Add word:
- ``For the \u{entry} type \texttt{phdthesis} \ldots''\\
- l.3: Punctuation is not part of string:
- ``|type = "{Ph.D.} dissertation|\texttt{\u.}|"|'' \>
- ``|type = "{Ph.D.} dissertation"|\u.''\\
- l.5: Punctuation is not part of strings:\\
- ``\texttt{chapter = "1.2\u," type = "Section\u."}'' \> \\
- ``\texttt{chapter = "1.2"}\u{ and} \texttt{type = "Section"}\u.''
-
-\erroronpage{765}{`key's description, l.1}{JMH}{2005/06/29}{4}
-Remove ``cross-referencing'': cross-referencing just uses key appearing in
-|\cite| commands.
-
-\erroronpage{766/767}{several places}{DAl}{2005/09/12}{4}
- Replaced ``Miguel Lopez Fernandez'' by ``Miguel Parra Benavides''
- as the original name would really require accents that are not yet
- discussed at this point.
-
-\erroronpage{766}{para 6, l.1 }{UFi}{2004/05/27}{2}
- Move comma: Fernandez\u{,''} should be Fernandez\u{'',}
-
-\erroronpage{767}{l.7}{SPe}{2007/05/21}{s}
-``Miguel Parra Benavides'' is missing closing quotes.
-
-\erroronpage{767}{l.10}{SPe}{2007/05/21}{s}
-``Parra'' and ``Benavides'' are missing closing quotes.
-
-\erroronpage{768}{para 4, l.4}{UFi}{2004/05/27}{2}
- Replace: ``(see Section 13.2.2)'' \> ``(see below)'' \\
- After all we are in 13.2.2 :-)
-
-\erroronpage{770}{para 1, l.1}{HjG}{2004/06/16}{2}
- Replace: ``text \u{field} of \BibTeX\ \u{entries}'' \>
- ``text \u{part} of \BibTeX\ \u{fields}''
-
-\seriouserroronpage{771}{verb. text}{HjG}{2004/06/16}{2}
- Surplus closing brace:
- ``|"\providecommand\url[1]{\texttt{#1}}|\texttt{\u\textbraceright}|"|''
-
-\erroronpage{771}{l.-3}{HjG}{2004/06/16}{2}
- Change: ``different sorting rules from English'' \>
- ``sorting rules different from those of English''
-
-\erroronpage{772}{l.-5}{HjG}{2004/06/16}{2}
- Shell command line should be underlined (as on pp.~775--778).
-
-\erroronpage{773}{para 3, ll.2/3}{HjG}{2004/06/16}{2}
- Change: ``put \u{from \BibTeX}\ into the \texttt{.bbl} file'' \>
- ``put into the \texttt{.bbl} file \u{by \BibTeX}''
-
-\seriouserroronpage{773}{para 3, ll.-1}{HjG}{2004/06/16}{2}
- Change: ``and \u{an} additional \LaTeX\ run'' \>
- ``and \u{two} additional \LaTeX\ run\u{s}''
-
-\erroronpage{773}{para -2, l.3}{HjG}{2004/06/16}{2}
- Add: ``articles and book\u{s}''
-
-\erroronpage{775}{para -2, l.1}{HjG}{2004/06/16}{2}
- Change font: ``in the \texttt{\u{string}} parameter'' \>
- ``in the \emph{\u{string}} parameter''
-
-\erroronpage{777}{program output}{FMi}{2004/08/03}{2}
-After changing the bib file this line comes out as:
-\begin{verbatim}
-%% "EX/tex.bib", line 92: Unexpected value in ``year = "1980ff"''.
-\end{verbatim}
-
-\erroronpage{777}{para -1, l.-3}{HjG}{2004/06/16}{2}
- Change: ``all \u{entries} are examined'' \>
- ``all \u{fields of an entry} are examined''
-
-\erroronpage{777}{para -1, l.-2}{HjG}{2004/06/16}{2}
- Change: ``value part of the \u{entries}'' \>
- ``value part of the \u{fields}''
-
-\erroronpage{778}{para 4,l.2}{JMH}{2005/07/18}{4}
- Replace: ``\texttt{year=1980ff}'' \> ``|year={1980ff}|''
-
-\erroronpage{779--784}{throughout}{HjG}{2004/06/16}{2}
- Shell command lines should be underlined (as on pp.~775--778).
-
-\erroronpage{779}{para 3, l.2/3}{HjG}{2004/06/16}{2}
- Add: ``one ore more \BibTeX\ databases as its argument\u{(s)}''
-
-\erroronpage{779}{footnote 2}{HjG}{2004/06/16}{2}
- Add second hyphen: ``after the \texttt{-} option.''
- \> ``after the \texttt{-\u-} option.''
-
-\erroronpage{780}{top}{FMi}{2004/08/03}{2}
- Spurious space on top of page.
-
-\erroronpage{784}{para 1, l.-1}{HjG}{2004/06/16}{2}
- Typo (forgotten backslash!?):
- ``Progpybliographer'' \> ``\textsf{pybliographer}''
-
-\erroronpage{787}{l.2}{HjG}{2004/06/16}{2}
- Shell command line should be underlined (as on pp.~775--778).
-
-\erroronpage{787}{para -2, l.1}{CKr}{2005/04/20}{4}
- Remove surplus letter: ``The \textsf{JBibtexManager} program
- develop\u{p}ed by Nizar Batada''
-
-\erroronpage{788}{fig. caption}{FMi}{2004/05/14}{2}
- Add: The \textsf{JBibtexManager} workspace with the \u{(German locale)}
-
-\erroronpage{788}{footnote}{FMi}{2004/04/23}{2}
- Replace: ``Most of these restrictions have been lifted in the
- new version of JBibtexManager.''
-
-\erroronpage{789}{para 2, l.1}{FMi}{2004/04/23}{2}
- Replace: ``\ldots are kept unchanged but they are
- neither visible nor modifiable from within the program.'' \\
- \>
- ``\ldots are neither visible nor modifiable
- except when using the ``raw \BibTeX'' mode in the newest version of
- the program. ''
-
-
-\erroronpage{789}{para 3}{FMi}{2005/06/02}{4}
-Replace whole paragraph with:
-``The program is not available on CTAN. Its current home is
-\texttt{https://www.jabref.org}, where it was merged
-with a similar project called \textsf{BibKeeper}
-under the new name \textsf{JabRef}.''
-
-\erroronpage{789}{para 5, l.3}{FMi}{2004/05/14}{2}
- Small rewrite:
- The only ``foreign'' export formats supported are \texttt{.bbl} files
- \u{and \texttt{.htm} files} (i.e., processing a selection of entries with
- \BibTeX{} or \BibTeX8 from within the program and producing HTML
- from a selection of entries\u{)}.
-
-\erroronpage{791--793}{tab 13.4}{HjG}{2004/06/16}{2}
- \texttt{apa.bst} -- add:
- ``American Psychology Association \u{\BibTeX\ style}'' \\
- \texttt{jmb.bst} -- add:
- ``\emph{Journal of Molecular Biology} \u{\BibTeX}\ style''\\
- Some journal names are written in italic, other's aren't:
- Astronomy; Behavioral and Brain Sciences; Human Biology.
-
-
-\erroronpage{793}{para 1, l.2}{SN}{2004/06/11}{2}
- Remove surplus word: ``using another \u{the} \BibTeX{} style''.
-
-\erroronpage{793}{para 2,l.5}{DAl}{2005/09/03}{4}
- Remove comma: ``\ldots wich will show us\u{,} how different\ldots''
-
-\erroronpage{794}{exa 13-5-1/2}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\erroronpage{795}{exa 13-5-3/4}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\erroronpage{795}{para 2, l.2}{JMH}{2005/07/18}{4}
- Replace: ``author's name'' \> ``authors' names''
-
-\seriouserroronpage{795}{para 2, ll.4/5}{HjG}{2004/06/18}{2}
- The text states: ``Also note the interesting label produced for the
- reference with more than three authors.'' \\
- However, example 13-5-4 cannot show this, as there are only three
- authors (item~[GUD97]).
-
-\erroronpage{796}{exa 13-5-5/6}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\seriouserroronpage{796}{para 1, ll.-2/-1}{HjG}{2004/06/18}{2}
- The text states: ``Note that the entry with more than three authors
- has now been collapsed, showing only the first one.'' \\
- Again, example 13-5-5 does not show this, as there are only three
- authors, and all three are shown (item~[5]).
-
-\seriouserroronpage{797}{para 3, l.3}{HjG}{2004/06/18}{2}
- Replace:
- ``\ldots; as a result, we get an incomplete \u{first} entry.'' \>
- ``\ldots; as a result, we get an incomplete \u{second} entry.'' \\
- (Obviously, the citation of \texttt{LGC97} has been added to
- example 13-5-7 \emph{after} this text was written.)
-
-\erroronpage{797}{exa 13-5-7}{FMi}{2004/06/20}{2}
- Editorial comment: due to the modification of the \BibTeX{} data
- base \texttt{tex.bib} on page 690 the example output will change
- slightly in a reprint.
-
-\erroronpage{798}{tab 13.5, l. 1-2}{MSch}{2006/01/06}{s}
- Replace: ``Erwin'' \>
- '`Ervin''
-
-\erroronpage{798}{para 1, l.3}{CKr}{2005/04/23}{4}
- Remove surplus word: ``\ldots, then it is all that \u{it} is necessary.''
-
-\erroronpage{800}{Citation scheme,l.2}{DAl}{2005/09/03}{4}
- Replace letter: ``\ldots different questions th\u{a}n if you
- choose\ldots''
-
-\erroronpage{802}{para 2, l.4}{HjG}{2004/06/17}{2}
- Replace: ``derivation'' \> ``deviation''
-
-\erroronpage{802}{para -1, l.3}{FMi}{2005/06/02}{4}
- Replace wrong braces:
- ``|\urlprefix\url[|\textit{field-value}|]|'' \>
- ``|\urlprefix\url{|\textit{field-value}|}|''
-
-\erroronpage{803}{para -2, l.2}{HjG}{2004/06/17}{2}
- Replace: ``in the second phase of the \u{formatting}'' \>
- ``in the second phase of the \u{processing}''
-
-
-\erroronpage{806}{list, item 3}{UFi}{2004/06/01}{2}
- Extra character: ``Printed in the order in which the\u{e}
- references\ldots''
-
-\erroronpage{806}{para -3}{FMi}{2005/06/02}{4}
- Move this paragraph to the bottom of the page since it is really an
- explanation about the functions defined for each publication type.
-
-\erroronpage{808}{table 13.8}{JMH}{2005/07/18}{4}
- Replace description for |int.to.chr$| with:
- ``Translates integers into a characters using the ASCII mapping''
-
-\erroronpage{810}{\texttt{fin.entry} example}{HjG}{2004/06/17}{2}
- Replace in ``\emph{After Modification}'' part (2~times):
- ``|\sc|'' \> ``|\scshape|''
-
-\erroronpage{811}{para 2, l.3}{HjG}{2004/06/17}{2}
- Replace: ``at the beginning of this section'' \>
- ``on the facing page''
-
-
-
-\CHAPTER{Chapter 14}
-
-\erroronpage{814}{para 6, l.1}{HjG}{2004/06/08}{2}
- Delete doubled word:
- ``The most important \u{important} commands \ldots''
-
-%% not really a bug but inconsistent
-\erroronpage{814}{para -1, l.-2}{HOb}{2004/05/28}{2}
- Explicitly show spaces: \verb*=% \iffalse= \ldots\ \verb*=% \fi=
-
-\erroronpage{815}{syntax boxes 2+3}{HOb}{2004/05/28}{2}
- For clarification the argument of |\DescribeMacro| and that of
- |\begin{macro}| should both start with a |\|.
-
-\erroronpage{816}{para -3, l.4+}{HOb}{2004/05/28}{2}
- Change sentence:
- Note that \u{such short forms for \texttt{\textbackslash verb},
- just} like \texttt{\textbackslash verb} itself,
- cannot appear in the argument of another command, but
- \u{the characters} may be used
- freely inside \texttt{verbatim} and \texttt{macrocode} environments.
-
-\seriouserroronpage{820}{para 2, last line}{DHL}{2004/05/16}{2}
- Change to: ``lines 1, 2, and \u{4} if \texttt{Bname} is also
-asked for, and lines 1, \u{3}, and 4 otherwise.''
-
-\erroronpage{820}{para 3, l.5}{HOb}{2004/05/29}{2}
- Remove surplus space: ``behind \%\u{~} signs\ldots''
-
-\erroronpage{820}{table 14.1}{HOb}{2004/05/29}{2}
- Entries not sorted correctly: swap |\CheckSum| and |\CheckModules|
-
-\seriouserroronpage{821}{descr.\ of
- \ttfamily\textbackslash DeleteShortVerb}{UFi}{2004/05/23}{2}
- \verb=\MakeshortVerb= should be \verb=\Make=\u{S}\texttt{hortVerb}\\
- \verb=\MakeshortVerb*= should be \verb=\Make=\u{S}\texttt{hortVerb*}
-
-\erroronpage{821}{table 14.1}{HjG}{2004/06/08}{2}
- As suggested by HOb (p.815):
- ``|\DescribeMacro{\|\emph{cmd}|}|'' and
- ``|\begin{macro}{\|\emph{cmd}|}|''.
-
-\erroronpage{822}{table 14.1, entry 2}{HjG}{2004/06/08}{2}
- |\meta{|\emph{arg}|}| ``Print \u{the} argument \ldots''
-
-\erroronpage{822}{table 14.1, entry 3}{HOb}{2004/05/29}{2}
- Replace with: \verb=\SpecialEscapechar{\=\emph{char\/}\verb=}=
-
-\seriouserroronpage{822}{table 14.1, entry -2}{HOb}{2004/05/29}{2}
- Wrong default: ``(default |*|)'' \> ``(default |!|)''
-
-\erroronpage{823}{table 14.1}{HjG}{2004/06/08}{2}
- As suggested by HOb (p.815):
- ``|\SpecialIndex{\|\emph{cmd}|}|'',
- ``|\SpecialMainIndex{\|\emph{cmd}|}|'', and
- ``|\SpecialUsageIndex{\|\emph{cmd}|}|''.
-
-\seriouserroronpage{824}{table 14.1, entry 6}{HOb}{2004/05/29}{2}
- Typo: |\MakePercentCommand| \> |\MakePercentComment|
-
-\erroronpage{825}{para 3, l.1}{THa}{2004/06/25}{2}
- ``\% sign'' \> ``|%| sign''
-
-\erroronpage{825}{para 5, l.1}{THa}{2004/06/25}{2}
- ``target'' \> ``target machine''
-
-% making the syntax box bigger affects next page as well:
-\seriouserroronpage{826/827}{code box}{UFi/FMi}{2004/05/24}{2}
- Closing brace of \verb=\generate{...}= is missing. Also it would be
- better if the box shows that several |\file| commands can be used.
-
-\erroronpage{826/827}{para -1\slash para 2}{HjG}{2005/05/15}{4}
- The descriptions referring to the syntax box do not characterize
- the changed contents of that box (due to a previous error report).
-
- Not only a single \textit{result-file} is possible:\\
- ``Within the argument to |\generate| you specify the
- \textit{result-file} you want to produce by using a |\file|
- declaration.''
-
- The text ``as given above'' does no longer hold:\\
- ``With the syntax specification for |\generate| as given above,
- you can produce one \textit{result-file} from one or more
- \textit{source-files}.''
-
-\erroronpage{826}{l.2}{HjG}{2005/02/26}{4}
- Replace: LaTeX \> \LaTeX{}
-
-\erroronpage{826}{para -2, l.-3}{HjG}{2004/06/08}{2}
- Add: ``only the code piece\u{s}''
-
-\erroronpage{827}{para 2, l.-1}{HjG}{2005/05/15}{4}
- ``source files'' \> ``\emph{source-files}''
-
-\erroronpage{827}{}{FMi}{2004/06/08}{2}
- Editorial comment: reprinted because of pagebreak changes.
-
-\erroronpage{828}{para 3, l.2}{DHL}{2004/05/16}{2}
- Extra word: ``If so, \u{case}'' \> ``If so,''
-
-\seriouserroronpage{829}{syntax box}{HOb}{2004/05/29}{2}
- |\preamble|, |\endpreamble|, |\postamble|, and |\endpostamble| all
- have to be on lines by themselves, so the displayed syntax is a bit
- misleading (to say it nicely).
-
-\erroronpage{829}{para -2, l.-2/-1}{HjG}{2004/06/08}{2}
- Add word: ``in \u{the} \textsc{docstrip} package documentation''
-
-\erroronpage{830}{para 4, ll.5/6}{HjG}{2004/06/08}{2}
- Change:
- ``In addition, the user \u{has configured} the \textsc{docstrip}
- program \ldots'' \>
- ``\ldots\ \u{has to configure} \ldots''
-
-\erroronpage{830}{para 5, l.4}{HjG}{2004/06/08}{2}
- Add: ``in the \textsc{docstrip} \u{script}''
-
-\erroronpage{831}{ll. 4 to 15}{UFi/FMi}{2004/05/27}{2}
- The |\usedir| declarations in the example are not in accordance
- with the TDS set-up. They show what \textsf{jurabib}
- currently implements in its \texttt{.ins} files.
- However, the correct set-up would be:
-\begin{verbatim}
- \usedir{tex/latex/jurabib}
- \file{jurabib.sty}{\from{jurabib.dtx}{package}}
- \file{dejbbib.ldf}{\from{jurabib.dtx}{german}}
- ...
- \usedir{bibtex/bst/jurabib}
- \file{jurabib.bst}{\from{jurabib.dtx}{jurabst}}
- ...
- \usedir{doc/latex/jurabib}
- \file{jbtest.tex}{\from{jurabib.dtx}{test}}
- ...
-\end{verbatim}
- This also requires to change the text following.
-
-\erroronpage{831}{ll.16/17}{HjG}{2004/06/09}{2}
- Double interword space?
- (if so: 2x visible, 1x vanished in line break)\\
- ``in \ |tex/...|'' \qquad yes, bug in \texttt{url}.
-
-\seriouserroronpage{831/832}{general}{HjG}{2004/06/09}{2}
- Replace throughout: |\DeclareDirectory| \> |\DeclareDir|.\\
- Unfortunately, \texttt{docstrip} is not consistent in its command names.
-
-\seriouserroronpage{832}{l. 5}{UFi}{2004/05/27}{2}
- Missing \texttt{*}: |\DeclareDir|\u{\texttt{*}}|{tex/bibtex/...|
-
-\erroronpage{832}{code blocks}{DPa}{2004/08/04}{2}
- Three instances of |tex/bibtex| in |\DeclareDir| should lose the |tex/| to
- conform to TDS and change made on page 831
-
-\erroronpage{832}{2. code block}{MSch}{2006/01/06}{s}
- Replace: |text/latex/base| \> |tex/latex/base|
-
-\erroronpage{832}{para 4, l.-2}{HOb}{2004/05/29}{2}
- Change: ``\ldots a single |\UseTDS| in\ldots'' \>
- ``a |\UseTDS| and a |\BaseDirectory| declaration in\ldots''
-
-\erroronpage{832}{para 5, l. -3}{UFi}{2004/05/23}{2}
- The ``\TeX{} Live CD'' is spelled incorrectly as
- ``\TeX{} live'' or ``\TeX live''
-
-\erroronpage{832}{l.-2}{HjG}{2005/05/15}{4}
- Underline, as it is command line input.
-
-\erroronpage{833}{para -1, l.1}{J-CCh}{2005/07/17}{4}
- Spurious extra blank between ``Another potential''.
-
-
-\erroronpage{834}{para 4, l.2}{HjG}{2004/06/09}{2}
- Change: ``These command\u{s}''
-
-\erroronpage{834}{para 5, l.-1}{HjG}{2004/06/09}{2}
- Closing parenthesis should not be in `typewriter font':\\
- ``(after |\begin{document}|\u)''
-
-\erroronpage{834}{para 5}{FMi}{2007/11/13}{}
- Explain that |\cmd| can't be used with conditionals, e.g., those produced
- with |\newif| .
-
-\erroronpage{835}{para 6, l.2}{DHL}{2004/05/16}{2}
-Missing letter: ``the source files into a
-``user'' documentation and a\u{n} ``implementation'' part.''
-
-\erroronpage{835}{para 6, l.5}{DHL}{2004/05/16}{2}
-Missing word: ``as the \textsf{doc} package \u{is} loaded''
-
-\erroronpage{835}{ll.-6/-4}{HjG}{2004/06/09}{2}
- Replace:
- ``\ldots\ \u{and no} configuration file.'' \>
- ``\ldots\ \u{without a} configuration file.''
-
-\erroronpage{837}{exa 14-4-1}{FMi}{2004/06/12}{}
- Editorial comment: example has to be reprocessed whenever this
- chapter is modified to show correct rcs checkin (otherwise input
- and output will not match).
-
-\erroronpage{837}{para 2,l.3}{DAl}{2005/09/03}{4}
- Replace:
- ``running \u{heading}'' \>
- ``running \u{header}''
-
-\erroronpage{838}{code box}{UFi}{2004/05/27}{2}
- \texttt{\$Id\$}: first |$| uses wrong font (2 times)
-
-\erroronpage{839}{exa 14-4-2}{FMi}{2004/06/12}{}
- Editorial comment: example has to be reprocessed whenever this chapter is modified to
- show correct rcs checkin (otherwise input and output will not match).
-
-\seriouserroronpage{839}{item 1, l.1 and l.3}{AHo}{2004/09/02}{4}
- Replace: \texttt{nottoday} \> \texttt{notoday}
-
-\seriouserroronpage{839}{item 2, l.4}{HjG}{2004/06/09}{2}
- Replace brackets with braces: ``\texttt{%
- \char`\\pagestyle\u\textbraceleft fancy\u\textbraceright}''
-
-
-\CHAPTER{Appendix A}
-
-\erroronpage{842}{para 2, l.5}{PYu/FMi}{2004/07/03}{2}
- Remove: ``\ldots
- \texttt{A}\ldots\texttt{Z})\u{ in case of command names prefixed with a
- backslash}.''
-
-\erroronpage{842}{para 3, marginal}{FMi}{2004/08/01}{2}
- Change: ``Environments and command names'' \> ``Environments''
-
-\erroronpage{842}{para 3}{PYu/FMi}{2004/08/01}{2}
- Remove: ``On
- the other hand, names of environments \u{and counters}
- are different.''
-
-Add: ``In this case the
-\texttt{*} is part of the name \u{and spaces preceding it are not ignored}. Thus, when writing
-\verb*=\begin{figure *}=, the space would become part of the name \u{and
-is not recognized as the start of a \texttt{figure*} environment}.''
-
-
-\erroronpage{843}{para 3, l.2}{YvH}{2004/05/28}{2}
- Missing word: ``and |\z@| contain |@| \u{in} their name''
-
-\erroronpage{843}{para 4, l.3}{PYu}{2004/07/03}{2}
- Change: ``to do: the difficult'' \> ``to do\u; the difficult''
-
-\erroronpage{844}{para 4, l.4}{PYu/FMi}{2004/07/04}{2}
- Replace: ``Thus, the above example could be shortened to'' \>
- ``Thus, the definition in the above example should be
- replaced as follows:''
-
-\erroronpage{846}{para 1, l.2}{ARi}{2004/07/02}{2}
- A period should follow the right parenthesis and ``without''
- should be capitalized.
-
-\iffalse
-% maybe
-\erroronpage{845/846/847}{syntax boxes and text}{FMi}{2004/07/04}{}
- Replace: ``\textit{command definition}'' \>
- ``\textit{command-definition}''
-\fi
-
-\erroronpage{847}{para. 5, ll. 2-3}{PYu}{2004/07/04}{2}
- For consistency replace \meta{cmd}with \textit{cmd}
-and \meta{command definition} with \textit{command definition}.
-
-
-\erroronpage{847}{para -2, l.3}{VVo}{2008/09/02}{}
-Replace: ``An error is raised if the definitions differ, ldots''
-\> ``A warning is shown if the definitions differ, \ldots''
-
-
-\erroronpage{851}{para 5, l.-2}{FMi}{2004/07/20}{2}
- Add + change font: ``It also defines \u{the command}
- |\the|\u{\textit{newctr}} to\ldots''
-
-\erroronpage{852}{code block 1, l.2}{JGr}{2004/06/10}{2}
- Second \verb=\makeatletter= should be \verb=\makeatother=
-
-\erroronpage{852}{para 3, l.-3}{FMi}{2004/06/23}{2}
- ``\u{For that reason} the next example'' \> ``\u{As a result} the next example''
-
-\erroronpage{852}{para -1, l.3}{FMi}{2004/07/24}{2}
-Move word: ``|\setcounter| or |\addtocounter| \u{command} or when\ldots'' \>
- ``\u{command} |\setcounter| or |\addtocounter| or when\ldots''
-
-\erroronpage{852}{para -1, l.-3}{THa/FMi}{2004/06/23}{2}
-Change:
- ``It is \emph{not} suitable to print that number! For that reason a
- set\ldots'' \>
- ``However, the command cannot be used to typeset the value of the
- counter! For that purpose a set\ldots''
-
-
-\erroronpage{853}{l.6}{THa/FMi}{2004/06/23}{2}
- Missing space: ``c,\u{~}\dots, z''
-
-\erroronpage{853}{para 4,ll.2+3}{HjG}{2004/05/25}{2}
- Add word: ``\ldots definitions for sectioning \u{counters}''
-
-\erroronpage{853}{counter code block}{FMi}{2005/06/09}{4}
-The order of declarations of the counters is incorrect; they have to be
-\begin{verbatim}
-\newcounter{part}
-\newcounter{section}
-\newcounter{subsection}[section]
-\newcounter{subsubsection}[subsection]
-\end{verbatim}
-or you will receive a ``counter not defined'' error.
-
-\iffalse
-\erroronpage{853}{general}{THa/FMi}{2004/06/23}{}
- Perhaps ``|\the|\meta{ctr}'' should be written without the meta
- braces to match the form used on p.~852. \\
- Then again, perhaps not.
-\fi
-
-\erroronpage{854}{ll. 1+2}{FMi}{2004/05/25}{2}
- Add word and commata: ``Only the representation\u{, prefix,} and
- label field commands
- are defined \ldots''
-
-\seriouserroronpage{854}{code block 1}{HjG/FMi}{2004/05/25}{2}
-Replace with approx:\\[6pt]
-\hspace*{-140pt}\begin{minipage}[b]{\linewidth}
-\begin{verbatim}
-\renewcommand\theenumi {\arabic{enumi}} \renewcommand\theenumii{\alph{enumii}}
-\renewcommand\theenumiii{\roman{enumiii}} \renewcommand\theenumiv{\Alph{enumiv}}
-\end{verbatim}
-\begin{verbatim}
- \renewcommand\p@enumii{\theenumi}
-\renewcommand\p@enumiii{\theenumi(\theenumii)} \renewcommand\p@enumiv{\p@enumiii\theenumiii}
-\end{verbatim}
-\begin{verbatim}
-\newcommand\labelenumi {\theenumi.} \newcommand\labelenumii{(\theenumii)}
-\newcommand\labelenumiii{\theenumiii.} \newcommand\labelenumiv{\theenumiv.}
-\end{verbatim}
-\end{minipage}
-
-
-\erroronpage{855}{fig A.1, l.4}{JAn}{2005/09/09}{4}
- Change ``Did\^ot'' \> ``Didot'' (no caret); and delete the
-comma after inch
-
-
-\erroronpage{855}{fig A.1}{CBe/FMi}{2004/07/27}{2}
-Add: \texttt{ex} \quad Height of a small ``x'' in the current font \u{(approximately)}
-\\
-Add: \texttt{em} \quad Width
- of capital ``M'' in current font \u{(approximately)}
-
-
-
-\erroronpage{856}{tab A.2, ll.1-3}{YvH}{2004/05/28}{2}
- Correct: ``horizonal'' \> ``horizon\u{t}al'' (three times)
-
-\erroronpage{856}{tab A.2, l.6}{PYu}{2004/07/05}{2}
- Add: ``a \u{solid} horizontal line''
-
-\erroronpage{857}{table A.3}{V-Li}{2004/09/14}{4}
- |\vspace{len}| is missing
-
-\erroronpage{858}{l.-8}{HjG/FMi}{2004/05/26}{2}
- Add: ``\u{missing or} misplaced |\item|''
-
-\erroronpage{858}{syntax box}{PYu}{2004/07/03}{2}
- |\addvspace{|\textit{space}|}| should be typeset in a smaller font.
-
-\erroronpage{859}{para -4, l.1}{HjG}{2004/05/20}{2}
- Typo: ``ar\u{r}ises'' \> ``arises''
-
-\erroronpage{860}{para 1 of \S A.2, l.5}{CAR}{2004/05/26}{2}
- Replace: ``that behaves similarly to a\ldots''
- \> ``that behaves \u{much like} a\ldots''
-
-\erroronpage{861}{l.-2}{HjG}{2004/05/26}{2}
- The \(\Longleftrightarrow\) in the margin seems to sport a tiny
- gap in the middle (seems to be a lucida set-up problem).
-
-\erroronpage{866}{para 2 of \S A.2.3, l.5}{HjG}{2004/05/26}{2}
- Words need to be swapped: ``height of a \u{box framed} with
- |\fbox| or |\framebox|''
-
-\seriouserroronpage{867}{ll.1/2 after exa A-2-17}{HjG}{2004/05/26}{2}
- \(2 \times 5.3\,\mathrm{pt} + 0.4\,\mathrm{pt} = 11\,\mathrm{pt}
- \ne 12\,\mathrm{pt}\) so skip should be $5.8\,\mathrm{pt}$.
-
-\seriouserroronpage{868}{Table A4.}{UFi}{2004/05/22}{2}
- Default value of depth of \verb=\hrule= should be 0.0pt (not 0.4pt).
-
-\seriouserroronpage{871}{para 2, l.2}{UFi}{2004/05/21}{2}
- ``binary operators (, , , )'' should be typeset
- ``binary operators (\texttt{+}, \texttt{-}, \texttt{*}, \texttt{/})''.
-
-
-\erroronpage{875/876}{tab. A.5}{FMi}{2004/07/28}{2}
- Add: ``\TeX{} switches \u{(can only be queried)}'' \\
- Add: ``\LaTeX{} switches \u{(last two can be set)}'' \\ \qquad (these are
- |@afterindent| and |@tempswa|)\\
- Add row:\\
- |@afterindent| \quad \parbox[t]{7cm}{Switch checked by command
- |\@afterheading| (usually used in headings) to
- prevent (if |false|) indentation of next
- paragraph.}
-
- Editorial comment: change moves pagebreak.
-
-\seriouserroronpage{878}{codeline 4 (?)}{UFi}{2004/05/22}{2}
- |\usepackage[german]{varioref}[2001/09/0]:| day number is missing
- (test for version doesn't work then anymore!)
-
-\erroronpage{886}{fig.~A.1}{HjG}{2004/05/21}{2}
- Add: \verb=\ProcessOptions= \u{\texttt{\char`\\relax}}
- (cf. hint on p.~882!)
-
-
-\CHAPTER{Appendix B}
-
-\erroronpage{891}{para 1, l.7}{DHL}{2004/05/16}{2}
-Missing letter: ``\verb=l.167 \par=\u{\texttt{t}}\verb={Text}=''
-
-\seriouserroronpage{892}{para 1, l.-2}{HjG}{2004/05/22}{2}
- ``\verb=\romen= (lines 1 and~2)''
- \>
- ``\verb=\romen= (lines 2 and~3)''
-
-\erroronpage{892}{para -1, ll.2--4}{HOb/FMi}{2004/05/22}{2}
- Add: ``Technically, a moving argument is an argument
- that is internally expanded by \LaTeX{} without typesetting it
- directly\u{ (e.g.}, by using the internal \LaTeX{} construct
- |\protected@edef|\textsuperscript{1}\u).''
-
-\erroronpage{893}{para 2, l.8}{MHo/FMi}{2004/10/05}{4}
- Replace:
- ``On the other hand, |\cong| is fragile\ldots''
- \>
- ``On the other hand, |\[...\]| is fragile\ldots''
-
-
-\erroronpage{894}{l.-7}{FMi}{2004/04/23}{2}
- Add word: \ldots still open) \u{or} will be swallowed\ldots
-
-\erroronpage{896}{item 1}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move one item down.
-
-\erroronpage{896}{item 4}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move four items down.
-
-\erroronpage{896}{item -1}{HOb}{2004/05/29}{2}
- Whether or not the image size can be automatically determined
- depends on the graphics driver. Last sentence rewritten as follows:\\
- ``It usually does this automatically, for example, for
-\texttt{.eps} files by reading the bounding box
-information. However, depending on the graphics driver, it may be
-unable to extract this information from binary
-bitmap images such as \texttt{.jpg}, \texttt{.gif}, and \texttt{.png} files.''
-
-\erroronpage{897}{item 5}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move one item down.
-
-\erroronpage{899}{item 1}{JGr}{2004/06/10}{2}
- The extra \verb=\or= could result from bad use of \verb=\ifthenelse=
-
-\erroronpage{899}{item 5}{UFi}{2004/05/23}{2}
- The ``\TeX{} Live CD'' is spelled incorrectly as
- ``\TeX{} live'' or ``\TeX live''
-
-\erroronpage{901}{item 3}{UFi}{2004/05/23}{2}
- The ``\TeX{} Live CD'' is spelled incorrectly as
- ``\TeX{} live'' or ``\TeX live''
-
-\seriouserroronpage{902}{l.5}{HjG}{2004/05/22}{2}
- Missing letter: ``\texttt{\char`\\dis\u{c}retionary}''
-
-\erroronpage{907}{item 5, l.2}{CKr}{2005/05/30}{4}
- Add missing word: ``\ldots or \texttt{figure}, \u{is} encountered\ldots''
-
-\erroronpage{907--909}{item 2}{UFi/FMi}{2004/07/31}{2}
- \TeX{} error message missing: ``\texttt{No room for a new ...}''
-
- The packages loaded in your document require more internal registers
-(|\count|, |\dimen|, \ldots) than there are available in \TeX. Try
-processing your document with e\TeX{} and additionally load the
-\textsf{etex} package.
-
- Editorial comment: affects pagebreaks for 908/909 as well.
-
-
-
-\erroronpage{909}{middle}{HjG}{2004/05/22}{2}
- In the sample output, the lines ``\texttt{<*> samplefile.tex}'' and
- ``\texttt{? }'' should be indented by the same amount as the first
- four lines.
-
-\erroronpage{909}{l.-2}{HjG}{2004/05/22}{2}
- Missing interword space: ``an\u{ }\verb=\addvspace= command''
-
-%%check (that's me)
-\iffalse
-\erroronpage{911}{item 5}{HjG}{2004/05/22}{}
- ``To the author's knowledge, \ldots''
- \>
- ``To the authors' knowledge, \ldots''
-\fi
-
-\erroronpage{913}{item 1}{MKu/FMi}{2004/06/24}{2}
- Replace: UTF8 \> UTF-8
-
-\erroronpage{913}{item 1}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move four items down.
-
-\erroronpage{913}{item -3, l.-3/-1}{HjG}{2004/05/22}{2}
- Replace word: ``\ldots commands \u{and}, if necessary, masking a line
- break in the source with a \verb=%= sign.''
-
-\erroronpage{914}{l.8}{HjG}{2004/05/22}{2}
- Missing interword space: ``\verb=\spacefactor=\u{ }only''
-
-\erroronpage{917}{footnote}{HOb}{2004/05/29}{2}
- Replace footnote with: ``In modern distributions \LaTeX{} is automatically
- using the e\TeX{} program. On older installations you may have to
- call a different program (e.g., \texttt{elatex} instead of
- \texttt{latex}) when processing a
- document.''
-
-
-\erroronpage{918}{l.-13}{HjG}{2004/05/22}{2}
- Misplaced comma:\\
- ``\ldots\ arguments thereby, using up \ldots''
- \>\\
- ``\ldots\ arguments, thereby using up \ldots''
-
-\erroronpage{920}{item 2}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move one item down.
-
-\erroronpage{921}{item -2}{MBr}{2004/08/03}{2}
- Not in alphabetical order: move item to top.
-
-\erroronpage{923}{item 1}{UFi}{2004/05/23}{2}
- Not in alphabetical order: move one item down.
-
-\erroronpage{924}{item 2, para 2, l.1}{HjG}{2004/05/22}{2}
- Typo: ``th\u{r}ough'' \> ``though''
-
-\erroronpage{925}{l.1}{HjG}{2004/05/22}{2}
- Missing interword space: ``the command\u{ }\verb=\symbol=''
-
-\erroronpage{925}{item -2, l.-2}{HjG}{2004/05/22}{2}
- Extra word: ``are \u{the} those'' \> ``are those''\\
- Surplus space: `` register~\u~0'' \> ``register~0''
-
-\erroronpage{925}{item -2}{MBr}{2004/08/03}{2}
- Not in alphabetical order: move item one up.
-
-\seriouserroronpage{926}{item 4, title}{UFi}{2004/05/23}{2}
- ``\verb=Overfull \hbox (badness= \meta{number}\texttt)'' should be
- ``\verb=Overfull \hbox (=\meta{number}\texttt{pt too wide)}''
-
-\erroronpage{926}{item 5, l.1}{HjG}{2004/05/23}{2}
- Typo: ``built'' \> ``build''
-
-\seriouserroronpage{926}{item 5, title}{UFi}{2004/05/23}{2}
- ``\verb=Overfull \vbox (badness= \meta{number}\texttt)'' should be
- ``\verb=Overfull \vbox (=\meta{number}\texttt{pt too wide)}''
-
-\seriouserroronpage{928}{item 6, title}{UFi}{2004/05/23}{2}
- ``\verb=Tight \hbox='' should be ``\verb=Tight \vbox=''
-
-\erroronpage{930}{item 1, l.1}{HjG}{2004/05/23}{2}
- Omit paragraph indentation!
-
-\erroronpage{930}{item 4, l.2}{UFi}{2004/05/23}{2}
- Typo: ``i\u{t}entify'' \> ``identify''
-
-\erroronpage{931}{item 4, l.-1}{HjG}{2004/05/23}{2}
- Add: ``\ldots\ package \u{or class} in question.''
-
-\erroronpage{931}{item 4}{JGr}{2004/06/10}{2}
- The warning also happens if you give absolute or relative
- pathnames like \verb=\documentclass{base/article}=
-
-\erroronpage{931}{item 6}{MBr/FMi}{2004/08/03}{2}
- Order here is debatable but a ``,'' may not be good for visual
- sorting, so move this item one up (placeholder are always sorted to
- top so it doesn't pass ``package-or-class''.
-
-\erroronpage{932}{para 4, l.1}{UFi}{2004/05/23}{2}
- Typo: ``\u{t}which \> ``which''
-
-\seriouserroronpage{935}{ll.3--5}{HjG}{2004/05/23}{2}
- The text claims:\\
- ``The output is slightly different: the name \u{and the type} of a
- token are not shown by |\meaning|; instead, only its ``meaning'' is
- presented.''\\
- However, as example B-3-1 depicts, the type \emph{is} shown; hence,
- the sentence should be changed to:\\
- ``The output is slightly different: the name
- of the token \u{is} not shown by
- |\meaning|; instead, only \u{its type and} its ``meaning''
- \u{are} presented.''
-
-\erroronpage{936}{para 1, l.3}{UFi}{2004/05/23}{2}
- Closing brace should be after ``19'' and not at end of line.
-
-\erroronpage{938}{para -1, l.3}{UFi/FMi}{2004/05/23}{2}
- Difficult to understand; replace:
- ``\ldots a large \u{increase in} \texttt{t=} between''
-
-\erroronpage{939}{para 3, l.2}{HjG}{2004/05/23}{2}
- Words need to be swapped:
- ``\ldots\ \TeX{} indicates \u{this fact} with \ldots''
-
-\erroronpage{941}{l.19/20}{HjG}{2004/05/24}{2}
- Add: ``so-called demerits \u{(\texttt{d=})}''
-
-\erroronpage{942}{l.22}{HjG}{2004/05/24}{2}
- Change: ``several ways to reach \u{\texttt{@@2}};''
- \> ``several ways to reach \u{\texttt{@@6}};''
-
-\erroronpage{943}{para -1 of \S B.3.3, l.-6}{HjG}{2004/05/24}{2}
- Typo: ``shinkability'' \> ``shrinkability''
-
-
-
-\CHAPTER{Appendix C}
-
-\erroronpage{general}{several pages}{FMi}{2005/07/01}{4}
- Appendix was partially rewritten to reflect changes in the layout
- of the web sites. More importantly: CTAN changed their ftp
- software and stopped supporting the generation of directory
- archives on the fly. Instead they now offer precompiled
- \texttt{zip} files that can be downloaded.
-
-\erroronpage{947}{ll.-2/-1}{HjG}{2004/05/24}{2}
- Missing word: ``it is best \u{to} access''
-
-\erroronpage{947}{para -1, l.5}{FMi}{2004/06/12}{2}
- Bug in \texttt{url.sty} generated extra space.
-
-\erroronpage{948}{para -1, l.5}{UFi}{2004/05/23}{2}
- Show short name: ``\ldots\ \TeX{} Users Group (\u{TUG}, United States)''
-
-\erroronpage{950}{para 1, l.2}{FMi}{2006/09/12}{s}
- Replace: Figure C.\u{2} \> Figure C.\u{1}
-
-\erroronpage{950}{para 3, l.2}{HjG}{2004/05/24}{2}
- Typo: ``a site that i\u{s} not too distant''
-
-\seriouserroronpage{953}{l.11}{HjG}{2004/05/24}{2}
- Replace line: ``\verb=>>>>>>> 1.6='' \>
- ``\texttt{200-index graphicx}''
- (probably due to an incomplete merge with CVS)
-
-\erroronpage{954}{para 3, l.1}{HjG}{2005/05/09}{4}
- ``\TeX live'' \> ``\TeX{} Live''
-
-\erroronpage{955}{para 2, l.4}{HjG}{2005/05/09}{4}
- Remove surplus word:
- ``in \u{the} Thomas Esser's \texttt{tetex} distribution''
-
-\erroronpage{955}{para -2, l.-4}{MHe}{2004/05/22}{2}
- Letters need to be swapped: ``eig\u{ht}eenth''
-
-\erroronpage{956}{cn: entry}{HjG}{2005/05/09}{4}
- Replace:
- ``\u{name}: Hong Feng'' \> ``\u{contact}: Hong Feng''
-
-\erroronpage{957}{col. 2, l.15}{TMW}{2004/06/07}{2}
- This should read ``Lietuvos \TeX'o Vartotoj\k{u} Grup\.{e}''.
-
-\erroronpage{958}{col. 1, l.19}{TMW}{2004/06/07}{2}
- An acute accent should be added: ``Toru\'n''
-
-
-
-\CHAPTER{Bibliography}
-
-\erroronpage{963}{[1]}{CKr}{2005/06/20}{4}
- Url changed: \url{https://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF}
- 2017: url no longer valid; maybe \url{https://www-cdf.fnal.gov/offline/PostScript/T1_SPEC.PDF}
-
-\erroronpage{963}{[2]}{CKr}{2005/06/20}{4}
- Url changed: \url{https://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf}
- 2017: url no longer valid; maybe \url{https://www-cdf.fnal.gov/offline/PostScript/5001.PDF}
-
-\erroronpage{963}{[3]}{CKr}{2005/06/20}{4}
- Url changed:
- \url{https://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf}
- 2017: url no longer valid; maybe \url{https://archive.org/details/5002.EPSFSpec}
-
-\erroronpage{964}{[5]}{CKr}{2005/06/20}{4}
- Url changed:
- \url{https://partners.adobe.com/public/developer/en/pdf/PDFReference.pdf}
- 2017: url no longer valid; maybe \url{http://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf}
-
-
-\erroronpage{965}{[17], l.-1}{HjG}{2004/06/18}{2}
- Delete character: ``in a\u{n} multi-language setting''
-
-\erroronpage{966}{[25]}{HjG}{2004/05/20}{2}
- First line of online resources is not flush right but centered.
-
-\erroronpage{971}{[74]}{FMi}{2006/09/18}{s}
- Add ``Lars Hellstr\"om'' as author. Change date to December 2004.
- Change comment to ``Documentation for
- the fontinst utility package that supports \ldots''
-
-\erroronpage{973}{[88]}{TSS}{2004/05/26}{2}
- The bibliography entry for "The Art of Computer Programming" lacks
- ISBN numbers: 0-201-89683-4, 0-201-03822-6, and 0-201-03803-X.
-
-\erroronpage{973}{[90], l.2}{HjG}{2004/06/07}{2}
- Words need to be swapped:
- ``\ldots do not look as \u{beautiful now} as they did in the past.''
-
-\erroronpage{973}{[91]}{HjG}{2004/05/20}{2}
- First line of online resources is not flush right but centered.
-
-\erroronpage{975}{[107], [109], [110], [111]}{HjG}{2004/06/21}{2}
- Incomplete URLs:\\
- \texttt{https://www.latex-project.org\u{/news/latex2e-news/}}\\
- \texttt{https://www.latex-project.org\u{/help/documentation/fntguide.pdf}}\\
- \texttt{https://www.latex-project.org\u{/help/documentation/cfgguide.pdf}}\\
- \texttt{https://www.latex-project.org\u{/lppl/}}
-
-\erroronpage{976}{[117]}{FMi}{2005/11/07}{s}
- The title is ``E-\TeX: Guidelines for Future \TeX{} Extensions''.
-
-\erroronpage{977}{[124]}{HjG}{2004/05/20}{2}
- First line of online resources is not flush right but centered.
-
-\erroronpage{977}{[124]}{FMi}{2005/07/09}{4}
- Link is missing a period:
- \url{https://www.latex-project.org/publications/tug99}\texttt{\u.pdf}
-
-\erroronpage{978}{[138]}{FMi}{2005/06/25}{4}
- Now has appeared: 24\#1, pp.~105--114, 2004. URL:
- \url{https://www.tug.org/TUGboat/Articles/tb24-1/plaice.pdf}
-
-\erroronpage{979}{[143]}{HjG}{2004/05/20}{2}
- Missing period: Robert M\u. Ritter
-
-\erroronpage{979}{entry 146, l.3}{RWa}{2004/06/01}{2}
- Missing word: ``for \LaTeX\ \u{and} a possible''
-
-\erroronpage{980}{[151]}{THa}{2004/06/25}{2}
- Remove: ``\LaTeX\u{Joachim Schrod}.''
-
-\erroronpage{980}{[153]}{THa}{2004/06/25}{2}
- Swap words: ``often are'' \> ``are often''
-
-\erroronpage{980}{[155]}{THa}{2004/06/25}{2}
- Missing word: ``For \u{the} \textsf{kuvio} system\ldots''
-
-\erroronpage{980}{[157]}{HjG}{2004/05/20}{2}
- First line of online resources is not flush right (stray space?).
-
-\erroronpage{981}{[158]-[162]}{RKo}{2005/11/11}{s}
- Unfortunately Th\`anh's name is misspelled (accents in [161/2]). The correct spelling
- is ``H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh''.
-
- Furthermore, the surename is H\`an so the entries should have been sorted
- under H (something that can't be corrected easily).
-
-\erroronpage{981}{[161]}{CKr}{2005/07/06}{4}
- Remove surplus name in text: ``User\u{Sebastian Rahtz} manual \ldots''
-
-\erroronpage{981}{[162/3], title}{THa}{2004/06/25}{2}
- Change: ``Makeindex'' \> ``makeindex''
-
-\erroronpage{982}{[168]}{HjG}{2004/05/20}{2}
- First line of online resources should be:\\
- \texttt{https://www.tug.org/TUGboat/Articles/\u{tb11-3/tb29vulis.pdf}}
-
-
-\CHAPTER{Index}
-
-\erroronpage{983--1082}{index}{FMi}{2004/06/11}{}
- I do not list changes to the index that are results of other errata
- entries as they are too difficult to track. Instead I will put an
- updated index on the web at
- \url{https://www.latex-project.org/help/books/tlc2-ap4.pdf} once in a while.
-
-\erroronpage{general}{}{FMi}{2004/06/08}{2}
- Editorial comment: the whole index has been reprinted.
-
-\erroronpage{general}{}{FMi}{2005/09/08}{4}
- Editorial comment: the whole index has been reprinted.
-
-\erroronpage{general}{}{FMi}{2004/06/08}{2}
- Add index entries into production notes, e.g., for example setup,
- hanging punctuation, \ldots
-
-\erroronpage{983}{para 1, l.3}{UFi}{2004/05/23}{2}
- Remove surplus word: ``\ldots one of \u{the} the following''
-
-\seriouserroronpage{983}{para -2}{HjG}{2004/05/20}{2}
- The text explains the meaning of bold and blue page numbers,
- but fails to point out the significance of slanted (italic)
- ones---there is none: blue italic indicates normal example blue bold
- indicates example and also important info.
-
-\erroronpage{988,1009}{}{CKr}{2004/10/10}{4}
- Replace: ``alphabetical document headings''
- \> ``alphabetically numbered document headings''
-
-and
-
- ``document headings / alphabetical''
- \>
- ``document headings / alphabetically numbered''
-
-\erroronpage{990}{}{J-CCh}{2005/07/17}{s}
- Correct range: author-date citations / history of (699, 700)
-
-\erroronpage{992}{}{J-CCh}{2005/07/17}{s}
- Correct: ``B\u{\'e}zier''
-
-\erroronpage{993}{}{SEg}{2005/04/26}{4}
- bibliographies/authors/name,formatting shows 798--1092 but should be
- just 798
-
-\erroronpage{1000}{}{J-CCh}{2005/07/17}{s}
- Correct range: Citation systems /
- author-date /
- history of (699, 700)
-
-\erroronpage{1007}{}{HjG}{2004/07/12}{2}
- Add page entry for |\DeclareFontSubstitution|
- back to 431 (para~2).
-
-
-\erroronpage{1014}{secound col., l.8}{MSc}{2004/06/04}{2}
- missing index entry for ``eTeX, TeX extension''
-
-\erroronpage{1017}{}{FHa}{2004/10/05}{4}
- The index entry for "floats / placement control" lists pages 286-983
- for information. I think that is a bit too much. It should probably
- end at page 291.
-
-
-\erroronpage{1019}{}{J-CCh}{2005/07/17}{s}
- Correct range: fonts /
- oblique (333)
-
-\erroronpage{1020}{}{CKr}{2005/01/09}{4}
- Replace ``fonts / URW Antigua'' \> ``fonts / URW Anti\u{q}ua''
-
-\erroronpage{1034}{first col.}{FMi}{2004/05/15}{2}
- Add entry: ``lists / enumerated / user-defined, 151''
-
-\erroronpage{1035}{}{THa}{2004/07/02}{2}
- ``\textsf{makeindex}'' \> ``\textsl{MakeIndex}''
-
-\erroronpage{1041}{}{FMi}{2004/08/02}{2}
- ``\texttt{NACRO} \BibTeX{} command'' \>
- ``\texttt{MACRO} \BibTeX{} command''
-
-\erroronpage{1051}{secound col., l.14}{MSc}{2004/06/04}{2}
- missing index entries for ``pdftex'' on p.7 and p.643
-
-\erroronpage{1069}{}{FMi}{2004/11/07}{4}
- Replace: ``text symbols / setting-up'' \>
- ``\u{math} symbols / setting-up''
-
-
-\erroronpage{1076}{}{CKr}{2005/01/09}{4}
- Replace ``URW Antigua'' \> ``URW Anti\u{q}ua''
-
-
-\CHAPTER{People}
-
-\erroronpage{1080}{page}{FMi}{2004/07/26}{4}
- Editorial comment: Needs manual breaking in index output file for
- second and fourth printing.
-
-\erroronpage{1081}{col 1}{FMi}{2004/06/22}{2}
- Missing accents: ``Fernandez, Jose Alberto '' \> `Fern\'andez, Jos\'e Alberto''
-
-\erroronpage{1081}{col 1}{HjG}{2004/06/22}{2}
- Change page number in entry:
- ``Fukui, Rei, xxvii, 405, \u{969}'' \> ``\ldots, \u{968}''
-
-\erroronpage{1081}{col 1}{LMa}{2004/05/14}{2}
- The name ``M\o ller Neergaard, Peter'' should be sorted as
- ``Neergaard, Peter M\o ller''.
-
-\erroronpage{1081}{col 2}{HjG}{2004/06/16}{2}
- Change page number in entry:
- ``Hufflen, Jean-Michel, 761, \u{971}'' \> ``\ldots, \u{970}''
-
-\erroronpage{1081}{}{HjG}{2004/07/08}{2}
- Add page entries for ``Kettler, Howard'' and ``Frutiger, Adrian''
- to ``People'' index back to 374.
-
-\erroronpage{1082}{}{HjG}{2004/07/08}{2}
- Add page entry for ``Smith, Ralph'' to ``People'' index back to 376.
-
-
-\erroronpage{1082}{col 1, l.19 }{PPn}{2004/05/25}{2}
- Replace ``Panday'' with ``Pandey'' (very sorry for the typo).
-
-\erroronpage{1082}{col 1}{FMi}{2004/04/23}{2}
- Replace ``Wing, Wai'' with ``Wong, Wai'' (very sorry for the typo).
-
-\erroronpage{1082}{col 1}{HjG}{2004/07/13}{2}
- Change page numbers in entry:
- ``Mittelbach, Frank, \ldots, 976--\u{978, 980}, \ldots''
- \> ``\ldots, 976--\u{979}, \ldots''
-
-\erroronpage{1082}{}{HjG}{2004/07/13}{2}
- Add page entry for ``Rahtz, Sebastian''
- back to 981 (bib-item [161]).
-
-
-
-
-
-
-\CHAPTER{Biographies}
-
-\erroronpage{1084}{Goossens image}{THa}{2004/06/23}{2}
- Spurious gray square in upper right corner of framed image of Michel
- Goossens.
-
-\erroronpage{1085}{para 3, l.6}{MSc}{2004/05/19}{2}
- Replace ``TeX'' with ``\TeX''.
-
-
-\CHAPTER{Production Notes}
-
-\erroronpage{1089}{para 4, l.4}{FMi}{2004/07/21}{2}
- Add: ``\ldots this typographical icing \u{(package
- \textsf{pdfcprot})} was\ldots''
-
-\erroronpage{1089}{l.-5}{HjG}{2004/05/20}{2}
- Missing period: \ldots files\u. It \ldots
-
-\erroronpage{1090}{para -3, l.-4}{HjG}{2004/05/23}{2}
- Change/add: ``paragraphs ending \u{with a} single word \u{line}''
-
-\erroronpage{1091}{top}{WAd}{2004/05/08}{2}
- The series title in the box does not use a real caps and small caps
- font but a faked one (compare with the front cover where
- the font \emph{Christiana} designed by Gudrun Zapf-von Hesse is used).
-
-\end{erratalist}
-
-
-\setcounter{collectmore}{3}
-
-\begin{multicols}{3}[Thanks to all who have found errors or
- omissions. Listed are the people who found an errata entry first.]
-\contributor{AFV}{Alfonso Fernandez-Vazquez}
-\contributor{AHo}{Antti Honkela}
-\contributor{AMa}{Arni Magnusson}
-\contributor{ARi}{Alan Ristow}
-\contributor{BMo}{Brooks Moses}
-\contributor{BeB}{Bernd Burghardt}
-\contributor{CAR}{Chris A. Rowley}
-\contributor{CBC}{Charles B. Cameron}
-\contributor{CBa}{Cristian Battaglia}
-\contributor{CBe}{Claudio Beccari}
-\contributor{CKr}{Claudia Krysztofiak}
-\contributor{DAl}{Daniel Alonso i Alemany}
-\contributor{DAr}{Donald Arseneau}
-\contributor{DCa}{David Carlisle}
-\contributor{DHL}{Dan Luecking}
-\contributor{DIs}{Daniel Isaacson}
-\contributor{DSch}{Dirk Schlimm}
-\contributor{ERy}{Elizabeth Ryan}
-\contributor{FHa}{Ferdy Hanssen}
-\contributor{FMi}{Frank Mittelbach}
-\contributor{GBa}{Gerhard Bachmaier}
-\contributor{HOb}{Heiko Oberdiek}
-\contributor{HPB}{Harold P. Boas}
-\contributor{HVo}{Herbert Voss}
-\contributor{HjG}{Hubert G\"a\ss lein}
-\contributor{J-CCh}{Jean-C\^ome Charpentier}
-\contributor{JAn}{Jacques Andr\'e}
-\contributor{JBez}{Javier Bezos}
-\contributor{JBe}{Jens Berger}
-\contributor{JBr}{Johannes Braams}
-\contributor{JCh}{Joel Chan}
-\contributor{JGr}{Jose Grimm}
-\contributor{JJN}{Jarmo Niemel\"a}
-\contributor{JLV}{Juan Luis Varona}
-\contributor{JMH}{Jean-Michel Hufflen}
-\contributor{JS}{Joachim Schrod}
-\contributor{JTa}{Juhani Takkinen}
-\contributor{LHe}{Lars Hellstr\"om}
-\contributor{LMa}{Lars Madsen}
-\contributor{LSchu}{Lothar Schumacher}
-\contributor{MBr}{Marion Braams}
-\contributor{MGo}{Michel Goossens}
-\contributor{MHCL}{Martin Hiu Chung Law}
-\contributor{MHe}{Martin Hensel}
-\contributor{MHo}{Morten H\o gholm}
-\contributor{MKo}{Markus Kohm}
-\contributor{MKu}{Markus Kuhn}
-\contributor{MLa}{Mark Laplante}
-\contributor{MLi}{Martin Liebmann}
-\contributor{MSc}{Martin Schr\"oder}
-\contributor{MSch}{Michael Schutte}
-\contributor{NBe}{Nelson Beebe}
-\contributor{PPN}{P.P. Narayanaswami}
-\contributor{PYu}{Peng Yu}
-\contributor{RKo}{Reinhard Kotucha}
-\contributor{RPa}{Reimo Palm}
-\contributor{RSt}{Ralf Stubner}
-\contributor{RWa}{Richard Walker}
-\contributor{ReSt}{Rebecca Stiels}
-\contributor{SCo}{Steven Douglas Cochran}
-\contributor{SEg}{Stephen Eglen}
-\contributor{SPe}{Sa\v sa Petrovi\' c}
-\contributor{THa}{Thorsten Hansen}
-\contributor{TMW}{Thomas Widmann}
-\contributor{TMi}{Tom Micevski}
-\contributor{TSS}{Tommi Syrj\"anen}
-\contributor{UFi}{Ulrike Fischer}
-\contributor{UZi}{Uwe Ziegenhagen}
-\contributor{V-Li}{Christian Faulhammer}
-\contributor{VPe}{Vivi Petersen}
-\contributor{VVo}{Vladimir Volovich}
-\contributor{WAd}{William Adams}
-\contributor{WaS}{Walter Schmidt}
-\contributor{YiL}{Yiannis Lazarides}
-\contributor{YvH}{Yvon Henel}
-\contributor{hajk}{Henk Koster}
-\contributor{usw}{Ulrich Dirr}
-\end{multicols}
-
-
-Other people have sent us corrections for errors already found.
-Thanks to all of you!
-
-If you find further errors please report them to one of the authors, e.g.,
-\begin{quote}\ttfamily
- frank.mittelbach@latex-project.org
-\end{quote}
-preferably in a form usable directly in this file, i.e.,
-\begin{flushleft}
-|\erroronpage{|\textit{page-number}|}{|\textit{line-identification}|}{|%
- \textit{your-initials}|}{|\textit{date}|}{}| \\
- \hspace*{2em}\textit{description of the the erratum}
-\end{flushleft}
-Here is an example:
-\begin{verbatim}
-\erroronpage{5}{para 3, l.1}{MOs}{1997/06/01}{}
- ``LaTeX'' should be typeset ``\LaTeX''.
-\end{verbatim}
-
-\end{document}
-
-
diff --git a/macros/latex/base/tlc2.pdf b/macros/latex/base/tlc2.pdf
deleted file mode 100644
index c1e585e94f..0000000000
--- a/macros/latex/base/tlc2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/base/tulm.fdd b/macros/latex/base/tulm.fdd
index a5a212c6e1..dfda332ce4 100644
--- a/macros/latex/base/tulm.fdd
+++ b/macros/latex/base/tulm.fdd
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2016-2017
+% Copyright 2016-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -30,7 +30,7 @@
%\iffalse This is a META comment
%
% File `cmfonts.fdd'.
-% Copyright (C) 2016-2017 LaTeX3 Project
+% Copyright (C) 2016-2019 LaTeX3 Project
%
%
%<TUlmr>\ProvidesFile{tulmr.fd}
diff --git a/macros/latex/base/tulm.ins b/macros/latex/base/tulm.ins
index 1a48c866b4..d307956830 100644
--- a/macros/latex/base/tulm.ins
+++ b/macros/latex/base/tulm.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 2016-2017
+%% Copyright (C) 2016-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -11,12 +11,12 @@
%% -------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3b
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3b or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 2016-2017
+Copyright (C) 2016-2019
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -61,7 +61,7 @@ of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
base system. You may however distribute the LaTeX base system without
diff --git a/macros/latex/base/tulm.pdf b/macros/latex/base/tulm.pdf
index d98593cb25..fcdbb53a17 100644
--- a/macros/latex/base/tulm.pdf
+++ b/macros/latex/base/tulm.pdf
Binary files differ
diff --git a/macros/latex/base/unpack.ins b/macros/latex/base/unpack.ins
index 969028edfe..5e6f36ca9d 100644
--- a/macros/latex/base/unpack.ins
+++ b/macros/latex/base/unpack.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright (C) 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -16,7 +16,7 @@
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
diff --git a/macros/latex/base/usrguide.pdf b/macros/latex/base/usrguide.pdf
new file mode 100644
index 0000000000..c5f8d2818a
--- /dev/null
+++ b/macros/latex/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex/base/usrguide.tex b/macros/latex/base/usrguide.tex
new file mode 100644
index 0000000000..0805416837
--- /dev/null
+++ b/macros/latex/base/usrguide.tex
@@ -0,0 +1,1817 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1993-2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: usrguide.tex
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+
+\documentclass{ltxguide}[2001/05/28]
+
+\title{\LaTeXe~for authors}
+
+\author{\copyright~Copyright 1995--2019, \LaTeX3 Project Team.\\
+ All rights reserved.}
+
+\date{27 January 2019}
+
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Introduction}
+
+Welcome to \LaTeXe, the new standard version of the \LaTeX{} Document
+Preparation System.
+
+This document describes how to take advantage of the new features of
+\LaTeX, and how to process your old \LaTeX{} documents with
+\LaTeXe. However, this document is only a brief introduction to the
+new facilities and is intended for authors who are already familiar
+with the old version of \LaTeX{}. It is \emph{not} a reference manual
+for \LaTeXe{} nor is it a complete introduction to \LaTeX.
+
+It is somewhat of an historical document now, since \LaTeXe{} came into
+existence in 1994.
+
+\subsection[\LaTeXe---The new \LaTeX~release]
+ {\LaTeXe---The new \LaTeX~release\\ (well, for more than 10 years now)}
+
+The previous version of \LaTeX{} was known as \LaTeX~2.09. Over the
+years many extensions have been developed for \LaTeX. This is, of
+course, a sure sign of its continuing popularity but it has had one
+unfortunate result: incompatible \LaTeX{} formats came into use at
+different sites. This included `standard \LaTeX~2.09', \LaTeX{} built
+with the \emph{New Font Selection Scheme}~(\NFSS), \SLiTeX, \AmSLaTeX,
+and so on. Thus, to process documents from various places, a site
+maintainer was forced to keep multiple versions of the \LaTeX{}
+program. In addition, when looking at a source file it was not always
+clear for which format the document was written.
+
+To put an end to this unsatisfactory situation, \LaTeXe{} has been
+produced; it brings all such extensions back under a single format and
+thus prevents the proliferation of mutually incompatible dialects of
+\LaTeX~2.09. With \LaTeXe{} the `new font selection scheme' is
+standard and, for example, \textsf{amsmath} (formerly the \AmSLaTeX{}
+format) or \textsf{slides} (formerly the \SLiTeX{} format) are simply
+extensions, which may be loaded by documents using the same base format.
+
+The introduction of a new release also made it possible to add a small
+number of often-requested features and to make the task of writing
+packages and classes simpler.
+
+\subsection{\LaTeX3---The long-term future of \LaTeX}
+\label{Sec:ltx3}
+
+\LaTeXe{} is the consolidation step in a comprehensive
+reimplementation of the \LaTeX{} system. The next major release of
+\LaTeX{} will be \LaTeX3, which will include a radical overhaul of the
+document designers' and package writers' interface to \LaTeX.
+
+\LaTeX3 is a long-term research project but, until it is completed,
+the project team are committed to the active maintenance of \LaTeXe{}.
+Thus the experience gained from the production and maintenance of
+\LaTeXe{} will be a major influence on the design of \LaTeX3.
+A brief description of the project can be found in the document
+|ltx3info.tex|.
+
+If you would like to support the project then you are welcome to send
+donations to the \LaTeX3 Project Fund; this has been set up to help
+the research team by financing various expenses associated with this
+voluntary work of maintaining the current \LaTeX{} and developing
+\LaTeX3.
+
+The fund is administered by The \TeX{} Users Group and by various
+local user groups. Information about making donations and joining
+these groups is available from:
+\begin{quote}\small\label{addrs}
+ \texttt{http://www.tug.org/lugs.html}
+\end{quote}
+
+The \LaTeX3{} project has its home page
+on the World Wide Web at:
+\begin{verbatim}
+ http://www.latex-project.org/
+\end{verbatim}
+This page describes \LaTeX{} and the \LaTeX3 project, and contains
+pointers to other \LaTeX{} resources, such as the user guides, the
+\TeX{} Frequently Asked Questions, and the \LaTeX{} bugs database.
+
+Older articles covering aspects of the \LaTeX3 project are also
+available for anonymous ftp from the Comprehensive \TeX{} Archive, in
+the directory:
+\begin{verbatim}
+ ctan:info/ltx3pub
+\end{verbatim}
+The file |ltx3pub.bib| in that directory contains an abstract of each
+of the files.
+
+\subsection{Overview}
+
+This document contains an overview of the new structure and features
+of \LaTeX. It is \emph{not} a self-contained document, as it contains
+only the features of \LaTeX{} which have changed since version 2.09.
+You should read this document in conjunction with an introduction to
+\LaTeX{}.
+
+\begin{description}
+
+\item[Section~\ref{Sec:class+packages}]
+ contains an overview of the new structure of
+ \LaTeX{} documents. It describes how classes and packages work and
+ how class and package options can be used. It lists the standard
+ packages and classes which come with \LaTeX.
+
+\item[Section~\ref{Sec:commands}] describes the new commands available
+ to authors in \LaTeXe.
+
+\item[Section~\ref{Sec:209}] shows how to process old \LaTeX{}
+ documents with \LaTeXe.
+
+\item[Section~\ref{Sec:problems}] contains advice on dealing with
+ problems you may encounter in running \LaTeXe.
+ It lists some error messages which are new in \LaTeXe{} and
+ it describes some of the more common problems and how to cure them,
+ or where to find further information.
+
+\end{description}
+
+\subsection{Further information}
+
+For a general introduction to \LaTeX, including the new features of
+\LaTeXe, you should read \emph{\LaTeXbook}
+by Leslie Lamport~\cite{A-W:LLa94}.
+
+A more detailed description of the new features of \LaTeX, including an
+overview of more than 200 packages and nearly 1000 ready to run examples, is
+to be found in \emph{\LaTeXcomp second edition} by Frank Mittelbach and
+Michel Goossens~\cite{A-W:MG2004}.
+
+Packages and programs for producing and manipulating graphics are
+discussed at length in \emph{\LaTeXGcomp} by Michel Goossens,
+Sebastian Rahtz and Frank Mittelbach~\cite{A-W:GRM97}.
+
+Solutions for publishing with \LaTeX{} on the World Wide Web are given
+in \emph{\LaTeXWcomp} by Michel Goossens and Sebastian
+Rahtz~\cite{A-W:GR99}.
+
+For more information about the many new \LaTeX{} packages you should
+read the package documentation, which should be available from the
+same source as your copy of \LaTeX.
+
+There are a number of documentation files which accompany every copy
+of \LaTeX. A copy of \emph{\LaTeX{} News} will come out with each
+six-monthly release of \LaTeX; it will be found in the files
+|ltnews*.tex|. The class- and package-writer's guide \emph{\clsguide}
+describes the new \LaTeX{} features for writers of document classes
+and packages; it is in |clsguide.tex|. The guide \emph{\fntguide}
+describes the \LaTeX{} font selection scheme for class- and
+package-writers; it is in |fntguide.tex|. Support for Cyrillic languages
+in \LaTeX{} is described in \emph{\cyrguide}.
+
+The documented source code (from the files used to produce the kernel
+format via |latex.ltx|) is now available as
+\emph{The \LaTeXe\ Sources}. ]
+This very large document also includes an index of
+\LaTeX{} commands. It can be typeset from the \LaTeX{} file
+|source2e.tex| in the |base| directory, using the source files and
+the class file |ltxdoc.cls| from this directory.
+
+For more information about \TeX{} and \LaTeX{}, please contact your
+local \TeX{} Users Group, or the international \TeX{} Users Group (see
+page \pageref{addrs}).
+
+
+\section{Classes and packages}
+\label{Sec:class+packages}
+
+This section describes the new structure of \LaTeX{} documents and the
+new types of file: \emph{classes} and \emph{packages}.
+
+\subsection{What are classes and packages?}
+
+The main difference between \LaTeX~2.09 and \LaTeXe{} is in the
+commands before |\begin{document}|.
+
+In \LaTeX~2.09, documents had \emph{styles},
+such as \textsf{article} or \textsf{book}, and \emph{options},
+such as \textsf{twoside} or \textsf{epsfig}.
+These were indicated by the |\documentstyle| command:
+\begin{quote}
+ |\documentstyle|\oarg{options}\arg{style}
+\end{quote}
+For example, to specify a two-sided article with encapsulated
+PostScript figures, you said:
+\begin{verbatim}
+ \documentstyle[twoside,epsfig]{article}
+\end{verbatim}
+However, there were two different types of document style option:
+\emph{built-in options} such as |twoside|; and \emph{packages} such as
+|epsfig.sty|. These were very different, since any \LaTeX{} document
+style could use the \textsf{epsfig} package but only document styles
+which declared the \textsf{twoside} option could use that option.
+
+To avoid this confusion, \LaTeXe{} differentiates between built-in
+options and packages. These are given by the new |\documentclass| and
+|\usepackage| commands:
+\begin{quote}
+ |\documentclass|\oarg{options}\arg{class} \\
+ |\usepackage|\oarg{options}\arg{packages}
+\end{quote}
+For example, to specify a two-sided article with encapsulated
+PostScript figures, you now write:
+\begin{verbatim}
+ \documentclass[twoside]{article}
+ \usepackage{epsfig}
+\end{verbatim}
+You can load more than one package with a single |\usepackage|
+command; for example, rather than writing:
+\begin{verbatim}
+ \usepackage{epsfig}
+ \usepackage{multicol}
+\end{verbatim}
+you can specify:
+\begin{verbatim}
+ \usepackage{epsfig,multicol}
+\end{verbatim}
+Note that \LaTeXe{} still understands the \LaTeX~2.09 |\documentstyle|
+command. This command causes \LaTeXe{} to enter \emph{\LaTeX~2.09
+compatibility mode}, which is described in Section~\ref{Sec:209}.
+
+You should not, however, use the |\documentstyle| command for new
+documents because this compatibility mode is very slow and the new
+features of \LaTeXe{} are not available in this mode.
+
+To help differentiate between classes and packages, document classes
+now end with |.cls| rather than |.sty|. Packages still end with
+|.sty|, since most \LaTeX~2.09 packages work well with \LaTeXe.
+
+\subsection{Class and package options}
+
+In \LaTeX~2.09, only document styles could have options such as
+|twoside| or |draft|. In \LaTeXe{}, both classes and packages are
+allowed to have options. For example, to specify a two-sided article
+with graphics using the |dvips| driver, you write:
+
+\begin{verbatim}
+ \documentclass[twoside]{article}
+ \usepackage[dvips]{graphics}
+\end{verbatim}
+It is possible for packages to share common options. For example,
+you could, in addition, load the \textsf{color} package by specifying:
+\begin{verbatim}
+ \documentclass[twoside]{article}
+ \usepackage[dvips]{graphics}
+ \usepackage[dvips]{color}
+\end{verbatim}
+But because |\usepackage| allows more than one package to be listed,
+this can be shortened to:
+\begin{verbatim}
+ \documentclass[twoside]{article}
+ \usepackage[dvips]{graphics,color}
+\end{verbatim}
+In addition, packages will also use each option given to
+the |\documentclass| command (if they know what to do with it), so you
+could also write:
+\begin{verbatim}
+ \documentclass[twoside,dvips]{article}
+ \usepackage{graphics,color}
+\end{verbatim}
+Class and package options are covered in more detail in
+\emph{\LaTeXcomp} and in \emph{\clsguide}.
+
+\subsection{Standard classes}
+
+The following classes are distributed with \LaTeX:
+\begin{description}
+
+\item[article] The |article| class described in \emph{\LaTeXbook}.
+\item[book] The |book| class described in \emph{\LaTeXbook}.
+\item[report] The |report| class described in \emph{\LaTeXbook}.
+\item[letter] The |letter| class described in \emph{\LaTeXbook}.
+\item[slides] The |slides| class described in \emph{\LaTeXbook},
+ formerly \SLiTeX.
+\item[proc] A document class for proceedings, based on |article|.
+ Formerly the |proc| package.
+\item[ltxdoc] The document class for documenting the \LaTeX{}
+ program, based on |article|.
+\item[ltxguide] The document class for \emph{\usrguide} and
+ \emph{\clsguide}, based on |article|. The document you are reading
+ now uses the |ltxguide| class. The layout for this class is likely
+ to change in future releases of \LaTeX.
+\item[ltnews] The document class for the \emph{\LaTeX{} News}
+ information sheet, based on |article|. The layout for this class
+ is likely to change in future releases of \LaTeX.
+\item[minimal]
+\NEWfeature{1995/12/01}
+ This class is the bare minimum (3 lines) that is needed in a
+ \LaTeX\ class file. It just sets the text width and height, and
+ defines |\normalsize|. It is principally intended for debugging
+ and testing \LaTeX\ code in situations where you do not need to
+ load a `full' class such as |article|. If, however, you are
+ designing a completely new class that is aimed for documents with
+ structure radically different from the structure supplied by the
+ article class, then it may make sense to use this as a base and add
+ to it code implementing the required structure, rather than
+ starting from |article| and modifying the code there.
+\end{description}
+
+\subsection{Standard packages}
+\label{Sec:st-pack}
+
+The following packages are distributed with \LaTeX:
+\begin{description}
+\item[alltt]
+\NEWfeature{1994/12/01}
+ This package provides the |alltt| environment, which is like
+ the |verbatim| environment except that |\|, |{|, and |}|
+ have their usual meanings. It is described in |alltt.dtx| and
+ \emph{\LaTeXbook}.
+\item[doc] This is the basic package for typesetting the documentation
+ of \LaTeX{} programs. It is described in |doc.dtx| and in
+ \emph{\LaTeXcomp}.
+\item[exscale] This provides scaled versions of the math extension
+ font. It is described in |exscale.dtx| and \emph{\LaTeXcomp}.
+ \item[fontenc] This is used to specify which font encoding \LaTeX{}
+ should use. It is described in |ltoutenc.dtx|.
+\item[graphpap]
+\NEWfeature{1994/12/01}
+ This package defines the |\graphpaper| command; this
+ can be used in a |picture| environment.
+\item[ifthen] Provides commands of the form `if\dots then do\dots
+ otherwise do\dots'.
+ It is described in |ifthen.dtx| and \emph{\LaTeXcomp}.
+\item[inputenc]
+\NEWfeature{1994/12/01}
+ This is used to specify which input encoding \LaTeX{} should use.
+ It is described in |inputenc.dtx|.
+\item[latexsym] \LaTeXe{} no longer loads the \LaTeX{} symbol font by
+ default. To access it, you should use the |latexsym| package. It
+ is described in |latexsym.dtx| and in \emph{\LaTeXcomp}; see also
+ Section~\ref{Sec:problems}.
+ \item[makeidx] This provides commands for producing indexes. It is
+ described in \emph{\LaTeXbook} and in \emph{\LaTeXcomp}.
+ \item[newlfont] This is used to emulate the font commands of
+ \LaTeX~2.09 with the New Font Selection Scheme. It is described in
+ \emph{\LaTeXcomp}.
+ \item[oldlfont] This is used to emulate the font commands of
+ \LaTeX~2.09. It is described in \emph{\LaTeXcomp}.
+ \item[showidx]
+ This causes the argument of each |\index| command to
+ be printed on the page where it occurs.
+ It is described in \emph{\LaTeXbook}.
+ \item[syntonly] This is used to process a document without
+ typesetting it. It is described in |syntonly.dtx| and in
+ \emph{\LaTeXcomp}.
+ \item[tracefnt] This allows you to control how much information about
+ \LaTeX's font loading is displayed. It is described in
+ \emph{\LaTeXcomp}.
+\end{description}
+
+\subsection{Related software}
+
+\NEWdescription{1998/12/01}
+The following software should be available from the same distributor
+as your copy of \LaTeXe. You should obtain at least the
+\textsf{graphics} and \textsf{tools} collections in order to have all
+the files described in \emph{\LaTeXbook}. The |amsmath| package (part
+of \textsf{amslatex} and formerly known as |amstex|)
+and \textsf{babel} are also mentioned in the list
+of `standard packages' in section C.5.2 of that book.
+\begin{description}
+\item[amslatex] Advanced mathematical typesetting from the American
+ Mathematical Society. This includes the |amsmath| package; it
+ provides many commands for typesetting mathematical formulas of
+ higher complexity. It is produced and supported by the American
+ Mathematical Society and it is described in \emph{\LaTeXcomp}.
+\item[babel] This package and related files support typesetting in
+ many languages. It is described in \emph{\LaTeXcomp}.
+\item[cyrillic]
+\NEWfeature{1998/12/01}
+ Everything you need (except the fonts themselves) for
+ typesetting with Cyrillic fonts.
+\item[graphics] This includes the |graphics| package which
+ provides support for the inclusion and transformation of graphics,
+ including files produced by other software. Also included, is the
+ |color| package which provides support for typesetting in colour.
+ Both these packages are described in \emph{\LaTeXbook}.
+\item[psnfss] Everything you need (except the fonts themselves) for
+ typesetting with a large range of Type~1 (PostScript) fonts.
+\item[tools] Miscellaneous packages written by the \LaTeX3
+ project team.
+\end{description}
+These packages come with documentation and each of them is also
+described in at least one of the books \emph{\LaTeXcomp} and
+\emph{\LaTeXbook}.
+
+\subsubsection{Tools}
+
+This collection of packages includes, at least, the following (some
+files may have slightly different names on certain systems):
+
+\begin{description}
+\item[array]
+ Extended versions of the environments |array|, |tabular|
+ and |tabular*|, with many extra features.
+\item[calc]
+\NEWfeature{1996/12/01}
+ Enables the use of certain algebraic notation when specifying
+ values for lengths and counters.
+\item[dcolumn]
+ Alignment on `decimal points' in tabular entries. Requires the
+ |array| package.
+\item[delarray]
+ Adds `large delimiters' around arrays. Requires |array|.
+\item[hhline]
+ Finer control over horizontal rules in tables. Requires |array|.
+\item[longtable]
+ Multi-page tables. (Does not require |array|, but it uses the
+ extended features if both are loaded.)
+\item[tabularx]
+ Defines a |tabularx| environment that is similar to |tabular*|
+ but it modifies the column widths, rather than the inter-column
+ space, to achieve the desired table width.
+\item[afterpage]
+ Place text after the current page.
+\item[bm]
+ Access bold math symbols.
+\item[enumerate]
+ Extended version of the |enumerate| environment.
+\item[fontsmpl]
+ Package and test file for producing `font samples'.
+\item[ftnright]
+ Place all footnotes in the right-hand column in two-column mode.
+\item[indentfirst]
+ Indent the first paragraph of sections, etc.
+\item[layout]
+ Show the page layout defined by the current document class.
+\item[multicol]
+ Typeset text in columns, with the length of the columns
+ `balanced'.
+\item[rawfonts]
+ Preload fonts using the old internal font names of \LaTeX~2.09.
+ See Section~\ref{Sec:oldinternals}.
+\item[somedefs]
+ Selective handling of package options. (Used by the rawfonts
+ package.)
+\item[showkeys]
+ Prints the `keys' used by |\label|, |\ref|, |\cite| etc.; useful
+ whilst drafting.
+\item[theorem]
+ Flexible declaration of `theorem-like' environments.
+\item[varioref]
+ `Smart' handling of page references.
+\item[verbatim]
+ Flexible extension of the verbatim environment.
+\item[xr]
+ Cross reference other `external' documents.
+\item[xspace]
+ `Smart space' command that helps you to avoid the common mistake
+ of missing spaces after command names.
+\end{description}
+
+
+\section{Commands}
+\label{Sec:commands}
+
+This section describes the new commands available in \LaTeXe.
+They are covered in more detail in \emph{\LaTeXbook} and in
+\emph{\LaTeXcomp}.
+
+\subsection{Initial commands}
+
+Initial commands can appear only before the |\documentclass|
+line.
+
+\begin{decl}
+|\begin{filecontents}| \arg{file-name} \\
+ \m{file-contents} \\
+|\end{filecontents}|
+\end{decl}
+
+The |filecontents| environment is intended for bundling within a
+single document file the contents of packages, options, or other
+files. When the document file is run through \LaTeXe{} the body of
+this environment is written verbatim (preceded by a comment line) to a
+file whose name is given as the environment's only argument. However,
+if that file already exists then nothing happens except for an
+information message.
+
+Only normal ASCII text characters (7-bit visible text) should be
+included in a |filecontents| environment. Anything else, such as tab
+characters, form-feeds or 8-bit characters, should not be included in a
+|filecontents| environment.
+
+Tabs and form feeds produce a warning, explaining that they are turned
+into spaces or blank lines, respectively.
+What happens to 8-bit characters depends on the \TeX{} installation and
+is in general unpredictable.
+
+The |filecontents| environment is used for including \LaTeX{} files.
+For other plain text files (such as Encapsulated PostScript files),
+you should use the |filecontents*| environment which does not add a
+comment line.
+
+These environments are allowed only before |\documentclass|. This
+ensures that any packages that have been bundled in the document are
+present when needed.
+
+\subsection{Preamble commands}
+\label{Sec:pre}
+
+The changes to the preamble commands are intentionally designed to make
+\LaTeXe{} documents look clearly different from old documents. The
+commands should be used only before |\begin{document}|.
+
+\begin{decl}
+|\documentclass| \oarg{option-list} \arg{class-name}
+ \oarg{release-date}
+\end{decl}
+
+This command replaces the
+\LaTeX~2.09 command |\documentstyle|.
+
+There must be exactly one |\documentclass| command in a document; and
+it must come after the |filecontents| environments, if any, but before
+any other commands.
+
+The \m{option-list} is a list of options, each of which may modify the
+formatting of elements which are defined in the \m{class-name} file,
+as well as those in all following |\usepackage| commands (see
+below).
+
+The optional argument \m{release-date} can be used to specify the
+earliest desired release date of the class file; it should contain a
+date in the format \textsc{yyyy/mm/dd}. If a version of the class
+older than this date is found, a warning is issued.
+
+For example, to specify a two-column article, using a version of
+|article.cls| released after June 1994, you specify:
+\begin{verbatim}
+ \documentclass[twocolumn]{article}[1994/06/01]
+\end{verbatim}
+
+\begin{decl}
+|\documentstyle| \oarg{option-list} \arg{class-name}
+\end{decl}
+
+This command is still supported for compatibility with old files. It
+is essentially the same as |\documentclass| except that it invokes
+\emph{\LaTeX~2.09 compatibility mode}. It also causes any options in
+the \m{option-list} that are not processed by the class file to be
+loaded as packages after the class has been loaded. See
+Section~\ref{Sec:209} for more details on \LaTeX~2.09 compatibility
+mode.
+
+\begin{decl}
+|\usepackage| \oarg{option-list} \arg{package-name} \oarg{release-date}
+\end{decl}
+
+Any number of |\usepackage| commands is allowed. Each package file
+(as denoted by \m{package-name}) defines new elements (or modifies
+those defined in the class file loaded by the \m{class-name} argument
+of the |\documentclass| command). A package file thus extends the
+range of documents which can be processed.
+
+The \m{option-list} argument can contain a list of options, each of
+which can modify the formatting of elements which are defined in this
+\m{package-name} file.
+
+As above, \m{release-date} can contain the earliest desired release
+date of the package file in the format \textsc{yyyy/mm/dd}; if an
+older version of the package is found, a warning is issued.
+
+For example, to load the |graphics| package for the |dvips| driver,
+using a version of |graphics.sty| released after June 1994, you write:
+\begin{verbatim}
+ \usepackage[dvips]{graphics}[1994/06/01]
+\end{verbatim}
+Each package is loaded only once. If the same package is requested
+more than once, nothing happens in the second or following attempt
+unless the package has been requested with options that were not given
+in the original |\usepackage|. If such extra options are specified
+then an error message is produced. See Section~\ref{Sec:problems} how
+to resolve this problem.
+
+As well as processing the options given in the \m{option-list} of the
+|\usepackage| command, each package processes the
+\m{option-list} of the |\documentclass| command as well. This
+means that any option which should be processed by every package (to
+be precise, by every package that specifies an action for it) can be
+specified just once, in the |\documentclass| command, rather than
+being repeated for each package that needs it.
+
+\begin{decl}
+|\listfiles|
+\end{decl}
+
+If this command is placed in the preamble then a list of the files
+read in (as a result of processing the document) will be displayed
+on the terminal (and in the log file) at the end of the run. Where
+possible, a short description will also be produced.
+
+\NEWdescription{1995/12/01}
+\emph{Warning}: this command will list only files which were read
+using \LaTeX{} commands such as |\input|\arg{file} or
+|\include|\arg{file}. If the file was read using the primitive \TeX{}
+syntax |\input |\emph{file} (without |{ }| braces around the file name)
+then it will not be listed; failure to use the \LaTeX{} form with the
+braces can cause more severe problems, possibly leading to overwriting
+important files, so \textbf{always put in the braces}.
+
+
+\begin{decl}
+|\setcounter{errorcontextlines}| \arg{num}
+\end{decl}
+
+\TeX~3 introduced a new primitive |\errorcontextlines| which controls
+the format of error messages. \LaTeXe\ provides an interface to this
+through the standard |\setcounter| command. As most \LaTeX\ users do
+not want to see the internal definitions of \LaTeX\ commands each time
+they make an error, \LaTeXe{} sets this to $-1$ by default.
+
+\subsection{Document structure}
+
+The |book| document class introduces new commands to indicate
+document structure.
+\begin{decl}
+|\frontmatter| \\ |\mainmatter| \\ |\backmatter|
+\end{decl}
+These commands indicate the beginning of the front matter (title page,
+table of contents and prefaces), main matter (main text) and back
+matter (bibliography, indexes and colophon).
+
+\subsection{Definitions}
+
+In \LaTeX, commands can have both mandatory and optional arguments,
+for example in:
+\begin{verbatim}
+ \documentclass[11pt]{article}
+\end{verbatim}
+the |11pt| argument is optional, whereas the |article| class name is
+mandatory.
+
+In \LaTeX~2.09 users could define commands with arguments, but these
+had to be mandatory arguments. With \LaTeXe, users can now define
+commands and environments which also have one optional argument.
+
+\begin{decl}
+|\newcommand| \arg{cmd} \oarg{num} \oarg{default} \arg{definition} \\
+|\newcommand*| \arg{cmd} \oarg{num} \oarg{default} \arg{definition} \\
+|\renewcommand| \arg{cmd} \oarg{num} \oarg{default} \arg{definition} \\
+|\renewcommand*| \arg{cmd} \oarg{num} \oarg{default} \arg{definition}
+\end{decl}
+
+These commands have a new, second, optional argument; this is used for
+defining commands which themselves take one optional argument. This
+new argument is best introduced by means of a simple (and hence not
+very practical) example:
+\begin{verbatim}
+ \newcommand{\example}[2][YYY]{Mandatory arg: #2;
+ Optional arg: #1.}
+\end{verbatim}
+This defines |\example| to be a command with two arguments, referred
+to as |#1| and |#2| in the \arg{definition}---nothing new so far. But
+by adding a second optional argument to this |\newcommand| (the
+|[YYY]|) the first argument (|#1|) of the newly defined command
+|\example| is made optional with its default value being |YYY|.
+
+Thus the usage of |\example| is either:
+\begin{verbatim}
+ \example{BBB}
+\end{verbatim}
+which prints:
+\begin{quote}
+ Mandatory arg: BBB;
+ Optional arg: YYY.
+\end{quote}
+or:
+\begin{verbatim}
+ \example[XXX]{AAA}
+\end{verbatim}
+which prints:
+\begin{quote}
+ Mandatory arg: AAA;
+ Optional arg: XXX.
+\end{quote}
+
+The default value of the optional argument is \texttt{YYY}.
+This value is specified as the \oarg{default} argument of the
+|\newcommand| that created |\example|.
+
+As another more useful example, the definition:
+\begin{verbatim}
+ \newcommand{\seq}[2][n]{\lbrace #2_{0},\ldots,\,#2_{#1} \rbrace}
+\end{verbatim}
+means that the input |$\seq{a}$| produces
+the formula $\lbrace a_{0},\ldots,\,a_{n} \rbrace$,
+whereas the input |$\seq[k]{x}$| produces the formula
+$\lbrace x_{0},\ldots,\,x_{k} \rbrace$.
+
+In summary, the command:
+\begin{quote}
+ |\newcommand| \arg{cmd} \oarg{num} \oarg{default} \arg{definition}
+\end{quote}
+defines \m{cmd} to be a command with \m{num} arguments, the first of
+which is optional and has default value \m{default}.
+
+Note that there can only be one optional argument but, as before,
+there can be up to nine arguments in total.
+
+\begin{decl}
+|\newenvironment|
+ \arg{cmd} \oarg{num} \oarg{default} \arg{beg-def} \arg{end-def} \\
+|\newenvironment*|
+ \arg{cmd} \oarg{num} \oarg{default} \arg{beg-def} \arg{end-def} \\
+|\renewenvironment|
+ \arg{cmd} \oarg{num} \oarg{default} \arg{beg-def} \arg{end-def} \\
+|\renewenvironment*|
+ \arg{cmd} \oarg{num} \oarg{default} \arg{beg-def} \arg{end-def}
+\end{decl}
+
+\LaTeXe\ also supports the creation of environments that have one
+optional argument. Thus the syntax of these two commands has
+been extended in the same way as that of |\newcommand|.
+
+\begin{decl}
+|\providecommand| \arg{cmd} \oarg{num} \oarg{default} \arg{definition} \\
+|\providecommand*| \arg{cmd} \oarg{num} \oarg{default} \arg{definition}
+\end{decl}
+
+This takes the same arguments as |\newcommand|. If \m{cmd} is already
+defined then the existing definition is kept; but if it is currently
+undefined then the effect of |\providecommand| is to define \m{cmd}
+just as if |\newcommand| had been used.
+
+\NEWfeature{1994/12/01}
+ All the above five `defining commands' now have \texttt{*}-forms that
+ are usually the better form to use when defining commands with
+ arguments, unless any of these arguments is intended to contain
+ whole paragraphs of text. Moreover, if you ever do find yourself
+ needing to use the non-star form then you should ask whether
+ that argument would not better be treated as the contents of a
+ suitably defined environment.
+
+\NEWfeature{1995/12/01}
+ The commands produced by the above five `defining commands' are
+ now robust.
+
+\subsection{Boxes}
+
+These next three commands for making LR-boxes all existed in
+\LaTeX~2.09. They have been enhanced in two ways.
+
+\begin{decl}
+|\makebox| \oarg{width} \oarg{pos} \arg{text} \\
+|\framebox| \oarg{width} \oarg{pos} \arg{text} \\
+|\savebox| \arg{cmd} \oarg{width} \oarg{pos} \arg{text}
+\end{decl}
+
+One small but far-reaching change for \LaTeXe\ is that, within the
+\m{width} argument only, four special lengths can be used. These are
+all dimensions of the box that would be produced by using simply
+|\mbox|\arg{text}:
+\begin{itemize}
+\item [] |\height|\quad its height above the baseline;
+\item [] |\depth|\quad its depth below the baseline;
+\item [] |\totalheight|\quad the sum of |\height| and |\depth|;
+\item [] |\width|\quad its width.
+\end{itemize}
+Thus, to put `hello' in the centre of a box of twice its natural
+width, you would use:
+\begin{verbatim}
+ \makebox[2\width]{hello}
+\end{verbatim}
+Or you could put \textit{f} into a square box, like
+this:
+ \framebox{\makebox[\totalheight]{\itshape f\/}}
+\begin{verbatim}
+ \framebox{\makebox[\totalheight]{\itshape f\/}}
+\end{verbatim}
+Note that it is the total width of the framed box, including the
+frame, which is set to |\totalheight|.
+
+The other change is a new possibility for \m{pos}: |s| has been added
+to |l| and |r|. If \m{pos} is |s| then the text is stretched the full
+length of the box, making use of any `rubber lengths' (including any
+inter-word spaces) in the contents of the box. If no such `rubber
+length' is present, an `underfull box' will probably be produced.
+
+\begin{decl}
+|\parbox| \oarg{pos} \oarg{height} \oarg{inner-pos} \arg{width}
+ \arg{text} \\
+|\begin{minipage}|
+ \oarg{pos} \oarg{height} \oarg{inner-pos} \arg{width}\\
+\m{text}\\
+|\end{minipage}|
+\end{decl}
+
+As for the box commands above, |\height|, |\width|, etc.~may be used
+in the \oarg{height} argument to denote the natural dimensions of the
+box.
+
+The \m{inner-pos} argument is new in \LaTeXe. It is the vertical
+equivalent to the \m{pos} argument for |\makebox|, etc, determining
+the position of \m{text} within the box. The \m{inner-pos} may be any
+one of |t|, |b|, |c|, or |s|, denoting top, bottom, centered, or
+`stretched' alignment respectively. When the \m{inner-pos} argument
+is not specified, \LaTeX\ gives it same value as \m{pos} (this could be
+the latter's default value).
+
+
+\begin{decl}
+|\begin{lrbox}| \arg{cmd}\\
+\m{text}\\
+|\end{lrbox}|
+\end{decl}
+
+This is an environment which does not directly print anything.
+Its effect is to save the typeset \m{text} in the bin \m{cmd}. Thus
+it is like |\sbox| \arg{cmd} \arg{text}, except that any white space
+before or after the contents \m{text} is ignored.
+
+This is very useful as it enables both the |\verb| command and the
+\texttt{verbatim} environment to be used within \m{text}.
+
+It also makes it possible to define, for example, a `framed box'
+environment. This is done by first using this environment to save
+some text in a bin \m{cmd} and then calling
+|\fbox{\usebox{|\m{cmd}|}}|.
+
+The following example defines an environment, called |fmpage|, that is
+a framed version of |minipage|.
+\begin{verbatim}
+ \newsavebox{\fmbox}
+ \newenvironment{fmpage}[1]
+ {\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
+ {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}
+\end{verbatim}
+
+
+\subsection{Measuring things}
+
+The first of these next commands was in \LaTeX~2.09. The two new
+commands are the obvious analogues.
+
+\begin{decl}
+|\settowidth| \arg{length-cmd} \arg{lr text} \\
+|\settoheight| \arg{length-cmd} \arg{lr text} \\
+|\settodepth| \arg{length-cmd} \arg{lr text}
+\end{decl}
+
+\subsection{Line endings}
+
+\NEWdescription{1994/12/01}
+The command |\\|, which is used to indicate a line-end in various
+places, is now a robust command when used within arguments such as
+section titles.
+
+Also, because it is often necessary to distinguish which type of line
+is to be ended, we have introduced the following new command; it
+has the same argument syntax as that of |\\|.
+\begin{decl}[1994/12/01]
+|\tabularnewline| \oarg{vertical-space}
+\end{decl}
+One example of its use is when the text in the last
+column of a |tabular| environment is set with |\raggedright|; then
+|\tabularnewline| can be used to indicate the end of a row of the
+|tabular|, whilst |\\| will indicate the end of a line of text in a
+paragraph within the column. This command can be used in the |array|
+environment as well as |tabular|, and also the extended versions of
+these environments offered by the \textsf{array} and \textsf{longtable}
+packages in the tools collection.
+
+\subsection{Controlling page breaks}
+
+Sometimes it is necessary, for a final version of a document, to
+`help' \LaTeX\ break the pages in the best way. \LaTeX~2.09 had a
+variety of commands for this situation: |\clearpage|, |\pagebreak|
+etc. \LaTeXe\ provides, in addition, commands which can produce
+longer pages as well as shorter ones.
+
+
+\begin{decl}
+|\enlargethispage| \arg{size} \\
+|\enlargethispage*| \arg{size}
+\end{decl}
+
+These commands increase the height of a page (from its normal value of
+|\textheight|) by the specified amount \m{size}, a rigid length. This
+change affects \emph{only} the current page.
+
+This can be used, for example, to allow an extra line to be fitted
+onto the page or, with a negative length, to produce a page
+shorter than normal.
+
+The star form also shrinks any vertical white space on the page as
+much as possible, so as to fit the maximum amount of text on the
+page.
+
+\NEWdescription{1995/12/01}
+These commands do not change the position of the footer text; thus, if
+a page is lengthened too far, the main text may overprint the footer.
+
+\subsection{Floats}
+
+There is a new command, |\suppressfloats|, and a new `float
+specifier'. These will enable people to gain better
+control of \LaTeX's float placement algorithm.
+
+\begin{decl}
+|\suppressfloats| \oarg{placement}
+\end{decl}
+
+This command stops any further floating environments from being placed
+on the current page. With an optional argument, which should be either
+|t| or |b| (not both), this restriction applies only to putting
+further floats at the top or at the bottom. Any floats which would
+normally be placed on this page are placed on the next page instead.
+
+\begin{decl}
+The extra float location specifier: \ \texttt{!}
+\end{decl}
+
+This can be used, along with at least one of \texttt{h}, \texttt{t},
+\texttt{b} and \texttt{p}, in the location optional argument of a
+float.
+
+If a \texttt{!} is present then, just for this particular float,
+whenever it is processed by the float mechanism the following are
+ignored:
+\begin{itemize}
+\item all restrictions on the number of floats which can appear;
+\item all explicit restrictions on the amount of space on a text page
+which may be occupied by floats or must be occupied by text.
+\end{itemize}
+The mechanism will, however, still attempt to ensure that pages are
+not overfull and that floats of the same type are printed in the
+correct order.
+
+Note that its presence has no effect on the production of float pages.
+
+A \texttt{!} specifier overrides the effect of any |\suppressfloats|
+command for this particular float.
+
+\subsection{Font changing: text}
+
+The font selection scheme used in \LaTeXe{} differs a lot from that
+used in \LaTeX~2.09. In this section, we give a brief description of
+the new commands. A more detailed description with examples is given
+in \emph{\LaTeXcomp}, and the interface for class- and package-writers
+is described in \emph{\fntguide}.
+
+\begin{decl}
+|\normalfont|\\
+|\rmfamily|\\
+|\sffamily|\\
+|\ttfamily|\\
+|\mdseries|\\
+|\bfseries|\\
+|\upshape|\\
+|\itshape|\\
+|\slshape|\\
+|\scshape|
+\end{decl}
+
+These are font commands whose use is the same as the commands |\rm|,
+|\bf|, etc. The difference is that each command changes just one
+attribute of the font (the attribute changed is part of the name).
+One result of this is that, for example, |\bfseries\itshape| produces
+both a change of series and a change of shape, to give a bold italic
+font.
+
+\begin{decl}
+|\textnormal|\arg{text}\\
+|\textrm|\arg{text}\\
+|\textsf|\arg{text}\\
+|\texttt|\arg{text}\\
+|\textmd|\arg{text}\\
+|\textbf|\arg{text}\\
+|\textup|\arg{text}\\
+|\textit|\arg{text}\\
+|\textsl|\arg{text}\\
+|\textsc|\arg{text}\\
+|\emph|\arg{text}
+\end{decl}
+
+These are one-argument commands; they take as an argument the
+text which is to be typeset in the particular font. They also
+automatically insert italic corrections where appropriate; if you do
+not like the result, you can add an italic correction with |\/| or
+remove it with |\nocorr|. The |\nocorr| should always be the first or
+last thing within the \arg{text} argument.
+
+\subsection{Font changing: math}
+
+Most of the fonts used within math mode do not need to be explicitly
+invoked; but to use letters from a range of fonts, the following
+class of commands is provided.
+
+\begin{decl}
+|\mathrm| \arg{letters}\\
+|\mathnormal| \arg{letters}\\
+|\mathcal| \arg{letters}\\
+|\mathbf| \arg{letters}\\
+|\mathsf| \arg{letters}\\
+|\mathtt| \arg{letters}\\
+|\mathit| \arg{letters}
+\end{decl}
+
+These are also one-argument commands which take as an argument the
+letters which are to be typeset in the particular font. The argument
+is processed in math mode so spaces within it will be ignored. Only
+letters, digits and accents have their font changed, for example
+|$\mathbf{\tilde A \times 1}$| produces $\mathbf{\tilde A \times 1}$.
+
+\subsection{Ensuring math mode}
+
+\begin{decl}
+|\ensuremath| \arg{math commands}
+\end{decl}
+
+In \LaTeX~2.09, if you wanted a command to work both in math mode and
+in text mode, the suggested method was to define something like:
+\begin{verbatim}
+ \newcommand{\Gp}{\mbox{$G_p$}}
+\end{verbatim}
+Unfortunately, the |\mbox| stops |\Gp| changing size correctly in (for
+instance) subscripts or a fraction.
+
+In \LaTeXe{} you can define it thus:
+\begin{verbatim}
+ \newcommand{\Gp}{\ensuremath{G_p}}
+\end{verbatim}
+Now |\Gp| will work correctly in all contexts.
+
+This is because the |\ensuremath| does nothing, producing simply
+|G_p|, when |\Gp| is used within math mode; but it ensures that math
+mode is entered (and exited) as required when |\Gp| is used in text
+mode.
+
+
+\subsection{Setting text superscripts}
+
+\begin{decl}
+|\textsuperscript| \arg{text}
+\end{decl}
+
+\NEWfeature{1995/06/01} In \LaTeX~2.09 textual superscripts such as
+footnote markers were produced by internally entering math mode and
+typesetting the number as a math superscript. This normally looked
+fine since the digits in math fonts are the same as those in text
+fonts when Computer Modern fonts are used. But when a different
+document font (such as Times) is selected, the results look rather
+strange. For this reason the command |\textsuperscript| has been
+introduced which typesets its argument in the current text font, in a
+superscript position and in the correct size.
+
+\subsection{Text commands: all encodings}
+
+\NEWdescription{1994/12/01}
+ One of the main differences between \LaTeXe{} and \LaTeX~2.09 is
+ that \LaTeXe{} can deal with fonts in arbitrary \emph{encodings}.
+ (A font encoding is the sequence of characters in the font---for
+ example a Cyrillic font would have a different encoding from a Greek
+ font.)
+
+ The two major font encodings that are used for Latin languages such
+ as English or German are |OT1| (Donald Knuth's 7-bit encoding, which
+ has been used during most of \TeX's lifetime) and |T1| (the new
+ 8-bit `Cork' encoding).
+
+ \LaTeX~2.09 only supported the |OT1| encoding, whereas \LaTeXe{} has
+ support for both |OT1| and |T1| built-in. The next section will
+ cover the new commands which are available if you have |T1|-encoded
+ fonts. This section describes new commands which are available in
+ all encodings.
+
+ Most of these commands provide characters which were available in
+ \LaTeX~2.09 already. For example |\textemdash| gives an `em dash',
+ which was available in \LaTeX~2.09 by typing |---|. However, some
+ fonts (for example a Greek font) may not have the |---| ligature,
+ but you will still be able to access an em dash by typing
+ |\textemdash|.
+
+\begin{decl}[1994/12/01]
+ |\r{<text>}|
+\end{decl}
+ This command gives a `ring' accent, for example `\r{o}' can be typed
+ |\r{o}|.
+
+\begin{decl}[1994/12/01]
+ |\SS|
+\end{decl}
+ This command produces a German `SS', that is a capital `\ss'. This
+ letter can hyphenate differently from `SS', so is needed for entering
+ all-caps German.
+
+\begin{decl}[1994/12/01]
+ |\textcircled{<text>}|
+\end{decl}
+ This command is used to build `circled characters' such as
+ |\copyright|. For example |\textcircled{a}| produces
+ \textcircled{a}.
+
+\begin{decl}[1994/12/01]
+ |\textcompwordmark|
+\end{decl}
+ This command is used to separate letters which would normally
+ ligature. For example `f\textcompwordmark i' is produced with
+ |f\textcompwordmark i|. Note that the `f' and `i' have not
+ ligatured to produce `fi'. This is rarely useful in English
+ (`shelf\textcompwordmark ful' is a rare example of where it might be
+ used) but is used in languages such as German.
+
+\begin{decl}[1994/12/01]
+ |\textvisiblespace|
+\end{decl}
+ This command produces a `visible space' character
+ `\textvisiblespace'. This is sometimes used in computer listings,
+ for example `type \textsf{hello\textvisiblespace world}'.
+
+\begin{decl}[1994/12/01]
+ |\textemdash|
+ |\textendash|
+ |\textexclamdown|
+ |\textquestiondown| \\
+ |\textquotedblleft|
+ |\textquotedblright|
+ |\textquoteleft|
+ |\textquoteright|
+\end{decl}
+ These commands produce characters which would otherwise be
+ accessed via ligatures:
+ \begin{center}
+ \begin{tabular}{ccl}
+ \emph{ligature} & \emph{character} & \emph{command} \\
+ |---| & --- & |\textemdash| \\
+ |--| & -- & |\textendash| \\
+ |!`| & !` & |\textexclamdown| \\
+ |?`| & ?` & |\textquestiondown| \\
+ |``| & `` & |\textquotedblleft| \\
+ |''| & '' & |\textquotedblright| \\
+ |`| & ` & |\textquoteleft| \\
+ |'| & ' & |\textquoteright|
+ \end{tabular}
+ \end{center}
+ The reason for making these characters directly accessible is so
+ that they will work in encodings which do not have these characters.
+
+\begin{decl}[1994/12/01]
+ |\textbullet|
+ |\textperiodcentered|
+\end{decl}
+ These commands allow access to characters which were previously only
+ available in math mode:
+ \begin{center}
+ \begin{tabular}{lcl}
+ \emph{math command} & \emph{character} & \emph{text command} \\
+ |\bullet| & $\bullet$ & |\textbullet| \\
+ |\cdot| & $\cdot$ & |\textperiodcentered|
+ \end{tabular}
+ \end{center}
+
+\begin{decl}[1995/12/01]
+ |\textbackslash|
+ |\textbar|
+ |\textless|
+ |\textgreater|
+\end{decl}
+ These commands allow access to ASCII characters which were
+ only available in verbatim or math mode:
+ \begin{center}
+ \begin{tabular}{lcl}
+ \emph{math command} & \emph{character} & \emph{text command} \\
+ |\backslash| & $\backslash$ & |\textbackslash| \\
+ |\mid| & $\mid$ & |\textbar| \\
+ |<<| & $<$ & |\textless| \\
+ |>>| & $>$ & |\textgreater|
+ \end{tabular}
+ \end{center}
+
+\begin{decl}[1995/12/01]
+ |\textasciicircum|
+ |\textasciitilde|
+\end{decl}
+ These commands allow access to ASCII characters which were
+ previously only available in verbatim:
+ \begin{center}
+ \begin{tabular}{cl}
+ \emph{verbatim} & \emph{text command} \\
+ |^| & |\textasciicircum| \\
+ |~| & |\textasciitilde|
+ \end{tabular}
+ \end{center}
+
+\begin{decl}[1995/12/01]
+ |\textregistered|
+ |\texttrademark|
+\end{decl}
+ These commands provide the `registered trademark' (R) and
+ `trademark' (TM) symbols.
+
+\subsection{Text commands: the T1 encoding}
+
+\NEWdescription{1994/12/01}
+ The |OT1| font encoding is fine for typesetting in English, but has
+ problems when typesetting other languages. The |T1| encoding solves
+ some of these problems, by providing extra characters (such as `eth'
+ and `thorn'), and it allows words containing accented letters to be
+ hyphenated (as long as you have a package like |babel| which allows
+ for non-American hyphenation).
+
+ This section describes the commands you can use if you have the |T1|
+ fonts. To use them, you need to get the `ec fonts', or the
+ |T1|-encoded PostScript fonts, as used by \textsf{psnfss}.
+ All these fonts are
+ available by anonymous ftp in the Comprehensive \TeX{} Archive, and
+ are also available on the CD-ROMs \emph{4all \TeX} and
+ \emph{\TeX{} Live} (both available from the \TeX{} Users Group).
+
+ You can then select the |T1| fonts by saying:
+\begin{verbatim}
+ \usepackage[T1]{fontenc}
+\end{verbatim}
+ This will allow you to use the commands in this section.
+
+ \emph{Note:} Since this document must be processable on any site
+ running an up-to-date \LaTeX, it does not contain any characters
+ that are present only in |T1|-encoded fonts. This means that this
+ document cannot show you what these glyphs look like! If you want
+ to see them then run \LaTeX{} on the document |fontsmpl| and
+ respond `|cmr|' when it prompts you for a family name.
+
+\begin{decl}[1994/12/01]
+ |\k{<text>}|
+\end{decl}
+ This command produces an `ogonek' accent.
+
+\begin{decl}[1994/12/01]
+ |\DH|
+ |\DJ|
+ |\NG|
+ |\TH|
+ |\dh|
+ |\dj|
+ |\ng|
+ |\th|
+\end{decl}
+ These commands produce characters `eth', `dbar', `eng', and `thorn'.
+
+\begin{decl}[1994/12/01]
+ |\guillemotleft|
+ |\guillemotright|
+ |\guilsinglleft|
+ |\guilsinglright| \\
+ |\quotedblbase|
+ |\quotesinglbase|
+ |\textquotedbl|
+\end{decl}
+ % A local hack (could be improved):
+ \newcommand{\fauxguillemet}[1]{$\vcenter{\hbox{$\scriptscriptstyle#1$}}$}
+ These commands produce various sorts of quotation mark.
+ Rough representations of them are:
+ \fauxguillemet\ll a\fauxguillemet\gg{}
+ \fauxguillemet<a\fauxguillemet>
+ ,\kern -0.1em,\kern 0.05em a\kern -0.05em``
+ ,\kern 0.05em a\kern -0.05em` and |"|a|"|.
+
+\NEWdescription{2001/06/01}
+ There are therefore some extra short-form ligatures available for
+ use in documents that will only be used with |T1|-encoded fonts.
+
+ The guillemets |\guillemotleft| and |\guillemotright|%
+ \footnote{We apologise once again for maintaining Adobe's
+ enormous solipsism~(sic) of confusing a diving bird with
+ punctuation marks!}
+ can be obtained by typing |<<<<| and |>>>>| and |\quotedblbase|
+ by typing |,,|\,.
+
+ Also, unlike the unexpected results with
+ |OT1|-encoded fonts, |<<| and |>>| will produce \textless{} and
+ \textgreater{}.
+
+ Note also that the single character |"| will no longer produce ''
+ but rather |\textquotedbl|.
+
+\subsection{Logos}
+
+\begin{decl}
+|\LaTeX|\\
+|\LaTeXe|
+\end{decl}
+
+|\LaTeX| (producing `\LaTeX') is still the `main' logo command,
+but if you need to refer to the new features, you can write
+|\LaTeXe| (producing `\LaTeXe').
+
+\subsection{Picture commands}
+
+\begin{decl}
+ |\qbezier[<N>](<AX>,<AY>)(<BX>,<BY>)(<CX>,<CY>)| \\
+ | \bezier{<N>}(<AX>,<AY>)(<BX>,<BY>)(<CX>,<CY>)|
+\end{decl}
+The |\qbezier| command can be used in |picture| mode to draw a
+quadratic Bezier curve from position |(<AX>,<AY>)| to |(<CX>,<CY>)| with
+control point |(<BX>,<BY>)|. The optional argument \m{N} gives the
+number of points on the curve.
+
+For example, the diagram:
+\begin{center}
+ \begin{picture}(50,50)
+ \thicklines
+ \qbezier(0,0)(0,50)(50,50)
+ \qbezier[20](0,0)(50,0)(50,50)
+ \thinlines
+ \put(0,0){\line(1,1){50}}
+ \end{picture}
+\end{center}
+is drawn with:
+\begin{verbatim}
+ \begin{picture}(50,50)
+ \thicklines
+ \qbezier(0,0)(0,50)(50,50)
+ \qbezier[20](0,0)(50,0)(50,50)
+ \thinlines
+ \put(0,0){\line(1,1){50}}
+ \end{picture}
+\end{verbatim}
+The |\bezier| command is the same, except that the argument \m{N} is not
+optional. It is provided for compatibility with the \LaTeX~2.09
+|bezier| document style option.
+
+\subsection{Old commands}
+
+\begin{decl}
+|\samepage|
+\end{decl}
+
+The |\samepage| command still exists but is no longer being
+maintained.
+This is because it only ever worked erratically; it does not
+guarantee that there will be no page-breaks within its scope; and
+it can cause footnotes and marginals to be wrongly placed.
+
+We recommend using |\enlargethispage| in conjunction with page-break
+commands such as |\newpage| and |\pagebreak| to help control page
+breaks.
+
+\begin{decl}
+ |\SLiTeX|
+\end{decl}
+Since \SLiTeX{} no longer exists, the logo is no longer defined in the
+\LaTeX{} kernel. A suitable replacement is |\textsc{Sli\TeX}|. The
+\SLiTeX{} logo is defined in \LaTeX~2.09 compatibility mode.
+
+\begin{decl}
+|\mho| |\Join| |\Box| |\Diamond| |\leadsto| \\
+|\sqsubset| |\sqsupset| |\lhd| |\unlhd| |\rhd| |\unrhd|
+\end{decl}
+
+These symbols are contained in the \LaTeX{} symbol font, which was
+automatically loaded by \LaTeX~2.09. However, \TeX{} has room for
+only sixteen math font families; thus many users discovered that they
+ran out. Because of this, \LaTeX{} does not load the \LaTeX{} symbol
+font unless you use the \textsf{latexsym} package.
+
+These symbols are also made available, using different fonts, by the
+\textsf{amsfonts} package, which also defines a large number of other
+symbols. It is supplied by the American Mathematical Society.
+
+The \textsf{latexsym} package is loaded automatically in \LaTeX~2.09
+compatibility mode.
+
+\section{\LaTeX~2.09 documents}
+\label{Sec:209}
+
+\LaTeXe{} can process (almost) any \LaTeX~2.09 document, by entering
+\emph{\LaTeX~2.09 compatibility mode}. Nothing has changed, you run
+\LaTeX{} in the same way you always did, and you will get much the
+same results.
+
+The reason for the `almost' is that some \LaTeX~2.09 packages made use
+of low-level unsupported features of \LaTeX. If you discover such a
+package, you should find out if it has been updated to work with
+\LaTeXe. Most packages will still work with \LaTeXe---the easiest way
+to find out whether a package still works is to try it!
+
+\LaTeX~2.09 compatibility mode is a comprehensive emulation of
+\LaTeX~2.09, but at the cost of time. Documents can run up to 50\%
+slower in compatibility mode than they did under \LaTeX~2.09.
+In addition, many of the new features of \LaTeXe{} are not available in
+\LaTeX~2.09 compatibility mode.
+
+\subsection{Warning}
+
+\NEWdescription{1995/12/01}
+This \emph{\LaTeX~2.09 compatibility mode} is provided solely to allow
+you to process 2.09 documents, i.e.~documents that were written (we
+hope, a long time ago) for a very old system and therefore could be
+processed by using a genuine antique \LaTeX~2.09 system.
+
+This mode is therefore \emph{not} intended to provide access to the
+enhanced features of \LaTeXe{}. Thus it must not be used to process
+new documents which masquerade as 2.09 documents (i.e.~they begin with
+|\documentstyle|) but which could not be processed using that genuine
+antique \LaTeX~2.09 system because they contain some new,
+\LaTeXe{}-only, commands or environments.
+
+To prevent such misuse of the system, and the consequent trouble it
+causes when such misleadingly encoded documents are distributed, the
+\emph{\LaTeX~2.09 compatibility mode} turns off most of these new
+features and commands. Any attempt to use them will give you an error
+message and, moreover, many of them simply will not work, whilst
+others will produce unpredictable results.
+So don't bother sending us any bug reports about such occurrences since
+they are intentional.
+
+
+\subsection{Font selection problems}
+\label{Sec:fsprob}
+
+When using compatibility mode, it is possible that you will find
+problems with font-changing commands in some old documents. These
+problems are of two types:
+
+\begin{itemize}
+\item producing error messages;
+\item not producing the font changes you expected.
+\end{itemize}
+
+In case of error messages it is possible that the document (or an old
+style file used therein) contains references to old internal commands
+which are no longer defined, see Section~\ref{Sec:oldinternals} for
+more information if this is the case.
+
+\NEWdescription{1995/12/01}
+One example of the unexpected is if you use one of the new style of
+math-mode font changing command as follows:
+\begin{verbatim}
+$ \mathbf{xy} A $
+\end{verbatim}
+You may well find that this behaves as if you had put:
+\begin{verbatim}
+$ \bf {xy} A $
+\end{verbatim}
+everything including the $A$ coming out bold.
+
+\LaTeX~2.09 allowed sites to customize their \LaTeX{} installation,
+which resulted in documents producing different results on different
+\LaTeX{} installations. \LaTeXe{} no longer allows so much
+customization but, for compatibility with old documents, the local
+configuration file |latex209.cfg| is loaded every time \LaTeXe{}
+enters \LaTeX~2.09 compatibility mode.
+
+For example, if your site was customized to use the New Font
+Selection Scheme (\NFSS) with the |oldlfont| option, then you can
+make \LaTeXe{} emulate this by creating a |latex209.cfg| file
+containing the commands:
+\begin{verbatim}
+\ExecuteOptions{oldlfont}\RequirePackage{oldlfont}
+\end{verbatim}
+Similarly, to emulate \NFSS{} with the |newlfont| option, you can
+create a |latex209.cfg| file containing:
+\begin{verbatim}
+\ExecuteOptions{newlfont}\RequirePackage{newlfont}
+\end{verbatim}
+
+
+\subsection{Native mode}
+\label{Sec:native}
+
+To run an old document faster, and use the new features of
+\LaTeXe, you should try using \emph{\LaTeXe{} native mode}.
+This is done by replacing the command:
+\begin{quote}
+ |\documentstyle[|\m{options}|,|\m{packages}|]|\arg{class}
+\end{quote}
+with:
+\begin{quote}
+ |\documentclass|\oarg{options}\arg{class} \\
+ |\usepackage{latexsym,|\m{packages}|}|
+\end{quote}
+However, some documents which can be processed in \LaTeX~2.09
+compatibility mode may not work in native mode. Some \LaTeX~2.09
+packages will only work with \LaTeXe{} in 2.09 compatibility mode.
+Some documents will cause errors because of \LaTeXe's improved error
+detection abilities.
+
+But most \LaTeX~2.09 documents can be processed by \LaTeXe{}'s native
+mode with the above change. Again, the easiest way to find out
+whether your documents can be processed in native mode is to try it!
+
+
+\section{Local modifications}
+\label{sec:loc}
+
+\NEWdescription{1995/12/01}
+There are two common types of local modifications that can be done
+very simply. Do not forget that documents produced using such
+modifications will not be usable at other places (such documents are
+called `non-portable').
+
+One type of modification is the use of personal commands for commonly
+used symbols or constructions. These should be put into a package
+file (for example, one called \texttt{mymacros.sty}) and loaded by
+putting |\usepackage{mymacros}| in the document preamble.
+
+Another type is a local document class that is very similar to one of
+the standard classes but contains some straightforward modifications
+such as extra environments, different values for some parameters, etc.
+These should be put into a class file; here we shall describe a simple
+method of constructing such a file using, as an example, a class
+called \textsf{larticle} that is very similar to the \textsf{article}
+class.
+
+\NEWfeature{1995/12/01}
+The class file called \texttt{larticle.cls} should (after the
+preliminary identification commands) start as follows:
+\begin{verbatim}
+ \LoadClassWithOptions{article}
+\end{verbatim}
+This command should be followed by whatever additions and changes you
+wish to make to the results of reading in the file
+\texttt{article.sty}.
+
+The effect of using the above |\LoadClassWithOptions| command is to
+load the standard class file \textsf{article} with whatever options
+are asked for by the document. Thus a document using your
+\textsf{larticle} class can specify any option that could be specified
+when using the standard \textsf{article} class; for example:
+\begin{verbatim}
+ \documentclass[a4paper,twocolumn,dvips]{larticle}
+\end{verbatim}
+
+
+\section{Problems}
+\label{Sec:problems}
+
+This section describes some of the things which may go wrong when
+using \LaTeXe, and what you can do about it.
+
+\subsection{New error messages}
+
+\LaTeXe{} has a number of new error messages.
+Please also note that many error messages now produce further helpful
+information if you press |h| in response to the error prompt.
+
+\begin{decl}
+|Option clash for package |\m{package}|.|
+\end{decl}
+The named package has been loaded twice with different options. If
+you enter |h| you will be told what the options were, for example, if
+your document contained:
+\begin{verbatim}
+ \usepackage[foo]{fred}
+ \usepackage[baz]{fred}
+\end{verbatim}
+then you will get the error message:
+\begin{verbatim}
+ Option clash for package fred.
+\end{verbatim}
+and typing |h| at the |?| prompt will give you:
+\begin{verbatim}
+ The package fred has already been loaded with options:
+ [foo]
+ There has now been an attempt to load it with options:
+ [baz]
+ Adding the line:
+ \usepackage[foo,baz]{fred}
+ to your document may fix this.
+ Try typing <<return>> to proceed.
+\end{verbatim}
+The cure is, as suggested, to load the package with both sets of
+options. Note that since \LaTeX{} packages can call other packages,
+it is possible to get a package option clash without explicitly
+requesting the same package twice.
+
+\begin{decl}
+ |Command |\m{command}| not provided in base NFSS.|
+\end{decl}
+The \m{command} is not provided by default in \LaTeXe. This error is
+generated by using one of the commands:
+\begin{verbatim}
+ \mho \Join \Box \Diamond \leadsto
+ \sqsubset \sqsupset \lhd \unlhd \rhd \unrhd
+\end{verbatim}
+which are now part of the \textsf{latexsym} package.
+The cure is to add:
+\begin{verbatim}
+ \usepackage{latexsym}
+\end{verbatim}
+in the preamble of your document.
+
+\begin{decl}
+ |LaTeX2e command <command> in LaTeX 2.09 document.|
+\end{decl}
+The \m{command} is a \LaTeXe{} command but this is a \LaTeX~2.09
+document. The cure is to replace the command by a \LaTeX~2.09
+command, or to run document in native mode, as described in
+Section~\ref{Sec:native}.
+
+\begin{decl}
+ |NFSS release 1 command \newmathalphabet found.|
+\end{decl}
+The command |\newmathalphabet| was used by the New Font Selection
+Scheme Release 1 but it has now been replaced by
+|\DeclareMathAlphabet|, the use of which is described in
+\emph{\fntguide}.
+
+The best cure is to update the package which contained the
+|\newmathalphabet| command. Find out if there is a new release of
+the package, or (if you wrote the package yourself) consult
+\emph{\fntguide} for the new syntax of font commands.
+
+If there is no updated version of the package then you can cure this
+error by using the \textsf{newlfont} or \textsf{oldlfont} package,
+which tells \LaTeX{} which version of |\newmathalphabet| should be
+emulated.
+
+You should use \textsf{oldlfont} if the document selects math fonts with
+syntax such as this:
+\begin{quote}
+ |{\cal A}|, etc.
+\end{quote}
+Use \textsf{newlfont} if the document's syntax is like this:
+\begin{quote}
+ |\cal{A}|, etc.
+\end{quote}
+
+
+\begin{decl}
+ |Text for \verb command ended by end of line.|
+\end{decl}
+The |\verb| command has been begun but not ended on that line. This
+usually means that you have forgotten to put in the end-character of
+the |\verb| command.
+
+\begin{decl}
+ |Illegal use of \verb command.|
+\end{decl}
+The |\verb| command has been used inside the argument of another
+command. This has never been allowed in \LaTeX{}---often producing
+incorrect output without any warning---and so \LaTeXe{} produces
+an error message.
+
+\subsection{Old internal commands}
+\label{Sec:oldinternals}
+
+A number of \LaTeX~2.09 internal commands have been removed, since
+their functionality is now provided in a different way. See
+\emph{\clsguide} for more details of the new, supported interface for
+class and package writers.
+
+\begin{decl}
+ |\tenrm| |\elvrm| |\twlrm| \dots\\
+ |\tenbf| |\elvbf| |\twlbf| \dots\\
+ |\tensf| |\elvsf| |\twlsf| \dots\\
+ $\vdots$
+\end{decl}
+These commands provided access to the seventy fonts preloaded by
+\LaTeX~2.09. In contrast, \LaTeXe{} normally preloads at most
+fourteen fonts, which saves a lot of font memory; but a consequence is
+that any \LaTeX{} file which used the above commands to directly
+access fonts will no longer work.
+
+Their use will usually produce an error message such as:
+\begin{verbatim}
+ ! Undefined control sequence.
+ l.5 \tenrm
+\end{verbatim}
+The cure for this is to update the document to use the new
+font-changing commands provided by \LaTeXe; these are described in
+\emph{\fntguide}.
+
+If this is not possible then, as a last resort, you can
+use the \textsf{rawfonts} package, which loads the
+seventy \LaTeX~2.09 fonts and provides direct access to them using the
+old commands. This takes both time and memory. If you do not
+wish to load all seventy fonts, you can select some of them by using the
+|only| option to \textsf{rawfonts}. For example, to load only |tenrm|
+and |tenbf| you write:
+\begin{verbatim}
+ \usepackage[only,tenrm,tenbf]{rawfonts}
+\end{verbatim}
+
+The \textsf{rawfonts} package is distributed as part of the \LaTeX{}
+tools software, see Section~\ref{Sec:st-pack}.
+
+\subsection{Old files}
+
+One of the more common mistakes in running \LaTeX{} is to read in old
+versions of packages instead of the new versions. If you get an
+incomprehensible error message from a standard package, make sure you
+are loading the most recent version of the package. You can find out
+which version of the package has been loaded by looking in the log
+file for a line like:
+\begin{verbatim}
+ Package: fred 1994/06/01 v0.01 Fred's package.
+\end{verbatim}
+You can use the \m{release-date} options to |\documentclass| and
+|\usepackage| to make sure that you are getting a suitably recent copy
+of the document class or package. This is useful when sending a
+document to another site, which may have out-of-date software.
+
+\subsection{Where to go for more help}
+
+If you can't find the answer for your problem here, try looking in
+\emph{\LaTeXbook} or \emph{\LaTeXcomp}. If you have a problem with
+installing \LaTeX, look in the installation guide files which come with
+the distribution.
+
+If this doesn't help, contact your local \LaTeX{} guru or local
+\LaTeX{} mailing list.
+
+If you think you've discovered a bug then please report it! First,
+you should find out if the problem is with a third-party package or
+class. If the problem is caused by a package or class other than
+those listed in Section~\ref{Sec:class+packages} then please report
+the problem to the author of the package or class, not to the \LaTeX3
+project team.
+
+If the bug really is with core \LaTeX{} then you should create a
+\emph{short}, \emph{self-contained} document which exhibits the
+problem. You should run a \emph{recent} (less than a year old)
+version of \LaTeX{} on the file and then run \LaTeX{} on
+|latexbug.tex|. This will create an error report which you should
+send, together with the sample document and log file, to the
+\LaTeX{} bugs address which can be found in the file
+|latexbug.tex| or |bugs.txt|.
+
+
+\section{Enjoy!}
+\label{Sec:enjoy}
+
+We certainly hope you will enjoy using the new standard \LaTeX{} but,
+if this is not possible, we hope that you will enjoy success and
+fulfillment as a result of the documents which it will help you to
+create.
+
+If you find that the contribution of \LaTeX{} to your life is such
+that you would like to support the work of the project team, then
+please read Section~\ref{Sec:ltx3} and discover practical ways to do
+this.
+
+\begin{thebibliography}{1}
+
+\bibitem{A-W:GRM97}
+Michel Goossens, Sebastian Rahtz and Frank Mittelbach.
+\newblock {\em The {\LaTeX} Graphics Companion}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1997.
+
+
+\bibitem{A-W:GR99}
+Michel Goossens and Sebastian Rahtz.
+\newblock {\em The {\LaTeX} Web Companion}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1999.
+
+
+\bibitem{A-W:DEK91}
+Donald~E. Knuth.
+\newblock {\em The \TeX book}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1986.
+\newblock Revised to cover \TeX3, 1991.
+
+
+\bibitem{A-W:LLa94}
+Leslie Lamport.
+\newblock {\em {\LaTeX:} A Document Preparation System}.
+\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
+
+\bibitem{A-W:MG2004}
+Frank Mittelbach and Michel Goossens.
+\newblock {\em The {\LaTeX} Companion second edition}.
+\newblock With Johannes Braams, David Carlisle, and Chris Rowley.
+\newblock Addison-Wesley, Reading, Massachusetts, 2004.
+
+
+\end{thebibliography}
+
+\end{document}
diff --git a/macros/latex/base/utf8ienc.dtx b/macros/latex/base/utf8ienc.dtx
index 993f59c481..ea377297a5 100644
--- a/macros/latex/base/utf8ienc.dtx
+++ b/macros/latex/base/utf8ienc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2018
+% Copyright (C) 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -13,7 +13,7 @@
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
%
% This file has the LPPL maintenance status "maintained".
%
@@ -47,7 +47,6 @@
%</driver>
% \fi
%
-%
% \newpage
%
% \section{Introduction}
@@ -217,11 +216,27 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
- [2018/10/05 v1.2f UTF-8 support for inputenc]
+%<-utf8-2018> [2019/07/11 v1.2j UTF-8 support for inputenc]
% \end{macrocode}
%
% \begin{macrocode}
%<*utf8>
+% \end{macrocode}
+% This is a temporary fix for the e-p\TeX{} / e-up\TeX{} engines that do not yet
+% have a |\ifincsname| primitive. Once this is available the the extra file will
+% be dropped.
+% \changes{v1.2h}{2019/07/09}{Temp rollback fix for e-pTeX}
+% \begin{macrocode}
+\ifx\ifincsname\@undefined % old e-pTeX or e-upTeX engines
+ \input utf8-2018.def
+ \expandafter\@firstofone
+\else
+ \expandafter\@gobble
+\fi
+ \endinput
+% \end{macrocode}
+%
+% \begin{macrocode}
\makeatletter
% \end{macrocode}
% We restore the |\catcode| of space (which is set to ignore in
@@ -237,48 +252,175 @@
%
% \subsection{Parsing UTF-8 input}
%
-% \begin{macro}{\UTFviii@two@octets}
-% \begin{macro}{\UTFviii@three@octets}
-% \begin{macro}{\UTFviii@four@octets}
-% \changes{v1.2a}{2018/03/24}{Macros made `\cs{long} for improved error messages}%
% A UTF-8 char (that is not actually a 7-bit char, i.e.~a single
% octet) is parsed as follows: each starting octet is an active
% \TeX{} character token; each of these is defined below to be a
% macro with one to three arguments nominally (depending on the
% starting octet). It calls one of |\UTFviii@two@octets|,
% |\UTFviii@three@octets|, or |\UTFviii@four@octets| which then
-% actually picks up the argument(s).
+% actually picks up the remaining octets as the argument(s).
+%
+% \begin{itemize}
+% \item When typesetting we pick up the necessary number of additional
+% octets, check if they form a command that \LaTeX{} knows about
+% (via \cs{csname} \texttt{u8:}\cs{string}
+% \verb=#1=\cs{string} \verb=#2...=\cs{endcsname}) and if so use that
+% for typesetting. \cs{string} is needed as the octets may (all?) be
+% active and we want the literal values in the name.
+%
+% \item If the UTF-8 character is going to be part of a label, then it is
+% essentially becoming part of some csname and with the
+% test \cs{ifincsname} we can find this out. If so, we render the whole
+% sequence off octets harmless by using \cs{string} too when the
+% starting octet executes (\cs{UTF@...@octets@string}).
+%
+% \item Another possible case is that \cs{protect} has \emph{not} the meaning
+% of \cs{typeset@protect}. In that case we may do a \cs{write} or we may do
+% a \cs{protected@edef} or \ldots{} In all such cases we want to keep the
+% sequence of octets unchanged, but we can't use \cs{string} this time, since at
+% least in the case of \cs{protect@edef} the result may later be
+% typeset after all (in fact that is quite likely) and so at that
+% point the starting octet needs to be an active character again
+% (the others could be stringified). So for this case we use \cs{noexpand}
+% ((\cs{UTF@...s@octets@noexpand}).
+% \end{itemize}
%
+% \begin{macro}{\UTFviii@two@octets}
+% \changes{v1.2a}{2018/03/24}{Macros made `\cs{long} for improved error messages}%
+% Putting that all together the code for a start octet of a two
+% byte sequence would then look like this:
+% \begin{macrocode}
+\long\def\UTFviii@two@octets{%
+ \ifincsname
+ \expandafter \UTF@two@octets@string
+ \else
+ \ifx \protect\@typeset@protect \else
+ \expandafter\expandafter\expandafter \UTF@two@octets@noexpand
+ \fi
+ \fi
+ \UTFviii@two@octets@combine
+}
+% \end{macrocode}
+
+% \cs{ifcsname} is tested first because that can be true even if we
+% are otherwise doing typesetting. If this is the case we use
+% \cs{string} on the whole octet
+% sequence. \cs{UTF@two@octets@string} not only does this but also
+% gets rid of the command \cs{UTFviii@two@octets@combine} in the input
+% stream by picking it up as a first argument and dropping it.
+%
+% If this is not the case and we are doing typesetting (i.e.,
+% \cs{protect} is \cs{typeset@protect}), then we execute
+% \cs{UTFviii@two@octets@combine} which picks up all octets and typesets
+% the character (or generates an error if it doesn't know how to
+% typeset it).
+%
+% However, if we are not doing typesetting, then we execute the
+% command \cs{UTFviii@two@octets@noexpand} which works like
+% \cs{UTF@two@octets@string} but uses \cs{noexpand} instead of
+% \cs{string}. This way the sequence is temporay rendered harmless,
+% e.g., would display as is or stays put inside a
+% \cs{protected@edef}. But if the result is later reused the
+% starting octet is still active and so will be able to construct
+% the UTF-8 character again.
+% \end{macro}
+%
+%
+% \begin{macro}{\UTFviii@three@octets}
+% \changes{v1.2a}{2018/03/24}{Macros made `\cs{long} for improved error messages}%
+% \begin{macro}{\UTFviii@four@octets}
+% \changes{v1.2a}{2018/03/24}{Macros made `\cs{long} for improved
+% error messages}
+% The definitions for the other starting octets
+% are the same except that they pick up more octets after them.
+% \begin{macrocode}
+\long\def\UTFviii@three@octets{%
+ \ifincsname
+ \expandafter \UTF@three@octets@string
+ \else
+ \ifx \protect\@typeset@protect \else
+ \expandafter\expandafter\expandafter \UTF@three@octets@noexpand
+ \fi
+ \fi
+ \UTFviii@three@octets@combine
+}
+% \end{macrocode}
+% \begin{macrocode}
+\long\def\UTFviii@four@octets{%
+ \ifincsname
+ \expandafter \UTF@four@octets@string
+ \else
+ \ifx \protect\@typeset@protect \else
+ \expandafter\expandafter\expandafter \UTF@four@octets@noexpand
+ \fi
+ \fi
+ \UTFviii@four@octets@combine
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\UTFviii@two@octets@noexpand}
+% \begin{macro}{\UTFviii@three@octets@noexpand}
+% \begin{macro}{\UTFviii@four@octets@noexpand}
+% These tempoarily prevent the active chars from expanding.
+% \begin{macrocode}
+\long\def\UTF@two@octets@noexpand#1#2{\noexpand#2\noexpand}
+\long\def\UTF@three@octets@noexpand#1#2#3{\noexpand#2\noexpand#3\noexpand}
+\long\def\UTF@four@octets@noexpand#1#2#3#4{\noexpand#2\noexpand#3\noexpand#4\noexpand}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+% \begin{macro}{\UTFviii@two@octets@string}
+% \begin{macro}{\UTFviii@three@octets@string}
+% \begin{macro}{\UTFviii@four@octets@string}
+% And the same with \cs{string} for use in \cs{csname} constructions.
+% \begin{macrocode}
+\long\def\UTF@two@octets@string#1#2{\string#2\string}
+\long\def\UTF@three@octets@string#1#2#3{\string#2\string#3\string}
+\long\def\UTF@four@octets@string#1#2#3#4{\string#2\string#3\string#4\string}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+
+% \begin{macro}{\UTFviii@two@octets@combine}
+% \begin{macro}{\UTFviii@three@octets@combine}
+% \begin{macro}{\UTFviii@four@octets@combine}
% From the arguments a control sequence with a name of the form
% \verb=u8:#1#2...= is constructed where the |#i| ($i>1$) are the
-% arguments and |#1| is the starting octet (as a \TeX{} character
+% arguments and |#1| is the starting octet (as a \TeX{} active character
% token). Since some or even all of these characters are active
-% (when inputenc is loaded) we need to use |\string| when building
-% the csname.
+% we need to use |\string| when building
+% the \cs{csname}.
%
-% The csname thus constructed can of course be undefined but to
+% The \cs{csname} thus constructed can of course be undefined but to
% avoid producing an unhelpful low-level undefined command error we
% pass it to |\UTFviii@defined| which is responsible for producing
% a more sensible error message (not yet done!!). If, however, it is
% defined we simply execute the thing (which should then expand to
% an encoding specific internal \LaTeX{} form).
% \begin{macrocode}
-\long\def\UTFviii@two@octets#1#2{\expandafter
- \UTFviii@defined\csname u8:#1\string#2\endcsname}
+\long\def\UTFviii@two@octets@combine#1#2{\expandafter
+ \UTFviii@defined\csname u8:\string#1\string#2\endcsname}
% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
-\long\def\UTFviii@three@octets#1#2#3{\expandafter
- \UTFviii@defined\csname u8:#1\string#2\string#3\endcsname}
+\long\def\UTFviii@three@octets@combine#1#2#3{\expandafter
+ \UTFviii@defined\csname u8:\string#1\string#2\string#3\endcsname}
% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
-\long\def\UTFviii@four@octets#1#2#3#4{\expandafter
- \UTFviii@defined\csname u8:#1\string#2\string#3\string#4\endcsname}
+\long\def\UTFviii@four@octets@combine#1#2#3#4{\expandafter
+ \UTFviii@defined\csname u8:\string#1\string#2\string#3\string#4\endcsname}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \end{macro}
+%
%
% \begin{macro}{\UTFviii@defined}
% This tests whether its argument is different from |\relax|: it
@@ -447,11 +589,12 @@
\UTFviii@loop
% \end{macrocode}
%
-% Setting up 2-byte UTF-8:
+% Setting up 2-byte UTF-8: The starting bytes is passed as an
+% active character so that it can be reprocessed later!
% \begin{macrocode}
\count@"C2
\@tempcnta"E0
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\string~}}
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\noexpand~}}
\UTFviii@loop
% \end{macrocode}
%
@@ -459,7 +602,7 @@
% \begin{macrocode}
\count@"E0
\@tempcnta"F0
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@three@octets\string~}}
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@three@octets\noexpand~}}
\UTFviii@loop
% \end{macrocode}
%
@@ -468,7 +611,7 @@
% \begin{macrocode}
\count@"F0
\@tempcnta"F5
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\string~}}
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\noexpand~}}
\UTFviii@loop
% \end{macrocode}
%
@@ -1140,7 +1283,10 @@
%<all,t1>\DeclareUnicodeCharacter{012C}{\u I}
%<all,t1>\DeclareUnicodeCharacter{012D}{\u\i}
%<all,t1>\DeclareUnicodeCharacter{012E}{\k I}
-%<all,t1>\DeclareUnicodeCharacter{012F}{\k\i}
+% \end{macrocode}
+% \changes{v1.2g}{2019/02/06}{Corrected 012F (github/122)}
+% \begin{macrocode}
+%<all,t1>\DeclareUnicodeCharacter{012F}{\k i}
%<all,t1>\DeclareUnicodeCharacter{0130}{\.I}
%<all,t2c,t2b,t2a,t1,ot2,ot1,ly1,lcy>\DeclareUnicodeCharacter{0131}{\i}
%<all,t1>\DeclareUnicodeCharacter{0132}{\IJ}
@@ -1628,13 +1774,38 @@
%<all,ts1>\DeclareUnicodeCharacter{25E6}{\textopenbullet}
%<all,ts1>\DeclareUnicodeCharacter{25EF}{\textbigcircle}
%<all,ts1>\DeclareUnicodeCharacter{266A}{\textmusicalnote}
+% \end{macrocode}
+% \changes{v1.2h}{2019/02/07}{Added 27E8 and 27E9 (github/110)}
+% \begin{macrocode}
+%<all,x2,ts1,t2c,t2b,t2a>\DeclareUnicodeCharacter{27E8}{\textlangle}
+%<all,x2,ts1,t2c,t2b,t2a>\DeclareUnicodeCharacter{27E9}{\textrangle}
%<all,t1>\DeclareUnicodeCharacter{1E20}{\@tabacckludge=G}
%<all,t1>\DeclareUnicodeCharacter{1E21}{\@tabacckludge=g}
% \end{macrocode}
+%
+% When doing cut-and-paste from other documents f-ligatures might show
+% up as Unicode characters. We translate them back to individual
+% characters so that they get accepted. If supported by the font
+% (which is normally the case) they are then reconstructed as
+% ligatures so they come out as desired. Otherwise they will come
+% out as individual characters which is fine too.
+% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and st (github/154)}
+% \begin{macrocode}
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB00}{ff} % ff
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB01}{fi} % fi
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB02}{fl} % fl
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB03}{ffi} % ffi
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB04}{ffl} % ffl
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB05}{ft} % ſt
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB06}{st} % st
+% \end{macrocode}
+%
+%
% \changes{v1.2c}{2018/04/05}{Add BOM}
% \begin{macrocode}
%<all,ts1,utf8>\DeclareUnicodeCharacter{FEFF}{\ifhmode\nobreak\fi}
% \end{macrocode}
+%
%
% \endgroup
% \subsection{Notes}
@@ -1760,6 +1931,291 @@
% This space is intentionally empty ...
%</utf8>
% \end{macrocode}
+%
+% \subsection{Old \texttt{utf8.def} file as a temp fix for p\TeX{} and friends}
+%
+%
+% \changes{v1.2h}{2019/07/09}{Temp rollback fix for e-pTeX}
+% \begin{macrocode}
+%<*utf8-2018>
+\ProvidesFile{utf8.def}
+ [2018/10/05 v1.2f UTF-8 support for inputenc]
+\makeatletter
+\catcode`\ \saved@space@catcode
+\long\def\UTFviii@two@octets#1#2{\expandafter
+ \UTFviii@defined\csname u8:#1\string#2\endcsname}
+\long\def\UTFviii@three@octets#1#2#3{\expandafter
+ \UTFviii@defined\csname u8:#1\string#2\string#3\endcsname}
+\long\def\UTFviii@four@octets#1#2#3#4{\expandafter
+ \UTFviii@defined\csname u8:#1\string#2\string#3\string#4\endcsname}
+\def\UTFviii@defined#1{%
+ \ifx#1\relax
+ \if\relax\expandafter\UTFviii@checkseq\string#1\relax\relax
+ \UTFviii@undefined@err{#1}%
+ \else
+ \PackageError{inputenc}{Invalid UTF-8 byte sequence}%
+ \UTFviii@invalid@help
+ \fi
+ \else\expandafter
+ #1%
+ \fi
+}
+\def\UTFviii@invalid@err#1{%
+ \PackageError{inputenc}{Invalid UTF-8 byte "\UTFviii@hexnumber{`#1}}%
+ \UTFviii@invalid@help}
+\def\UTFviii@invalid@help{%
+ The document does not appear to be in UTF-8 encoding.\MessageBreak
+ Try adding \noexpand\UseRawInputEncoding as the first line of the file\MessageBreak
+ or specify an encoding such as \noexpand\usepackage[latin1]{inputenc}\MessageBreak
+ in the document preamble.\MessageBreak
+ Alternatively, save the file in UTF-8 using your editor or another tool}
+\def\UTFviii@undefined@err#1{%
+ \PackageError{inputenc}{Unicode character \expandafter
+ \UTFviii@splitcsname\string#1\relax
+ \MessageBreak
+ not set up for use with LaTeX}%
+ {You may provide a definition with\MessageBreak
+ \noexpand\DeclareUnicodeCharacter}%
+ }
+\def\UTFviii@checkseq#1:#2#3{%
+ \ifnum`#2<"80 %
+ \ifx\relax#3\else1\fi
+ \else
+ \ifnum`#2<"C0 %
+ 1 %
+ \else
+ \expandafter\expandafter\expandafter\UTFviii@check@continue
+ \expandafter\expandafter\expandafter#3%
+ \fi
+ \fi}
+\def\UTFviii@check@continue#1{%
+ \ifx\relax#1%
+ \else
+ \ifnum`#1<"80 1\else\ifnum`#1>"BF 1\fi\fi
+ \expandafter\UTFviii@check@continue
+ \fi
+}
+\begingroup
+\catcode`\~13
+\catcode`\"12
+\def\UTFviii@loop{%
+ \uccode`\~\count@
+ \uppercase\expandafter{\UTFviii@tmp}%
+ \advance\count@\@ne
+ \ifnum\count@<\@tempcnta
+ \expandafter\UTFviii@loop
+ \fi}
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@undefined@err{:\string~}}}
+ \count@"1
+ \@tempcnta9
+\UTFviii@loop
+ \count@11
+ \@tempcnta12
+\UTFviii@loop
+ \count@14
+ \@tempcnta32
+\UTFviii@loop
+ \count@"80
+ \@tempcnta"C2
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+\UTFviii@loop
+ \count@"C2
+ \@tempcnta"E0
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\string~}}
+\UTFviii@loop
+ \count@"E0
+ \@tempcnta"F0
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@three@octets\string~}}
+\UTFviii@loop
+ \count@"F0
+ \@tempcnta"F5
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\string~}}
+\UTFviii@loop
+ \count@"F5
+ \@tempcnta"100
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+\UTFviii@loop
+\endgroup
+\@inpenc@test
+\ifx\@begindocumenthook\@undefined
+ \makeatother
+ \endinput \fi
+\begingroup
+\catcode`\"=12
+\catcode`\<=12
+\catcode`\.=12
+\catcode`\,=12
+\catcode`\;=12
+\catcode`\!=12
+\catcode`\~=13
+\gdef\DeclareUnicodeCharacter#1#2{%
+ \count@"#1\relax
+ \wlog{ \space\space defining Unicode char U+#1 (decimal \the\count@)}%
+ \begingroup
+ \parse@XML@charref
+ \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}%
+ \def\UTFviii@three@octets##1##2##3{\csname u8:##1%
+ \string##2\string##3\endcsname}%
+ \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1%
+ \string##2\string##3\string##4\endcsname}%
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \expandafter
+ \gdef\UTFviii@tmp{\IeC{#2}}%
+ \endgroup
+}
+\gdef\parse@XML@charref{%
+ \ifnum\count@<"A0\relax
+ \ifnum\catcode\count@=13
+ \uccode`\~=\count@\uppercase{\def\UTFviii@tmp{\@empty\@empty~}}%
+ \else
+ \PackageError{inputenc}%
+ {Cannot define non-active Unicode char value < 00A0}%
+ \@eha
+ \def\UTFviii@tmp{\UTFviii@tmp}%
+ \fi
+ \else\ifnum\count@<"800\relax
+ \parse@UTFviii@a,%
+ \parse@UTFviii@b C\UTFviii@two@octets.,%
+ \else\ifnum\count@<"10000\relax
+ \parse@UTFviii@a;%
+ \parse@UTFviii@a,%
+ \parse@UTFviii@b E\UTFviii@three@octets.{,;}%
+ \else
+ \ifnum\count@>"10FFFF\relax
+ \PackageError{inputenc}%
+ {\UTFviii@hexnumber\count@\space too large for Unicode}%
+ {Values between 0 and 10FFFF are permitted}%
+ \fi
+ \parse@UTFviii@a;%
+ \parse@UTFviii@a,%
+ \parse@UTFviii@a!%
+ \parse@UTFviii@b F\UTFviii@four@octets.{!,;}%
+ \fi
+ \fi
+ \fi
+}
+\gdef\parse@UTFviii@a#1{%
+ \@tempcnta\count@
+ \divide\count@ 64
+ \@tempcntb\count@
+ \multiply\count@ 64
+ \advance\@tempcnta-\count@
+ \advance\@tempcnta 128
+ \uccode`#1\@tempcnta
+ \count@\@tempcntb}
+\gdef\parse@UTFviii@b#1#2#3#4{%
+ \advance\count@ "#10\relax
+ \uccode`#3\count@
+ \uppercase{\gdef\UTFviii@tmp{#2#3#4}}}
+\ifx\numexpr\@undefined
+\gdef\decode@UTFviii#1{0}
+\else
+\gdef\decode@UTFviii#1\relax{%
+ \expandafter\UTFviii@cleanup
+ \the\numexpr\dec@de@UTFviii#1\relax)))))\@empty}
+\gdef\UTFviii@cleanup#1)#2\@empty{#1}
+\gdef\dec@de@UTFviii#1{%
+\ifx\relax#1%
+\else
+ \ifnum`#1>"EF
+ ((((`#1-"F0)%
+ \else
+ \ifnum`#1>"DF
+ (((`#1-"E0)%
+ \else
+ \ifnum`#1>"BF
+ ((`#1-"C0)%
+ \else
+ \ifnum`#1>"7F
+ )*64+(`#1-"80)%
+ \else
+ +`#1 %
+ \fi
+ \fi
+ \fi
+ \fi
+ \expandafter\dec@de@UTFviii
+\fi}
+\fi
+\ifx\numexpr\@undefined
+\global\let\UTFviii@hexnumber\@firstofone
+\global\UTFviii@hexdigit\hexnumber@
+\else
+\gdef\UTFviii@hexnumber#1{%
+\ifnum#1>15 %
+\expandafter\UTFviii@hexnumber\expandafter{\the\numexpr(#1-8)/16\relax}%
+\fi
+\UTFviii@hexdigit{\numexpr#1\ifnum#1>0-((#1-8)/16)*16\fi\relax}%
+}
+\gdef\UTFviii@hexdigit#1{\ifcase\numexpr#1\relax
+ 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or
+ A\or B\or C\or D\or E\or F\fi}
+\fi
+\gdef\UTFviii@hexcodepoint#1{U+%
+ \ifnum#1<16 0\fi
+ \ifnum#1<256 0\fi
+ \ifnum#1<4096 0\fi
+ \UTFviii@hexnumber{#1}%
+}%
+\gdef\UTFviii@splitcsname#1:#2\relax{%
+#2 (\expandafter\UTFviii@hexcodepoint\expandafter{%
+ \the\numexpr\decode@UTFviii#2\relax})%
+}
+\endgroup
+\@onlypreamble\DeclareUnicodeCharacter
+\@onlypreamble\parse@XML@charref
+\@onlypreamble\parse@UTFviii@a
+\@onlypreamble\parse@UTFviii@b
+\begingroup
+ \def\cdp@elt#1#2#3#4{%
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font %
+ encoding #1}%
+ \catcode`\ 9\relax}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+ }
+ \cdp@list
+\endgroup
+\def\DeclareFontEncoding@#1#2#3{%
+ \expandafter
+ \ifx\csname T@#1\endcsname\relax
+ \def\cdp@elt{\noexpand\cdp@elt}%
+ \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+ {\default@family}{\default@series}%
+ {\default@shape}}%
+ \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
+ \begingroup
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font %
+ encoding #1}}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+ \endgroup
+ \else
+ \@font@info{Redeclaring font encoding #1}%
+ \fi
+ \global\@namedef{T@#1}{#2}%
+ \global\@namedef{M@#1}{\default@M#3}%
+ \xdef\LastDeclaredEncoding{#1}%
+ }
+\DeclareUnicodeCharacter{00A9}{\textcopyright}
+\DeclareUnicodeCharacter{00AA}{\textordfeminine}
+\DeclareUnicodeCharacter{00AE}{\textregistered}
+\DeclareUnicodeCharacter{00BA}{\textordmasculine}
+\DeclareUnicodeCharacter{02C6}{\textasciicircum}
+\DeclareUnicodeCharacter{02DC}{\textasciitilde}
+\DeclareUnicodeCharacter{200C}{\textcompwordmark}
+\DeclareUnicodeCharacter{2026}{\textellipsis}
+\DeclareUnicodeCharacter{2122}{\texttrademark}
+\DeclareUnicodeCharacter{2423}{\textvisiblespace}
+\DeclareUnicodeCharacter{FEFF}{\ifhmode\nobreak\fi}
+\endinput
+</utf8-2018>
+% \end{macrocode}
%
%
% \section{A test document}
diff --git a/macros/latex/base/utf8ienc.pdf b/macros/latex/base/utf8ienc.pdf
index c27d6a5838..37338ebb5a 100644
--- a/macros/latex/base/utf8ienc.pdf
+++ b/macros/latex/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex/base/webcomp.err b/macros/latex/base/webcomp.err
deleted file mode 100644
index f604d8ef35..0000000000
--- a/macros/latex/base/webcomp.err
+++ /dev/null
@@ -1,381 +0,0 @@
-\newcommand\erratafiledate{1999/06/05}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% To produce a printed version of this errata file run this file through
-% LaTeX. It will unpack a small class file (if not already present) and
-% a configuration file with the extension .cfg. You might want to modify
-% the setting in this configuration file to print only a partial errata
-% suitable for your printed revision of this book, see details in the
-% .cfg file.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\begin{filecontents}{ttcterrata.cls}
-%%
-%% Copyright (C) 1997,2004,2005,2007 Frank Mittelbach
-%% This class file is licenced under LPPL latest version;
-%% see https://www.latex-project.org/lppl
-%
-%
-% It sets up a few commands used to format the errata entries for books in the
-% Addison-Wesley Series:
-%
-% Tools and Techniques for Computer Typesetting
-%
-% hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books.
-%
-% Changes:
-%
-% v1.0a - changed name from errata.cls to ttcterrata.cls
-
-\ProvidesClass{ttcterrata}
- [2007/11/10 v1.0a Mini class for errata files; subject to change (FMi)]
-
-\LoadClass{article}
-
-\setcounter{secnumdepth}{-1}
-\addtolength\textwidth{5cm}
-\addtolength\oddsidemargin{-3cm}
-
-\addtolength\textheight{36pt}
-
-\RequirePackage{shortvrb}
-\MakeShortVerb{\|}
-
-\RequirePackage{array,longtable}
-\RequirePackage{multicol}
-
-
-\newcommand\erratagetnumber{}
-\def\erratagetnumber#1/#2/#3\erratagetnumber{#1#2#3}
-
-
-\newcommand\gobbleerrata{%
- \setbox\@tempboxa\vbox\bgroup
- \let\endgobble\egroup
- \let\hideamp\relax
- \let\\\relax\let\par\@@par}
-
-\newcommand*\hideamp{&}
-
-\let\endgobble\relax
-
-
-\newcommand\erratastartdate{}
-\newcommand\myprinting{1}
-
-
-\newcommand\doweprint[2]{%
- \ifnum \myprinting < \if!#2!1000 \else \ifx s#2 1000\else#2 \fi\fi
- \ifnum \expandafter\erratagetnumber\erratastartdate\erratagetnumber <
- \erratagetnumber#1\erratagetnumber \relax
- \@tempswatrue
- \else
- \@tempswafalse
- \fi
- \else
- \@tempswafalse
- \fi
-}
-
-
-
-\newcommand\includedentries{entries after = \erratastartdate}
-\newcommand\printedentries{between \erratastartdate\space and}
-
-\newcommand\showallerrors{%
- \renewcommand\includedentries{all errata entries}%
- \renewcommand\printedentries{up to}
- \renewcommand\doweprint[2]{\@tempswatrue}}
-
-
-\newcommand\displayrevisionfix[2]{%
- \if!#2!\textbf{#1}\else\textit{#1}\rlap{\textsuperscript{#2}}\fi}
-
-\newcommand\norevisionnumbers{%
- \renewcommand\displayrevisionfix[2]{\textbf{##1}}}
-
-\IfFileExists{\jobname.cfg}
- {
- \input{\jobname.cfg}
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* Configuration file for \jobname.err found }
- \typeout{*}
- \typeout{***************************************************}
- \AtEndDocument{
- \typeout{***************************************************}
- \typeout{*}
- \typeout{* If you wish to generate an errata listing}
- \typeout{* containing only errors found after a certain revision}
- \typeout{* and/or only errors found after a certain date}
- \typeout{* modify the information stored in \jobname.cfg}
- \typeout{*}
- \typeout{* Current settings are:}
- \typeout{*}
- \typeout{* \@spaces printing of your book = \myprinting}
- \typeout{* \@spaces include \includedentries}
- \typeout{*}
- \typeout{***************************************************}
- }}
- {}
-
-%% \erroronpage <page> <line info> <contributor> <date> <fixed in revision>
-
-\newcommand\erroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\seriouserroronpage[5]{%
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
-
-\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
- {\endgobble\end{longtable}}
-
-\newcommand\erratatitle[2]
- {\begin{center}\LARGE\bfseries
- Errata list for #1\\[5pt](\myprinting.\ printing)\\[10pt]
- \small Includes all entries found \printedentries\space #2\\
- (For other periods/print runs reprocess this document
- with different config settings)
- \end{center}%
- \markright{Errata for #1 (\printedentries\space #2)}%
- \thispagestyle{plain}%
- \vspace{20pt}}
-
-\pagestyle{myheadings}
-
-\AtBeginDocument{\small}
-
-\setlength\parindent{0pt}
-\setlength\parskip{2pt}
-
-\newcommand\contributor[2]{\makebox[1cm][l]{\sffamily#1} #2\par}
-
-% some special shortcuts overwriting existing commands:
-
-\let\u\underline
-\renewcommand\>{$\to$}
-
-%%% some code suggested by Thorsten Hansen to count the number of
-%%% contributions by individuals (will work only if we do not get
-%%% too many :-)
-
-\def\count@contributors#1/#2/#3\@nil{
- \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
-%%% also count secondary:
-%%% \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
-}
-
-\renewcommand\erroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\seriouserroronpage[5]{%
- \count@contributors#3/secondary/\@nil
- \endgobble
- \doweprint{#4}{#5}%
- \if@tempswa
- \typeout{Typesetting entry #1 #2 #3 #4}%
- \else
- \typeout{Ignoring entry #1 #2 #3 #4}%
- \expandafter\gobbleerrata
- \fi
- \hideamp \\%
- \fbox{\bfseries !!}\hfill
- \displayrevisionfix{#1}{#5}
- \hideamp #2 \hideamp (\textsf{#3}) \hideamp
-}
-
-\renewcommand\contributor[2]{\makebox[1cm][l]{%
- \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
-
-\end{filecontents}
-
-
-\begin{filecontents}{\jobname.cfg}
-%
-%
-% Configuration file for the errata listing of
-%
-% The LaTeX Web Companion
-%
-%
-% \erratastartdate
-%
-% Specifies the date from which on
-% errata entries should be listed.
-%
-% The format is YYYY/MM/DD.
-%
-% The default below ensures that all
-% entries are typeset.
-%
-\renewcommand\erratastartdate{1999/05/01}
-
-%
-% \myprinting
-%
-% Specifies which (revised) printing you
-% own. For example, if you have the second
-% printing set this to 2 so that errors
-% already corrected in that printing will not
-% appear in your errata listing.
-%
-% The default below ensures that all
-% entries are typeset.
-%
-\renewcommand\myprinting{1}
-%
-%
-% \norevisionnumbers
-%
-% Specifies that all page numbers in the errata are shown in the same
-% format (bold face) irregardless of whether or not they are fixed
-% in some revision. The default is to print corrected errors in
-% italic and add the revision number as a superscript.
-%
-%
-% \showallerrors
-%
-% With this command you tell the program that all errata entries are
-% supposed to be generated. This makes \myprinting and
-% \erratastartdate basically obsolete so this isn't turned on by
-% default.
-%
-%
-\endinput
-\end{filecontents}
-
-
-
-\documentclass{ttcterrata}
-
-
-\begin{document}
-
-\erratatitle{The \LaTeX{} Web Companion}{\erratafiledate}
-
-
-\begin{verbatim}
-@book(A-W:GR99,
- author = {Michel Goossens and Sebastian Rahtz},
- title = {The {\LaTeX} Web Companion},
- substitle = {Integrating {\TeX}, HTML, and XML},
- series = "Tools and Techniques for Computer Typesetting",
- publisher = {Addison-Wesley},
- address = {Reading, Massachusetts},
- year = 1999,
- ISBN = "0-201-43311-7",
- LCCN = "QA76.76.H94G66 1999",
- pagenums = {xxii + 522},
- source-infos = {yes},
- bibliography = {yes},
- index = {yes},
- price = "US\$39.95",
- note = "With Eitan M. Gurari and Ross Moore and Robert S.
- Sutor.",
-)
-\end{verbatim}
-
-\begin{list}{}{\setlength\leftmargin{0cm}\setlength\rightmargin{5cm}}
-\item[]
-The latest version of this file (\texttt{\jobname.err}) can be found
-as part of the \LaTeX{} distribution.
-
-The first column in the table shows the page number of the errata
-entry. Superscript numbers in the first column refer to the printed
-revision in which this entry was corrected. The second column gives
-the precise location, negative line numbers are counted from the
-bottom of the page. The third column shows the first finder of the
-problem.
-
-\end{list}
-
-
-\begin{erratalist}
-
-%=======================================================================
-\CHAPTER{Chapter 6}
-
-\erroronpage{247}{3 para l.5}{MGo}{1999/06/05}{}
- GenCod \> GenCode
-
-\CHAPTER{Appendix B}
-
-\erroronpage{418}{3 para}{MGo}{1999/06/05}{}
- The \texttt{book} element types (lines 10--\u{15})
-
-\end{erratalist}
-
-
-
-%==========================================================================
-
-\bigskip
-
-
-\begin{multicols}{3}[Thanks to all who have found errors or
- omissions. Listed are the people who found an errata entry first.]
-\contributor{MGo}{Michel Goossens}
-\end{multicols}
-
-
-If you find further errors please report them to one of the authors
-\begin{quote}\ttfamily
- sebastian.rahtz@oucs.ox.ac.uk\\
- goossens@cern.ch
-\end{quote}
-preferable in a form usable for this file, i.e.,
-\begin{flushleft}
-|\erroronpage{|\textit{page-number}|}{|\textit{line-identification}|}{|%
- \textit{your-initials}|}{|\textit{date}|}{}| \\
- \hspace*{2em}\textit{description of the the errata}
-\end{flushleft}
-Here is an example:
-\begin{verbatim}
-\erroronpage{4}{l.-7}{PMcJ}{1998/06/11}{}
- surprisingly \> surprising
-\end{verbatim}
-
-
-\end{document}
diff --git a/macros/latex/base/webcomp.pdf b/macros/latex/base/webcomp.pdf
deleted file mode 100644
index 43153cab11..0000000000
--- a/macros/latex/base/webcomp.pdf
+++ /dev/null
Binary files differ