summaryrefslogtreecommitdiff
path: root/macros/latex-dev
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-11-19 03:02:21 +0000
committerNorbert Preining <norbert@preining.info>2019-11-19 03:02:21 +0000
commit025f7bfee79d7817a876831bb19f34a2dfb1b2e2 (patch)
tree76efc8c89514583aae7ddb55b59bfb879500a09d /macros/latex-dev
parent96f9362fc3e3bb70fa2411c62418c42d9acda4d7 (diff)
CTAN sync 201911190302
Diffstat (limited to 'macros/latex-dev')
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin172940 -> 172925 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin219622 -> 219609 bytes
-rw-r--r--macros/latex-dev/base/changes.txt121
-rw-r--r--macros/latex-dev/base/classes.dtx10
-rw-r--r--macros/latex-dev/base/classes.pdfbin520779 -> 521012 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin371688 -> 371678 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin270773 -> 270758 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin223458 -> 223439 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx27
-rw-r--r--macros/latex-dev/base/doc.pdfbin628628 -> 629235 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin470204 -> 470195 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1244570 -> 1244549 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin195896 -> 195881 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin261921 -> 261915 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin356425 -> 356976 bytes
-rw-r--r--macros/latex-dev/base/fntguide.tex2
-rw-r--r--macros/latex-dev/base/fontdef.dtx27
-rw-r--r--macros/latex-dev/base/format.ins6
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin156299 -> 156288 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin205224 -> 205211 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin294774 -> 294776 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin391042 -> 393049 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.tex21
-rw-r--r--macros/latex-dev/base/latexrelease.ins1
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin245932 -> 245922 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin192302 -> 192302 bytes
-rw-r--r--macros/latex-dev/base/lb2.err1622
-rw-r--r--macros/latex-dev/base/lb2.pdfbin0 -> 238183 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin305034 -> 305414 bytes
-rw-r--r--macros/latex-dev/base/lgc2.err697
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin0 -> 202897 bytes
-rw-r--r--macros/latex-dev/base/ltclass.dtx34
-rw-r--r--macros/latex-dev/base/ltdirchk.dtx45
-rw-r--r--macros/latex-dev/base/ltexpl.dtx99
-rw-r--r--macros/latex-dev/base/ltfiles.dtx93
-rw-r--r--macros/latex-dev/base/ltfinal.dtx23
-rw-r--r--macros/latex-dev/base/ltluatex.dtx34
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin302611 -> 302613 bytes
-rw-r--r--macros/latex-dev/base/ltmiscen.dtx63
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin849012 -> 883720 bytes
-rw-r--r--macros/latex-dev/base/ltnews.tex4
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin150037 -> 150027 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin141568 -> 141559 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin141553 -> 141541 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin135588 -> 135577 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin163996 -> 163984 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin133153 -> 133140 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin130846 -> 130835 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin144488 -> 144478 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin120228 -> 120216 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin147958 -> 147946 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin104961 -> 104948 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin137932 -> 137925 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin161084 -> 161072 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin150934 -> 150928 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin122102 -> 122094 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin137511 -> 137500 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin156570 -> 156557 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin36022 -> 36010 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin235086 -> 235074 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin283194 -> 283179 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin236117 -> 236105 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin302730 -> 302720 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin274345 -> 274333 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin255315 -> 255302 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin196347 -> 196332 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin365476 -> 365466 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin239777 -> 239763 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin368527 -> 368514 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin435477 -> 435463 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin464618 -> 490976 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.tex101
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin0 -> 337112 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.tex270
-rw-r--r--macros/latex-dev/base/ltsect.dtx2
-rw-r--r--macros/latex-dev/base/ltspace.dtx33
-rw-r--r--macros/latex-dev/base/lttab.dtx8
-rw-r--r--macros/latex-dev/base/ltvers.dtx4
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin197812 -> 197804 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.dtx5
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin215566 -> 215387 bytes
-rw-r--r--macros/latex-dev/base/ltxref.dtx5
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin160694 -> 160679 bytes
-rw-r--r--macros/latex-dev/base/manual.err365
-rw-r--r--macros/latex-dev/base/manual.pdfbin0 -> 151360 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin226754 -> 226766 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.dtx6
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin202443 -> 202434 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin216911 -> 216907 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin351783 -> 351771 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin214312 -> 214301 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin2858445 -> 2878515 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin181859 -> 182259 bytes
-rw-r--r--macros/latex-dev/base/tlc2.err4630
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin0 -> 273653 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin156547 -> 156541 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin396665 -> 396690 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.dtx7
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin338056 -> 337852 bytes
-rw-r--r--macros/latex-dev/base/webcomp.err381
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin0 -> 136159 bytes
-rw-r--r--macros/latex-dev/required/amsmath/README.md2
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin161341 -> 161330 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin165759 -> 165748 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin164359 -> 164347 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin453064 -> 475103 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.tex11
-rw-r--r--macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty2848
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.dtx22
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin379697 -> 379045 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin129178 -> 129165 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin193911 -> 193899 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin104557 -> 104544 bytes
-rw-r--r--macros/latex-dev/required/amsmath/changes.txt22
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin101303 -> 101297 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin130493 -> 130477 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin428714 -> 428682 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt20
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin201390 -> 201381 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin263552 -> 263543 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin154503 -> 154491 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.dtx88
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin282829 -> 284033 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin232399 -> 232387 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin310556 -> 310569 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin222533 -> 222531 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin150125 -> 150110 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin245879 -> 246270 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin162266 -> 162254 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin191712 -> 191699 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin189866 -> 189855 bytes
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin481578 -> 481483 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin306803 -> 306786 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin340620 -> 340608 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt40
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin199062 -> 199053 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin183449 -> 183440 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin199071 -> 199056 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin180448 -> 180550 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin144837 -> 144826 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin347284 -> 347382 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin175737 -> 175724 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin144797 -> 144786 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin246978 -> 246939 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin350094 -> 350096 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.dtx29
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin490377 -> 490977 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin135706 -> 135695 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.dtx82
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin167032 -> 169764 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin242802 -> 242793 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin156478 -> 156466 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin254101 -> 254089 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin323376 -> 323501 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin68306 -> 68295 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin212749 -> 212747 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.dtx9
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin354966 -> 355234 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.dtx10
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin309055 -> 308886 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.dtx2
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin163818 -> 163793 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin238029 -> 238011 bytes
166 files changed, 11713 insertions, 224 deletions
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index b13734bf8c..0be2dbb993 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2019-10-01 pre-release 3
+Release 2020-02-01 pre-release 1
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index 6d3539701a..e4c142d814 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index a3b3e1f80a..aca3807a38 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index 481604d422..ea882e939f 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -4,6 +4,127 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2019-11-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Fixed setting for FB05 = long-s t lig (github/154)
+ In 8-bit encodings all we can do is to unravel to "s t" which is
+ not 100% but better than just a strange error.
+
+2019-11-14 Joseph Wright <joseph.wright@morningstar2.co.uk>
+
+ * ltfinal.dtx: Add loader for ltexpl
+ * ltexpl.dtx: New file for pre-loading expl3
+
+2019-11-11 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx: use \quote@name again for \@filef@und in
+ \@iffileonpath
+
+2019-11-02 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmiscen.dtx: Make \\ and \@centercr robust in all situations (gh/203)
+ * ltspace.dtx: Make \\ and \@normalcr robust in all situations (gh/203)
+
+2019-10-18 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltclass.dtx (section{Implementation}): Initialize
+ \...-h@@k only when loading the package or class (gh/198)
+
+#########################
+# 2019-10-01 PL 3 Release
+#########################
+
+2019-11-10 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltmiscen.dtx: fix special comment catcodes (gh/202)
+
+2019-11-09 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx: More filename normalisation: expand before
+ removing quotes.
+
+#########################
+# 2019-10-01 PL 3 Release
+#########################
+
+2019-11-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx: gh/205 wasn't correctly fixed in PL2
+ Put the definition into the right command :-( (gh/205)
+
+2019-11-10 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltmiscen.dtx: fix special comment catcodes (gh/202)
+
+2019-11-09 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx: More filename normalisation: expand before
+ removing quotes.
+
+#########################
+# 2019-10-01 PL 2 Release
+#########################
+
+2019-11-03 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx: set up \verbvisiblespace (gh/205)
+
+2019-11-03 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx: More filename normalisation: avoid adding
+ quotes until needed. (gh/204)
+
+2019-10-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Allow unbalanced conditionals in toc entries (gh/202)
+
+2019-10-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * classes.dtx (subsection{Fonts}):
+ Don't use \MakeRobust if in rollback prior to 2015 (gh/201)
+
+2019-10-22 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltluatex.dtx: page_objnum_provider and process_pdf_image_content classified data
+
+#########################
+# 2019-10-01 PL 1 Release
+#########################
+
+2019-10-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * nfssfont.dtx: added a missing \else branch so that \action is always carried out
+
+2019-10-11 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx: Remove One Brace group before using \string\csname in \set@curr@file.
+
+2019-10-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttab.dtx (subsection{array and tabular environments}):
+ \extracolsep needs to expand during preamble generation (gh/192)
+
+#########################
+# 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}):
diff --git a/macros/latex-dev/base/classes.dtx b/macros/latex-dev/base/classes.dtx
index 9fed94dfdd..1de8095a6e 100644
--- a/macros/latex-dev/base/classes.dtx
+++ b/macros/latex-dev/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2019/08/27 v1.4j
+ [2019/10/25 v1.4k
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -611,9 +611,13 @@
\normalsize
% \end{macrocode}
% We use |\MakeRobust| instead of |\DeclareRobustCommand| above to avoid a log
-% entry for the redefinition.
+% entry for the redefinition. But if we are running in in a rollback situation
+% (prior to 2015) we don't touch it.
+% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)}
% \begin{macrocode}
-\MakeRobust\normalsize
+\ifx\MakeRobust\@undefined \else
+ \MakeRobust\normalsize
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index 2df44af1ae..849df3eb68 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index b95148768e..4c0920d2de 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index ed19ce70b2..cdc7ba9b7f 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index ef24d35ed0..1b945ff227 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.dtx b/macros/latex-dev/base/doc.dtx
index 971bb6053e..e7f2b44c2f 100644
--- a/macros/latex-dev/base/doc.dtx
+++ b/macros/latex-dev/base/doc.dtx
@@ -35,7 +35,7 @@
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package> \ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2018/09/25 v2.1i
+%<+package|shortvrb> [2019/11/10 v2.1k
%<+package|shortvrb> Standard LaTeX documentation package (FMi)]
%\catcode`\<=12
%
@@ -139,7 +139,7 @@
% \changes{v1.9t}{1995/05/11}{Use \cs{GetFileInfo}}
% \GetFileInfo{doc.sty}
%
-% \CheckSum{2206} ^^A % keep the checksum in this file
+% \CheckSum{2208} ^^A % keep the checksum in this file
%
% \title{The \DOC{} and \texttt{shortvrb} Packages\thanks
% {This file has version number \fileversion{} dated \filedate{}.}}
@@ -2005,7 +2005,13 @@
% We deal in a similar way with the star form of this environment.
% \begin{macrocode}
\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
- \MacroFont \@sxverbatim}
+% \end{macrocode}
+%
+% \changes{v2.1j}{2019/11/03}{Kernel now sets up \cs{verbvisiblespace} (gh/205)}
+% \changes{v2.1k}{2019/11/10}{Put the definition into the right command :-( (gh/205)}
+% \begin{macrocode}
+ \@setupverbvisiblespace
+ \MacroFont \@vobeyspaces \@sxverbatim}
% \end{macrocode}
% \end{environment}
% \end{environment}
@@ -2121,13 +2127,14 @@
% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
% which has better error trapping.}
% See \cite{art:verbatim} for commentary.
-% \begin{macrocode}
-\def\@sverb#1{%
- \catcode`#1\active \lccode`\~`#1%
- \gdef\verb@balance@group{\verb@egroup
- \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
- \aftergroup\verb@balance@group
- \lowercase{\let~\verb@egroup}}
+% \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
+% \begin{macrocode}
+%\def\@sverb#1{%
+% \catcode`#1\active \lccode`\~`#1%
+% \gdef\verb@balance@group{\verb@egroup
+% \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
+% \aftergroup\verb@balance@group
+% \lowercase{\let~\verb@egroup}}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index b8d91a63bb..77fad920ae 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index a8aadc3522..8fbd4d9060 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 4195748d07..2b573b44fd 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 239d39d308..1934970320 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index 4434d83588..07c3458fe9 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index 95e5533372..d05b97f8a2 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.tex b/macros/latex-dev/base/fntguide.tex
index d0b1ab378a..f3231a8183 100644
--- a/macros/latex-dev/base/fntguide.tex
+++ b/macros/latex-dev/base/fntguide.tex
@@ -266,8 +266,6 @@ 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.
-\newpage
-
Examples for series values are then:
\begin{center}
\begin{minipage}{.7\linewidth}
diff --git a/macros/latex-dev/base/fontdef.dtx b/macros/latex-dev/base/fontdef.dtx
index 38d51411c3..c9c5f5d77d 100644
--- a/macros/latex-dev/base/fontdef.dtx
+++ b/macros/latex-dev/base/fontdef.dtx
@@ -39,7 +39,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
-%<-latexrelease> [2019/08/27 v3.0c LaTeX Kernel
+%<-latexrelease> [2019/09/21 v3.0d LaTeX Kernel
% \iftrue (\else
%<text, >(Text
%<math, >(Math
@@ -966,7 +966,17 @@
\DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
\DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
\DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\DeclareRobustCommand\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}
@@ -1216,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}
diff --git a/macros/latex-dev/base/format.ins b/macros/latex-dev/base/format.ins
index 5a1bf6e79c..d060044552 100644
--- a/macros/latex-dev/base/format.ins
+++ b/macros/latex-dev/base/format.ins
@@ -209,9 +209,6 @@ the system are in the document `cfgguide.tex'.
\from{ltmath.dtx}{leqno}}
}
-
-
-
\generateFile{oldlfont.sty}{t}{%
\from{oldlfont.dtx}{package}
}
@@ -220,6 +217,9 @@ the system are in the document `cfgguide.tex'.
\from{newlfont.dtx}{package}
}
+% expl3-based extensions
+\generate{\file{ltexpl.ltx}{\from{ltexpl.dtx}{2ekernel}}}
+
% luatex support (TeX part)
\generate{\file{ltluatex.tex}{\from{ltluatex.dtx}{tex,plain}}}
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index 99dc9adfd7..0325a5c0f6 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index e2355231fa..133fc4ec8e 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index 113fd3879d..3015d4f6cc 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf
index e45784ec68..4733bde394 100644
--- a/macros/latex-dev/base/latexchanges.pdf
+++ b/macros/latex-dev/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexchanges.tex b/macros/latex-dev/base/latexchanges.tex
index 43780d3cf8..3c04b9362e 100644
--- a/macros/latex-dev/base/latexchanges.tex
+++ b/macros/latex-dev/base/latexchanges.tex
@@ -95,6 +95,27 @@ with the \Lpack{latexrelease} package being available to revert
changes to use definitions from an earlier format.
+\section{Changes introduced in 2019-10-01 patch~3}
+
+Further fixes to the handling of filenames, expand macros (and
+\verb|\jobname| \emph{before} removing \verb|"|, not after.
+
+\section{Changes introduced in 2019-10-01 patch~2}
+
+Further fixes to the handling of filenames, \ghissue{204}: non-ascii
+filenames and filenames with spaces and multiple dots should now work
+in \verb|\includegraphics|.
+
+Reclassify some luatex callbacks. Other fixes for Issues raised:
+\ghissue{198}, \ghissue{201}, \ghissue{202}, \ghissue{205}.
+
+\section{Changes introduced in 2019-10-01 patch~1}
+
+Adjustments to \verb|\set@curr@file|, and \verb|\@extracolsep|.
+
+Added missing \verb=\else= branch in \texttt{nfssfont} so that
+\verb=\action= is executed if provided.
+
\section{Changes introduced in 2019-10-01}
Introduced \LaTeX\texttt{-dev} formats for pre testing future \LaTeX{}
diff --git a/macros/latex-dev/base/latexrelease.ins b/macros/latex-dev/base/latexrelease.ins
index 9358692a91..e515143740 100644
--- a/macros/latex-dev/base/latexrelease.ins
+++ b/macros/latex-dev/base/latexrelease.ins
@@ -122,6 +122,7 @@ extension .ins) which are part of the distribution.
\from{ltxref.dtx} {latexrelease}% empty
\from{ltmiscen.dtx} {latexrelease}%
\from{ltluatex.dtx} {latexrelease}%
+ \from{ltexpl.dtx} {latexrelease}%
\from{ltfinal.dtx} {latexrelease}%
}
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index 660142e7d0..a6ee7e1204 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index c9bf6447c1..fd5d09bc58 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.err b/macros/latex-dev/base/lb2.err
new file mode 100644
index 0000000000..fa8694c5e2
--- /dev/null
+++ b/macros/latex-dev/base/lb2.err
@@ -0,0 +1,1622 @@
+\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-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
new file mode 100644
index 0000000000..c4f2139a54
--- /dev/null
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index 56bb61c9f7..9e3acd9692 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.err b/macros/latex-dev/base/lgc2.err
new file mode 100644
index 0000000000..043c56d752
--- /dev/null
+++ b/macros/latex-dev/base/lgc2.err
@@ -0,0 +1,697 @@
+\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-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
new file mode 100644
index 0000000000..6e3c1bffcd
--- /dev/null
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 3d19971701..9dc65d2bb9 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2019/09/11 v1.3c LaTeX Kernel (Class & Package Interface)]
+ [2019/10/18 v1.3d LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -155,7 +155,7 @@
% verbatim to the file name given as the first argument, together with
% some comments about how it was produced.
%
-% The package can also be called with an optional argument which is
+% The environment 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
@@ -1429,12 +1429,13 @@
% {Made the initial version [] not [\cs{@unknownversion}]}
% \changes{v0.2m}{1993/12/07}
% {Reset \cs{CurrentOption}}
+% \changes{v1.3d}{2019/10/18}{Initialize \cs{...-h@@k} only when loading
+% the package or class (gh/198)}
% \begin{macrocode}
\def\@onefilewithoptions#1[#2][#3]#4{%
\@pushfilename
\xdef\@currname{#1}%
\global\let\@currext#4%
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\let\CurrentOption\@empty
\@reset@ptions
\makeatletter
@@ -1470,6 +1471,11 @@
% \begin{macrocode}
\global\expandafter
\let\csname ver@\@currname.\@currext\endcsname\@empty
+% \end{macrocode}
+% We initialize \cs{...-h@@k} here and only if we load the file so that it
+% remains undefined otherwise.
+% \begin{macrocode}
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
\InputIfFileExists
{\@currname.\@currext}%
{}%
@@ -1731,8 +1737,6 @@
%<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:
@@ -2153,7 +2157,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-
+%
% \begin{macro}{\pkgcls@candidate}
% \begin{macro}{\pkgcls@releasedate}
% When looping through the |\DeclareRelease| declarations we
@@ -2388,10 +2392,7 @@
\def\pkgcls@targetlabel{#1}}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
% \begin{macro}{\DeclareRelease}
% First argument is the ``name'' of the release and it can be left empty
% if one doesn't like to give a name to the release.
@@ -2497,10 +2498,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
% \begin{macro}{\pkgcls@use@this@release}
% If a certain release has been selected (stored in the external
% file given in \verb=#1=) we need to input it and afterwards stop
@@ -2535,8 +2533,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
% \begin{macro}{\pkgcls@show@selection}
% This command records what selection was made. As that is needed
% in two places (and it is rather lengthly) it was placed in a
@@ -2578,8 +2575,7 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
% \begin{macro}{\pkgcls@rollbackdate@error}
% This is called if the requested rollback date is earlier than the
% earliest known release of a package or class.
@@ -2635,7 +2631,6 @@
% |\DeclareCurrentRelease| but no declared older releases (so
% basically the use of the declaration is a bit dubious).
% \begin{macrocode}
-
\ifx\pkgcls@candidate\@empty
\pkgcls@rollbackdate@error{#2}%
\else
@@ -2669,7 +2664,6 @@
% \end{macro}
%
%
-
% \begin{macro}{\IfTargetDateBefore}
% This enables a simple form of conditional code inside a class or
% package file. If there is a date request and the request date is
diff --git a/macros/latex-dev/base/ltdirchk.dtx b/macros/latex-dev/base/ltdirchk.dtx
index b9db177f19..744759f317 100644
--- a/macros/latex-dev/base/ltdirchk.dtx
+++ b/macros/latex-dev/base/ltdirchk.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdirchk.dtx}
- [2016/10/15 v1.2b LaTeX Kernel (System Dependent Parts)]
+ [2019/11/01 v1.3a LaTeX Kernel (System Dependent Parts)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdirchk.dtx}
@@ -918,14 +918,43 @@
%
% |\filename@simple| is used by all three versions.
% Finally we can split off the extension.
+% \changes{v1.3a}{2019/11/01}
+% {take last . not first}
% \begin{macrocode}
- \def\filename@simple#1.#2\\{%
- \ifx\\#2\\%
- \let\filename@ext\relax
- \else
- \edef\filename@ext{\filename@dot#2\\}%
- \fi
- \edef\filename@base{#1}}
+%</dircheck>
+%<*dircheck,latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}{\filename@simple}
+%<latexrelease> {Final dot for extension}%
+\def\filename@simple#1.#2\\{%
+ \ifx\\#2\\%
+ \let\filename@ext\relax
+ \edef\filename@base{#1}%
+ \else
+ \filename@dots{#1}#2\\%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\filename@dots#1#2.#3\\{%
+ \ifx\\#3\\%
+ \def\filename@ext{#2}%
+ \edef\filename@base{#1}%
+ \else
+ \filename@dots{#1.#2}#3\\%
+ \fi}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}{\filename@simple}
+%<latexrelease> {Final dot for extension}%
+%<latexrelease> \def\filename@simple#1.#2\\{%
+%<latexrelease> \ifx\\#2\\%
+%<latexrelease> \let\filename@ext\relax
+%<latexrelease> \else
+%<latexrelease> \edef\filename@ext{\filename@dot#2\\}%
+%<latexrelease> \fi
+%<latexrelease> \edef\filename@base{#1}}
+%<latexrelease>\EndIncludeInRelease
+%</dircheck,latexrelease>
+%<*dircheck>
% \end{macrocode}
%
% Remove a final dot, added earlier.
diff --git a/macros/latex-dev/base/ltexpl.dtx b/macros/latex-dev/base/ltexpl.dtx
new file mode 100644
index 0000000000..92676a1298
--- /dev/null
+++ b/macros/latex-dev/base/ltexpl.dtx
@@ -0,0 +1,99 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 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
+%
+% \iffalse
+%%% From File: ltexpl.dtx
+%
+%<*driver>
+% \fi
+\ProvidesFile{ltexpl.dtx}
+ [2019-10-02 v0.0 LaTeX Kernel (expl3-dependent code)]
+% \iffalse
+\documentclass{ltxdoc}
+\GetFileInfo{ltfinal.dtx}
+\title{\filename}
+\date{\filedate}
+\author{%
+ Joseph Wright}
+\begin{document}
+ \MaintainedByLaTeXTeam{latex}
+ \maketitle
+ \DocInput{ltfinal.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{\pkg{expl3}-dependent code}
+%
+% \StopEventually{}
+%
+% \changes{v0.0}{2019-10-02}{Initial version}
+%
+% \begin{macrocode}
+%<*2ekernel>
+% \end{macrocode}
+%
+% \subsection{Loader}
+%
+% Check for the required primitive/engine support and the existence of
+% a loader.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease> {expl3}{Pre-load expl3}%
+\IfFileExists{expl3.ltx}
+ {%
+ \ifnum0%
+ \ifdefined\pdffilesize 1\fi
+ \ifdefined\filesize 1\fi
+ \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+ >0 %
+ \else
+ \message{Skipping expl3-dependent extensions}
+%<2ekernel> \expandafter\endinput
+%<latexrelease> \expandafter\@gobbletwo
+ \fi
+ }
+ {%
+ \message{Skipping expl3-dependent extensions}%
+%<2ekernel> \endinput
+%<latexrelease> \@gobbletwo
+ }%
+\input{expl3.ltx}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
+% \Finale
diff --git a/macros/latex-dev/base/ltfiles.dtx b/macros/latex-dev/base/ltfiles.dtx
index afb085a417..7c43abc079 100644
--- a/macros/latex-dev/base/ltfiles.dtx
+++ b/macros/latex-dev/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2019/08/27 v1.2b LaTeX Kernel (File Handling)]
+ [2019/11/11 v1.2f LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -706,7 +706,16 @@
% A side effect of the new code is that we will see quotes around
% file name displays where there haven't been any before.
%
+% For compatibilty with existing code using |{abc}.tex| or |{one.two}.png|
+% an initial brace group is discarded before expansion and |\string| is applied
+% The content of the brace group is discarded. This means that a leading space
+% will be lost unless protected (by |{ }| or |" "| or |\space|) but filenames
+% with a space are hopefully rare.
+%
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
+% \changes{v1.2c}{2019/10/11}{Remove one brace group}
+% \changes{v1.2d}{2019/10/26}{remove quotes}
+% \changes{v1.2e}{2019/11/09}{expand and \cs{string} before removing quotes}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -715,7 +724,11 @@
\def\set@curr@file#1{%
\begingroup
\escapechar\m@ne
- \xdef\@curr@file{\expandafter\string\csname #1\endcsname}%
+ \xdef\@curr@file{%
+ \expandafter\expandafter\expandafter\unquote@name
+ \expandafter\expandafter\expandafter{%
+ \expandafter\string
+ \csname\@firstofone#1\@empty\endcsname}}%
\endgroup
}
% \end{macrocode}
@@ -751,11 +764,11 @@
%
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
% \changes{v1.2b}{2019/08/27}{Make command robust}
+% \changes{v1.2d}{2019/10/26}{dont quote name}
% \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}}
+ \expandafter\IfFileExists@\expandafter{\@curr@file}}
% \end{macrocode}
% \end{macro}
%
@@ -763,10 +776,11 @@
% \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.2d}{2019/10/26}{quote on openin}%
+% Argument |#1| is |\@curr@file| so catcode 12 string with no quotes.
% \begin{macrocode}
\long\def \IfFileExists@#1#2#3{%
- \openin\@inputcheck#1 %
+ \openin\@inputcheck"#1" %
\ifeof\@inputcheck
\ifx\input@path\@undefined
\def\reserved@a{#3}%
@@ -775,13 +789,40 @@
\fi
\else
\closein\@inputcheck
- \edef\@filef@und{#1 }%
+ \edef\@filef@und{"#1" }%
\def\reserved@a{#2}%
\fi
\reserved@a}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@iffileonpath}
+% If the file is not found by |\openin|, and |\input@path| is defined,
+% look in all the directories specified in |\input@path|.
+% \changes{v0.9p}{1994/01/18}{Macro added}
+% \changes{v1.0f}{1994/05/02}
+% {\cs{@break@loop} renamed to \cs{@break@tfor}}
+% \changes{v1.0t}{1995/05/25}
+% {(CAR) added \cs{long}}
+% \changes{v1.1d}{1996/01/10}
+% {Change argument handling to not require doubled hash. latex/2024}
+% \changes{v1.2d}{2019/10/26}{quote on openin}%
+% \changes{v1.2f}{2019/11/11}{make \cs{@filef@und} match quoting used on \cs{openin}}%
+% \begin{macrocode}
+\long\def\@iffileonpath#1{%
+ \let\reserved@a\@secondoftwo
+ \expandafter\@tfor\expandafter\reserved@b\expandafter
+ :\expandafter=\input@path\do{%
+ \openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} %
+ \ifeof\@inputcheck\else
+ \edef\@filef@und{\expandafter\quote@name\expandafter{\reserved@b#1} }%
+ \let\reserved@a\@firstoftwo%
+ \closein\@inputcheck
+ \@break@tfor
+ \fi}%
+ \reserved@a}
+% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%</2ekernel|latexrelease>
@@ -811,37 +852,25 @@
%<latexrelease> \fi
%<latexrelease> \reserved@a}
%<latexrelease>
+%<latexrelease>\long\def\@iffileonpath#1{%
+%<latexrelease> \let\reserved@a\@secondoftwo
+%<latexrelease> \expandafter\@tfor\expandafter\reserved@b\expandafter
+%<latexrelease> :\expandafter=\input@path\do{%
+%<latexrelease> \openin\@inputcheck\reserved@b#1 %
+%<latexrelease> \ifeof\@inputcheck\else
+%<latexrelease> \edef\@filef@und{\reserved@b#1 }%
+%<latexrelease> \let\reserved@a\@firstoftwo%
+%<latexrelease> \closein\@inputcheck
+%<latexrelease> \@break@tfor
+%<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,
-% look in all the directories specified in |\input@path|.
-% \changes{v0.9p}{1994/01/18}{Macro added}
-% \changes{v1.0f}{1994/05/02}
-% {\cs{@break@loop} renamed to \cs{@break@tfor}}
-% \changes{v1.0t}{1995/05/25}
-% {(CAR) added \cs{long}}
-% \changes{v1.1d}{1996/01/10}
-% {Change argument handling to not require doubled hash. latex/2024}
-% \begin{macrocode}
-\long\def\@iffileonpath#1{%
- \let\reserved@a\@secondoftwo
- \expandafter\@tfor\expandafter\reserved@b\expandafter
- :\expandafter=\input@path\do{%
- \openin\@inputcheck\reserved@b#1 %
- \ifeof\@inputcheck\else
- \edef\@filef@und{\reserved@b#1 }%
- \let\reserved@a\@firstoftwo%
- \closein\@inputcheck
- \@break@tfor
- \fi}%
- \reserved@a}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\InputIfFileExists}
% \changes{v0.9b}
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index de161a777e..f4f97ba020 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2019/08/27 v2.1g LaTeX Kernel (Final Settings)]
+ [2019-10-02 v2.2 LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -928,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}
@@ -1031,6 +1044,14 @@
% }{}
% \end{macrocode}
%
+% \subsection{Loading further extensions}
+%
+% \changes{v2.2}{2019-10-02}{Load \textsf{ltexpl}}
+% Simply load further code: it's deliberately separate
+% \begin{macrocode}
+\input{ltexpl.ltx}
+% \end{macrocode}
+%
% \subsection{Freeing Memory}
%
% \begin{macro}{\reserved@a}
diff --git a/macros/latex-dev/base/ltluatex.dtx b/macros/latex-dev/base/ltluatex.dtx
index 5c2f30624d..41f2344a37 100644
--- a/macros/latex-dev/base/ltluatex.dtx
+++ b/macros/latex-dev/base/ltluatex.dtx
@@ -1,17 +1,21 @@
% \iffalse meta-comment
%
-% Copyright 2015 2017 2018
+% Copyright (C) 2015-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
-% It may be distributed and/or modified under the conditions of
-% the LaTeX Project Public License (LPPL), either version 1.3c of
-% this license or (at your option) any later version. The latest
-% version of this license is in the file:
-%
-% https://www.latex-project.org/lppl.txt
+% 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".
%
%<2ekernel>%%% From File: ltluatex.dtx
%<plain>\ifx\newluafunction\undefined\else\expandafter\endinput\fi
@@ -24,7 +28,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2018/10/21 v1.1i
+[2019/10/22 v1.1j
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -1312,12 +1316,15 @@ local callbacktypes = callbacktypes or {
% \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,
@@ -1325,12 +1332,12 @@ 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.
@@ -1358,11 +1365,12 @@ local callbacktypes = callbacktypes or {
% 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}
+% \changes{v1.1j}{2019/10/22}{page\_objnum\_provider and process\_pdf\_image\_content classified data}
% \begin{macrocode}
finish_pdffile = data,
finish_pdfpage = data,
- page_objnum_provider = simple,
- process_pdf_image_content = simple,
+ page_objnum_provider = data,
+ process_pdf_image_content = data,
% \end{macrocode}
% Section 8.7: font-related callbacks.
% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added}
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index 68b2eff34c..f41f6d5338 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmiscen.dtx b/macros/latex-dev/base/ltmiscen.dtx
index 8cd6120751..f60a4090b6 100644
--- a/macros/latex-dev/base/ltmiscen.dtx
+++ b/macros/latex-dev/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2019/08/29 v1.1p LaTeX Kernel (Misc. Environments)]
+ [2019/11/02 v1.1s LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -370,17 +370,7 @@
% percent. The result is saved in \cs{@temptokena} for later use.
% \changes{v1.1n}{2018/09/26}{Sometimes mask the endline char when
% writing to files (github/73)}
-% \begin{macrocode}
-\begingroup
-\catcode`\%=12
-% \end{macrocode}
-% \texttt{latexrelease} will read this code in high-speed
-% mode in certain situations. During that it will only look for
-% \cs{if} tests but not actually execute the \cs{catcode} change
-% above. As a result it will drop anything after the |%| character
-% in the definition. Therefore the |\fi| needs to be on the next
-% line and we need locally another comment character to avoid
-% getting spaces into the definition---a weird problem :-)
+%
% \begin{macrocode}
\catcode`\^^A=9
\long\gdef\add@percent@to@temptokena
@@ -390,13 +380,34 @@
% the beginning, so that in case the tokenlist consists of a single brace
% group the braces aren't stripped. The |\expandafter| then expands
% this extra token away again.
+% \changes{v1.1q}{2019/10/25}{Allow unbalanced conditionals in \texttt{\#1} (gh/202)}
+% \changes{v1.1r}{2019/11/10}{fix to special comment catcodes (gh/202)}
+% \begin{macrocode}
+ {\expandafter\ifx\expandafter X\detokenize{#2}X\expandafter\dont@add@percent@to@temptokena\else
+ \expandafter\do@add@percent@to@temptokena\fi{#1}}
+% \end{macrocode}
+%
% \begin{macrocode}
- {\ifx!#2!\@temptokena\expandafter{#1}\else
- \@temptokena\expandafter{#1%^^A
+\long\def\dont@add@percent@to@temptokena#1{%
+ \@temptokena\expandafter{#1}}
+% \end{macrocode}
+% \texttt{latexrelease} will read this code in high-speed
+% mode in certain situations. During that it will only look for
+% \cs{if} tests but not actually execute the \cs{catcode} change
+% above. As a result it will drop anything after the |%| character
+% in the definition. Therefore the |\fi| needs to be on the next
+% line and we need locally another comment character to avoid
+% getting spaces into the definition---a weird problem :-)
+%
+% \begin{macrocode}
+\begingroup
+\catcode`\%=12
+\catcode`\^^A=14
+\long\gdef\do@add@percent@to@temptokena#1{\@temptokena\expandafter{#1%^^A
% \end{macrocode}
% Can't be on the same line as the |%| --- see above.
% \begin{macrocode}
- }\fi}
+ }}
\endgroup
% \end{macrocode}
% \end{macro}
@@ -432,6 +443,8 @@
%<latexrelease> {\protected@file@percent}{Mask line endings}%
%<latexrelease>\let\protected@file@percent\@undefined
%<latexrelease>\let\add@percent@to@temptokena\@undefined
+%<latexrelease>\let\do@add@percent@to@temptokena\@undefined
+%<latexrelease>\let\dont@add@percent@to@temptokena\@undefined
%<latexrelease>\long\def\@writefile#1#2{%
%<latexrelease> \@ifundefined{tf@#1}\relax
%<latexrelease> {\@temptokena{#2}%
@@ -693,9 +706,27 @@
% \begin{macro}{\@centercr}
% \changes{v1.0h}{1994/05/03}{\cs{@badcrerr} replaced by \cs{@nolnerr}}
% \changes{v1.0z}{1995/07/13}{Use \cs{nobreak}}
+% \changes{v1.1s}{2019/11/02}{Make \cs{@centercr} robust (gh/203)}
% \begin{macrocode}
-\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease> {\@centercr}{Make robust}%
+\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
\par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@centercr}{Make robust}%
+%<latexrelease>
+%<latexrelease>\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+%<latexrelease> \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index d14e8afada..ff9dd2b645 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews.tex b/macros/latex-dev/base/ltnews.tex
index 3b351448b7..9f8a1a715b 100644
--- a/macros/latex-dev/base/ltnews.tex
+++ b/macros/latex-dev/base/ltnews.tex
@@ -33,7 +33,9 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltnews.tex}%
[2015/02/16 v1.4b Master file for ltnews*.tex (LaTeX Project)]
-\providecommand*{\lastissue}{30}
+
+\providecommand*{\lastissue}{31}
+
\InputIfFileExists{ltnews-lastissue.cfg}{}{}
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 365827c623..9071142bdd 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 38eede9d40..e983f8271a 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index b133016eb8..8f622be2e8 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index 0b29d3441d..e732c2eb5c 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index b6f50612d4..c3846ae50a 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index e9cf712595..3d03585511 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index 4537142858..43bad563e2 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index 0c20b376fb..e3346bd168 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index 54635ff25f..d2603c5e12 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index 3c2ca517a0..350475ad50 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index bfb51f7055..4d30ee7848 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index 1fe0d9d532..e959779a0d 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index 0270c5d725..01156db306 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index db7782644b..755a203f80 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index 6161b1011f..235e76353e 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index 2e27478aa4..4c06e59b52 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index ca3807fc63..c60fa316ad 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index f228a5bcfb..f4f0cb26f9 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 0cb16a872d..3fd293f21a 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 82321e19e3..2153ef469d 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index b4d610ee25..97498888e5 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index c9c528a69f..437b66bf80 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 464b6e0b78..b8e53cd09e 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index d428dfd11c..ddd3dce0f1 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index 31169caec3..2d49d9f624 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index 167fab38b8..600351539f 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index c4a999423c..573fed918f 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index 3193052a17..c74bcc5c88 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index 6cb0ac77d0..94beceec51 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index d06d25c61f..d7dcc77b9c 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.tex b/macros/latex-dev/base/ltnews30.tex
index 48d5959c6a..cfc1430fb8 100644
--- a/macros/latex-dev/base/ltnews30.tex
+++ b/macros/latex-dev/base/ltnews30.tex
@@ -48,15 +48,14 @@
\providecommand\pdfTeX{\hologo{pdfTeX}}
\providecommand\MiKTeX{\hologo{MiKTeX}}
\providecommand\CTAN{\textsc{ctan}}
-\providecommand\TL{\TeX{}Live}
-
+\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}
+ \par\smallskip}
% simple solution right now (just link to the first issue if there are more)
\def\getfirstgithubissue#1 #2\relax{#1}
@@ -156,7 +155,7 @@ 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).
+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
@@ -190,7 +189,7 @@ 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
+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
@@ -199,24 +198,24 @@ 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 is available in an upcoming TUGboat article: \enquote{The
+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, the use within an integrated
+\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
+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 was necessary was to copy
-the file \texttt{XeLaTeX.engine} to XeLaTeX-dev.engine and change the
+\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.
@@ -226,7 +225,7 @@ call from \texttt{xelatex} to \texttt{xelatex-dev} inside.
Perhaps the most important improvement in this release is
even
-better support for UTF-8 characters when using \pdfTeX{}.\footnote{The
+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.}
@@ -240,13 +239,13 @@ 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
+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 UTF-8 characters
+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
@@ -268,9 +267,9 @@ 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
+\cs{includegraphics}, etc., commands
can now contain any
-Unicode characters allowed by the File System in use,
+Unicode characters allowed by the file system in use,
including spaces.
In this case,
even characters that can't be typeset
@@ -316,20 +315,20 @@ 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 huge number remained unnecessarily fragile.
+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 an \enquote{moving argument}.
+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
+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
@@ -345,8 +344,8 @@ 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 follow up release.
-
+This area will be addressed in a followup release.
+%
\githubissue{123}
@@ -378,11 +377,13 @@ This change was also applied in the \pkg{array} package.
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.
-
+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
+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
@@ -405,7 +406,7 @@ 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 not load the files \texttt{foo.tex} and \texttt{bar.tex} but
would load \texttt{bar.tex} twice. This has been corrected.
\githubissue{109}
@@ -414,7 +415,7 @@ would load \texttt{bar.tex} twice. This has been corrected.
\subsection{Improve interface for cross-references}
%%CCC should be 'provide' as they still exist. FMi - no they no longer do that
-The packages \pkg{fcnylab} and \pkg{varioref} provided
+The packages \pkg{fncylab} and \pkg{varioref} provided
a slightly
improved definition of \cs{refstepcounter} which allowed
the internal
@@ -428,14 +429,15 @@ 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
+example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that
references to equations
automatically come out as
-\enquote{eq.~(5)} or similar. As this means a \cs{ref} command can no
-longer be used at the start of a sentence, the packages also
+\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},
+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.
@@ -448,19 +450,19 @@ need to load additional packages.
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}}
+\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}}
-As a side effect of setting up the error font for NFSS, this
-declaration also changed the current font-size back to 10pt.
+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
+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
@@ -473,7 +475,7 @@ The command has now changed to not produce such side effects.
-\subsection{\pkg{nfssfont}: Generate a font table as the default action}
+\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
@@ -485,7 +487,7 @@ Now one can simply hit enter
instead of having to write \verb=\table\bye=.
-\subsection{\pkg{trace} package support in the kernel}
+\subsection{\pkg{trace}: Add package support in the kernel}
The \pkg{trace} package implements the commands \cs{traceon}
and \cs{traceoff} that work like
@@ -510,14 +512,14 @@ regardless of \pkg{trace} being loaded or not.
\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
+specifiers for a \texttt{tabular} preamble; it is also possible to
change existing ones. However, doing that for a primitive column
-specifier, such a \texttt{c}, is seldom a good idea, since then its
+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}
@@ -542,7 +544,7 @@ 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}}
+\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
@@ -564,12 +566,13 @@ Support was also added for the Arabic language through the option
-\subsection{\pkg{xr}: Support citations to bibliographies in external documents}
+\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
+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
@@ -583,7 +586,7 @@ package.
\section{Changes to packages in the \pkg{amsmath} category}
-\subsection{\pkg{amsmath}: Introduce \texttt{overunderset} command}
+\subsection{\pkg{amsmath}: Introduce \cs{overunderset} command}
The \pkg{amsmath} package has always offered
the commands \cs{overset} and
@@ -601,7 +604,7 @@ There are a number of
documentation updates in files
on the documentation page of the project website~\cite{30:site-doc}.
-\subsection{Highlighting the standard NFSS codes for series}
+\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
@@ -615,7 +618,7 @@ comparable, e.g., that you get a \enquote{light} weight if you specify
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 user from easily mixing and matching different
+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}
@@ -628,7 +631,7 @@ 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 jointly. Thus the package \texttt{latex-doc}
+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.
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
new file mode 100644
index 0000000000..b291b22aec
--- /dev/null
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.tex b/macros/latex-dev/base/ltnews31.tex
new file mode 100644
index 0000000000..69f8dd3cd1
--- /dev/null
+++ b/macros/latex-dev/base/ltnews31.tex
@@ -0,0 +1,270 @@
+% \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: ltnews31.tex
+%
+% This is issue 31 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{February}
+\publicationyear{2020}
+
+\publicationissue{31}
+
+\begin{document}
+
+%\addtolength\textheight{4.2pc} % only for TUB
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+%\newpage
+
+\medskip
+
+
+\section{Introduction}
+
+This document is under construction \ldots
+
+
+\section{Primitive requirements}
+
+Since the finalisation of \eTeX{} in 1999, a number of additional `utility'
+primitives have been added to \pdfTeX{}. Several of these are broadly useful
+and have been requirements for \pkg{expl3} for some time, most notably
+\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
+been incorporated into \XeTeX{} and (u)p-\TeX{}; they were available in
+\LuaTeX{} already.
+
+A number of the additional primitives are needed to support new or improved
+functionality in \LaTeX{}. This is seen for example in improved UTF-8 handling,
+which uses \cs{ifincsname}. The following primitive functionality (which in
+\LuaTeX{} may be achieved using Lua code) will therefore be \emph{required} by
+the \LaTeX{} kernel after [INSERT DATE HERE]:
+\begin{itemize}
+ \item \cs{expanded}
+ \item \cs{ifincsname}
+ \item \cs{ifpdfprimitive}
+ \item \cs{pdfcreationdate}
+ \item \cs{pdfelapsedtime}
+ \item \cs{pdffiledump}
+ \item \cs{pdffilemoddate}
+ \item \cs{pdffilesize}
+ \item \cs{pdflastxpos}
+ \item \cs{pdflastypos}
+ \item \cs{pdfmdfivesum}
+ \item \cs{pdfnormaldeviate}
+ \item \cs{pdfpageheight}
+ \item \cs{pdfpagewidth}
+ \item \cs{pdfprimitive}
+ \item \cs{pdfrandomseed}
+ \item \cs{pdfresettimer}
+ \item \cs{pdfsavepos}
+ \item \cs{pdfsetrandomseed}
+ \item \cs{pdfshellescape}
+ \item \cs{pdfstrcmp}
+ \item \cs{pdfuniformdeviate}
+\end{itemize}
+For ease of reference, these primitives will be referred to as the
+`\pdfTeX{} utilities'.
+
+Engines which are fully Unicode-capable must all provide the following
+primitives
+\begin{itemize}
+ \item \cs{Uchar}
+ \item \cs{Ucharcat}
+ \item \cs{Umathcode}
+\end{itemize}
+In particular, note that \cs{Umathcode} is used as a marker primitive for
+this capability.
+
+\section{Experiences with the \LaTeX\texttt{-dev} formats}
+
+\emph{write}
+
+In TeXLive 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{} engine, which is Lua\TeX{} with an embedded HarfBuzz library.
+HarfBuzz can be used by setting a suitable renderer in the font declaration. An interface for that is provided by \pkg{fontspec}.
+This additional font renderer will greatly improve the shaping of various scripts, which are currently handled correctly only by \XeTeX{}.
+To simplify the testing of the new engine, binaries have been added to MiKTeX and TeXLive 2019 and both have changed the Lua\LaTeX-dev format to use it.
+
+\section{Improved load-times for \pkg{expl3}}
+
+The \LaTeX3 programming layer, \pkg{expl3}, has over the past decade moved from
+being largely experimental to broadly stable. It is now used in a significant
+number of third-party packages, most notably \pkg{xparse} for defining
+interfaces in cases where no \pkg{expl3} code is \enquote{visible}. Most
+\LaTeX{} documents compiled using \XeTeX{} or \LuaTeX{} load \pkg{fontspec},
+which is written using \pkg{expl3}.
+
+The \pkg{expl3} layer contains a non-trivial number of macros, and when used
+with the \XeTeX{} and \LuaTeX{} engines, it loads a large body of Unicode data.
+This means that even on a fast computer, there is a relatively large load time for
+using \pkg{expl3}.
+
+For this release, the team have made adjustments in the \LaTeXe{} kernel to
+pre-load a significant portion of \pkg{expl3} as the format is built. This is
+transparent at the user level, other than the significant decrease in document
+processing time: there will be no \enquote{pause} for loading Unicode data
+files. Loading of \pkg{expl3} in documents and packages can be done as usual;
+eventually, it will be possible to omit
+\begin{verbatim}
+\RequirePackage{expl3}
+\end{verbatim}
+entirely, but to support older formats, this is still recommended at present.
+
+\section{Other changes to the \LaTeX{} kernel}
+
+\emph{fixed gh198}
+
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\emph{fixed gh190}
+
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+
+
+
+\section{Documentation updates}
+
+
+
+
+
+\begin{thebibliography}{9}
+
+%\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{31: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{31:fntguide} \LaTeX{} Project Team:
+ \emph{\LaTeXe{} font selection}.\\
+ \url{https://latex-project.org/documentation/}
+
+\bibitem{31:site-doc}
+ \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+ \url{https://latex-project.org/documentation/}
+
+%\bibitem{31: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-dev/base/ltsect.dtx b/macros/latex-dev/base/ltsect.dtx
index 239d4c547f..b4851f28e2 100644
--- a/macros/latex-dev/base/ltsect.dtx
+++ b/macros/latex-dev/base/ltsect.dtx
@@ -784,7 +784,7 @@
\def\addcontentsline#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}%
% \end{macrocode}
-% We add \cs{protected@file@percent} at the end which is turned om
+% We add \cs{protected@file@percent} at the end which is turned inside
% \cs{@writefile} into a percent character to mask the newline after
% the closing argument brace.
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltspace.dtx b/macros/latex-dev/base/ltspace.dtx
index d840b13bbb..2abc1a4f23 100644
--- a/macros/latex-dev/base/ltspace.dtx
+++ b/macros/latex-dev/base/ltspace.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2019/08/27 v1.3j LaTeX Kernel (spacing)]
+ [2019/11/02 v1.3k LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -393,15 +393,38 @@
% so now it is explicitly robust, like |\\|.
% \begin{macro}{\@normalcr}
% The internal definition of the `normal' definition of |\\|.
+% \changes{v1.3k}{2019/11/02}{Make also \cs{@normalcr} robust}
% \begin{macrocode}
-\DeclareRobustCommand\\{%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease> {\@normalcr}{Make robust}%
+\protected\def\@normalcr{%
\let \reserved@e \relax
\let \reserved@f \relax
\@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak
\@xnewline}%
- \@xnewline}
-\expandafter\let\expandafter\@normalcr
- \csname\expandafter\@gobble\string\\ \endcsname
+ \@xnewline}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\\\@normalcr
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@normalcr}{Make robust}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\\{%
+%<latexrelease> \let \reserved@e \relax
+%<latexrelease> \let \reserved@f \relax
+%<latexrelease> \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak
+%<latexrelease> \@xnewline}%
+%<latexrelease> \@xnewline}
+%<latexrelease>\expandafter\let\expandafter\@normalcr
+%<latexrelease> \csname\expandafter\@gobble\string\\ \endcsname
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/base/lttab.dtx b/macros/latex-dev/base/lttab.dtx
index 646015daf3..aa2a00390f 100644
--- a/macros/latex-dev/base/lttab.dtx
+++ b/macros/latex-dev/base/lttab.dtx
@@ -31,7 +31,7 @@
%%% From File: lttab.dtx
%<*driver>
% \fi
-\ProvidesFile{lttab.dtx}[2019/08/27 v1.1p LaTeX Kernel (Columns)]
+\ProvidesFile{lttab.dtx}[2019/10/07 v1.1q LaTeX Kernel (Columns)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lttab.dtx}
@@ -806,8 +806,12 @@
%
%
% \begin{macro}{\extracolsep}
+% This command needs to expand during the tabular preamble construction
+% so can't be robust.
+%
+% \changes{v1.1q}{2019/10/07}{This needs to expand}
% \begin{macrocode}
-\DeclareRobustCommand\extracolsep[1]{\tabskip #1\relax}
+\def\extracolsep#1{\tabskip #1\relax}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index 4a5cc5283b..cb531ae0d2 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -112,10 +112,10 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2019-10-01}
+ {2020-02-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-3}
+\def\patch@level{-1}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index f8c240b27d..1b79bb6fc2 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.dtx b/macros/latex-dev/base/ltxdoc.dtx
index 21cc2d3dcf..2d3e5aad2a 100644
--- a/macros/latex-dev/base/ltxdoc.dtx
+++ b/macros/latex-dev/base/ltxdoc.dtx
@@ -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-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index f8367ce7bd..a75d953081 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxref.dtx b/macros/latex-dev/base/ltxref.dtx
index 1d8c41c439..27d3250413 100644
--- a/macros/latex-dev/base/ltxref.dtx
+++ b/macros/latex-dev/base/ltxref.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltxref.dtx}
- [2019/08/22 v1.1l LaTeX Kernel (Cross Referencing)]
+ [2019/09/16 v1.1m LaTeX Kernel (Cross Referencing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltxref.dtx}
@@ -377,6 +377,7 @@
%
%
%
+% \changes{v1.1m}{2019/09/16}{Correctly revert the \cs{p@...} change}
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -385,7 +386,7 @@
%<latexrelease>
%<latexrelease>\def\refstepcounter#1{\stepcounter{#1}%
%<latexrelease> \protected@edef\@currentlabel
-%<latexrelease> {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
+%<latexrelease> {\csname p@#1\endcsname\csname the#1\endcsname}%
%<latexrelease>}
%<latexrelease>\let\labelformat\@undefined
%<latexrelease>\let\Ref\@undefined
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index e014fa354c..c88cceb756 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manual.err b/macros/latex-dev/base/manual.err
new file mode 100644
index 0000000000..e78b18de9f
--- /dev/null
+++ b/macros/latex-dev/base/manual.err
@@ -0,0 +1,365 @@
+\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-dev/base/manual.pdf b/macros/latex-dev/base/manual.pdf
new file mode 100644
index 0000000000..f77b4566e0
--- /dev/null
+++ b/macros/latex-dev/base/manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 01a800efea..c79c67967f 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.dtx b/macros/latex-dev/base/nfssfont.dtx
index a77dfba7b3..fc92f83451 100644
--- a/macros/latex-dev/base/nfssfont.dtx
+++ b/macros/latex-dev/base/nfssfont.dtx
@@ -26,8 +26,8 @@
% extension .ins) which are part of the distribution.
%
% \fi
-\def\nfssfontfileversion{v2.2d}
-\def\nfssfontfiledate{2015/02/01}
+\def\nfssfontfileversion{v2.2e}
+\def\nfssfontfiledate{2019/10/12}
%
% \iffalse
@@ -258,6 +258,8 @@
\string\help\space for help [ \string\table\space\string\bye\space]:}%
\ifx\action\empty
\expandafter\table\expandafter\bye
+ \else
+ \expandafter\action
\fi
}
% \end{macrocode}
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index c7650a0455..0ef3e8b18a 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index a0135a97eb..ea741a27a6 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 6bacf0d00b..72aa1d5021 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index d7305f0f92..07cb703868 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index cc356e1813..8057676246 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index f38600a887..5955ad04d9 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.err b/macros/latex-dev/base/tlc2.err
new file mode 100644
index 0000000000..57b3c85715
--- /dev/null
+++ b/macros/latex-dev/base/tlc2.err
@@ -0,0 +1,4630 @@
+\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-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
new file mode 100644
index 0000000000..70d0a35fa6
--- /dev/null
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 7b170f6b44..8d3774ebce 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index 2afcee0f05..1679d6e53a 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.dtx b/macros/latex-dev/base/utf8ienc.dtx
index ea377297a5..d8c41255b2 100644
--- a/macros/latex-dev/base/utf8ienc.dtx
+++ b/macros/latex-dev/base/utf8ienc.dtx
@@ -216,7 +216,7 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
-%<-utf8-2018> [2019/07/11 v1.2j UTF-8 support for inputenc]
+%<-utf8-2018> [2019/11/14 v1.2k UTF-8 support for inputenc]
% \end{macrocode}
%
% \begin{macrocode}
@@ -1789,14 +1789,15 @@
% (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)}
+% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and s-ligatures and st (github/154)}
+% \changes{v1.kj}{2019/11/14}{Fixed setting for FB05 = long-s t lig (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{FB05}{st} % ſt -- this is the long s (not f)
%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB06}{st} % st
% \end{macrocode}
%
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index 5b390be9a6..a6e4a9ef9a 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.err b/macros/latex-dev/base/webcomp.err
new file mode 100644
index 0000000000..f604d8ef35
--- /dev/null
+++ b/macros/latex-dev/base/webcomp.err
@@ -0,0 +1,381 @@
+\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-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
new file mode 100644
index 0000000000..e3acd436b9
--- /dev/null
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/README.md b/macros/latex-dev/required/amsmath/README.md
index 66a27edf03..e10fadce5d 100644
--- a/macros/latex-dev/required/amsmath/README.md
+++ b/macros/latex-dev/required/amsmath/README.md
@@ -1,7 +1,7 @@
The amsmath bundle for LaTeX
============================
-Release 2019-10-01 pre-release 3
+Release 2020-02-01 pre-release 1
Overview
--------
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 9a2dabfc88..385669d431 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.pdf
+++ b/macros/latex-dev/required/amsmath/amsbsy.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index 860352c44a..3ef1ed5ed1 100644
--- a/macros/latex-dev/required/amsmath/amscd.pdf
+++ b/macros/latex-dev/required/amsmath/amscd.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 9078999dc0..9867352fe7 100644
--- a/macros/latex-dev/required/amsmath/amsgen.pdf
+++ b/macros/latex-dev/required/amsmath/amsgen.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.pdf b/macros/latex-dev/required/amsmath/amsldoc.pdf
index decc68fe74..59248ae49f 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.pdf
+++ b/macros/latex-dev/required/amsmath/amsldoc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.tex b/macros/latex-dev/required/amsmath/amsldoc.tex
index 9e08f029f5..8573682a66 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.tex
+++ b/macros/latex-dev/required/amsmath/amsldoc.tex
@@ -64,7 +64,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
\title{User's Guide for the \nipkg{amsmath} Package (Version~2.1)}
\author{American Mathematical Society, \LaTeX3 Project}
-\date{1999-12-13 (revised 2002-02-25, 2016-11-14, 2018-04-05)}
+\date{1999-12-13\\(revised 2002-02-25, 2016-11-14, 2018-04-05, 2019-10-14)}
\makeatletter
\def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}}
\makeatother
@@ -1372,9 +1372,12 @@ superscript\index{subscripts and superscripts} above a binary relation.
In the \nipkg{amsmath} package there are somewhat more general commands,
\cn{overset} and \cn{underset}, that can be used to place one symbol
above or below another symbol, whether it's a relation or something
-else. The input |\overset{*}{X}| will place a superscript-size $*$ above
-the $X$: $\overset{*}{X}$; \cn{underset} is the analog for adding a
-symbol underneath.
+else. The input |\overset{*}{X}| will place a superscript-size {\small$*$} above
+the {\small$X$}: {\small$\smash{\overset{*}{X}}$};
+\cn{underset} is the analog for adding a
+symbol underneath. The command \cn{overunderset} is a combination of
+these, taking three arguments to place superscript sized expressions
+above and below the same base.
See also the description of \cn{sideset} in \secref{sideset}.
diff --git a/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
new file mode 100644
index 0000000000..f684834649
--- /dev/null
+++ b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
@@ -0,0 +1,2848 @@
+%%
+%% This is file `amsmath.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% amsmath.dtx
+%%
+%% Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
+%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%%
+%% This work 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 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is the LaTeX3 project.
+%%
+\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
+[1994/12/01]% LaTeX date must be December 1994 or later
+\ProvidesPackage{amsmath}[2018/12/01 v2.17b AMS math features]
+\edef\@temp{\catcode 96=\number\catcode 96 }
+\catcode\string `\`=12
+\def\do#1{\catcode\number`#1=\number\catcode`#1}
+\edef\@temp{%
+ \noexpand\AtEndOfPackage{%
+ \@temp
+ \do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\.%
+ \do\/\do\<\do\=\do\>\do\[\do\]\do\^\do\_\relax
+ }%
+}
+\@temp
+\def\do#1{\catcode\number`#1=12 }
+\do\"\do\'\do\(\do\)\do\*\do\+\do\,\do\-\do\.
+\do\/\do\<\do\=\do\>\do\[\do\]
+\catcode`\^=7 \catcode`\_=8
+\DeclareOption{intlimits}{\let\ilimits@\displaylimits}
+\DeclareOption{nointlimits}{\let\ilimits@\nolimits}
+\DeclareOption{sumlimits}{\let\slimits@\displaylimits}
+\DeclareOption{nosumlimits}{\let\slimits@\nolimits}
+\DeclareOption{namelimits}{\PassOptionsToPackage{namelimits}{amsopn}}
+\DeclareOption{nonamelimits}{%
+ \PassOptionsToPackage{nonamelimits}{amsopn}}
+\newif\ifctagsplit@
+\newif\iftagsleft@
+\DeclareOption{leqno}{\tagsleft@true}
+\DeclareOption{reqno}{\tagsleft@false}
+\DeclareOption{centertags}{\ctagsplit@true}
+\DeclareOption{tbtags}{\ctagsplit@false}
+\DeclareOption{cmex10}{%
+ \ifnum\cmex@opt=\@ne \def\cmex@opt{0}%
+ \else \def\cmex@opt{10}\fi
+}
+\@ifundefined{cmex@opt}{\def\cmex@opt{7}}{}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\if@fleqn
+\newskip\@mathmargin
+\@mathmargin\@centering
+\DeclareOption{fleqn}{%
+ \@fleqntrue
+ \@mathmargin = -1sp
+ \let\mathindent=\@mathmargin
+ \AtBeginDocument{%
+ \ifdim\@mathmargin= -1sp
+ \@mathmargin\leftmargini minus\leftmargini
+ \fi
+ }%
+}
+\DeclareOption{alignedleftspaceyes}{\def\alignedspace@left{\null\,}}
+\DeclareOption{alignedleftspaceno}{\def\alignedspace@left{\null}}
+\DeclareOption{alignedleftspaceyesifneg}{%
+\def\alignedspace@left{%
+ \edef\@tempa{\expandafter\@car\the\lastskip\@nil}%
+ \if-\@tempa\null\,%
+ \else
+ \edef\@tempa{\expandafter\@car\the\lastkern\@nil}%
+ \if-\@tempa\null\,%
+ \else\null
+ \fi
+ \fi}%
+}
+\DeclareOption{?}{}
+\ExecuteOptions{%
+ nointlimits,sumlimits,namelimits,centertags,alignedleftspaceyesifneg}
+\ProcessOptions\par
+\@ifpackagewith{amsmath}{?}{%
+ \typeout{^^J%
+Documentation for the amsmath package is found in amsldoc.dvi^^J%
+(or .pdf or .tex).^^J%
+^^J%
+See also https://www.ams.org/tex/amslatex.html.^^J%
+^^J%
+Note: Using the first edition of The LaTeX Companion (1994) without^^J%
+errata as a guide for amsmath use is not recommended.^^J%
+ }%
+}{%
+ \typeout{%
+For additional information on amsmath, use the \lq ?\rq\space option.%
+ }%
+}
+\ifnum\cmex@opt=7 \relax
+ \DeclareFontShape{OMX}{cmex}{m}{n}{%
+ <-8>cmex7<8>cmex8<9>cmex9%
+ <10><10.95><12><14.4><17.28><20.74><24.88>cmex10%
+ }{}%
+ \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+\else
+ \ifnum\cmex@opt=\z@ % need to override cmex7 fontdef from amsfonts
+ \begingroup
+ \fontencoding{OMX}\fontfamily{cmex}%
+ \expandafter\let\csname OMX+cmex\endcsname\relax
+ \try@load@fontshape
+ \endgroup
+ \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+ \def\cmex@opt{10}%
+ \fi
+\fi
+\RequirePackage{amstext}[1995/01/25]
+\RequirePackage{amsbsy}[1995/01/20]
+\RequirePackage{amsopn}[1995/01/20]
+\@ifpackageloaded{stix}{%
+ \let\ams@newcommand\providecommand
+ \let\ams@renewcommand\providecommand
+ \let\ams@def\providecommand
+ \let\ams@DeclareRobustCommand\providecommand
+}{%
+ \let\ams@newcommand\newcommand
+ \let\ams@renewcommand\renewcommand
+ \let\ams@def\def
+ \let\ams@DeclareRobustCommand\DeclareRobustCommand
+}
+\def\@amsmath@err{\PackageError{amsmath}}
+\providecommand{\AmS}{{\protect\AmSfont
+ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
+\newcommand{\AmSfont}{%
+ \usefont{OMS}{cmsy}{\if\@xp\@car\f@series\@nil bb\else m\fi}{n}}
+\ifx\leavevmode@ifvmode\@undefined % kernel is < 2018/12
+\def\@mathmeasure#1#2#3{\setbox#1\hbox{\frozen@everymath\@emptytoks
+ \m@th$#2#3$}}
+\else
+\def\@mathmeasure#1#2#3{\setbox#1\hbox{%
+ \m@th$#2#3$}}
+\fi
+\@ifundefined{inf@bad}{%
+ \newcount\inf@bad \inf@bad=1000000 \relax
+}{}
+\ifx\leavevmode@ifvmode\@undefined
+\DeclareRobustCommand{\tmspace}[3]{%
+ \ifmmode\mskip#1#2\else\kern#1#3\fi\relax}
+\else
+\DeclareRobustCommand{\tmspace}[3]{%
+ \ifmmode\mskip#1#2\else\leavevmode@ifvmode\kern#1#3\fi\relax}
+\fi
+\renewcommand{\,}{\tmspace+\thinmuskip{.1667em}}
+\let\thinspace\,
+\renewcommand{\!}{\tmspace-\thinmuskip{.1667em}}
+\let\negthinspace\!
+\renewcommand{\:}{\tmspace+\medmuskip{.2222em}}
+\let\medspace\:
+\newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}}
+\renewcommand{\;}{\tmspace+\thickmuskip{.2777em}}
+\let\thickspace\;
+\newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}}
+\newcommand{\mspace}[1]{\mskip#1\relax}
+\def\@tempa#1#2\@nil{%
+ \ifx\delimiter#1\@tempcnta#2\relax\else\@tempcnta\z@\fi
+}
+\@xp\@tempa\vert\@empty\@nil
+\ifnum\@tempcnta>\z@
+ \advance\@tempcnta "4000000
+ \xdef\lvert{\delimiter\number\@tempcnta\space }
+ \advance\@tempcnta "1000000
+ \xdef\rvert{\delimiter\number\@tempcnta\space }
+\else
+ \ifx\@@undefined\lvert
+ % Fall back to cmex encoding since we don't know what else to do.
+ \DeclareMathDelimiter{\lvert}
+ {\mathopen}{symbols}{"6A}{largesymbols}{"0C}
+ \DeclareMathDelimiter{\rvert}
+ {\mathclose}{symbols}{"6A}{largesymbols}{"0C}
+ \fi
+\fi
+\@xp\@tempa\Vert\@empty\@nil
+\ifnum\@tempcnta>\z@
+ \advance\@tempcnta "4000000
+ \xdef\lVert{\delimiter\number\@tempcnta\space }
+ \advance\@tempcnta "1000000
+ \xdef\rVert{\delimiter\number\@tempcnta\space }
+\else
+ \ifx\@@undefined\lVert
+ \DeclareMathDelimiter{\lVert}
+ {\mathopen}{symbols}{"6B}{largesymbols}{"0D}
+ \DeclareMathDelimiter{\rVert}
+ {\mathclose}{symbols}{"6B}{largesymbols}{"0D}
+ \fi
+\fi
+\@saveprimitive\over\@@over
+\@saveprimitive\atop\@@atop
+\@saveprimitive\above\@@above
+\@saveprimitive\overwithdelims\@@overwithdelims
+\@saveprimitive\atopwithdelims\@@atopwithdelims
+\@saveprimitive\abovewithdelims\@@abovewithdelims
+\DeclareRobustCommand{\primfrac}[1]{%
+ \PackageWarning{amsmath}{%
+Foreign command \@backslashchar#1;\MessageBreak
+\protect\frac\space or \protect\genfrac\space should be used instead%
+\MessageBreak
+ }
+ \global\@xp\let\csname#1\@xp\endcsname\csname @@#1\endcsname
+ \csname#1\endcsname
+}
+\renewcommand{\over}{\primfrac{over}}
+\renewcommand{\atop}{\primfrac{atop}}
+\renewcommand{\above}{\primfrac{above}}
+\renewcommand{\overwithdelims}{\primfrac{overwithdelims}}
+\renewcommand{\atopwithdelims}{\primfrac{atopwithdelims}}
+\renewcommand{\abovewithdelims}{\primfrac{abovewithdelims}}
+\DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}}
+\newcommand{\dfrac}{\genfrac{}{}{}0}
+\newcommand{\tfrac}{\genfrac{}{}{}1}
+\DeclareRobustCommand{\binom}{\genfrac()\z@{}}
+\newcommand{\dbinom}{\genfrac(){0pt}0}
+\newcommand{\tbinom}{\genfrac(){0pt}1}
+\ifx\directlua\@undefined
+\ifx\XeTeXcharclass\@undefined
+\DeclareRobustCommand{\genfrac}[4]{%
+ \def\@tempa{#1#2}%
+ \edef\@tempb{\@nx\@genfrac\@mathstyle{#4}%
+ \csname @@\ifx @#3@over\else above\fi
+ \ifx\@tempa\@empty \else withdelims\fi\endcsname}
+ \@tempb{#1#2#3}}
+\else
+\def\genfrac@rule#1#2#3#4{%
+\hbox{$\left#1\vcenter{\hrule \@width\z@
+ \@height
+ \ifdim\fontdimen#2#3\tw@=\z@
+ #4\fontdimen6#3\tw@
+ \else
+ \fontdimen#2#3\tw@
+ \fi
+ }\right.$}}
+\def\genfrac@choice#1#2{%
+\ifx @#2@\else
+\ifx c#1\kern-\nulldelimiterspace\fi
+{\delimitershortfall\z@\delimiterfactor\@m
+ \mathsurround\z@\nulldelimiterspace\z@
+\mathchoice
+{\genfrac@rule{#2}{20}\textfont{2.39}}%
+{\genfrac@rule{#2}{21}\textfont{1}}%
+{\genfrac@rule{#2}{21}\scriptfont{1.45}}%
+{\genfrac@rule{#2}{21}\scriptscriptfont{1.35}}%
+}%
+\ifx o#1\kern-\nulldelimiterspace\fi
+\fi
+}
+\DeclareRobustCommand{\genfrac}[6]{{%
+\@mathstyle{#4}%
+\genfrac@choice o{#1}%
+{\begingroup#5\endgroup\ifx @#3@\@@over\else\@@above\fi#3\relax#6}%
+\genfrac@choice c{#2}%
+}}
+\fi
+\else
+\def\genfrac@rule#1#2#3{%
+\hbox{$\left#1\vcenter{\hrule \@width\z@
+ \@height
+ \ifdim\Umathfractiondelsize#2=\z@
+ #3\fontdimen6#3\tw@
+ \else
+ \Umathfractiondelsize#2%
+ \fi
+ }\right.$}}
+\def\genfrac@choice#1#2{%
+\ifx @#2@\else
+\ifx c#1\kern-\nulldelimiterspace\fi
+{\delimitershortfall\z@\delimiterfactor\@m
+ \mathsurround\z@\nulldelimiterspace\z@
+\mathchoice
+{\genfrac@rule{#2}\displaystyle{2.39}}%
+{\genfrac@rule{#2}\textstyle{1}}%
+{\genfrac@rule{#2}\scriptstyle{1.45}}%
+{\genfrac@rule{#2}\scriptscriptstyle{1.35}}%
+}%
+\ifx o#1\kern-\nulldelimiterspace\fi
+\fi
+}
+\DeclareRobustCommand{\genfrac}[6]{{%
+\@mathstyle{#4}%
+\genfrac@choice o{#1}%
+{\begingroup#5\endgroup\ifx @#3@\@@over\else\@@above\fi#3\relax#6}%
+\genfrac@choice c{#2}%
+}}
+\fi
+\def\@genfrac#1#2#3#4#5{{#1{\begingroup#4\endgroup#2#3\relax#5}}}
+\def\@mathstyle#1{%
+ \ifx\@empty#1\@empty\relax
+ \else\ifcase#1\displaystyle % case 0
+ \or\textstyle\or\scriptstyle\else\scriptscriptstyle\fi\fi}
+\begingroup
+\edef\@tempa{\string\mathchar"}
+\edef\@tempd{\string\Umathchar"}
+\def\@tempb#1"#2\@nil{#1"}
+\edef\@tempc{\expandafter\@tempb\meaning\coprod "\@nil}
+\ifx\@tempc\@tempd\let\@tempc\@tempa\fi
+\ifx\@tempa\@tempc
+ \global\let\coprod@\coprod
+ \gdef\coprod{\DOTSB\coprod@\slimits@}
+ \global\let\bigvee@\bigvee
+ \gdef\bigvee{\DOTSB\bigvee@\slimits@}
+ \global\let\bigwedge@\bigwedge
+ \gdef\bigwedge{\DOTSB\bigwedge@\slimits@}
+ \global\let\biguplus@\biguplus
+ \gdef\biguplus{\DOTSB\biguplus@\slimits@}
+ \global\let\bigcap@\bigcap
+ \gdef\bigcap{\DOTSB\bigcap@\slimits@}
+ \global\let\bigcup@\bigcup
+ \gdef\bigcup{\DOTSB\bigcup@\slimits@}
+ \global\let\prod@\prod
+ \gdef\prod{\DOTSB\prod@\slimits@}
+ \global\let\sum@\sum
+ \gdef\sum{\DOTSB\sum@\slimits@}
+ \global\let\bigotimes@\bigotimes
+ \gdef\bigotimes{\DOTSB\bigotimes@\slimits@}
+ \global\let\bigoplus@\bigoplus
+ \gdef\bigoplus{\DOTSB\bigoplus@\slimits@}
+ \global\let\bigodot@\bigodot
+ \gdef\bigodot{\DOTSB\bigodot@\slimits@}
+ \global\let\bigsqcup@\bigsqcup
+ \gdef\bigsqcup{\DOTSB\bigsqcup@\slimits@}
+\fi
+\endgroup
+\newcommand{\leftroot}{\@amsmath@err{\Invalid@@\leftroot}\@eha}
+\newcommand{\uproot}{\@amsmath@err{\Invalid@@\uproot}\@eha}
+\newcount\uproot@
+\newcount\leftroot@
+\renewcommand{\root}{\relaxnext@
+ \DN@{\ifx\@let@token\uproot\let\next@\nextii@\else
+ \ifx\@let@token\leftroot\let\next@\nextiii@\else
+ \let\next@\plainroot@\fi\fi\next@}%
+ \def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}%
+ \def\nextiv@{\ifx\@let@token\@sptoken\DN@. {\FN@\nextv@}\else
+ \DN@.{\FN@\nextv@}\fi\next@.}%
+ \def\nextv@{\ifx\@let@token\leftroot\let\next@\nextvi@\else
+ \let\next@\plainroot@\fi\next@}%
+ \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}%
+ \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}%
+ \def\nextvii@{\ifx\@let@token\@sptoken
+ \DN@. {\FN@\nextviii@}\else
+ \DN@.{\FN@\nextviii@}\fi\next@.}%
+ \def\nextviii@{\ifx\@let@token\uproot\let\next@\nextix@\else
+ \let\next@\plainroot@\fi\next@}%
+ \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}%
+ \bgroup\uproot@\z@\leftroot@\z@\FN@\next@}
+\def\plainroot@#1\of#2{\setbox\rootbox\hbox{%
+ $\m@th\scriptscriptstyle{#1}$}%
+ \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
+ {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
+
+\@ifundefined{sqrtsign}{\let\sqrtsign\@@sqrt}{}
+\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrtsign{#2}$}%
+ \dimen@\ht\z@\advance\dimen@-\dp\z@
+ \setbox\@ne\hbox{$\m@th#1\mskip\uproot@ mu$}%
+ \advance\dimen@ by1.667\wd\@ne
+ \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
+ \mkern-10mu\mkern\leftroot@ mu\boxz@}
+\@ifundefined{varGamma}{%
+ \DeclareMathSymbol{\varGamma}{\mathord}{letters}{"00}
+ \DeclareMathSymbol{\varDelta}{\mathord}{letters}{"01}
+ \DeclareMathSymbol{\varTheta}{\mathord}{letters}{"02}
+ \DeclareMathSymbol{\varLambda}{\mathord}{letters}{"03}
+ \DeclareMathSymbol{\varXi}{\mathord}{letters}{"04}
+ \DeclareMathSymbol{\varPi}{\mathord}{letters}{"05}
+ \DeclareMathSymbol{\varSigma}{\mathord}{letters}{"06}
+ \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{"07}
+ \DeclareMathSymbol{\varPhi}{\mathord}{letters}{"08}
+ \DeclareMathSymbol{\varPsi}{\mathord}{letters}{"09}
+ \DeclareMathSymbol{\varOmega}{\mathord}{letters}{"0A}
+}{}
+\@saveprimitive\overline\@@overline
+\DeclareRobustCommand{\overline}[1]{\@@overline{#1}}
+\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
+\newcommand{\implies}{\DOTSB\;\Longrightarrow\;}
+\newcommand{\impliedby}{\DOTSB\;\Longleftarrow\;}
+\def\And{\DOTSB\;\mathchar"3026 \;}
+\newcommand{\nobreakdash}{\leavevmode
+ \toks@\@emptytoks \def\@tempa##1{\toks@\@xp{\the\toks@-}\FN@\next@}%
+ \DN@{\ifx\@let@token-\@xp\@tempa
+ \else\setboxz@h{\the\toks@\nobreak}\unhbox\z@\fi}%
+ \FN@\next@
+}
+\renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript
+ \mkern-\thinmuskip{:}\mskip6muplus1mu\relax}
+\let\ifgtest@\iffalse % initial value
+\def\gtest@true{\global\let\ifgtest@\iftrue}
+\def\gtest@false{\global\let\ifgtest@\iffalse}
+\let\DOTSI\relax
+\let\DOTSB\relax
+\let\DOTSX\relax
+{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
+ \uppercase{%
+ \gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2%
+ \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true
+ \fi\fi\fi\fi\fi}}}
+{\uccode`7=`c \uccode`8=`h \uccode`9=`\"
+ \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false
+ \ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}}
+{\uccode`(=`U \uccode`)=`m
+ \uppercase{\gdef\Umathch@#1#2#3#4"#5"#6\Umathch@{\gtest@false
+ \ifx(#2\ifx)#3\gtest@true
+ \ifcase"#5 \or\or\gdef\thedots@{\dotsb@}\or\gdef\thedots@{\dotsb@}\fi
+ \fi\fi
+ }}}
+\ifx\Umathcharnumdef\@undefined
+\gdef\thecharacter@#1\thecharacter@{}
+\else
+{\uccode`(=`t \uccode`)=`c
+ \uppercase{\gdef\thecharacter@#1#2#3#4#5\thecharacter@{%
+ \ifx(#1\ifx)#4%
+ \@xp\getmathcode@\meaning@\getmathcode@
+ \fi\fi
+}}}
+\def\getmathcode@#1 #2 #3#4\getmathcode@{%
+ \Umathcharnumdef\@tempa\Umathcodenum`#3\relax
+ \edef\meaning@{\meaning\@tempa}%
+ \@xp\Umathch@\meaning@\Umathch@
+}
+\fi
+\newcount\classnum@
+\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
+ \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
+ \gdef\thedots@{\dotsb@}\fi}
+{\uccode`4=`b \uccode`5=`i \uccode`6=`n
+ \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@
+ \def\nextii@##1\mathbin@{\ifx\@sptoken\@let@token\gtest@true\fi}%
+ \gtest@false\DN@##1\mathbin@{}%
+ \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
+{\uccode`4=`r \uccode`5=`e \uccode`6=`l
+ \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@
+ \def\nextii@##1\mathrel@{\ifx\@sptoken\@let@token\gtest@true\fi}%
+ \gtest@false\DN@##1\mathrel@{}%
+ \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
+{\uccode`5=`m \uccode`6=`a \uccode`7=`c
+ \uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false
+ \ifx 5#1\ifx 6#2\ifx 7#3\gtest@true
+ \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
+\def\macro@@#1->#2\macro@@{#2}
+\newcount\DOTSCASE@
+{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
+ \uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}%
+ \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@
+ \fi\fi\fi\fi\fi
+ \next@}}}
+{\uccode`3=`B \uccode`4=`I \uccode`5=`X
+ \uppercase{\gdef\DOTS@@#1{\relaxnext@
+ \def\nextii@##1\DOTS@{\ifx\@sptoken\@let@token\gtest@true\fi}%
+ \DN@{\FN@\nextii@}%
+ \ifx 3#1\global\DOTSCASE@\z@\else
+ \ifx 4#1\global\DOTSCASE@\@ne\else
+ \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
+ \fi\fi\fi\next@}}}
+{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
+ \uppercase{\gdef\not@#1#2#3#4{\relaxnext@
+ \def\nextii@##1\not@{\ifx\@sptoken\@let@token\gtest@true\fi}%
+ \gtest@false\DN@##1\not@{}%
+ \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
+ \fi\next@}}}
+{\uccode`9=`\l %
+ \uppercase{\gdef\striplong@#1#2#3\relax{%
+ \ifx9#2 \@xp\@xp\@xp\zap@to@space\fi}}}
+\def\zap@to@space#1 {}
+\def\keybin@{\gtest@true
+ \ifx\@let@token+\else\ifx\@let@token=\else
+ \ifx\@let@token<\else\ifx\@let@token>\else
+ \ifx\@let@token-\else\ifx\@let@token*\else\ifx\@let@token:\else
+ \gtest@false\fi\fi\fi\fi\fi\fi\fi}
+\@ifundefined{@ldots}{\def\@ldots{\mathellipsis}}{}
+\DeclareRobustCommand{\ldots}{%
+ \ifmmode \mathellipsis \else \textellipsis \fi
+}
+\DeclareRobustCommand{\dots}{%
+ \ifmmode \@xp\mdots@\else \@xp\textellipsis \fi
+}
+\def\tdots@{\leavevmode\unskip\relaxnext@
+ \DN@{$\m@th\@ldots\,
+ \ifx\@let@token,\,$\else\ifx\@let@token.\,$\else
+ \ifx\@let@token;\,$\else\ifx\@let@token:\,$\else
+ \ifx\@let@token?\,$\else\ifx\@let@token!\,$\else
+ $ \fi\fi\fi\fi\fi\fi}%
+ \ \FN@\next@}
+\def\mdots@{\FN@\mdots@@}
+\def\mdots@@{\gdef\thedots@{\dotso@}%
+ \ifx\@let@token\boldsymbol
+ \gdef\thedots@\boldsymbol{\boldsymboldots@}%
+ \else
+ \ifx,\@let@token \gdef\thedots@{\dotsc}%
+ \else
+ \ifx\not\@let@token
+ \gdef\thedots@{\dotsb@}%
+ \else
+ \keybin@
+ \ifgtest@ % if \keybin@ test
+ \gdef\thedots@{\dotsb@}%
+ \else
+ \xdef\meaning@{\meaning\@let@token. .........}%
+ \xdef\meaning@@{\@xp\striplong@\meaning@\relax\meaning@}%
+ \@xp\math@\meaning@\math@
+ \ifgtest@ % if \mathxxx test
+ \@xp\mathch@\meaning@\mathch@
+ \ifgtest@ % if \mathchar
+ \@xp\getmathch@\meaning@\getmathch@
+ \fi % end if \mathchar
+ \else % \not \mathxxx
+ \@xp\Umathch@\meaning@"0"\Umathch@
+ \ifgtest@ % if \Umathchar
+ \else % else not \Umathcar
+ \@xp\macro@\meaning@@\macro@
+ \ifgtest@ % if macro test
+ \@xp\not@\meaning@\not@
+ \ifgtest@ % if macro starts \not test
+ \gdef\thedots@{\dotsb@}%
+ \else% else not \not
+ \@xp\DOTS@\meaning@\DOTS@
+ \ifgtest@ % \if DOTS
+ \ifcase\number\DOTSCASE@ %ifcase dots
+ \gdef\thedots@{\dotsb@}%
+ \or\gdef\thedots@{\dotsi}\else
+ \fi % endifcase dots
+ \else % not macro starts \DOTS
+ \@xp\math@\meaning@\math@
+ \ifgtest@ % \if macro starts \mathxxxx
+ \@xp\mathbin@\meaning@\mathbin@
+ \ifgtest@ % if macro starts \mathbin
+ \gdef\thedots@{\dotsb@}%
+ \else % not macro starting \mathbin
+ \@xp\mathrel@\meaning@\mathrel@
+ \ifgtest@ % if macro starts \mathrel
+ \gdef\thedots@{\dotsb@}%
+ \fi % endif macro starts \mathrel (no else)
+ \fi % endif macro starts \mathbin
+ \fi % endif macro starts with \mathxxx (no else)
+ \fi % endif macro starts \DOTS else
+ \fi % end macro starting \not \ifgtest@ test (no else)
+ \else
+ \@xp\thecharacter@\meaning@\thecharacter@
+ \fi % end macro \ifgtest@ test (no else)
+ \fi % end if \Umathchar test
+ \fi % end \math@ \ifgtest@
+ \fi % end \keybin@ \ifgtest@ test (no else)
+ \fi % end if \not (no else)
+ \fi % end if comma (no else)
+ \fi % end if boldsymbol (no else)
+ \thedots@}
+\def\boldsymboldots@#1{%
+ \bold@true\let\@let@token=#1\let\delayed@=#1\mdots@@
+ \boldsymbol#1\bold@false}
+\ams@def\@cdots{\mathinner{\cdotp\cdotp\cdotp}}
+\newcommand{\dotsi}{\!\@cdots}
+\let\dotsb@\@cdots
+\def\rightdelim@{\gtest@true
+ \ifx\@let@token)\else
+ \ifx\@let@token]\else
+ \ifx\@let@token\rbrack\else
+ \ifx\@let@token\}\else
+ \ifx\@let@token\rbrace\else
+ \ifx\@let@token\rangle\else
+ \ifx\@let@token\rceil\else
+ \ifx\@let@token\rfloor\else
+ \ifx\@let@token\rgroup\else
+ \ifx\@let@token\rmoustache\else
+ \ifx\@let@token\right\else
+ \ifx\@let@token\bigr\else
+ \ifx\@let@token\biggr\else
+ \ifx\@let@token\Bigr\else
+ \ifx\@let@token\Biggr\else\gtest@false
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+\def\extra@{%
+ \rightdelim@\ifgtest@
+ \else\ifx\@let@token$\gtest@true
+ \else\xdef\meaning@{\meaning\@let@token..........}%
+ \@xp\macro@\meaning@\macro@\ifgtest@
+ \@xp\DOTS@\meaning@\DOTS@
+ \ifgtest@
+ \ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false
+ \fi\fi\fi\fi\fi}
+\newif\ifbold@
+\def\dotso@{\relaxnext@
+ \ifbold@
+ \let\@let@token\delayed@
+ \def\nextii@{\extra@\@ldots\ifgtest@\,\fi}%
+ \else
+ \def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}%
+ \fi
+ \nextii@}
+\def\extrap@#1{%
+ \DN@{#1\,}%
+ \ifx\@let@token,\else
+ \ifx\@let@token;\else
+ \ifx\@let@token.\else\extra@
+ \ifgtest@\else
+ \let\next@#1\fi\fi\fi\fi\next@}
+\ams@DeclareRobustCommand{\cdots}{\DN@{\extrap@\@cdots}\FN@\next@}
+\let\dotsb\cdots
+\let\dotsm\cdots
+\DeclareRobustCommand{\dotso}{\relax
+ \ifmmode \DN@{\extrap@\@ldots}%
+ \else \let\next@\tdots@\fi
+ \FN@\next@}
+\DeclareRobustCommand{\dotsc}{%
+ \DN@{\ifx\@let@token;\@ldots\,%
+ \else \ifx\@let@token.\@ldots\,%
+ \else \extra@\@ldots \ifgtest@\,\fi
+ \fi\fi}%
+ \FN@\next@}
+\renewcommand{\longrightarrow}{%
+ \DOTSB\protect\relbar\protect\joinrel\rightarrow}
+\renewcommand{\Longrightarrow}{%
+ \DOTSB\protect\Relbar\protect\joinrel\Rightarrow}
+\renewcommand{\longleftarrow}{%
+ \DOTSB\leftarrow\protect\joinrel\protect\relbar}
+\renewcommand{\Longleftarrow}{%
+ \DOTSB\Leftarrow\protect\joinrel\protect\Relbar}
+\renewcommand{\longleftrightarrow}{\DOTSB\leftarrow\joinrel\rightarrow}
+\renewcommand{\Longleftrightarrow}{\DOTSB\Leftarrow\joinrel\Rightarrow}
+\renewcommand{\mapsto}{\DOTSB\mapstochar\rightarrow}
+\renewcommand{\longmapsto}{\DOTSB\mapstochar\longrightarrow}
+\renewcommand{\hookrightarrow}{\DOTSB\lhook\joinrel\rightarrow}
+\renewcommand{\hookleftarrow}{\DOTSB\leftarrow\joinrel\rhook}
+\renewcommand{\iff}{\DOTSB\;\Longleftrightarrow\;}
+\renewcommand{\doteq}{%
+ \DOTSB\mathrel{\mathop{\kern0pt =}\limits^{\textstyle.}}}
+\newif\if@display
+\everydisplay\@xp{\the\everydisplay \@displaytrue}
+\renewcommand{\int}{\DOTSI\intop\ilimits@}
+\renewcommand{\oint}{\DOTSI\ointop\ilimits@}
+\def\intkern@{\mkern-6mu\mathchoice{\mkern-3mu}{}{}{}}
+\def\intdots@{\mathchoice{\@cdots}%
+ {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}%
+ {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}%
+ {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
+\ams@newcommand{\iint}{\DOTSI\protect\MultiIntegral{2}}
+\ams@newcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}}
+\ams@newcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}}
+\newcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}}
+\newcommand{\MultiIntegral}[1]{%
+ \edef\ints@c{\noexpand\intop
+ \ifnum#1=\z@\noexpand\intdots@\else\noexpand\intkern@\fi
+ \ifnum#1>\tw@\noexpand\intop\noexpand\intkern@\fi
+ \ifnum#1>\thr@@\noexpand\intop\noexpand\intkern@\fi
+ \noexpand\intop
+ \noexpand\ilimits@
+ }%
+ \futurelet\@let@token\ints@a
+}
+\def\ints@a{%
+ \ifx\limits\@let@token \ints@b
+ \else \ifx\displaylimits\@let@token \ints@b
+ \else\ifx\ilimits@\displaylimits \ints@b
+ \fi\fi\fi
+ \ints@c
+}
+\def\ints@b{%
+ \mkern-7mu\mathchoice{\mkern-2mu}{}{}{}%
+ \mathop\bgroup
+ \mkern7mu\mathchoice{\mkern2mu}{}{}{}%
+ \let\ilimits@\egroup
+}%
+\newbox\Mathstrutbox@
+\setbox\Mathstrutbox@=\hbox{}
+\def\Mathstrut@{\copy\Mathstrutbox@}
+\ifx\Umathcharnumdef\@undefined
+\def\resetMathstrut@{%
+ \begingroup
+ \setbox\z@\hbox{%
+ \mathchardef\@tempa\mathcode`\(\relax
+ \def\@tempb##1"##2##3{\the\textfont"##3\char"}%
+ \expandafter\@tempb\meaning\@tempa \relax
+ }%
+ \edef\@tempa{%
+ \ht\Mathstrutbox@\the\ht\z@\relax
+ \dp\Mathstrutbox@\the\dp\z@\relax}%
+ \expandafter\endgroup\@tempa
+}
+\else
+\def\resetMathstrut@{%
+ \begingroup
+ \Umathcharnumdef\@tempa\Umathcodenum`\(\relax
+ \def\@tempb##1"##2"##3"##4\relax{%
+ \endgroup
+ \ht\Mathstrutbox@=\fontcharht\textfont"##3 "##4\relax
+ \dp\Mathstrutbox@=\fontchardp\textfont"##3 "##4\relax}%
+ \expandafter\@tempb\meaning\@tempa \relax
+}
+\fi
+\addto@hook\every@math@size{\resetMathstrut@}
+\newbox\strutbox@
+\def\strut@{\copy\strutbox@}
+\def\reset@strutbox@{%
+ \global\setbox\strutbox@\hbox{%
+ \lower.5\normallineskiplimit
+ \vbox{\kern-\normallineskiplimit\copy\strutbox}}}
+\addto@hook\every@math@size{\reset@strutbox@}
+\AtBeginDocument{\reset@strutbox@}
+\renewcommand{\big}{\bBigg@\@ne}
+\renewcommand{\Big}{\bBigg@{1.5}}
+\renewcommand{\bigg}{\bBigg@\tw@}
+\renewcommand{\Bigg}{\bBigg@{2.5}}
+\ifx\leavevmode@ifvmode\@undefined
+\def\bBigg@#1#2{%
+ {\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {\left#2\vcenter to#1\big@size{}\right.}%
+ \box\z@}}
+\else
+\def\bBigg@#1#2{\leavevmode@ifvmode
+ {\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {\left#2\vcenter to#1\big@size{}\right.}%
+ \box\z@}}
+\fi
+\addto@hook\every@math@size{%
+ \global\big@size 1.2\ht\Mathstrutbox@
+ \global\advance\big@size 1.2\dp\Mathstrutbox@ }
+\newdimen\big@size
+\def\accentclass@{7}
+\def\noaccents@{\def\accentclass@{0}}
+\DeclareFontEncoding{OML}{}{\noaccents@}
+\DeclareFontEncoding{OMS}{}{\noaccents@}
+\ams@newcommand{\dddot}[1]{%
+ {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
+ \hbox{\normalfont ...}\vss}}}}
+\ams@newcommand{\ddddot}[1]{%
+ {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
+ \hbox{\normalfont....}\vss}}}}
+\def\set@mathaccent#1#2#3#4{%
+ \xdef#2{\@nx\protect\@nx\mathaccentV
+ {\@xp\@gobble\string#2}\hexnumber@#1#4}%
+}
+\def\@tempa#1{\@xp\@tempb\meaning#1\@nil#1}
+\def\@tempb#1>#2#3 #4\@nil#5{%
+ \@xp\ifx\csname#3\endcsname\mathaccent
+ \@tempc#4?"7777\@nil#5%
+ \else
+ \@xp\ifx\csname#3\endcsname\Umathaccent
+ \@tempd#4\@nil#5%
+ \else
+ \PackageWarningNoLine{amsmath}{%
+ Unable to redefine math accent \string#5}%
+ \fi\fi}
+\def\@tempc#1"#2#3#4#5#6\@nil#7{%
+ \chardef\@tempd="#3\relax\set@mathaccent\@tempd{#7}{#2}{#4#5}}
+\def\@tempd#1\@nil#2{%
+ \PackageWarningNoLine{amsmath}{%
+ Unable to redefine \string\Umathaccent\space\string#2}%
+}
+\@tempa{\hat}
+\@tempa{\check}
+\@tempa{\tilde}
+\@tempa{\acute}
+\@tempa{\grave}
+\@tempa{\dot}
+\@tempa{\ddot}
+\@tempa{\breve}
+\@tempa{\bar}
+\@tempa{\vec}
+\@ifundefined{mathring}{%
+ \DeclareMathAccent{\mathring}{\mathalpha}{operators}{"17}
+}{%
+ \@tempa{\mathring}
+}
+%%\@tempa\widetilde
+%%\@tempa\widehat
+\newcommand{\acc@check}{}
+\newcommand{\acc@error}{}
+\def\acc@check{\@ifnextchar\@empty\relax\acc@error}
+\def\acc@error{%
+ \@amsmath@err{%
+ Improper argument for math accent:\MessageBreak
+ Extra braces must be added to prevent wrong output%
+ }\@ehc
+}
+\newcount\macc@depth
+\long\def\@gobblethree#1#2#3{}
+\def\mathaccentV#1#2#3#4#5{%
+ \ifmmode
+ \gdef\macc@tmp{\macc@depth\@ne}%
+ \setbox\z@\hbox{%
+ \let\mathaccentV\macc@test
+ \let\use@mathgroup\@gobbletwo \let\select@group\@gobblethree
+ \frozen@everymath{}$#5$%
+ }%
+ \macc@tmp
+ \ifnum\macc@depth=\@ne
+ \global\let\macc@nucleus\@empty
+ \mathaccent"\accentclass@
+ \else
+ \@xp\macc@nested
+ \fi
+ #2#3#4{#5}%
+ \macc@nucleus
+ \else
+ \@xp\nonmatherr@\csname#1\endcsname
+ \fi
+}
+\def\macc@test#1#2#3#4{\xdef\macc@tmp{\macc@tmp\advance\macc@depth\@ne}}
+\def\macc@group{-1}
+\def\macc@nested#1#2#3#4{%
+ \begingroup
+ \let\math@bgroup\@empty \let\math@egroup\macc@set@skewchar
+ \mathsurround\z@ \frozen@everymath{\mathgroup\macc@group\relax}%
+ \macc@set@skewchar\relax
+ \let\mathaccentV\macc@nested@a
+ \macc@nested@a\relax#1#2#3{#4}%
+ \endgroup
+}
+\let\macc@palette\mathpalette
+\def\macc@nested@a#1#2#3#4#5{%
+ \ifnum\macc@group=\mathgroup
+ \else \macc@set@skewchar\relax \edef\macc@group{\the\mathgroup}%
+ \fi
+ \mathchardef\macc@code "\accentclass@ #2#3#4\relax
+ \macc@palette\macc@a{#5}%
+}
+\def\macc@set@skewchar#1{%
+ \begingroup
+ \ifnum\mathgroup=\m@ne \let\@tempa\@ne
+ \else
+ \ifnum\skewchar\textfont\mathgroup=\m@ne \let\@tempa\@ne
+ \else \let\@tempa\mathgroup
+ \fi
+ \fi
+ \count@=\skewchar\textfont\@tempa
+ \advance\count@"7100
+ \edef\@tempa{\endgroup
+ \mathchardef\noexpand\macc@skewchar=\number\count@\relax}%
+ \@tempa
+ #1%
+}
+\def\macc@a#1#2{%
+ \begingroup
+ \let\macc@style#1\relax
+ \def\macc@palette##1{##1\macc@style}%
+ \advance\macc@depth\m@ne
+ \ifnum\macc@depth=\z@
+ \gdef\macc@nucleus{#2}%
+ \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}%
+ \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}%
+ \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@
+ \xdef\macc@kerna{\the\dimen@\relax}%
+ \setbox4\hbox{$#1#2\acc@check\@empty$}%
+ \global\setbox\@ne\hbox to\wd4{}%
+ \ht\@ne\ht4 \dp\@ne\dp4
+ \xdef\macc@kernb{\the\wd4\relax}%
+ \mathaccent\macc@code{\box\@ne\kern\macc@kerna}%
+ \else
+ \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}%
+ \macc@adjust
+ \fi
+ \endgroup
+}
+\def\macc@adjust{%
+ \dimen@\macc@kerna\advance\dimen@\macc@kernb
+ \kern-\dimen@
+}
+\def\Hat{\hat}
+\def\Check{\check}
+\def\Tilde{\tilde}
+\def\Acute{\acute}
+\def\Grave{\grave}
+\def\Dot{\dot}
+\def\Ddot{\ddot}
+\def\Breve{\breve}
+\def\Bar{\bar}
+\def\Vec{\vec}
+\def\nonmatherr@#1{\@amsmath@err{\protect
+ #1 allowed only in math mode}\@ehd}
+\renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin
+ {\operator@font mod}\penalty900
+ \mkern5mu\nonscript\mskip-\medmuskip}
+\newcommand{\pod}[1]{\allowbreak
+ \if@display\mkern18mu\else\mkern8mu\fi(#1)}
+\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}}
+\newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu
+ \else\mkern12mu\fi{\operator@font mod}\,\,#1}
+\newcommand{\cfrac}[3][c]{{\displaystyle\frac{%
+ \strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}%
+ \kern-\nulldelimiterspace}
+\newcommand{\overset}[2]{\binrel@{#2}%
+ \binrel@@{\mathop{\kern\z@#2}\limits^{#1}}}
+\newcommand{\underset}[2]{\binrel@{#2}%
+ \binrel@@{\mathop{\kern\z@#2}\limits_{#1}}}
+\newcommand{\sideset}[3]{%
+ \@mathmeasure\z@\displaystyle{#3}%
+ \global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@
+ \setbox\tw@\box\@ne
+ \@mathmeasure4\displaystyle{\copy\tw@#1}%
+ \@mathmeasure6\displaystyle{#3\nolimits#2}%
+ \dimen@-\wd6 \advance\dimen@\wd4 \advance\dimen@\wd\z@
+ \hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}%
+}
+\ifx\leavevmode@ifvmode\@undefined
+\renewcommand{\smash}[1][tb]{%
+ \def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}%
+ \edef\finsm@sh{\csname mb@#1\endcsname\z@\z@\box\z@}%
+ \ifmmode \@xp\mathpalette\@xp\mathsm@sh
+ \else \@xp\makesm@sh
+ \fi
+}
+\else
+\renewcommand{\smash}[1][tb]{%
+ \def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}%
+ \edef\finsm@sh{\csname mb@#1\endcsname\z@\z@ \leavevmode@ifvmode\box\z@}%
+ \ifmmode \@xp\mathpalette\@xp\mathsm@sh
+ \else \@xp\makesm@sh
+ \fi
+}
+\fi
+\mathchardef\std@minus\mathcode`\-\relax
+\mathchardef\std@equal\mathcode`\=\relax
+\AtBeginDocument{%
+ \mathchardef\std@minus\mathcode`\-\relax
+ \mathchardef\std@equal\mathcode`\=\relax
+}
+\ams@def\relbar{\mathrel{\mathpalette\mathsm@sh\std@minus}}
+\ams@def\Relbar{\mathrel\std@equal}
+\def\arrowfill@#1#2#3#4{%
+ $\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
+ \relax#4#1\mkern-7mu%
+ \cleaders\hbox{$#4\mkern-2mu#2\mkern-2mu$}\hfill
+ \mkern-7mu#3$%
+}
+\def\leftarrowfill@{\arrowfill@\leftarrow\relbar\relbar}
+\def\rightarrowfill@{\arrowfill@\relbar\relbar\rightarrow}
+\def\leftrightarrowfill@{\arrowfill@\leftarrow\relbar\rightarrow}
+\def\Leftarrowfill@{\arrowfill@\Leftarrow\Relbar\Relbar}
+\def\Rightarrowfill@{\arrowfill@\Relbar\Relbar\Rightarrow}
+\def\Leftrightarrowfill@{\arrowfill@\Leftarrow\Relbar\Rightarrow}
+\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr
+ \noalign{\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}}
+\ams@renewcommand{\overrightarrow}{%
+ \mathpalette{\overarrow@\rightarrowfill@}}
+\ams@renewcommand{\overleftarrow}{%
+ \mathpalette{\overarrow@\leftarrowfill@}}
+\ams@newcommand{\overleftrightarrow}{%
+ \mathpalette{\overarrow@\leftrightarrowfill@}}
+\def\underarrow@#1#2#3{%
+ \vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr
+ \noalign{\nointerlineskip\kern1.3\ex@}#1#2\crcr}}}
+\ams@newcommand{\underrightarrow}{%
+ \mathpalette{\underarrow@\rightarrowfill@}}
+\ams@newcommand{\underleftarrow}{%
+ \mathpalette{\underarrow@\leftarrowfill@}}
+\ams@newcommand{\underleftrightarrow}{%
+ \mathpalette{\underarrow@\leftrightarrowfill@}}
+\def\ext@arrow#1#2#3#4#5#6#7{%
+ \mathrel{\mathop{%
+ \setbox\z@\hbox{#5\displaystyle}%
+ \setbox\tw@\vbox{\m@th
+ \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}%
+ \hbox{$\scriptstyle\mkern#3mu{#7}\mkern#4mu$}%
+ \copy\z@
+ }%
+ \hbox to\wd\tw@{\unhbox\z@}}%
+ \limits
+ \@ifnotempty{#7}{^{\if0#1\else\mkern#1mu\fi
+ #7\if0#2\else\mkern#2mu\fi}}%
+ \@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi
+ #6\if0#2\else\mkern#2mu\fi}}}%
+}
+\newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}}
+\newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}}
+\newenvironment{subarray}[1]{%
+ \vcenter\bgroup
+ \Let@ \restore@math@cr \default@tag
+ \baselineskip\fontdimen10 \scriptfont\tw@
+ \advance\baselineskip\fontdimen12 \scriptfont\tw@
+ \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
+ \lineskiplimit\lineskip
+ \ialign\bgroup\ifx c#1\hfil\fi
+ $\m@th\scriptstyle##$\hfil\crcr
+}{%
+ \crcr\egroup\egroup
+}
+\newcommand{\substack}[1]{\subarray{c}#1\endsubarray}
+\newenvironment{smallmatrix}{\null\,\vcenter\bgroup
+ \Let@\restore@math@cr\default@tag
+ \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip
+ \ialign\bgroup\hfil$\m@th\scriptstyle##$\hfil&&\thickspace\hfil
+ $\m@th\scriptstyle##$\hfil\crcr
+}{%
+ \crcr\egroup\egroup\,%
+}
+\renewenvironment{matrix}{%
+ \matrix@check\matrix\env@matrix
+}{%
+ \endarray \hskip -\arraycolsep
+}
+\def\env@matrix{\hskip -\arraycolsep
+ \let\@ifnextchar\new@ifnextchar
+ \array{*\c@MaxMatrixCols c}}
+\newcount\c@MaxMatrixCols \c@MaxMatrixCols=10
+\def\matrix@check#1{%
+ \@xp\ifx\csname\@currenvir\endcsname#1%
+ \else\matrix@error#1%
+ \@xp\@gobble
+ \fi
+}
+\def\matrix@error#1{%
+ \@amsmath@err{%
+Old form `\string#1' should be \string\begin{\@xp\@gobble\string#1}%
+ }{%
+`\string#1{...}' is old Plain-TeX syntax whose use is
+ill-advised in LaTeX.%
+ }%
+}
+\renewenvironment{pmatrix}{%
+ \left(%
+ \matrix@check\pmatrix\env@matrix
+}{
+ \endmatrix\right)%
+}
+\newenvironment{bmatrix}{\left[\env@matrix}{\endmatrix\right]}
+\newenvironment{Bmatrix}{%
+ \left\lbrace\env@matrix
+}{%
+ \endmatrix\right\rbrace
+}
+\newenvironment{vmatrix}{\left\lvert\env@matrix}{\endmatrix\right\rvert}
+\newenvironment{Vmatrix}{\left\lVert\env@matrix}{\endmatrix\right\rVert}
+\let\hdots\@ldots
+\newcommand{\hdotsfor}[1]{%
+ \ifx[#1\@xp\shdots@for\else\hdots@for\@ne{#1}\fi}
+\newmuskip\dotsspace@
+\def\shdots@for#1]{\hdots@for{#1}}
+\def\hdots@for#1#2{\multicolumn{#2}c%
+ {\m@th\dotsspace@1.5mu\mkern-#1\dotsspace@
+ \xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}%
+ \hfill
+ \mkern-#1\dotsspace@}%
+ }
+\renewenvironment{cases}{%
+ \matrix@check\cases\env@cases
+}{%
+ \endarray\right.%
+}
+\def\env@cases{%
+ \let\@ifnextchar\new@ifnextchar
+ \left\lbrace
+ \def\arraystretch{1.2}%
+ \array{@{}l@{\quad}l@{}}%
+}
+\newcounter{parentequation}% Counter for ``parent equation''.
+\@ifundefined{ignorespacesafterend}{%
+ \def\ignorespacesafterend{\global\@ignoretrue}%
+}{}
+\newenvironment{subequations}{%
+ \refstepcounter{equation}%
+ \protected@edef\theparentequation{\theequation}%
+ \setcounter{parentequation}{\value{equation}}%
+ \setcounter{equation}{0}%
+ \def\theequation{\theparentequation\alph{equation}}%
+ \ignorespaces
+}{%
+ \setcounter{equation}{\value{parentequation}}%
+ \ignorespacesafterend
+}
+\newcommand{\numberwithin}[3][\arabic]{%
+ \@ifundefined{c@#2}{\@nocounterr{#2}}{%
+ \@ifundefined{c@#3}{\@nocnterr{#3}}{%
+ \@addtoreset{#2}{#3}%
+ \@xp\xdef\csname the#2\endcsname{%
+ \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}%
+}
+\newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
+\newcount\dspbrk@lvl
+\dspbrk@lvl=-1
+\interdisplaylinepenalty\@M
+\newcommand{\allowdisplaybreaks}[1][4]{%
+ \interdisplaylinepenalty\getdsp@pen{#1}\relax
+}
+\def\getdsp@pen#1{%
+ \ifcase #1\@M \or 9999 \or 6999 \or 2999 \or \z@\fi
+}
+\newcommand{\displaybreak}{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}
+\chardef\dspbrk@context=\sixt@@n
+\def\dspbrk@[#1]{%
+ \ifmeasuring@
+ \else
+ \ifcase\dspbrk@context % case 0 --- OK
+ \global\dspbrk@lvl #1\relax
+ \or % case 1 --- inside a box
+ \nogood@displaybreak
+ \else % other cases --- outside of a display
+ \@amsmath@err{\Invalid@@\displaybreak}\@eha
+ \fi
+ \fi
+}
+\def\nogood@displaybreak{%
+ \@amsmath@err{\protect
+\displaybreak\space cannot be applied here}%
+{One of the enclosing environments creates an
+ unbreakable box\MessageBreak
+(e.g., split, aligned, gathered, ...).}%
+}
+\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi
+ \@ifstar{\global\@eqpen\@M\math@cr@}%
+ {\global\@eqpen
+ \ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty
+ \else -\@getpen\dspbrk@lvl \fi
+ \math@cr@}}
+\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
+\def\math@cr@@[#1]{\ifnum0=`{\fi \iffalse}\fi\math@cr@@@
+ \noalign{\vskip#1\relax}}
+\def\Let@{\let\\\math@cr}
+\def\restore@math@cr{\def\math@cr@@@{\cr}}
+\restore@math@cr
+\newcommand{\intertext}{\@amsmath@err{\Invalid@@\intertext}\@eha}
+\def\intertext@{%
+ \def\intertext##1{%
+ \ifvmode\else\\\@empty\fi
+ \noalign{%
+ \penalty\postdisplaypenalty\vskip\belowdisplayskip
+ \vbox{\normalbaselines
+ \ifdim\linewidth=\columnwidth
+ \else \parshape\@ne \@totalleftmargin \linewidth
+ \fi
+ \noindent\ignorespaces##1\par}%
+ \penalty\predisplaypenalty\vskip\abovedisplayskip%
+ }%
+}}
+\newhelp\tag@help
+ {tag cannot be used at this point.\space
+ If you don't understand why^^Jyou should consult
+ the documentation.^^JBut don't worry: just continue, and I'll
+ forget what happened.}
+\def\gobble@tag{\@ifstar\@gobble\@gobble}
+\def\invalid@tag#1{\@amsmath@err{#1}{\the\tag@help}\gobble@tag}
+\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}}
+\def\default@tag{\let\tag\dft@tag}
+\default@tag
+\def\maketag@@{\@ifstar\maketag@@@\tagform@}
+\def\maketag@@@#1{\hbox{\m@th\normalfont#1}}
+\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
+\iftagsleft@
+ \def\@eqnnum{\hbox to1sp{}\rlap{\normalfont\normalcolor
+ \hskip -\displaywidth\tagform@\theequation}}
+\else
+ \def\@eqnnum{{\normalfont\normalcolor \tagform@\theequation}}
+\fi
+\newcommand{\thetag}{\leavevmode\tagform@}
+\let\df@tag\@empty
+\def\make@df@tag{\@ifstar\make@df@tag@@\make@df@tag@@@}
+\def\make@df@tag@@#1{%
+ \gdef\df@tag{\maketag@@@{#1}\def\@currentlabel{#1}}}
+\def\make@df@tag@@@#1{\gdef\df@tag{\tagform@{#1}%
+ \toks@\@xp{\p@equation{#1}}\edef\@currentlabel{\the\toks@}}}
+\let\ltx@label\label
+\def\label@in@display{%
+ \ifx\df@label\@empty\else
+ \@amsmath@err{Multiple \string\label's:
+ label '\df@label' will be lost}\@eha
+ \fi
+ \gdef\df@label
+}
+\toks@\@xp{\@arrayparboxrestore \let\label\ltx@label}%
+\edef\@arrayboxrestore{\the\toks@}
+\let\df@label\@empty
+\def\make@display@tag{%
+ \if@eqnsw \incr@eqnum \print@eqnum
+ \else \iftag@ \df@tag \global\let\df@tag\@empty \fi
+ \fi
+ \ifmeasuring@
+ \else
+ \ifx\df@label\@empty
+ \else
+ \@xp\ltx@label\@xp{\df@label}%
+ \global\let\df@label\@empty
+ \fi
+ \fi
+}
+\def\tag@in@align{%
+ \relax
+ \iftag@
+ \DN@{\invalid@tag{Multiple \string\tag}}%
+ \else
+ \global\tag@true
+ \nonumber
+ \let\next@\make@df@tag
+ \fi
+ \next@
+}
+\newcommand{\raisetag}[1]{\skip@#1\relax
+ \xdef\raise@tag{\vskip\iftagsleft@\else-\fi\the\skip@\relax}%
+}
+\let\raise@tag\@empty
+\newcommand{\notag}{\nonumber}
+\renewcommand{\nonumber}{%
+ \if@eqnsw
+ \ifx\incr@eqnum\@empty \addtocounter{equation}\m@ne \fi
+ \fi
+ \let\print@eqnum\@empty \let\incr@eqnum\@empty
+ \global\@eqnswfalse
+}
+\def\print@eqnum{\tagform@\theequation}
+\def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty}
+\newif\ifinalign@
+\newif\ifingather@
+\@xp\def\@xp\@arrayparboxrestore\@xp{\@arrayparboxrestore
+ \ingather@false\inalign@false \default@tag
+ \let\spread@equation\@spread@equation
+ \let\reset@equation\@empty
+ \def\print@eqnum{\tagform@\theequation}%
+ \def\incr@eqnum{\refstepcounter{equation}\let\incr@eqnum\@empty}%
+}
+\newif\iftag@
+\newif\ifst@rred
+\newif\ifmeasuring@
+\newif\ifshifttag@
+\newcount\row@
+\newcount\column@
+\def\column@plus{%
+ \global\advance\column@\@ne
+}
+\newcount\maxfields@
+\def\add@amp#1{\if m#1&\@xp\add@amp\fi}
+\def\add@amps#1{%
+ \begingroup
+ \count@#1\advance\count@-\column@
+ \edef\@tempa{\endgroup
+ \@xp\add@amp\romannumeral\number\count@ 000q}%
+ \@tempa
+}
+\newhelp\andhelp@
+{An extra & here is so disastrous that you should probably exit^^J
+and fix things up.}
+\newdimen\eqnshift@
+\newdimen\alignsep@
+\newdimen\tagshift@
+\newcommand{\mintagsep}{.5\fontdimen6\textfont\tw@}
+\newcommand{\minalignsep}{10pt}
+\newdimen\tagwidth@
+\newdimen\totwidth@
+\newdimen\lineht@
+\def\tag@width#1{%
+ \ifcase\@xp#1\tag@lengths\fi
+}
+
+\def\savetaglength@{%
+ \begingroup
+ \let\or\relax
+ \xdef\tag@lengths{\tag@lengths\or \the\wdz@}%
+ \endgroup
+}
+
+\def\shift@tag#1{%
+ \ifcase\@xp#1\tag@shifts\fi\relax
+}
+
+\let\tag@shifts\@empty
+\def\saveshift@#1{%
+ \begingroup
+ \let\or\relax
+ \xdef\tag@shifts{\or#1\tag@shifts}%
+ \endgroup
+}
+\def\spread@equation{\reset@strutbox@
+ \openup\jot \let\spread@equation\@empty}
+\let\@spread@equation\spread@equation
+\def\displ@y{\@display@init{}}
+\def\@display@init#1{%
+ \global\dt@ptrue \spread@equation
+ \everycr{%
+ \noalign{%
+ #1%
+ \ifdt@p
+ \global\dt@pfalse
+ \vskip-\lineskiplimit
+ \vskip\normallineskiplimit
+ \else
+ \penalty\@eqpen \global\dspbrk@lvl\m@ne
+ \fi
+ }%
+ }%
+}
+\def\displ@y@{\@display@init{%
+ \global\column@\z@ \global\dspbrk@lvl\m@ne
+ \global\tag@false \global\let\raise@tag\@empty
+}}
+\def\black@#1{%
+ \noalign{%
+ \ifdim#1>\displaywidth
+ \dimen@\prevdepth
+ \nointerlineskip
+ \vskip-\ht\strutbox@
+ \vskip-\dp\strutbox@
+ \vbox{\noindent\hbox to\displaywidth{\hbox to#1{\strut@\hfill}}}%
+ \prevdepth\dimen@
+ \fi
+ }%
+}
+\def\savecounters@{%
+ \begingroup
+ \def\@elt##1{%
+ \global\csname c@##1\endcsname\the\csname c@##1\endcsname}%
+ \xdef\@gtempa{%
+ \cl@@ckpt
+ \let\@nx\restorecounters@\@nx\@empty
+ }%
+ \endgroup
+ \let\restorecounters@\@gtempa
+}
+\let\restorecounters@\@empty
+\def\savealignstate@{%
+ \begingroup
+ \let\or\relax
+ \xdef\@gtempa{%
+ \global\totwidth@\the\totwidth@
+ \global\row@\the\row@
+ \gdef\@nx\tag@lengths{\tag@lengths}%
+ \let\@nx\restorealignstate@\@nx\@empty
+ }%
+ \endgroup
+ \let\restorealignstate@\@gtempa
+}
+
+\let\restorealignstate@\@empty
+\def\savecolumn@{%
+ \edef\restorecolumn@{%
+ \global\column@\number\column@
+ \let\@nx\restorecolumn@\@nx\@empty
+ }%
+}
+\let\restorecolumn@\@empty
+\newtoks\@envbody
+\def\addto@envbody#1{\global\@envbody\@xp{\the\@envbody#1}}
+\def\collect@body#1{%
+ \@envbody{\@xp#1\@xp{\the\@envbody}}%
+ \edef\process@envbody{\the\@envbody\@nx\end{\@currenvir}}%
+ \@envbody\@emptytoks \def\begin@stack{b}%
+ \begingroup
+ \@xp\let\csname\@currenvir\endcsname\collect@@body
+ \edef\process@envbody{\@xp\@nx\csname\@currenvir\endcsname}%
+ \process@envbody
+}
+\def\push@begins#1\begin#2{%
+ \ifx\end#2\else b\@xp\push@begins\fi
+}
+\def\collect@@body#1\end#2{%
+ \edef\begin@stack{\push@begins#1\begin\end \@xp\@gobble\begin@stack}%
+ \ifx\@empty\begin@stack
+ \endgroup
+ \@checkend{#2}%
+ \addto@envbody{#1}%
+ \else
+ \addto@envbody{#1\end{#2}}%
+ \fi
+ \process@envbody % A little tricky! Note the grouping
+}
+\def\math@cr@@@aligned{%
+ \ifodd\column@ \let\next@\@empty
+ \else \def\next@{&\kern-\alignsep@}%
+ \fi
+ \next@ \cr
+}
+\newcommand{\start@aligned}[2]{%
+ \RIfM@\else
+ \nonmatherr@{\begin{\@currenvir}}%
+ \fi
+ \savecolumn@ % Assumption: called inside a group
+ \alignedspace@left
+ \if #1t\vtop \else \if#1b \vbox \else \vcenter \fi \fi \bgroup
+ \maxfields@#2\relax
+ \ifnum\maxfields@>\m@ne
+ \multiply\maxfields@\tw@
+ \let\math@cr@@@\math@cr@@@alignedat
+ \alignsep@\z@skip
+ \else
+ \let\math@cr@@@\math@cr@@@aligned
+ \alignsep@\minalignsep
+ \fi
+ \Let@ \chardef\dspbrk@context\@ne
+ \default@tag
+ \spread@equation % no-op if already called
+ \global\column@\z@
+ \ialign\bgroup
+ &\column@plus
+ \hfil
+ \strut@
+ $\m@th\displaystyle{##}$%
+ \tabskip\z@skip
+ &\column@plus
+ $\m@th\displaystyle{{}##}$%
+ \hfil
+ \tabskip\alignsep@
+ \crcr
+}
+\def\math@cr@@@alignedat{%
+ \ifnum\column@>\maxfields@
+ \begingroup
+ \measuring@false
+ \@amsmath@err{Extra & on this line}%
+ {\the\andhelp@}% "An extra & here is disastrous"
+ \endgroup
+ \fi
+ \global\column@\z@
+ \cr
+}
+\def\alignsafe@testopt#1#2{%
+ \relax\iffalse{\fi\ifnum`}=0\fi
+ \@ifnextchar[%
+ {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1}%
+ {\let\@let@token\relax \ifnum`{=\z@\fi\iffalse}\fi#1[#2]}%
+}
+\newenvironment{aligned}{%
+ \let\@testopt\alignsafe@testopt
+ \aligned@a
+}{%
+ \crcr\egroup
+ \restorecolumn@
+ \egroup
+}
+\newcommand{\aligned@a}[1][c]{\start@aligned{#1}\m@ne}
+\newenvironment{alignedat}{%
+ \let\@testopt\alignsafe@testopt
+ \alignedat@a
+}{%
+ \endaligned
+}
+\newcommand{\alignedat@a}[1][c]{\start@aligned{#1}}
+\newenvironment{gathered}[1][c]{%
+ \RIfM@\else
+ \nonmatherr@{\begin{gathered}}%
+ \fi
+ \alignedspace@left
+ \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup
+ \Let@ \chardef\dspbrk@context\@ne \restore@math@cr
+ \spread@equation
+ \ialign\bgroup
+ \hfil\strut@$\m@th\displaystyle##$\hfil
+ \crcr
+}{%
+ \endaligned
+}
+\def\start@gather#1{%
+ \RIfM@
+ \nomath@env
+ \DN@{\@namedef{end\@currenvir}{}\@gobble}%
+ \else
+ $$%
+ #1%
+ \ifst@rred \else \global\@eqnswtrue \fi
+ \let\next@\gather@
+ \fi
+ \collect@body\next@
+}
+\newenvironment{gather}{%
+ \start@gather\st@rredfalse
+}{%
+ \math@cr \black@\totwidth@ \egroup
+ $$\ignorespacesafterend
+}
+
+\newenvironment{gather*}{%
+ \start@gather\st@rredtrue
+}{%
+ \endgather
+}
+\def\gather@#1{%
+ \ingather@true \let\split\insplit@
+ \let\tag\tag@in@align \let\label\label@in@display
+ \chardef\dspbrk@context\z@
+ \intertext@ \displ@y@ \Let@
+ \let\math@cr@@@\math@cr@@@gather
+ \gmeasure@{#1}%
+ \global\shifttag@false
+ \tabskip\z@skip
+ \global\row@\@ne
+ \halign to\displaywidth\bgroup
+ \strut@
+ \setboxz@h{$\m@th\displaystyle{##}$}%
+ \calc@shift@gather
+ \set@gather@field
+ \tabskip\@centering
+ &\setboxz@h{\strut@{##}}%
+ \place@tag@gather
+ \tabskip \iftagsleft@ \gdisplaywidth@ \else \z@skip \span\fi
+ \crcr
+ #1%
+}
+\def\gmeasure@#1{%
+ \begingroup
+ \measuring@true
+ \totwidth@\z@
+ \global\let\tag@lengths\@empty
+ \savecounters@
+ \setbox\@ne\vbox{%
+ \everycr{\noalign{\global\tag@false
+ \global\let\raise@tag\@empty \global\column@\z@}}%
+ \let\label\@gobble
+ \halign{%
+ \setboxz@h{$\m@th\displaystyle{##}$}%
+ \ifdim\wdz@>\totwidth@
+ \global\totwidth@\wdz@
+ \fi
+ &\setboxz@h{\strut@{##}}%
+ \savetaglength@
+ \crcr
+ #1%
+ \math@cr@@@
+ }%
+ }%
+ \restorecounters@
+ \if@fleqn
+ \global\advance\totwidth@\@mathmargin
+ \fi
+ \iftagsleft@
+ \ifdim\totwidth@>\displaywidth
+ \global\let\gdisplaywidth@\totwidth@
+ \else
+ \global\let\gdisplaywidth@\displaywidth
+ \fi
+ \fi
+ \endgroup
+}
+\def\math@cr@@@gather{%
+ \ifst@rred\nonumber\fi
+ &\relax
+ \make@display@tag
+ \ifst@rred\else\global\@eqnswtrue\fi
+ \global\advance\row@\@ne
+ \cr
+}
+\def\calc@shift@gather{%
+ \dimen@\mintagsep\relax
+ \tagwidth@\tag@width\row@\relax
+ \if@fleqn
+ \global\eqnshift@\@mathmargin
+ \ifdim\tagwidth@>\z@
+ \advance\dimen@\tagwidth@
+ \iftagsleft@
+ \ifdim\dimen@>\@mathmargin
+ \global\shifttag@true
+ \fi
+ \else
+ \advance\dimen@\@mathmargin
+ \advance\dimen@\wdz@
+ \ifdim\dimen@>\displaywidth
+ \global\shifttag@true
+ \fi
+ \fi
+ \fi
+ \else
+ \global\eqnshift@\displaywidth
+ \global\advance\eqnshift@-\wdz@
+ \ifdim\tagwidth@>\z@
+ \multiply\dimen@\tw@
+ \advance\dimen@\wdz@
+ \advance\dimen@\tagwidth@
+ \ifdim\dimen@>\displaywidth
+ \global\shifttag@true
+ \else
+ \ifdim\eqnshift@<4\tagwidth@
+ \global\advance\eqnshift@-\tagwidth@
+ \fi
+ \fi
+ \fi
+ \global\divide\eqnshift@\tw@
+ \iftagsleft@
+ \global\eqnshift@-\eqnshift@
+ \global\advance\eqnshift@\displaywidth
+ \global\advance\eqnshift@-\wdz@
+ \fi
+ \ifdim\eqnshift@<\z@
+ \global\eqnshift@\z@
+ \fi
+ \fi
+}
+\def\place@tag@gather{%
+ \iftagsleft@
+ \kern-\gdisplaywidth@
+ \ifshifttag@
+ \rlap{\vbox{%
+ \normalbaselines
+ \boxz@
+ \vbox to\lineht@{}%
+ \raise@tag
+ }}%
+ \global\shifttag@false
+ \else
+ \rlap{\boxz@}%
+ \fi
+ \else
+ \ifdim\totwidth@>\displaywidth
+ \dimen@\totwidth@
+ \advance\dimen@-\displaywidth
+ \kern-\dimen@
+ \fi
+ \ifshifttag@
+ \llap{\vtop{%
+ \raise@tag
+ \normalbaselines
+ \setbox\@ne\null
+ \dp\@ne\lineht@
+ \box\@ne
+ \boxz@
+ }}%
+ \global\shifttag@false
+ \else
+ \llap{\boxz@}%
+ \fi
+ \fi
+}
+\def\set@gather@field{%
+ \iftagsleft@
+ \global\lineht@\ht\z@
+ \else
+ \global\lineht@\dp\z@
+ \fi
+ \kern\eqnshift@
+ \boxz@
+ \hfil
+}
+\newif\ifxxat@
+
+\newif\ifcheckat@
+
+\let\xatlevel@\@empty
+\def\start@align#1#2#3{%
+ \let\xatlevel@#1% always \z@, \@ne, or \tw@
+ \maxfields@#3\relax
+ \ifnum\maxfields@>\m@ne
+ \checkat@true
+ \ifnum\xatlevel@=\tw@
+ \xxat@true
+ \fi
+ \multiply\maxfields@\tw@
+ \else
+ \checkat@false
+ \fi
+ \ifingather@
+ \iffalse{\fi\ifnum0=`}\fi
+ \DN@{\vcenter\bgroup\savealignstate@\align@#2}%
+ \else
+ \ifmmode
+ \if@display
+ \DN@{\align@recover}%
+ \else
+ \nomath@env
+ \DN@{\@namedef{end\@currenvir}{}\@gobble}%
+ \fi
+ \else
+ $$%
+ \let\split\insplit@
+ \DN@{\align@#2}%
+ \fi
+ \fi
+ \collect@body\next@
+}
+\def\align@recover#1#2#3{%
+ \endgroup
+ \@amsmath@err{%
+Erroneous nesting of equation structures;\MessageBreak
+trying to recover with `aligned'%
+ }\@ehc
+ \begin{aligned}\relax#1\end{aligned}%
+}
+\newenvironment{alignat}{%
+ \start@align\z@\st@rredfalse
+}{%
+ \endalign
+}
+\newenvironment{alignat*}{%
+ \start@align\z@\st@rredtrue
+}{%
+ \endalign
+}
+\newenvironment{xalignat}{%
+ \start@align\@ne\st@rredfalse
+}{%
+ \endalign
+}
+\newenvironment{xalignat*}{%
+ \start@align\@ne\st@rredtrue
+}{%
+ \endalign
+}
+\newenvironment{xxalignat}{%
+ \start@align\tw@\st@rredtrue
+}{%
+ \endalign
+}
+\newenvironment{align}{%
+ \start@align\@ne\st@rredfalse\m@ne
+}{%
+ \math@cr \black@\totwidth@
+ \egroup
+ \ifingather@
+ \restorealignstate@
+ \egroup
+ \nonumber
+ \ifnum0=`{\fi\iffalse}\fi
+ \else
+ $$%
+ \fi
+ \ignorespacesafterend
+}
+\newenvironment{align*}{%
+ \start@align\@ne\st@rredtrue\m@ne
+}{%
+ \endalign
+}
+\newenvironment{flalign}{%
+ \start@align\tw@\st@rredfalse\m@ne
+}{%
+ \endalign
+}
+\newenvironment{flalign*}{%
+ \start@align\tw@\st@rredtrue\m@ne
+}{%
+ \endalign
+}
+\def\align@#1#2{%
+ \inalign@true \intertext@ \Let@ \chardef\dspbrk@context\z@
+ \ifingather@\else\displ@y@\fi
+ \let\math@cr@@@\math@cr@@@align
+ \ifxxat@\else \let\tag\tag@in@align \fi
+ \let\label\label@in@display
+ #1% set st@r
+ \ifst@rred\else \global\@eqnswtrue \fi
+ \measure@{#2}%
+ \global\row@\z@
+ \tabskip\eqnshift@
+ \halign\bgroup
+ \span\align@preamble\crcr
+ #2%
+}
+\def\math@cr@@@align{%
+ \ifst@rred\nonumber\fi
+ \if@eqnsw \global\tag@true \fi
+ \global\advance\row@\@ne
+ \add@amps\maxfields@
+ \omit
+ \kern-\alignsep@
+ \iftag@
+ \setboxz@h{\@lign\strut@{\make@display@tag}}%
+ \place@tag
+ \fi
+ \ifst@rred\else\global\@eqnswtrue\fi
+ \global\lineht@\z@
+ \cr
+}
+\def\math@cr@@@align@measure{%
+ &\omit
+ \global\advance\row@\@ne
+ \ifst@rred\nonumber\fi
+ \if@eqnsw \global\tag@true \fi
+ \ifnum\column@>\maxfields@
+ \ifcheckat@
+ \begingroup
+ \measuring@false
+ \@amsmath@err{Extra & on this line}%
+ {\the\andhelp@}% "An extra & here is disastrous"
+ \endgroup
+ \else
+ \global\maxfields@\column@
+ \fi
+ \fi
+ \setboxz@h{\@lign\strut@{%
+ \if@eqnsw
+ \stepcounter{equation}%
+ \tagform@\theequation
+ \else
+ \iftag@\df@tag\fi
+ \fi
+ }}%
+ \savetaglength@
+ \ifst@rred\else\global\@eqnswtrue\fi
+ \cr
+}
+\let\field@lengths\@empty
+
+\def\savefieldlength@{%
+ \begingroup
+ \let\or\relax
+ \xdef\field@lengths{%
+ \field@lengths
+ \ifnum\column@=0
+ \or
+ \else
+ ,%
+ \fi
+ \the\wdz@
+ }%
+ \endgroup
+}
+
+\def\fieldlengths@#1{%
+ \ifcase\@xp#1\field@lengths\fi
+}
+\let\maxcolumn@widths\@empty
+\def\maxcol@width#1{%
+ \ifcase\@xp#1\maxcolumn@widths\fi\relax
+}
+\def\measure@#1{%
+ \begingroup
+ \measuring@true
+ \global\eqnshift@\z@
+ \global\alignsep@\z@
+ \global\let\tag@lengths\@empty
+ \global\let\field@lengths\@empty
+ \savecounters@
+ \global\setbox0\vbox{%
+ \let\math@cr@@@\math@cr@@@align@measure
+ \everycr{\noalign{\global\tag@false
+ \global\let\raise@tag\@empty \global\column@\z@}}%
+ \let\label\@gobble
+ \global\row@\z@
+ \tabskip\z@
+ \halign{\span\align@preamble\crcr
+ #1%
+ \math@cr@@@
+ \global\column@\z@
+ \add@amps\maxfields@\cr
+ }%
+ }%
+ \restorecounters@
+ \ifodd\maxfields@
+ \global\advance\maxfields@\@ne
+ \fi
+ \ifnum\xatlevel@=\tw@
+ \ifnum\maxfields@<\thr@@
+ \let\xatlevel@\z@
+ \fi
+ \fi
+ \setbox\z@\vbox{%
+ \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox
+ }%
+ \global\totwidth@\wd\@ne
+ \if@fleqn \global\advance\totwidth@\@mathmargin \fi
+ \global\let\maxcolumn@widths\@empty
+ \begingroup
+ \let\or\relax
+ \loop
+ \global\setbox\@ne\hbox{%
+ \unhbox\@ne \unskip \global\setbox\thr@@\lastbox
+ }%
+ \ifhbox\thr@@
+ \xdef\maxcolumn@widths{ \or \the\wd\thr@@ \maxcolumn@widths}%
+ \repeat
+ \endgroup
+ \dimen@\displaywidth
+ \advance\dimen@-\totwidth@
+ \ifcase\xatlevel@
+ \global\alignsep@\z@
+ \let\minalignsep\z@
+ \@tempcntb\z@
+ \if@fleqn
+ \@tempcnta\@ne
+ \global\eqnshift@\@mathmargin
+ \else
+ \@tempcnta\tw@
+ \global\eqnshift@\dimen@
+ \global\divide\eqnshift@\@tempcnta
+ \fi
+ \or
+ \@tempcntb\maxfields@
+ \divide\@tempcntb\tw@
+ \@tempcnta\@tempcntb
+ \advance\@tempcntb\m@ne
+ \if@fleqn
+ \global\eqnshift@\@mathmargin
+ \global\alignsep@\dimen@
+ \global\divide\alignsep@\@tempcnta
+ \else
+ \global\advance\@tempcnta\@ne
+ \global\eqnshift@\dimen@
+ \global\divide\eqnshift@\@tempcnta
+ \global\alignsep@\eqnshift@
+ \fi
+ \or
+ \@tempcntb\maxfields@
+ \divide\@tempcntb\tw@
+ \global\advance\@tempcntb\m@ne
+ \global\@tempcnta\@tempcntb
+ \global\eqnshift@\z@
+ \global\alignsep@\dimen@
+ \if@fleqn
+ \global\advance\alignsep@\@mathmargin\relax
+ \fi
+ \global\divide\alignsep@\@tempcntb
+ \fi
+ \ifdim\alignsep@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \ifdim\eqnshift@>\z@
+ \if@fleqn\else
+ \global\eqnshift@\displaywidth
+ \global\advance\eqnshift@-\totwidth@
+ \global\advance\eqnshift@-\@tempcntb\alignsep@
+ \global\divide\eqnshift@\tw@
+ \fi
+ \fi
+ \fi
+ \ifdim\eqnshift@<\z@
+ \global\eqnshift@\z@
+ \fi
+ \calc@shift@align
+ \global\tagshift@\totwidth@
+ \global\advance\tagshift@\@tempcntb\alignsep@
+ \if@fleqn
+ \ifnum\xatlevel@=\tw@
+ \global\advance\tagshift@-\@mathmargin\relax
+ \fi
+ \else
+ \global\advance\tagshift@\eqnshift@
+ \fi
+ \iftagsleft@ \else
+ \global\advance\tagshift@-\displaywidth
+ \fi
+ \dimen@\minalignsep\relax
+ \global\advance\totwidth@\@tempcntb\dimen@
+ \ifdim\totwidth@>\displaywidth
+ \global\let\displaywidth@\totwidth@
+ \else
+ \global\let\displaywidth@\displaywidth
+ \fi
+ \endgroup
+}
+\iftagsleft@\if@fleqn
+ \def\calc@shift@align{%
+ \global\let\tag@shifts\@empty
+ \begingroup
+ \@tempdima\@mathmargin\relax
+ \advance\@tempdima-\mintagsep\relax
+ \loop
+ \ifnum\row@>0
+ \ifdim\tag@width\row@>\z@
+ \x@calc@shift@lf
+ \else
+ \saveshift@0%
+ \fi
+ \advance\row@\m@ne
+ \repeat
+ \endgroup
+ }
+ \def\x@calc@shift@lf{%
+ \ifdim\eqnshift@=\z@
+ \global\eqnshift@\@mathmargin\relax
+ \alignsep@\displaywidth
+ \advance\alignsep@-\totwidth@
+ \global\divide\alignsep@\@tempcntb
+ \ifdim\alignsep@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \fi
+ \fi
+ \ifdim\tag@width\row@>\@tempdima
+ \saveshift@1%
+ \else
+ \saveshift@0%
+ \fi
+ }
+\fi\fi
+\iftagsleft@\else\if@fleqn
+ \def\calc@shift@align{%
+ \global\let\tag@shifts\@empty
+ \begingroup
+ \loop
+ \ifnum\row@>0
+ \ifdim\tag@width\row@>\z@
+ \x@calc@shift@rf
+ \else
+ \saveshift@0%
+ \fi
+ \advance\row@\m@ne
+ \repeat
+ \endgroup
+ }
+ \def\x@calc@shift@rf{%
+ \column@\z@
+ \@tempdimb\z@
+ \@tempdimc\z@
+ \edef\@tempb{\fieldlengths@\row@}%
+ \@for\@tempa:=\@tempb\do{%
+ \advance\column@\@ne
+ \x@rcalc@width
+ }%
+ \begingroup
+ \advance\column@\m@ne
+ \divide\column@\tw@
+ \ifnum\@tempcntb>\column@
+ \advance\@tempcnta-\@tempcntb
+ \advance\@tempcnta\column@
+ \@tempcntb\column@
+ \fi
+ \tagwidth@\tag@width\row@\relax
+ \@tempdima\eqnshift@
+ \advance\@tempdima\@tempdimc\relax
+ \advance\@tempdima\tagwidth@
+ \dimen@\minalignsep\relax
+ \multiply\dimen@\@tempcntb
+ \advance\dimen@\mintagsep\relax
+ \advance\dimen@\@tempdima
+ \ifdim\dimen@>\displaywidth
+ \saveshift@1%
+ \else
+ \saveshift@0%
+ \dimen@\alignsep@\relax
+ \multiply\dimen@\@tempcntb
+ \advance\dimen@\@tempdima
+ \advance\dimen@\tagwidth@
+ \ifdim\dimen@>\displaywidth
+ \dimen@\displaywidth
+ \advance\dimen@-\@tempdima
+ \ifnum\xatlevel@=\tw@
+ \advance\dimen@-\mintagsep\relax
+ \fi
+ \divide\dimen@\@tempcnta
+ \ifdim\dimen@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \else
+ \global\alignsep@\dimen@
+ \fi
+ \fi
+ \fi
+ \endgroup
+ }
+\fi\fi
+\iftagsleft@\else\if@fleqn\else
+ \def\calc@shift@align{%
+ \global\let\tag@shifts\@empty
+ \begingroup
+ \loop
+ \ifnum\row@>0
+ \ifdim\tag@width\row@>\z@
+ \x@calc@shift@rc
+ \else
+ \saveshift@0%
+ \fi
+ \advance\row@\m@ne
+ \repeat
+ \endgroup
+ }
+ \def\x@calc@shift@rc{%
+ \column@\z@
+ \@tempdimb\z@
+ \@tempdimc\z@
+ \edef\@tempb{\fieldlengths@\row@}%
+ \@for\@tempa:=\@tempb\do{%
+ \advance\column@\@ne
+ \x@rcalc@width
+ }%
+ \begingroup
+ \advance\column@\m@ne
+ \divide\column@\tw@
+ \ifnum\@tempcntb>\column@
+ \advance\@tempcnta-\@tempcntb
+ \advance\@tempcnta\column@
+ \@tempcntb\column@
+ \fi
+ \tagwidth@\tag@width\row@\relax
+ \@tempdima\@tempdimc
+ \advance\@tempdima\tagwidth@
+ \dimen@\minalignsep\relax
+ \multiply\dimen@\@tempcntb
+ \advance\dimen@\mintagsep\relax
+ \ifnum\xatlevel@=\tw@ \else
+ \advance\dimen@\mintagsep\relax
+ \fi
+ \advance\dimen@\@tempdima
+ \ifdim\dimen@>\displaywidth
+ \saveshift@1%
+ \else
+ \saveshift@0%
+ \dimen@\eqnshift@
+ \advance\dimen@\@tempdima
+ \advance\dimen@\@tempcntb\alignsep@
+ \advance\dimen@\tagwidth@
+ \ifdim\dimen@>\displaywidth
+ \dimen@\displaywidth
+ \advance\dimen@-\@tempdima
+ \ifnum\xatlevel@=\tw@
+ \advance\dimen@-\mintagsep\relax
+ \fi
+ \divide\dimen@\@tempcnta
+ \ifdim\dimen@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \eqnshift@\displaywidth
+ \advance\eqnshift@-\@tempdima
+ \advance\eqnshift@-\@tempcntb\alignsep@
+ \global\divide\eqnshift@\tw@
+ \else
+ \ifdim\dimen@<\eqnshift@
+ \ifdim\dimen@<\z@
+ \global\eqnshift@\z@
+ \else
+ \global\eqnshift@\dimen@
+ \fi
+ \fi
+ \ifdim\dimen@<\alignsep@
+ \global\alignsep@\dimen@
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ }
+\fi\fi
+\iftagsleft@\else
+ \def\x@rcalc@width{%
+ \ifdim\@tempa > \z@
+ \advance\@tempdimc\@tempdimb
+ \ifodd\column@
+ \advance\@tempdimc\maxcol@width\column@
+ \@tempdimb\z@
+ \else
+ \advance\@tempdimc\@tempa\relax
+ \@tempdimb\maxcol@width\column@
+ \advance\@tempdimb-\@tempa\relax
+ \fi
+ \else
+ \advance\@tempdimb\maxcol@width\column@\relax
+ \fi
+ }
+\fi
+\iftagsleft@\if@fleqn\else
+ \def\calc@shift@align{%
+ \global\let\tag@shifts\@empty
+ \begingroup
+ \loop
+ \ifnum\row@>\z@
+ \ifdim\tag@width\row@>\z@
+ \x@calc@shift@lc
+ \else
+ \saveshift@0%
+ \fi
+ \advance\row@\m@ne
+ \repeat
+ \endgroup
+ }
+ \def\x@calc@shift@lc{%
+ \column@\z@
+ \@tempdima\z@ % ``width of equation''
+ \@tempdimb\z@ % ``indent of equation''
+ \edef\@tempb{\fieldlengths@\row@}%
+ \@for\@tempa:=\@tempb\do{%
+ \advance\column@\@ne
+ \x@lcalc@width
+ }%
+ \begingroup
+ \tagwidth@\tag@width\row@\relax
+ \@tempdima\totwidth@
+ \advance\@tempdima-\@tempdimb
+ \advance\@tempdima\tagwidth@
+ \dimen@\minalignsep\relax
+ \multiply\dimen@\@tempcntb
+ \advance\dimen@\mintagsep\relax
+ \ifnum\xatlevel@=\tw@ \else
+ \advance\dimen@\mintagsep\relax
+ \fi
+ \advance\dimen@\@tempdima
+ \ifdim\dimen@>\displaywidth
+ \saveshift@1%
+ \else
+ \saveshift@0%
+ \dimen@\alignsep@
+ \multiply\dimen@\count@
+ \advance\dimen@\eqnshift@
+ \advance\dimen@\@tempdimb
+ \ifdim\dimen@<2\tagwidth@
+ \dimen@\displaywidth
+ \advance\dimen@-\@tempdima
+ \ifnum\xatlevel@=\tw@
+ \advance\dimen@-\mintagsep\relax
+ \fi
+ \ifnum\@tempcnta>\z@
+ \divide\dimen@\@tempcnta
+ \else \dimen@\z@
+ \fi
+ \ifdim\dimen@<\minalignsep\relax
+ \global\alignsep@\minalignsep\relax
+ \dimen@\displaywidth
+ \advance\dimen@-\@tempdima
+ \advance\dimen@-\@tempcntb\alignsep@
+ \global\divide\dimen@\tw@
+ \else
+ \ifdim\dimen@<\alignsep@
+ \global\alignsep@\dimen@
+ \fi
+ \fi
+ \ifnum\xatlevel@=\tw@
+ \dimen@\mintagsep\relax
+ \fi
+ \advance\dimen@\tagwidth@
+ \advance\dimen@-\@tempdimb
+ \advance\dimen@-\count@\alignsep@
+ \ifdim\dimen@>\eqnshift@
+ \global\eqnshift@\dimen@
+ \fi
+ \fi
+ \fi
+ \endgroup
+ }
+ \def\x@lcalc@width{%
+ \ifdim\@tempdima = \z@
+ \ifdim\@tempa > \z@
+ \@tempdima\p@
+ \ifodd\column@
+ \advance\@tempdimb \maxcol@width\column@
+ \advance\@tempdimb-\@tempa
+ \fi
+ \count@\column@
+ \advance\count@\m@ne
+ \divide\count@\tw@
+ \advance\@tempcnta-\count@
+ \advance\@tempcntb-\count@
+ \else
+ \advance\@tempdimb \maxcol@width\column@\relax
+ \fi
+ \fi
+ }
+\fi\fi
+\def\place@tag{%
+ \iftagsleft@
+ \kern-\tagshift@
+ \if1\shift@tag\row@\relax
+ \rlap{\vbox{%
+ \normalbaselines
+ \boxz@
+ \vbox to\lineht@{}%
+ \raise@tag
+ }}%
+ \else
+ \rlap{\boxz@}%
+ \fi
+ \kern\displaywidth@
+ \else
+ \kern-\tagshift@
+ \if1\shift@tag\row@\relax
+ \llap{\vtop{%
+ \raise@tag
+ \normalbaselines
+ \setbox\@ne\null
+ \dp\@ne\lineht@
+ \box\@ne
+ \boxz@
+ }}%
+ \else
+ \llap{\boxz@}%
+ \fi
+ \fi
+}
+\def\align@preamble{%
+ &\hfil
+ \strut@
+ \setboxz@h{\@lign$\m@th\displaystyle{##}$}%
+ \ifmeasuring@\savefieldlength@\fi
+ \set@field
+ \tabskip\z@skip
+ &\setboxz@h{\@lign$\m@th\displaystyle{{}##}$}%
+ \ifmeasuring@\savefieldlength@\fi
+ \set@field
+ \hfil
+ \tabskip\alignsep@
+}
+\def\set@field{%
+ \column@plus
+ \iftagsleft@
+ \ifdim\ht\z@>\lineht@
+ \global\lineht@\ht\z@
+ \fi
+ \else
+ \ifdim\dp\z@>\lineht@
+ \global\lineht@\dp\z@
+ \fi
+ \fi
+ \boxz@
+}
+\edef\split@err#1{%
+ \@nx\@amsmath@err{%
+ \string\begin{split} won't work here%
+ }{%
+ \@xp\@nx\csname
+ Did you forget a preceding \string\begin{equation}?^^J%
+ If not, perhaps the `aligned' environment is what
+ you want.\endcsname}%
+}
+\newenvironment{split}{%
+ \if@display
+ \ifinner
+ \@xp\@xp\@xp\split@aligned
+ \else
+ \ifst@rred \else \global\@eqnswtrue \fi
+ \fi
+ \else \let\endsplit\@empty \@xp\collect@body\@xp\split@err
+ \fi
+ \collect@body\gather@split
+}{%
+ \crcr
+ \egroup
+ \egroup
+ \iftagsleft@ \@xp\lendsplit@ \else \@xp\rendsplit@ \fi
+}
+\let\split@tag\relax % init
+\def\gather@split#1#2#3{%
+ \@xp\endgroup \reset@equation % math@cr will handle equation numbering
+ \iftag@
+ \toks@\@xp{\df@tag}%
+ \edef\split@tag{%
+ \gdef\@nx\df@tag{\the\toks@}%
+ \global\@nx\tag@true \@nx\nonumber
+ }%
+ \else \let\split@tag\@empty
+ \fi
+ \spread@equation
+ \vcenter\bgroup
+ \gather@{\split@tag \begin{split}#1\end{split}}%
+ \def\endmathdisplay@a{%
+ \math@cr \black@ \totwidth@ \egroup
+ \egroup
+ }%
+}
+\def\insplit@{%
+ \global\setbox\z@\vbox\bgroup
+ \Let@ \chardef\dspbrk@context\@ne \restore@math@cr
+ \default@tag % disallow use of \tag here
+ \ialign\bgroup
+ \hfil
+ \strut@
+ $\m@th\displaystyle{##}$%
+ &$\m@th\displaystyle{{}##}$%
+ \hfill % Why not \hfil?---dmj, 1994/12/28
+ \crcr
+}
+\def\rendsplit@{%
+ \ifinalign@
+ \global\setbox9 \vtop{%
+ \unvcopy\z@
+ \global\setbox8 \lastbox
+ \unskip
+ }%
+ \setbox\@ne\hbox{%
+ \unhcopy8
+ \unskip
+ \global\setbox\tw@\lastbox
+ \unskip
+ \global\setbox\thr@@\lastbox
+ }%
+ \ifctagsplit@
+ \gdef\split@{%
+ \hbox to\wd\thr@@{}%
+ &\vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}%
+ }%
+ \else
+ \global\setbox7 \hbox{\unhbox\tw@\unskip}%
+ \gdef\split@{%
+ \global\@tempcnta\column@
+ &\setboxz@h{}%
+ \savetaglength@
+ \global\advance\row@\@ne
+ \vbox{\moveleft\wd\thr@@\box9}%
+ \crcr
+ \noalign{\global\lineht@\z@}%
+ \add@amps\@tempcnta
+ \box\thr@@
+ &\box7
+ }%
+ \fi
+ \else
+ \ifctagsplit@
+ \gdef\split@{\vcenter{\boxz@}}%
+ \else
+ \gdef\split@{%
+ \boxz@
+ }%
+ \fi
+ \fi
+ \aftergroup\split@
+}
+\def\lendsplit@{%
+ \global\setbox9\vtop{\unvcopy\z@}%
+ \ifinalign@
+ \setbox\@ne\vbox{%
+ \unvcopy\z@
+ \global\setbox8\lastbox
+ }%
+ \setbox\@ne\hbox{%
+ \unhcopy8%
+ \unskip
+ \setbox\tw@\lastbox
+ \unskip
+ \global\setbox\thr@@\lastbox
+ }%
+ \ifctagsplit@
+ \gdef\split@{%
+ \hbox to\wd\thr@@{}%
+ &\vcenter{\vbox{\moveleft\wd\thr@@\box9}}%
+ }%
+ \else
+ \gdef\split@{%
+ \hbox to\wd\thr@@{}%
+ &\vbox{\moveleft\wd\thr@@\box9}%
+ }%
+ \fi
+ \else
+ \ifctagsplit@
+ \gdef\split@{\vcenter{\box9}}%
+ \else
+ \gdef\split@{\box9}%
+ \fi
+ \fi
+ \aftergroup\split@
+}
+\def\split@aligned#1#2{%
+ \iffalse{\fi\ifnum0=`}\fi
+ \collect@body\split@al@a}
+\def\split@al@a#1#2#3{%
+ \split@warning
+ \endgroup
+ \toks@{\begin{aligned}}%
+ \if@fleqn \split@al@tagcheck \fi
+ \the\toks@\relax#1\end{aligned}%
+ \ifnum0=`{\fi\iffalse}\fi
+}
+\def\split@al@tagcheck{%
+ \ifctagsplit@
+ \else
+ \iftagsleft@ \toks@\@xp{\the\toks@ [t]}%
+ \else \toks@\@xp{\the\toks@ [b]}%
+ \fi
+ \fi
+}
+\def\split@warning{%
+ \PackageWarning{amsmath}{%
+Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
+}
+\newskip\multlinegap
+\multlinegap10pt
+\newskip\multlinetaggap
+\multlinetaggap10pt
+\def\start@multline#1{%
+ \RIfM@
+ \nomath@env
+ \DN@{\@namedef{end\@currenvir}{}\@gobble}%
+ \else
+ $$%
+ #1%
+ \ifst@rred
+ \nonumber
+ \else
+ \global\@eqnswtrue
+ \fi
+ \let\next@\multline@
+ \fi
+ \collect@body\next@
+}
+\newenvironment{multline}{%
+ \start@multline\st@rredfalse
+}{%
+ \iftagsleft@ \@xp\lendmultline@ \else \@xp\rendmultline@ \fi
+ \ignorespacesafterend
+}
+\newenvironment{multline*}{\start@multline\st@rredtrue}{\endmultline}
+\def\multline@#1{%
+ \Let@
+ \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}%
+ \chardef\dspbrk@context\z@
+ \restore@math@cr
+ \let\tag\tag@in@align
+ \global\tag@false \global\let\raise@tag\@empty
+ \mmeasure@{#1}%
+ \let\tag\gobble@tag \let\label\@gobble
+ \tabskip \if@fleqn \@mathmargin \else \z@skip \fi
+ \totwidth@\displaywidth
+ \if@fleqn
+ \advance\totwidth@-\@mathmargin
+ \fi
+ \halign\bgroup
+ \hbox to\totwidth@{%
+ \if@fleqn
+ \hskip \@centering \relax
+ \else
+ \hfil
+ \fi
+ \strut@
+ $\m@th\displaystyle{}##\endmultline@math
+ \hfil
+ }%
+ \crcr
+ \if@fleqn
+ \hskip-\@mathmargin
+ \def\multline@indent{\hskip\@mathmargin}% put it back
+ \else
+ \hfilneg
+ \def\multline@indent{\hskip\multlinegap}%
+ \fi
+ \iftagsleft@
+ \iftag@
+ \begingroup
+ \ifshifttag@
+ \rlap{\vbox{%
+ \normalbaselines
+ \hbox{%
+ \strut@
+ \make@display@tag
+ }%
+ \vbox to\lineht@{}%
+ \raise@tag
+ }}%
+ \multline@indent
+ \else
+ \setbox\z@\hbox{\make@display@tag}%
+ \dimen@\@mathmargin \advance\dimen@-\wd\z@
+ \ifdim\dimen@<\multlinetaggap
+ \dimen@\multlinetaggap
+ \fi
+ \box\z@ \hskip\dimen@\relax
+ \fi
+ \endgroup
+ \else
+ \multline@indent
+ \fi
+ \else
+ \multline@indent
+ \fi
+ #1%
+}
+\def\endmultline@math{$}
+\def\lendmultline@{%
+ \hfilneg
+ \hskip\multlinegap
+ \math@cr
+ \egroup
+ $$%
+}
+\def\rendmultline@{%
+ \iftag@
+ $\let\endmultline@math\relax
+ \ifshifttag@
+ \hskip\multlinegap
+ \llap{\vtop{%
+ \raise@tag
+ \normalbaselines
+ \setbox\@ne\null
+ \dp\@ne\lineht@
+ \box\@ne
+ \hbox{\strut@\make@display@tag}%
+ }}%
+ \else
+ \hskip\multlinetaggap
+ \make@display@tag
+ \fi
+ \else
+ \hskip\multlinegap
+ \fi
+ \hfilneg
+ \math@cr
+ \egroup$$%
+}
+\def\mmeasure@#1{%
+ \begingroup
+ \measuring@true
+ \def\label##1{%
+ \begingroup\measuring@false\label@in@display{##1}\endgroup}%
+ \def\math@cr@@@{\cr}%
+ \let\shoveleft\@iden \let\shoveright\@iden
+ \savecounters@
+ \global\row@\z@
+ \setbox\@ne\vbox{%
+ \global\let\df@tag\@empty
+ \halign{%
+ \setboxz@h{\@lign$\m@th\displaystyle{}##$}%
+ \iftagsleft@
+ \ifnum\row@=\@ne
+ \global\totwidth@\wdz@
+ \global\lineht@\ht\z@
+ \fi
+ \else
+ \global\totwidth@\wdz@
+ \global\lineht@\dp\z@
+ \fi
+ \crcr
+ #1%
+ \crcr
+ }%
+ }%
+ \ifx\df@tag\@empty\else\global\tag@true\fi
+ \if@eqnsw\global\tag@true\fi
+ \iftag@
+ \setboxz@h{%
+ \if@eqnsw
+ \stepcounter{equation}%
+ \tagform@\theequation
+ \else
+ \df@tag
+ \fi
+ }%
+ \global\tagwidth@\wdz@
+ \dimen@\totwidth@
+ \advance\dimen@\tagwidth@
+ \advance\dimen@\multlinetaggap
+ \iftagsleft@\else
+ \if@fleqn
+ \advance\dimen@\@mathmargin
+ \fi
+ \fi
+ \ifdim\dimen@>\displaywidth
+ \global\shifttag@true
+ \else
+ \global\shifttag@false
+ \fi
+ \fi
+ \restorecounters@
+ \endgroup
+}
+\iftagsleft@
+ \def\shoveright#1{%
+ #1%
+ \hfilneg
+ \hskip\multlinegap
+ }
+\else
+ \def\shoveright#1{%
+ #1%
+ \hfilneg
+ \iftag@
+ \ifshifttag@
+ \hskip\multlinegap
+ \else
+ \hskip\tagwidth@
+ \hskip\multlinetaggap
+ \fi
+ \else
+ \hskip\multlinegap
+ \fi
+ }
+\fi
+
+\if@fleqn
+ \def\shoveleft#1{#1}%
+\else
+ \iftagsleft@
+ \def\shoveleft#1{%
+ \setboxz@h{$\m@th\displaystyle{}#1$}%
+ \setbox\@ne\hbox{$\m@th\displaystyle#1$}%
+ \hfilneg
+ \iftag@
+ \ifshifttag@
+ \hskip\multlinegap
+ \else
+ \hskip\tagwidth@
+ \hskip\multlinetaggap
+ \fi
+ \else
+ \hskip\multlinegap
+ \fi
+ \hskip.5\wd\@ne
+ \hskip-.5\wdz@
+ #1%
+ }
+ \else
+ \def\shoveleft#1{%
+ \setboxz@h{$\m@th\displaystyle{}#1$}%
+ \setbox\@ne\hbox{$\m@th\displaystyle#1$}%
+ \hfilneg
+ \hskip\multlinegap
+ \hskip.5\wd\@ne
+ \hskip-.5\wdz@
+ #1%
+ }
+ \fi
+\fi
+\@saveprimitive\leqno\@@leqno
+\@saveprimitive\eqno\@@eqno
+\def\eqno{\@@eqno\let\eqno\relax\let\leqno\relax}
+\def\leqno{\@@leqno\let\leqno\relax\let\eqno\relax}
+\let\veqno=\@@eqno
+\iftagsleft@ \let\veqno=\@@leqno \fi
+\@ifundefined{SK@@label}{%
+ \let\SK@@label\relax \let\SK@equationtrue\relax
+}{}
+\let\reset@equation\@empty
+\let\alt@tag\@empty
+\def\tag@in@display#1#{\relax\tag@in@display@a{#1}}
+\def\tag@in@display@a#1#2{%
+ \iftag@
+ \invalid@tag{Multiple \string\tag}\relax
+ \else
+ \global\tag@true \nonumber \reset@equation \st@rredtrue
+ \if *\string#1%
+ \gdef\alt@tag{\def\SK@tagform@{#2\@gobble}%
+ \ifx\SK@@label\relax \let\tagform@\SK@tagform@ \fi
+ }%
+ \make@df@tag@@{#2}%
+ \else
+ \make@df@tag@@@{#2}%
+ \fi
+ \fi
+}
+\let\restore@hfuzz\@empty
+\def\mathdisplay#1{%
+ \ifmmode \@badmath
+ \else
+ $$\def\@currenvir{#1}%
+ \let\dspbrk@context\z@
+ \let\tag\tag@in@display \let\label\label@in@display \SK@equationtrue
+ \global\let\df@label\@empty \global\let\df@tag\@empty
+ \global\tag@false
+ \let\mathdisplay@push\mathdisplay@@push
+ \let\mathdisplay@pop\mathdisplay@@pop
+ \if@fleqn
+ \edef\restore@hfuzz{\hfuzz\the\hfuzz\relax}%
+ \hfuzz\maxdimen
+ \setbox\z@\hbox to\displaywidth\bgroup
+ \let\split@warning\relax \restore@hfuzz
+ \everymath\@emptytoks \m@th $\displaystyle
+ \fi
+ \fi
+}
+\def\endmathdisplay#1{%
+ \ifmmode \else \@badmath \fi
+ \endmathdisplay@a
+ $$%
+ \global\let\df@label\@empty \global\let\df@tag\@empty
+ \global\tag@false \global\let\alt@tag\@empty
+ \global\@eqnswfalse
+}
+\def\endmathdisplay@a{%
+ \if@eqnsw \gdef\df@tag{\tagform@\theequation}\fi
+ \if@fleqn \@xp\endmathdisplay@fleqn
+ \else \ifx\df@tag\@empty \else \veqno \alt@tag \df@tag \fi
+ \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi
+ \fi
+ \ifnum\dspbrk@lvl>\m@ne
+ \postdisplaypenalty -\@getpen\dspbrk@lvl
+ \global\dspbrk@lvl\m@ne
+ \fi
+}
+\let\too@wide\@ne
+\def\endmathdisplay@fleqn{%
+ $\hfil\hskip\@mathmargin\egroup
+ \ifnum\badness<\inf@bad \let\too@wide\@ne \else \let\too@wide\z@ \fi
+ \ifx\@empty\df@tag
+ \else
+ \setbox4\hbox{\df@tag
+ \ifx\df@label\@empty \else \@xp\ltx@label\@xp{\df@label}\fi
+ }%
+ \fi
+ \csname emdf@%
+ \ifx\df@tag\@empty U\else \iftagsleft@ L\else R\fi\fi
+ \endcsname
+}
+\def\emdf@U{%
+ \restore@hfuzz
+ \ifodd\too@wide % not too wide: just need to swap the glue around
+ \hbox to\displaywidth{\hskip\@mathmargin\unhbox\z@\unskip}%
+ \else % M+B > displaywidth
+ \emdf@Ua
+ \fi
+}
+\def\emdf@Ua{%
+ \hbox to\columnwidth{%
+ \ifdim\displayindent>\z@
+ \hskip\displayindent minus\displayindent
+ \fi
+ \hskip\@mathmargin \unhbox\z@ \unskip
+ }%
+ \displayindent\z@ \displaywidth\columnwidth
+}
+\def\emdf@R{%
+ \setbox\tw@\hbox to\displaywidth{%
+ \hskip\@mathmargin \unhcopy\z@\unskip\hfil\hskip\mintagsep\copy4
+ }%
+ \restore@hfuzz
+ \ifnum\badness<\inf@bad \box\tw@ \else \emdf@Ra \fi
+}
+\def\emdf@Ra{%
+ \skip@\displayindent minus\displayindent
+ \displayindent\z@ \displaywidth\columnwidth
+ \spread@equation \everycr{}\tabskip\z@skip
+ \halign{\hbox to\displaywidth{##}\cr
+ \relax
+ \ifdim\skip@>\z@ \hskip\skip@ \fi
+ \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr
+ \noalign{\raise@tag}%
+ \hfil\box4 \cr}%
+}
+\def\emdf@L{%
+ \@tempdima\@mathmargin
+ \advance\@tempdima-\wd4 \advance\@tempdima-\mintagsep
+ \skip@\@tempdima minus\@tempdima
+ \setbox\tw@\hbox to\displaywidth{%
+ \copy4\hskip\mintagsep
+ \ifdim\skip@>\z@ \hskip\skip@\fi
+ \unhcopy\z@\unskip
+ }%
+ \restore@hfuzz
+ \ifnum\badness<\inf@bad \box\tw@ \else \emdf@La \fi
+}
+\def\emdf@La{%
+ \spread@equation \everycr{}\tabskip\z@skip
+ \halign{\hbox to\displaywidth{##}\cr
+ \box4 \hfil \cr
+ \noalign{\raise@tag}%
+ \hskip\@mathmargin\unhbox\z@\unskip\hfil\cr}%
+}
+\newtoks\mathdisplay@stack
+\let\mathdisplay@push\@empty
+\def\mathdisplay@@push{%
+ \begingroup
+ \toks@\@xp{\df@label}\@temptokena\@xp{\df@tag}%
+ \toks8\@xp{\alt@tag}%
+ \edef\@tempa{%
+ \global\if@eqnsw\@nx\@eqnswtrue\else\@nx\@eqnswfalse\fi
+ \global\iftag@\@nx\tag@false\else\@nx\tag@true\fi
+ \gdef\@nx\df@label{\the\toks@}\gdef\@nx\df@tag{\the\@temptokena}%
+ \gdef\@nx\alt@tag{\the\toks8}%
+ \global\mathdisplay@stack{\the\mathdisplay@stack}%
+ }%
+ \global\mathdisplay@stack\@xp{\@tempa}
+ \endgroup
+}
+\let\mathdisplay@pop\@empty
+\def\mathdisplay@@pop{\the\mathdisplay@stack}
+\renewenvironment{equation}{%
+ \incr@eqnum
+ \mathdisplay@push
+ \st@rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+}{%
+ \endmathdisplay{equation}%
+ \mathdisplay@pop
+ \ignorespacesafterend
+}
+\newenvironment{equation*}{%
+ \mathdisplay@push
+ \st@rredtrue \global\@eqnswfalse
+ \mathdisplay{equation*}%
+}{%
+ \endmathdisplay{equation*}%
+ \mathdisplay@pop
+ \ignorespacesafterend
+}
+\DeclareRobustCommand{\[}{\begin{equation*}}
+\DeclareRobustCommand{\]}{\end{equation*}}
+\endinput
+%%
+%% End of file `amsmath.sty'.
diff --git a/macros/latex-dev/required/amsmath/amsmath.dtx b/macros/latex-dev/required/amsmath/amsmath.dtx
index 8671694b70..11b7545c26 100644
--- a/macros/latex-dev/required/amsmath/amsmath.dtx
+++ b/macros/latex-dev/required/amsmath/amsmath.dtx
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2019/04/01 v2.17c AMS math features]
+\ProvidesPackage{amsmath}[2019/11/16 v2.17d AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -1641,10 +1641,19 @@ Foreign command \@backslashchar#1;\MessageBreak
% By redefining \cs{set@mathaccent} we ensure that
% \cn{DeclareMathAccent} will define accent commands to run our
% \cs{mathaccentV} function instead of the primitive \cs{mathaccent}.
+% \changes{v2.17d}{2019/11/16}{Added \cs{MakeRobust} to match kernel
+% change (gh/216)}
% \begin{macrocode}
\def\set@mathaccent#1#2#3#4{%
- \xdef#2{\@nx\protect\@nx\mathaccentV
+% \end{macrocode}
+% Now that the redefinitions done inside amsmath of the basic accents
+% are all robust we can drop the \cs{protect} here.
+% \begin{macrocode}
+ \xdef#2{%
+% \@nx\protect
+ \@nx\mathaccentV
{\@xp\@gobble\string#2}\hexnumber@#1#4}%
+ \MakeRobust#2%
}
% \end{macrocode}
%
@@ -1714,6 +1723,13 @@ Foreign command \@backslashchar#1;\MessageBreak
Unable to redefine math accent \string#5}%
\fi\fi}
\def\@tempc#1"#2#3#4#5#6\@nil#7{%
+% \end{macrocode}
+% Drop the inner part of the robust accent so that it can be recreated
+% without a warning.
+% \changes{v2.17d}{2019/11/16}{Make temporarily fragile to match kernel
+% change (gh/216)}
+% \begin{macrocode}
+ \@xp\let\csname\@xp\@gobble\string#7\space\endcsname\@undefined
\chardef\@tempd="#3\relax\set@mathaccent\@tempd{#7}{#2}{#4#5}}
\def\@tempd#1\@nil#2{%
\PackageWarningNoLine{amsmath}{%
@@ -2091,7 +2107,7 @@ Foreign command \@backslashchar#1;\MessageBreak
% \begin{macro}{\overunderset}
% This is the combination of the previous two commands which is
% something that is sometimes needed.
-% \changes{v2.17c}{FMi}{New command \cs{overunderset}}
+% \changes{v2.17c}{2019/04/01}{New command \cs{overunderset}}
% \begin{macrocode}
\newcommand{\overunderset}[3]{\binrel@{#3}%
\binrel@@{\mathop{\kern\z@#3}\limits^{#1}_{#2}}}
diff --git a/macros/latex-dev/required/amsmath/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index 94a460afa4..ec130fb9d7 100644
--- a/macros/latex-dev/required/amsmath/amsmath.pdf
+++ b/macros/latex-dev/required/amsmath/amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index f854a4246b..b518ffd88e 100644
--- a/macros/latex-dev/required/amsmath/amsopn.pdf
+++ b/macros/latex-dev/required/amsmath/amsopn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index a5c78d6737..2df324d60a 100644
--- a/macros/latex-dev/required/amsmath/amstext.pdf
+++ b/macros/latex-dev/required/amsmath/amstext.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index 11cea1ef60..1130ed79aa 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.pdf
+++ b/macros/latex-dev/required/amsmath/amsxtra.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/changes.txt b/macros/latex-dev/required/amsmath/changes.txt
index 1b2d097dd5..e5e234cea2 100644
--- a/macros/latex-dev/required/amsmath/changes.txt
+++ b/macros/latex-dev/required/amsmath/changes.txt
@@ -1,3 +1,25 @@
+#########################
+# 2019-11-17 Release
+#########################
+
+2019-11-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * amsmath.dtx (section{Math accents}):
+ Added \MakeRobust inside \DeclareMathAccent to match kernel
+ change (gh/216)
+
+#########################
+# 2019-10-01b Release
+#########################
+
+2019-10-11 David Carlisle <David.Carlisle@latex-project.org>
+
+ * build.lua: package amsmath-2018-12-01.sty (only ctan build script no source changes)
+
+#########################
+# 2019-10-01 Release
+#########################
+
2019-02-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* amsmath.dtx (section{Mods, continued fractions, etc.}):
diff --git a/macros/latex-dev/required/amsmath/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 2e84ebe942..0b5cdd1ff6 100644
--- a/macros/latex-dev/required/amsmath/subeqn.pdf
+++ b/macros/latex-dev/required/amsmath/subeqn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/technote.pdf b/macros/latex-dev/required/amsmath/technote.pdf
index 7d7ab397c8..c517a1cdf8 100644
--- a/macros/latex-dev/required/amsmath/technote.pdf
+++ b/macros/latex-dev/required/amsmath/technote.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/testmath.pdf b/macros/latex-dev/required/amsmath/testmath.pdf
index d97ff85f73..e8e64c8fce 100644
--- a/macros/latex-dev/required/amsmath/testmath.pdf
+++ b/macros/latex-dev/required/amsmath/testmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index 009e20da95..8934f81579 100644
--- a/macros/latex-dev/required/graphics/README.md
+++ b/macros/latex-dev/required/graphics/README.md
@@ -1,7 +1,7 @@
The LaTeX `graphics` bundle
===========================
-Release 2019-10-01 pre-release 3
+Release 2020-02-01 pre-release 1
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index d059d7958a..f4343bc2c3 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,11 +4,31 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+#########################
+# 2019-10-01 PL 2 Release
+#########################
+
+2019-11-03 David Carlisle <David.Carlisle@latex-project.org>
+
+ * graphics.dtx: add additional trial with known
+ extensions if supplied filename has a . but the file is not found
+ (gh/204)
+
+2019-10-08 David Carlisle <David.Carlisle@latex-project.org>
+
+ * graphics.dtx: fallback definitions of \set@curr@file etc added
+
+#########################
+# 2019-10-01 Release
+#########################
+
2019-07-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* graphics.dtx (subsection{Graphics Inclusion}):
Support UTF-8 and space in graphic files.
+#########################
+
2017-06-25 Joseph Wright <latex-bugs@latex-project.org>
* New decodearray key, adopted from older pdftex.def
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index 77198b2e49..d6ed61e297 100644
--- a/macros/latex-dev/required/graphics/color.pdf
+++ b/macros/latex-dev/required/graphics/color.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf
index 4a25175e87..89f6750bf6 100644
--- a/macros/latex-dev/required/graphics/drivers.pdf
+++ b/macros/latex-dev/required/graphics/drivers.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf
index 4347ed4a77..23fab67392 100644
--- a/macros/latex-dev/required/graphics/epsfig.pdf
+++ b/macros/latex-dev/required/graphics/epsfig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphics.dtx b/macros/latex-dev/required/graphics/graphics.dtx
index f2471e94bb..ac570c0227 100644
--- a/macros/latex-dev/required/graphics/graphics.dtx
+++ b/macros/latex-dev/required/graphics/graphics.dtx
@@ -25,7 +25,7 @@
%<driver> \ProvidesFile{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2019/07/20 v1.3b Standard LaTeX Graphics (DPC,SPQR)]
+ [2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -1036,13 +1036,52 @@
% \begin{macro}{\Gin@sepdefault}
% \changes{v0.6a}{1994/11/29}
% {remove \cs{Gin@sep}}
+% \begin{macro}{\Gin@gzext}
+% \changes{v1.3d}{2019/11/01}
+% {macro added}
% This must match the token used by |\filename@parse| to delimit the
% extension.
% \begin{macrocode}
\def\Gin@sepdefault{.}
% \end{macrocode}
+%
+% \begin{macrocode}
+\edef\Gin@gzext{\detokenize{gz}}
+% \edef{macrocode}
% \end{macro}
%
+% \begin{macro}{\set@curr@file}
+% \begin{macro}{\quote@name}
+% \changes{v1.3c}{2019/10/08}
+% {Definitions added for old formats}
+% \begin{macrocode}
+\def\Gin@temp#1{%
+ \begingroup
+ \escapechar\m@ne
+ \xdef\@curr@file{\expandafter\string\csname #1\endcsname}%
+ \endgroup
+}
+\ifx\set@curr@file\@Gin@temp
+ \let\set@curr@file\@undefined
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ifx\set@curr@file\@undefined
+\def\set@curr@file#1{%
+ \begingroup
+ \escapechar\m@ne
+ \xdef\@curr@file{\expandafter\string\csname\@firstofone#1\@empty\endcsname}%
+ \endgroup
+}
+\def\quote@name#1{"\quote@@name#1\@gobble""}
+\def\quote@@name#1"{#1\quote@@name}
+\def\unquote@name#1{\quote@@name#1\@gobble"}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\Ginclude@graphics}
% The main internal function implementing graphics file inclusion.
% |#1| is the file name.
@@ -1069,12 +1108,23 @@
\let\input@path\Ginput@path
% \end{macrocode}
% A lot of quote juggling going on here (room for improvements).
+%
+% \changes{v1.3d}{2019/11/01}
+% {\cs{curr@name} now unquoted}
% \begin{macrocode}
\set@curr@file{#1}%
- \edef\uq@curr@file{\expandafter\unquote@name\expandafter{\@curr@file}}%
- \expandafter\filename@parse\expandafter{\uq@curr@file}%
- \edef\filename@area{\expandafter\quote@name\expandafter{\filename@area}}%
- \edef\filename@base{\expandafter\quote@name\expandafter{\filename@base}}%
+ \expandafter\filename@parse\expandafter{\@curr@file}%
+% \end{macrocode}
+% If extension is |.gz| tack on to previous extension, eg |.eps.gz| if available.
+% \begin{macrocode}
+ \ifx\filename@ext\Gin@gzext
+ \expandafter\filename@parse\expandafter{\filename@base}%
+ \ifx\filename@ext\relax
+ \let\filename@ext\Gin@gzext
+ \else
+ \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}%
+ \fi
+ \fi
\ifx\filename@ext\relax
\@for\Gin@temp:=\Gin@extensions\do{%
\ifx\Gin@ext\relax
@@ -1083,6 +1133,34 @@
\else
\Gin@getbase{\Gin@sepdefault\filename@ext}%
% \end{macrocode}
+% At this point try adding an extension, even if the filename has one so
+% that \verb|a.b| may find \verb|a.b.png| if no file is found then revert
+% to the extension as given to get better error reporting.
+%
+% \changes{v1.3d}{2019/11/01}
+% {Try adding an extension even if the filenam had a dot.}
+% \begin{macrocode}
+\ifx\Gin@ext\relax
+\let\Gin@savedbase\filename@base
+\let\Gin@savedext\filename@ext
+ \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}%
+ \let\filename@ext\relax
+ \@for\Gin@temp:=\Gin@extensions\do{%
+ \ifx\Gin@ext\relax
+ \Gin@getbase\Gin@temp
+ \fi}%
+% \end{macrocode}
+% Restore if no file found using theknown extensions.
+% \begin{macrocode}
+ \ifx\Gin@ext\relax
+ \let\filename@base\Gin@savedbase
+ \let\filename@ext\Gin@savedext
+ \fi
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+% \end{macrocode}
% \changes{v0.4d}{1994/05/06}
% {Make file not found a warning not an error}
% \changes{v0.6a}{1994/11/29}
diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index 17afa48d1f..2d0862d346 100644
--- a/macros/latex-dev/required/graphics/graphics.pdf
+++ b/macros/latex-dev/required/graphics/graphics.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphicx.pdf b/macros/latex-dev/required/graphics/graphicx.pdf
index 73b8ad6c50..e03578f856 100644
--- a/macros/latex-dev/required/graphics/graphicx.pdf
+++ b/macros/latex-dev/required/graphics/graphicx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf
index 42955a440c..1214141f06 100644
--- a/macros/latex-dev/required/graphics/grfguide.pdf
+++ b/macros/latex-dev/required/graphics/grfguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf
index fd6f74aba0..8e5f941722 100644
--- a/macros/latex-dev/required/graphics/keyval.pdf
+++ b/macros/latex-dev/required/graphics/keyval.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf
index edb151476c..31d8f736c6 100644
--- a/macros/latex-dev/required/graphics/lscape.pdf
+++ b/macros/latex-dev/required/graphics/lscape.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index 97b252ecd5..3878a39159 100644
--- a/macros/latex-dev/required/graphics/rotating.pdf
+++ b/macros/latex-dev/required/graphics/rotating.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf
index d064b44420..b7ae1dead2 100644
--- a/macros/latex-dev/required/graphics/rotex.pdf
+++ b/macros/latex-dev/required/graphics/rotex.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/trig.pdf b/macros/latex-dev/required/graphics/trig.pdf
index 25f75bf255..49cb0affa7 100644
--- a/macros/latex-dev/required/graphics/trig.pdf
+++ b/macros/latex-dev/required/graphics/trig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index aa0e7c9f46..8f283041e3 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2019-10-01 pre-release 3
+Release 2020-02-01 pre-release 1
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index 3cd429ce02..5b85c9cf80 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index dfb2f3cc61..1c22fd50db 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index a0d1d017d1..ca74d1aa65 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index 694dfa5023..7400c60fde 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index e169707750..fa501f839f 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -5,6 +5,46 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+#########################
+# 2019-11-10 PL 3 Release
+#########################
+
+2019-11-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * verbatim.dtx: support \vervisiblespace with luatex and xetex (gh/212)
+
+2019-11-08 David Carlisle <David.Carlisle@latex-project.org>
+
+ * (shellesc): restore the original catcode of _ to _ not to "
+
+#########################
+# 2019-11-08 Release
+#########################
+
+2019-11-08 David Carlisle <David.Carlisle@latex-project.org>
+
+ * (shellesc): restore the original catcode of _ to _ not to "
+
+#########################
+# 2019-10-01 PL 2 Release
+#########################
+
+2019-11-05 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * varioref.dtx (subsection{Defining the main macros}):
+ Support (mis)use of internal interface by fancyref (sx/515106)
+
+2019-10-17 David Carlisle <David.Carlisle@latex-project.org>
+
+ * shellesc.dtx: protect against active _ and "
+
+2019-10-13 David Carlisle <David.Carlisle@latex-project.org>
+
+ * shellesc.dtx: add logging in luatex and \ShellEscapeStatus (gh/195)
+
+#########################
+# 2019-10-01 Release
+#########################
2019-09-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index b169bf93aa..c2d3dfadee 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 6f80eb57c4..75cd28e31e 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index 70a69f6ce1..e9bbf5e7cb 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index 2bd1aff4b3..2f800749cb 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 20626d2340..efae6d5f87 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index 0a2e5747b5..ae46d2bc0d 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index d4ccc822d4..6e73e19734 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index 8ac0d1f3e8..eb3909475d 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 2c06d2b63c..16b14c5eff 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index 87a022140c..006b13acde 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/multicol.dtx b/macros/latex-dev/required/tools/multicol.dtx
index d68f471fcd..3a9f14927a 100644
--- a/macros/latex-dev/required/tools/multicol.dtx
+++ b/macros/latex-dev/required/tools/multicol.dtx
@@ -98,7 +98,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
- [2019/03/01 v1.8w multicolumn formatting (FMi)]
+ [2019/10/15 v1.8x multicolumn formatting (FMi)]
%
%
%%
@@ -134,7 +134,7 @@
% \DoNotIndex{\hbox,\hfil,\hrule,\ht,\hss}
% \DoNotIndex{\ifdim,\ifnum,\ifvoid,\ignorespaces,\insert,\immediate}
% \DoNotIndex{\let,\loop}
-% \DoNotIndex{\maxdepth,\message,\multiply}
+% \DoNotIndex{\@maxdepth,\message,\multiply}
% \DoNotIndex{\newbox,\newcount,\newdimen,\newskip,\number,\newpage}
% \DoNotIndex{\outputpenalty,\p@,\penalty}
% \DoNotIndex{\relax,\repeat,\setbox,\skip,\space,\splitmaxdepth}
@@ -978,9 +978,10 @@
% grid. Right now it doesn't do anything other than warning if it
% thinks that the grid got lost.
% \changes{v1.6a}{2003/03/15}{New option grid}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
% \begin{macrocode}
\let\mc@gridwarn\maxdimen
-\DeclareOption{grid}{\def\mc@gridwarn{\maxdepth}}
+\DeclareOption{grid}{\def\mc@gridwarn{\@maxdepth}}
% \end{macrocode}
%
% \changes{v1.8e}{2014/04/23}{Support \cs{docolaction}}
@@ -2143,7 +2144,7 @@
% However, in case one of the columns was unusually deep \TeX{} may
% have tried some corrective actions in which case backing up by
% the saved value will not bring us back to the baseline. A good
-% indication for this is a depth of |\maxdepth| though it is not an
+% indication for this is a depth of |\@maxdepth| though it is not an
% absolute proof. If the option \texttt{grid} is used
% |\mc@gridwarn| will expand to this, otherwise to |\maxdimen| in
% which case this warning will not show up.
@@ -2192,15 +2193,16 @@
% |\vfill| in that case but this is actually wrong for columns that
% are more or less full: by adding a glue at the bottom such a
% column doesn't have any depth any more but without it the material
-% would be allowed a depth of |\maxdepth|. So we allow shrinking by
+% would be allowed a depth of |\@maxdepth|. So we allow shrinking by
% that amount. This only makes a difference if the box would
% otherwise become overfull and shrinking never exceeds the
% specified value, so we should be fine.
% \changes{v1.8h}{2014/09/12}{Macro added (pr/4395)}
% \changes{v1.8j}{2015/03/07}{Use only `0.0001fil' for stretching}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
% \begin{macrocode}
\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil
- \@minus \maxdepth}
+ \@minus \@maxdepth}
% \end{macrocode}
% \end{macro}
%
@@ -2246,13 +2248,13 @@
% appropriate values to |\splittopskip| and |\splitmaxdepth|.
% \begin{macrocode}
\splittopskip\topskip
- \splitmaxdepth\maxdepth
+ \splitmaxdepth\@maxdepth
% \end{macrocode}
% We also need to restrict |\boxmaxdepth| so that re-boxing is not
% generating boxes with arbitrary depth.
% \changes{v1.8j}{2015/03/07}{Set \cs{boxmaxdepth}}
% \begin{macrocode}
- \boxmaxdepth\maxdepth
+ \boxmaxdepth\@maxdepth
% \end{macrocode}
% Then we calculate the current column height (in |\dimen@|).
% Note that the height of |\partial@page| is already
@@ -2585,7 +2587,7 @@
% e.g., after a display environment (if LaTeX would break here by
% its own it would break before the space following the display).
%
-% Thus we rebox box 255 once (using |\maxdepth| and calling
+% Thus we rebox box 255 once (using |\@maxdepth| and calling
% |\remove@discardable@items| inside). The depth of 255 will then
% give us the depth the box would have had if it would have been a
% natural break. We then unbox 255 to get it into the
@@ -2594,8 +2596,9 @@
% balancing later on.
% \changes{v1.8k}{2015/03/21}{Remove discardable items just before a
% forced break}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
% \begin{macrocode}
- \boxmaxdepth\maxdepth
+ \boxmaxdepth\@maxdepth
\setbox\@cclv\vbox{%
\unvbox\@cclv
\remove@discardable@items}%
@@ -2879,12 +2882,13 @@
% |\splittopskip| and allow for a bit of undershoot and overshoot
% by adding some stretch and shrink.
% \changes{v1.5?}{1994/?/?}{Allow columns to come out a bit long or short}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
% \begin{macrocode}
\@tempdima\topskip
\splittopskip\@tempdima
\@plus\multicolundershoot
\@minus\multicolovershoot
- \splitmaxdepth\maxdepth
+ \splitmaxdepth\@maxdepth
% \end{macrocode}
% We also have to set |\boxmaxdepth| which normally allows to
% build boxes with arbitrary depth, but as we are building text
@@ -2893,8 +2897,9 @@
% restriction posed by |\splitmaxdepth| gets lost.
% \changes{v1.8h}{2014/09/12}{All column boxes should obey
% \cs{maxdepth} (pr/4395)}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
% \begin{macrocode}
- \boxmaxdepth\maxdepth
+ \boxmaxdepth\@maxdepth
% \end{macrocode}
% The next step is a bit tricky: when \TeX{} assembles material in
% a box, the first line isn't preceded by interline glue, i.e.
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index e614cb3386..2b8c98fa83 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 316f3b8c76..f9f39493b6 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.dtx b/macros/latex-dev/required/tools/shellesc.dtx
index 061ea4457c..9706c5aa03 100644
--- a/macros/latex-dev/required/tools/shellesc.dtx
+++ b/macros/latex-dev/required/tools/shellesc.dtx
@@ -20,7 +20,7 @@
%<driver> \ProvidesFile{shellesc.drv}
% \fi
% \ProvidesFile{shellesc.dtx}
- [2016/06/07 v0.02b unified shell escape interface for LaTeX]
+ [2019/11/08 v1.0c unified shell escape interface for LaTeX]
%
% \iffalse
%<*driver>
@@ -36,10 +36,15 @@
% \title{The \textsf{shellesc} Package\thanks{This file
% has version number \fileversion, last
% revised \filedate.}}
-% \author{LaTeX3 project}
+% \author{\LaTeX3 project}
% \date{\filedate}
+%
+%
% \maketitle
%
+% \vspace*{-\baselineskip}
+% \enlargethispage{\baselineskip}
+%
% \changes{v0.1b}{2016/02/02}{Doc typo fixes (JB)}
% \changes{v0.2a}{2016/06/07}{Improve use with plain TeX}
% \section{Introduction}
@@ -57,7 +62,7 @@
% so a command to remove a file on a unix-like system could be
% specified using \verb|\ShellEscape{rm file.txt}| (or \verb|del| in
% windows). Note that by default system access is not allowed and
-% latex will typically need to be called with the \verb|--shell-escape|
+% \LaTeX\ will typically need to be called with the \verb|--shell-escape|
% command line option.
%
% The package may be used with standard \texttt{latex} or
@@ -76,6 +81,9 @@
% (\verb|\latelua|). This package provides \verb|\DelayedShellEscape|
% as a common syntax for this use.
%
+% The shell escape status may be queried by checking the integer (chardef)
+% command \verb|\ShellEscapeStatus|, 0 (disabled) 1 (enabled) 2 (restricted).
+%
% To aid porting existing documents to Lua\TeX~0.87 this package does
% overload the \verb|\write| command so that
% \verb|\write18{rm file.txt}|
@@ -95,12 +103,25 @@
%<*package>
% \end{macrocode}
%
+% \changes{v1.0b}{2019/10/17}{Catcode protection}
+% \begin{macrocode}
+\chardef\shellesc@quotecat\catcode`\"
+\chardef\shellesc@underscorecat\catcode`\_
+\@makeother\"
+\@makeother\_
+% \end{macrocode}
+%
% \subsection{Status Check}
%
%
-% \changes{v0.2a}{2016/06/07}{spelling in messages}
+% \subsection{The shellesc package interface}
+%
+% \begin{macro}{\ShellEscapeStatus}
+% \changes{v1.0a}{2019/10/13}{Command Introduced}
+% Integer value with meanings 0 (shell escape disabled), 1 (shell escape allowed), 2 (Restricted shell escape).
+%
% \begin{macrocode}
-\ifcase
+\chardef\ShellEscapeStatus
\ifx\pdfshellescape\@undefined
\ifx\shellescape\@undefined
\ifx\directlua\@undefined
@@ -115,6 +136,12 @@
\else
\pdfshellescape
\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.2a}{2016/06/07}{spelling in messages}
+% \begin{macrocode}
+\ifcase\ShellEscapeStatus
\PackageWarning{shellesc}{Shell escape disabled}
\or
\PackageInfo {shellesc}{Unrestricted shell escape enabled}
@@ -123,9 +150,9 @@
\fi
% \end{macrocode}
%
-% \subsection{The shellesc package interface}
%
% \begin{macro}{\ShellEscape}
+% \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
% Execute the supplied tokens as a system dependent command, assuming
% such execution is allowed.
% \begin{macrocode}
@@ -135,14 +162,14 @@
%
% \begin{macrocode}
\else
- \protected\def\ShellEscape#1{%
- \directlua{os.execute("\luaescapestring{#1}")}}
+ \protected\def\ShellEscape{\directlua\ShellEscape@Lua}
\fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DelayedShellEscape}
% \changes{v0.1c}{2016/04/29}{Define \cs{DelayedShellEscape} not \cs{ShellEscape}(UF)}
+% \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
% Execute the supplied tokens as a system dependent command, when this
% node is shipped out with the completed page, assuming
% such execution is allowed.
@@ -153,14 +180,38 @@
%
% \begin{macrocode}
\else
- \protected\def\DelayedShellEscape#1{%
- \latelua{os.execute("\luaescapestring{#1}")}}
+ \protected\def\DelayedShellEscape{\latelua\ShellEscape@Lua}
\fi
% \end{macrocode}
% \end{macro}
%
%
%
+% \begin{macro}{\ShellEscape@Lua}
+% \changes{v1.0a}{2019/10/13}{loging for gh/195}
+% Shared Lua code for \verb|\DelayedShellEscape| and \verb|\ShellEscape|.
+% \begin{macrocode}
+\ifx\directlua\@undefined\else
+\protected\def\ShellEscape@Lua#1{{%
+local status, msg = os.execute("\luaescapestring{#1}")%
+if status == nil then
+ texio.write_nl("log",%
+ "runsystem(" .. "\luaescapestring{#1}"%
+ .. ")...(" .. msg .. ")\string\n")
+ elseif status == 0 then
+ texio.write_nl("log",%
+ "runsystem(" .. "\luaescapestring{#1}"%
+ .. ")...executed\string\n")
+ else
+ texio.write_nl("log",%
+ "runsystem(" .. "\luaescapestring{#1}"%
+ .. ")...failed " .. (msg or "") .. "\string\n")
+ end
+}}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{The write18 package interface}
%
% In web2c based engines other than Lua\TeX, |\write18| may be used
@@ -189,7 +240,11 @@
%
% Stop at this point if not a recent Lua\TeX.
% \begin{macrocode}
-\ifx\lastsavedimageresourcepages\@undefined\expandafter\endinput\fi
+\ifx\lastsavedimageresourcepages\@undefined
+ \catcode`\"\shellesc@quotecat
+ \catcode`\_\shellesc@underscorecat
+ \expandafter\endinput
+\fi
% \end{macrocode}
%
% \begin{macrocode}
@@ -233,7 +288,10 @@ shellesc.write_or_execute=write_or_execute
\protected\def\write{\directlua{shellesc.write_or_execute()}}
% \end{macrocode}
%
-%
+% \begin{macrocode}
+\catcode`\"\shellesc@quotecat
+\catcode`\_\shellesc@underscorecat
+% \end{macrocode}
%
% \begin{macrocode}
%</package>
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 043016f2b9..d678bf4c53 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index 6b2817a982..86846be266 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index b701b5a16e..8c452a9872 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 83d15b9119..a78cb2a0bf 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index 0d14dda327..9133236754 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index 9e651744df..09d96549b2 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 5eb99c3e24..d25d5c34e3 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.dtx b/macros/latex-dev/required/tools/varioref.dtx
index 049bd0d55e..b8392c76f2 100644
--- a/macros/latex-dev/required/tools/varioref.dtx
+++ b/macros/latex-dev/required/tools/varioref.dtx
@@ -40,7 +40,7 @@
%<package>\DeclareCurrentRelease{}{2019-10-01}
%<package>
%<package>\ProvidesPackage{varioref}
-%<package> [2019/09/08 v1.6b package for extended references (FMi)]
+%<package> [2019/11/05 v1.6c package for extended references (FMi)]
% \fi
%
%%
@@ -730,7 +730,7 @@
% workflow uses pdf\TeX{} the Arabic letters can't be displayed
% easily, so you will see missing glyphs below. To see the real
% letters you have to look at the source or package file.
-% \changes{v1.6b}{2019/09/8}{Option arabic added}
+% \changes{v1.6b}{2019/09/08}{Option arabic added}
% \begin{allowtofu}
% \begin{macrocode}
\DeclareOption{arabic}
@@ -1642,16 +1642,21 @@
% \end{macro}
%
% \begin{macro}{\vref@space}
+% \begin{macro}{\vref@maybe@space}
% \changes{v1.4a}{2002/03/06}{Default added}
% A default for |\vref@space|. This isn't really needed except in
% the case that somebody has hooked into the \pkg{varioref}
% interfaces at a lower level (which isn't really supported,
% but\ldots). So giving a default will prevent an error message in
% that case (and should hopefully produce the same behavior as before).
+% \changes{v1.6c}{2019/11/05}{Support (mis)use of internal interface by
+% fancyref (sx/515106)}
% \begin{macrocode}
\let\vref@space\space
+\let\vref@maybe@space\space
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@vpageref}
% More parsing\ldots
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index 2346645c1b..138645c12a 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.dtx b/macros/latex-dev/required/tools/verbatim.dtx
index 1dc8682f79..b89bab7759 100644
--- a/macros/latex-dev/required/tools/verbatim.dtx
+++ b/macros/latex-dev/required/tools/verbatim.dtx
@@ -503,7 +503,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{verbatim}
- [2014/10/28 v1.5q LaTeX2e package for verbatim enhancements]
+ [2019/11/10 v1.5r LaTeX2e package for verbatim enhancements]
\@ifundefined{verbatim@@@}{}{\endinput}
% \end{macrocode}
%
@@ -826,7 +826,13 @@
% \end{macrocode}
% |\verbatim*| is defined accordingly.
% \begin{macrocode}
-\@namedef{verbatim*}{\begingroup\@verbatim\verbatim@start}
+\@namedef{verbatim*}{\begingroup\@verbatim
+% \end{macrocode}
+%
+% \changes{v1.5r}{2019/11/10}{Support kernel \cs{verbvisiblespace} (gh/212)}
+% \begin{macrocode}
+ \@setupverbvisiblespace\@vobeyspaces
+ \verbatim@start}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 14ed89c8ec..39e9200cfa 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.dtx b/macros/latex-dev/required/tools/xr.dtx
index 417a98c1c1..97c4c68084 100644
--- a/macros/latex-dev/required/tools/xr.dtx
+++ b/macros/latex-dev/required/tools/xr.dtx
@@ -86,7 +86,7 @@
%
% As first suggested in Enrico Gregorio's |xcite| package, the current version
% also allows |\cite| to reference |\bibitem| in the external document.
-% For fcompatibility with |xcite|, |\externalcitedocument| is made available
+% For compatibility with |xcite|, |\externalcitedocument| is made available
% as an alias for |\externaldocument|
%
% \StopEventually{}
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index c051173362..760fc5e04b 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index bba3d6c5f4..7281d6b21a 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ