summaryrefslogtreecommitdiff
path: root/macros/latex-dev
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-06 03:02:43 +0000
committerNorbert Preining <norbert@preining.info>2021-06-06 03:02:43 +0000
commit4338972cc175be565a3441c4ae8a6aa0dfcbe9f9 (patch)
tree9ec52a5d0d9c8a00b1a6801cc82248c0c008465d /macros/latex-dev
parent4e703bdd2f304028698cd4ab92b0dda0b95a95a8 (diff)
CTAN sync 202106060302
Diffstat (limited to 'macros/latex-dev')
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin242886 -> 242886 bytes
-rw-r--r--macros/latex-dev/base/changes.txt50
-rw-r--r--macros/latex-dev/base/classes.pdfbin550002 -> 550002 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin402779 -> 402779 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292317 -> 292317 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin239681 -> 239681 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx5
-rw-r--r--macros/latex-dev/base/doc.pdfbin676545 -> 676731 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin503349 -> 503401 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1316472 -> 1316472 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin212307 -> 212307 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287672 -> 287672 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin493957 -> 493957 bytes
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin169323 -> 169323 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin220417 -> 220417 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318168 -> 318168 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin468043 -> 468043 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin290495 -> 290495 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin208359 -> 208359 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252154 -> 252154 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin328853 -> 328949 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin215091 -> 215091 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132373 -> 132373 bytes
-rw-r--r--macros/latex-dev/base/ltclass.dtx12
-rw-r--r--macros/latex-dev/base/ltcmd.dtx173
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin686990 -> 693284 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin477922 -> 479593 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks.dtx33
-rw-r--r--macros/latex-dev/base/ltdefns.dtx7
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin784738 -> 795607 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin543890 -> 546176 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook.dtx9
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1002696 -> 1029365 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin676691 -> 684097 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx103
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin325289 -> 325289 bytes
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1068601 -> 1074372 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin161518 -> 161518 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin150466 -> 150466 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin150493 -> 150493 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin143686 -> 143686 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin174488 -> 174488 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142909 -> 142909 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin138044 -> 138044 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155055 -> 155055 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin129032 -> 129032 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin159313 -> 159313 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin111955 -> 111955 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin147587 -> 147587 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin173323 -> 173323 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin161405 -> 161405 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130447 -> 130447 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin146533 -> 146533 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166368 -> 166368 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin38031 -> 38031 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin245818 -> 245818 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin297070 -> 297070 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin244869 -> 244869 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin318399 -> 318399 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin287125 -> 287125 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265211 -> 265211 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin205162 -> 205162 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379735 -> 379735 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin252432 -> 252432 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin387987 -> 387987 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin454808 -> 454808 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin511855 -> 511855 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526312 -> 526312 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546162 -> 546162 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin539851 -> 522413 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.tex1042
-rw-r--r--macros/latex-dev/base/ltoutput.dtx16
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin655726 -> 664749 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin557225 -> 560474 bytes
-rw-r--r--macros/latex-dev/base/ltpara.dtx35
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin811021 -> 818898 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin562571 -> 564834 bytes
-rw-r--r--macros/latex-dev/base/ltvers.dtx4
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219354 -> 219354 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin238577 -> 238577 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin173682 -> 173682 bytes
-rw-r--r--macros/latex-dev/base/manual.pdfbin160521 -> 160521 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin243601 -> 243601 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin218782 -> 218782 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin233995 -> 233995 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin374051 -> 374051 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin234008 -> 234008 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin4959329 -> 5275548 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin197297 -> 197409 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin289245 -> 289245 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin170529 -> 170529 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin430996 -> 430996 bytes
-rw-r--r--macros/latex-dev/base/usrguide3.pdfbin325299 -> 325299 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin361356 -> 361715 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146200 -> 146200 bytes
-rw-r--r--macros/latex-dev/required/amsmath/README.md4
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.dtx5
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.ins13
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin161324 -> 173746 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amscd.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin165745 -> 178672 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin164345 -> 176740 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin476032 -> 508231 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.tex6
-rw-r--r--macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty6
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.dtx9
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin384171 -> 398817 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin129155 -> 138991 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstex.sty6
-rw-r--r--macros/latex-dev/required/amsmath/amstext.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amstext.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin194257 -> 215693 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.dtx4
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.ins12
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin104545 -> 112556 bytes
-rw-r--r--macros/latex-dev/required/amsmath/changes.txt11
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin101293 -> 109737 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin130600 -> 145610 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin429026 -> 454662 bytes
-rw-r--r--macros/latex-dev/required/firstaid/changes.txt8
-rw-r--r--macros/latex-dev/required/firstaid/firstaid.ins2
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx45
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdfbin224897 -> 228673 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt12
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin215002 -> 215002 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286309 -> 286309 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin167686 -> 167686 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin310676 -> 310676 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin247910 -> 247910 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin330071 -> 330071 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239654 -> 239654 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin163584 -> 163584 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin269434 -> 269292 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172231 -> 172230 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin207299 -> 207299 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin205344 -> 205344 bytes
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin516484 -> 516568 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin331424 -> 331424 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370414 -> 370414 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt18
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin220689 -> 220689 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin198647 -> 198647 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215355 -> 215355 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin195098 -> 195211 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin154034 -> 154034 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin369809 -> 369903 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189538 -> 189538 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157803 -> 157803 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin267761 -> 267761 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.dtx6
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin382012 -> 382541 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin516282 -> 516238 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin146534 -> 146534 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin183532 -> 183532 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin260624 -> 260624 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin175169 -> 175169 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin278041 -> 278041 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351310 -> 351417 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73674 -> 73674 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin229713 -> 229713 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin383483 -> 383483 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin330815 -> 330815 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin177595 -> 177595 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin256897 -> 256897 bytes
174 files changed, 1032 insertions, 706 deletions
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 4997754b3c..0ebb2a67e7 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2021-06-01 pre-release 3
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index b763b6bda8..1ed2d7cf4f 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 dea65fdbf8..496657f44e 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 75e7d04a2f..634eb0e351 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,50 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2020-06-01 Release
+#########################
+
+2021-05-31 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltclass.dtx: Initialise \@raw@classoptionslist to \relax to
+ match \@classoptionslist
+
+2021-05-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection{Macros for the `documentation parts'}):
+ Use same error message text as in format
+
+2021-05-26 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltdefns.dtx (subsection{Robust commands and protect}):
+ Normalize error message in \MakeRobust
+
+2021-05-26 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx:
+ Remove deprecated \DeclareDefaultHookLabel for good.
+
+2021-05-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx, ltfilehook.dtx:
+ Normalized some error message texts
+
+2021-05-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltcmd.dtx, ltcmdhooks.dtx, ltfilehook.dtx, lthooks.dtx, ltpara.dtx:
+ Use \msg_... instead of \__kernel_msg... commands for normalized
+ error and warning commands.
+
+2021-05-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltoutput.dtx: normalize the error commands, always use
+ \@latex@error not \@latexerr
+
2021-04-29 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* lthooks.dtx (subsection{\LaTeXe{} package interface commands}):
@@ -16,7 +60,6 @@ are not part of the distribution.
* lthooks.dtx, ltfilehook.dtx:
Switch to kernel (not package) errors.
-
2021-04-29 Marcel Krüger <Marcel.Krueger@latex-project.org>
* ltoutenc.dtx (subsection{Definitions for the TU encoding}):
@@ -359,11 +402,6 @@ are not part of the distribution.
* ltmiscen.dtx (subsection{Environments}):
\enddocument should always start out in vmode (gh/385)
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
-
#########################
# 2020-10-01 PL 4 Release
#########################
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index cf7d562b56..ba722ade83 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 d41d2f7dc7..1be79a4d94 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 65eada2d18..661a4f3547 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 b81d5740dd..8b411f291a 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 c1a96948a8..fb3412f21f 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> [2020/11/23 v2.1m
+%<+package|shortvrb> [2021/05/28 v2.1n
%<+package|shortvrb> Standard LaTeX documentation package (FMi)]
%\catcode`\<=12
%
@@ -2117,6 +2117,7 @@
% \begin{macro}{\verb@eol@error}
% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb@err} to
% \cs{verb@eol@error}, as in new LaTeX verbatim.}
+% \changes{v2.1n}{2021/05/28}{Use same error message text as in format}
% \begin{macrocode}
\let\verb@balance@group\@empty
@@ -2126,7 +2127,7 @@
\obeylines%
\gdef\verb@eol@error{\obeylines%
\def^^M{\verb@egroup\@latex@error{%
- Text for \noexpand\verb command ended by end of line}\@ehc}}%
+ \noexpand\verb ended by end of line}\@ehc}}%
\endgroup
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index b4b752d02f..e40bac6c17 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 1f93adfd24..535c38f3f0 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 2682e5e3a1..7174fe634d 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 c15633e2c5..d814296c9e 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 d8149b7da8..5353d938f3 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 c498f9f449..b773b23001 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/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index df0b482d62..223c4fc9d8 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 a756833b7e..cb731ce0ec 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 ca53fac3a5..d91193b109 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 3e4f2aaa9d..fa0be13cc9 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/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index cdce0fb74f..f2e104646e 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 5fb4a09541..c5f5f7ccab 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.pdf b/macros/latex-dev/base/lb2.pdf
index 6cc60fec76..ff53c048ee 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ 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 2431b6d81f..069855100a 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.pdf b/macros/latex-dev/base/lgc2.pdf
index 2a58b0470e..fce107fd9a 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index dfccc5d5eb..4e5547d356 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 06b0e1cf43..a0ab0fa354 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2021/03/27 v1.4a LaTeX Kernel (Class & Package Interface)]
+ [2021/05/18 v1.4b LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -505,6 +505,14 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@raw@classoptionslist}
+% List of options of the main class (unprocessed).
+% \changes{v1.4b}{2021/05/18}{Initialise to \cs{relax} to match \cs{@classoptionslist}}
+% \begin{macrocode}
+\let\@raw@classoptionslist\relax
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@unusedoptionlist}
% \changes{v1.0u}{1996/07/26}{made only preamble}
% List of options of the main class that haven't been declared or
@@ -1910,7 +1918,7 @@
% \begin{macrocode}
\ifx\@nnil##1\relax\else
% \end{macrocode}
-% If |\ifx\@nnil##1\n@nil| is true then |#1| is (presumably) empty
+% If |\ifx\@nnil##1\@nnil| is true then |#1| is (presumably) empty
% (Older code used |\relax| which is slightly easier to get into |#1|
% by mistake, which would spoil this test.)
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx
index fee555586d..806161d538 100644
--- a/macros/latex-dev/base/ltcmd.dtx
+++ b/macros/latex-dev/base/ltcmd.dtx
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.0d}
-\def\ltcmddate{2021-04-19}
+\def\ltcmdversion{v1.0e}
+\def\ltcmddate{2021-05-24}
% \end{macrocode}
%
%<*driver>
@@ -80,6 +80,9 @@
% \end{macrocode}
%
% \changes{v1.0b}{2021/03/18}{Use \cs{NewModuleRelease}.}
+% \changes{v1.0e}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
+%
% \pkg{ltcmd} code contains an |^^@| character, which usually has
% catcode~15, so \cs{IncludeInRelease} will break when this code is
% being skipped, so we'll save the catcode of |^^@| to restore later:
@@ -328,7 +331,12 @@
% switched off by default, unless the |log-declarations| package
% option was used, so here we'll switch that off as well.
% \begin{macrocode}
-\msg_redirect_module:nnn { LaTeX / ltcmd } { info } { none }
+\msg_redirect_module:nnn { cmd } { info } { none }
+% \end{macrocode}
+%
+% Also add \pkg{cmd} to the \pkg{LaTeX} messages.
+% \begin{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { cmd } { LaTeX }
% \end{macrocode}
%
% \subsection{Declaring commands and environments}
@@ -358,7 +366,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_info:nnxx { ltcmd } { redefine-command }
+ \msg_info:nnxx { cmd } { redefine-command }
{ \token_to_str:N #1 } { \tl_to_str:n {#2} }
}
{
@@ -366,10 +374,10 @@
{ \cs_if_exist_p:c { \cs_to_str:N #1 ~ code } }
{ \cs_if_exist_p:c { \cs_to_str:N #1 ~ defaults } }
{
- \__kernel_msg_warning:nnx { ltcmd } { unsupported-let }
+ \msg_warning:nnx { cmd } { unsupported-let }
{ \token_to_str:N #1 }
}
- \__kernel_msg_info:nnxx { ltcmd } { define-command }
+ \msg_info:nnxx { cmd } { define-command }
{ \token_to_str:N #1 } { \tl_to_str:n {#2} }
}
\bool_set_false:N \l_@@_environment_bool
@@ -528,11 +536,11 @@
{ \tl_trim_spaces:o { \l_@@_environment_str } }
\cs_if_exist:cTF { \l_@@_environment_str }
{
- \__kernel_msg_info:nnxx { ltcmd } { redefine-environment }
+ \msg_info:nnxx { cmd } { redefine-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
}
{
- \__kernel_msg_info:nnxx { ltcmd } { define-environment }
+ \msg_info:nnxx { cmd } { define-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
}
\bool_set_false:N \l_@@_expandable_bool
@@ -685,7 +693,7 @@
}
\cs_new_protected:Npn \@@_defaults_error:w \q_recursion_stop
{
- \__kernel_msg_error:nnx { ltcmd } { loop-in-defaults }
+ \msg_error:nnx { cmd } { loop-in-defaults }
{ \@@_environment_or_command: }
}
% \end{macrocode}
@@ -813,8 +821,7 @@
\@@_end_expandable_defaults:nnnNNn {#1} { } {#1} #2#3
{ } { } { } { } { } { } { } { } { } { }
{
- \__kernel_msg_expandable_error:nnf
- { ltcmd } { loop-in-defaults }
+ \msg_expandable_error:nnf { cmd } { loop-in-defaults }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N #4 } }
\use_iv:nnnn
}
@@ -912,7 +919,7 @@
\q_recursion_tail \q_recursion_tail \q_recursion_tail \q_recursion_stop
\int_compare:nNnT \l_@@_current_arg_int > 9
{
- \__kernel_msg_error:nnxx { ltcmd } { too-many-arguments }
+ \msg_error:nnxx { cmd } { too-many-arguments }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -920,7 +927,7 @@
{
\tl_if_empty:NF \l_@@_last_delimiters_tl
{
- \__kernel_msg_error:nnxx { ltcmd } { expandable-ending-optional }
+ \msg_error:nnxx { cmd } { expandable-ending-optional }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -944,11 +951,11 @@
{ \str_if_eq_p:nn {#1} { u } }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { xparse-argument-type }
+ \msg_error:nnxx { cmd } { xparse-argument-type }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { unknown-argument-type }
+ \msg_error:nnxx { cmd } { unknown-argument-type }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
}
\@@_bad_def:wn
@@ -1020,7 +1027,7 @@
\quark_if_recursion_tail_stop_do:nn {#2} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { processor-in-expandable }
+ \msg_error:nnxx { cmd } { processor-in-expandable }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1034,7 +1041,7 @@
\quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_long_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { two-markers }
+ \msg_error:nnxx { cmd } { two-markers }
{ \@@_environment_or_command: } { + }
\@@_bad_def:wn
}
@@ -1047,7 +1054,7 @@
\quark_if_recursion_tail_stop_do:nn {#1} { \@@_bad_arg_spec:wn }
\bool_if:NT \l_@@_obey_spaces_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { two-markers }
+ \msg_error:nnxx { cmd } { two-markers }
{ \@@_environment_or_command: } { ! }
\@@_bad_def:wn
}
@@ -1179,15 +1186,14 @@
{
\bool_if:NF \l_@@_environment_bool
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-command-arg }
+ \msg_error:nnxx { cmd } { invalid-command-arg }
{ \@@_environment_or_command: } { b }
\@@_bad_def:wn
}
\tl_clear:N \l_@@_last_delimiters_tl
\@@_add_arg_spec:n { b }
\quark_if_recursion_tail_stop:n {#1}
- \__kernel_msg_error:nnxx { ltcmd } { arg-after-body }
+ \msg_error:nnxx { cmd } { arg-after-body }
{ \@@_environment_or_command: }
{ \tl_to_str:n {#1} }
\@@_bad_def:wn
@@ -1203,7 +1209,7 @@
{
\tl_trim_spaces_apply:nN {#1} \tl_if_single_token:nF
{
- \__kernel_msg_error:nnxx { ltcmd } { not-single-token }
+ \msg_error:nnxx { cmd } { not-single-token }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1235,8 +1241,7 @@
{ \use_none:n }
}
{
- \__kernel_msg_error:nnxxx
- { ltcmd } { forbidden-implicit-group-token }
+ \msg_error:nnxxx { cmd } { forbidden-implicit-group-token }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
{
\token_if_eq_meaning:NNTF #1 \c_group_begin_token
@@ -1256,8 +1261,7 @@
{
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-expandable-argument-type }
+ \msg_error:nnxx { cmd } { invalid-expandable-argument-type }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1269,8 +1273,7 @@
{
\tl_if_empty:NF \l_@@_last_delimiters_tl
{
- \__kernel_msg_error:nnxx
- { ltcmd } { invalid-after-optional-expandably }
+ \msg_error:nnxx { cmd } { invalid-after-optional-expandably }
{ \iow_char:N \\ \l_@@_function_tl } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -1291,7 +1294,7 @@
{
\tl_if_eq:nnT {##1} {#1}
{
- \__kernel_msg_warning:nnxx { ltcmd } { optional-mandatory }
+ \msg_warning:nnxx { cmd } { optional-mandatory }
{#2} {#3}
}
}
@@ -1305,7 +1308,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_bad_arg_spec:wn #1 \@@_break_point:n #2
{
- \__kernel_msg_error:nnxx { ltcmd } { bad-arg-spec }
+ \msg_error:nnxx { cmd } { bad-arg-spec }
{ \@@_environment_or_command: } { \tl_to_str:n {#2} }
}
\cs_new_protected:Npn \@@_bad_def:wn #1 \@@_break_point:n #2 { }
@@ -1331,7 +1334,7 @@
{
\bool_if:NT \l_@@_expandable_bool
{
- \__kernel_msg_error:nnx { ltcmd } { inconsistent-long }
+ \msg_error:nnx { cmd } { inconsistent-long }
{ \iow_char:N \\ \l_@@_function_tl }
\@@_bad_def:wn
}
@@ -1353,7 +1356,7 @@
{
\bool_if:NT \l_@@_some_obey_spaces_bool
{
- \__kernel_msg_error:nnxx { ltcmd } { non-trailing-obey-spaces }
+ \msg_error:nnxx { cmd } { non-trailing-obey-spaces }
{ \@@_environment_or_command: } { \tl_to_str:n {#1} }
\@@_bad_def:wn
}
@@ -2331,7 +2334,7 @@
\@@_peek_nonspace_remove:NTF #1
{ \@@_grab_D_call:Nw #1 }
{
- \__kernel_msg_error:nnxx { ltcmd } { missing-required }
+ \msg_error:nnxx { cmd } { missing-required }
{ \@@_environment_or_command: }
{ \token_to_str:N #1 }
\@@_add_arg:o \c_novalue_tl
@@ -2584,14 +2587,14 @@
\exp_after:wN \exp_after:wN \exp_after:wN
\peek_meaning_remove:NTF \char_generate:nn { \tex_endlinechar:D } { 6 }
{
- \__kernel_msg_error:nnxxx { ltcmd } { verbatim-newline }
+ \msg_error:nnxxx { cmd } { verbatim-newline }
{ \@@_environment_or_command: }
{ \tl_to_str:N \l_@@_v_arg_tl }
{ \tl_to_str:n {#1} }
\@@_add_arg:o \c_novalue_tl
}
{
- \__kernel_msg_error:nnxxx { ltcmd } { verbatim-tokenized }
+ \msg_error:nnxxx { cmd } { verbatim-tokenized }
{ \@@_environment_or_command: }
{ \tl_to_str:N \l_@@_v_arg_tl }
{ \tl_to_str:n {#1} }
@@ -2942,8 +2945,7 @@
\q_nil { } ##2 \ERROR \q_@@ \ERROR
}
{
- \__kernel_msg_expandable_error:nnff
- { ltcmd } { missing-required }
+ \msg_expandable_error:nnff { cmd } { missing-required }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N ##5 } }
{ \tl_to_str:n {##2} }
##4 {#1} \q_@@ ##5 ##6 {##7}
@@ -2980,8 +2982,7 @@
##6 \ERROR
}
{
- \__kernel_msg_expandable_error:nnff
- { ltcmd } { missing-required }
+ \msg_expandable_error:nnff { cmd } { missing-required }
{ \exp_args:Nf \tl_trim_spaces:n { \token_to_str:N ##4 } }
{ \tl_to_str:n {##2} }
##3 {#1} \q_@@ ##4 ##5 {##6}
@@ -3114,7 +3115,7 @@
\ProcessedArgument
\q_stop
}
- \__kernel_msg_error:nnxxx { ltcmd } { split-excess-tokens }
+ \msg_error:nnxxx { cmd } { split-excess-tokens }
{ \tl_to_str:n {#3} } { \int_eval:n { #2 + 1 } }
{ \tl_to_str:n {#4} }
}
@@ -3177,11 +3178,11 @@
{
#1
{
- \__kernel_msg_error:nnx { ltcmd } { non-xparse }
+ \msg_error:nnx { cmd } { non-xparse }
{ \@@_environment_or_command: }
}
{
- \__kernel_msg_error:nnx { ltcmd } { unknown }
+ \msg_error:nnx { cmd } { unknown }
{ \@@_environment_or_command: }
}
}
@@ -3305,11 +3306,11 @@
}
{ \group_end: \use_ii:nnn }
{
- \__kernel_msg_error:nnxx { ltcmd } { not-definable }
+ \msg_error:nnxx { cmd } { not-definable }
{ \tl_to_str:n {#1} } { \token_to_str:N #2 }
}
{
- \__kernel_msg_error:nnxx { ltcmd } { not-one-token }
+ \msg_error:nnxx { cmd } { not-one-token }
{ \tl_to_str:n {#1} } { \token_to_str:N #2 }
}
}
@@ -3504,49 +3505,49 @@
%
% Some messages intended as errors when defining commands/environments.
% \begin{macrocode}
-\__kernel_msg_new:nnnn { ltcmd } { arg-after-body }
+\msg_new:nnnn { cmd } { arg-after-body }
{ In~the~definition~of~#1,~b~(body)~argument~must~be~last. }
{
The~'body'~argument~type~is~followed~by~'#2'~in~the~argument~
specification~of~the~#1.~This~is~not~allowed.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { bad-arg-spec }
+\msg_new:nnnn { cmd } { bad-arg-spec }
{ Bad~argument~specification~'#2'~for~#1. }
{
The~argument~specification~provided~was~not~valid:~
one~or~more~mandatory~pieces~of~information~were~missing.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { command-already-defined }
+\msg_new:nnnn { cmd } { command-already-defined }
{ Command~'#1'~already~defined! }
{
You~have~used~#2~
with~a~command~that~already~has~a~definition. \\ \\
The~existing~definition~of~'#1'~will~not~be~altered.
}
-\__kernel_msg_new:nnnn { ltcmd } { command-not-yet-defined }
+\msg_new:nnnn { cmd } { command-not-yet-defined }
{ Command ~'#1'~not~yet~defined! }
{
You~have~used~#2~
with~a~command~that~was~never~defined.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { environment-already-defined }
+\msg_new:nnnn { cmd } { environment-already-defined }
{ Environment~'#1'~already~defined! }
{
You~have~used~\NewDocumentEnvironment
with~an~environment~that~already~has~a~definition. \\ \\
The~existing~definition~of~'#1'~will~not~be~altered.
}
-\__kernel_msg_new:nnnn { ltcmd } { environment-not-yet-defined }
+\msg_new:nnnn { cmd } { environment-not-yet-defined }
{ Environment~'#1'~not~yet~defined! }
{
You~have~used~\RenewDocumentEnvironment
with~an~environment~that~was~never~defined.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { expandable-ending-optional }
+\msg_new:nnnn { cmd } { expandable-ending-optional }
{
Argument~specification~'#2'~for~expandable~command~'#1'~
ends~with~optional~argument.
@@ -3556,13 +3557,13 @@
(or~no~arguments~at~all).~You~cannot~have~a~terminal~optional~
argument~with~expandable~commands.
}
-\__kernel_msg_new:nnnn { ltcmd } { inconsistent-long }
+\msg_new:nnnn { cmd } { inconsistent-long }
{ Inconsistent~long~arguments~for~expandable~command~'#1'. }
{
The~arguments~for~an~expandable~command~must~not~involve~short~
arguments~after~long~arguments.~You~have~tried~to~mix~the~two~types.
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-command-arg }
+\msg_new:nnnn { cmd } { invalid-command-arg }
{ Argument~type~'#2'~not~available~for~#1. }
{
The~letter~'#2'~can~only~be~used~in~environment~argument~
@@ -3570,14 +3571,14 @@
\\ \\
LaTeX~will~ignore~this~entire~definition.
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-expandable-argument-type }
+\msg_new:nnnn { cmd } { invalid-expandable-argument-type }
{ Argument~type~'#2'~not~available~for~expandable~command~'#1'. }
{
The~letter~'#2'~specifies~an~argument~type~which~cannot~be~used~
in~an~expandable~command.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { invalid-after-optional-expandably }
+\msg_new:nnnn { cmd } { invalid-after-optional-expandably }
{
Argument~type~'#2'~not~available~after~optional~argument~
for~expandable~command~'#1'.
@@ -3587,13 +3588,13 @@
in~an~expandable~command~after~an~optional~argument.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { non-trailing-obey-spaces }
+\msg_new:nnnn { cmd } { non-trailing-obey-spaces }
{ Prefix~'!'~used~before~mandatory~argument~'#2'~of~#1. }
{
The~prefix~'!'~can~only~apply~to~trailing~optional~arguments.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-definable }
+\msg_new:nnnn { cmd } { not-definable }
{ First~argument~of~'#2'~must~be~a~command. }
{
The~first~argument~of~'#2'~should~be~the~document~command~that~will~
@@ -3601,7 +3602,7 @@
backslash~is~missing?
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-one-token }
+\msg_new:nnnn { cmd } { not-one-token }
{ First~argument~of~'#2'~must~be~a~command. }
{
The~first~argument~of~'#2'~should~be~the~document~command~that~will~
@@ -3609,7 +3610,7 @@
token.~Perhaps~a~backslash~is~missing?
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { not-single-token }
+\msg_new:nnnn { cmd } { not-single-token }
{
Argument~delimiter~'#2'~for~the~#1~should~be~
a~single~non-space~token.
@@ -3619,40 +3620,40 @@
where~a~single~token~is~required,~LaTeX~found~'#2'.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { forbidden-implicit-group-token }
+\msg_new:nnnn { cmd } { forbidden-implicit-group-token }
{ Argument~delimiter~'#2'~for~the~#1~is~not~allowed. }
{
The~argument~specification~provided~was~not~valid:~the~implicit~
#3-group~token~'#2'~is~not~allowed~as~an~argument~delimiter.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { processor-in-expandable }
+\msg_new:nnnn { cmd } { processor-in-expandable }
{ Argument~processor~'>{#2}'~cannot~be~used~for~the~expandable~command~'#1'. }
{
The~argument~specification~for~#1~contains~a~processor~function:~
this~is~only~supported~for~standard~robust~commands.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { too-many-arguments }
+\msg_new:nnnn { cmd } { too-many-arguments }
{ Too~many~arguments~in~argument~specification~'#2'~of~#1. }
{
The~argument~specification~provided~has~more~than~9~arguments.~
This~cannot~be~implemented.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { two-markers }
+\msg_new:nnnn { cmd } { two-markers }
{ Two~'#2'~apply~to~the~same~argument~in~argument~specification~of~#1. }
{
The~argument~specification~provided~has~two~markers~'#2'~applying~
to~the~same~argument;~these~are~redundant.
}
-\__kernel_msg_new:nnnn { ltcmd } { unknown-argument-type }
+\msg_new:nnnn { cmd } { unknown-argument-type }
{ Unknown~argument~type~'#2'~for~the~#1. }
{
The~letter~'#2'~does~not~specify~a~known~argument~type.
\c_@@_ignore_def_tl
}
-\__kernel_msg_new:nnnn { ltcmd } { xparse-argument-type }
+\msg_new:nnnn { cmd } { xparse-argument-type }
{ Deprecated~argument~type~'#2'~for~the~#1~requires~xparse. }
{
The~letter~'#2'~specifies~a~known~argument~type~that~requires~
@@ -3666,40 +3667,40 @@
% \texttt{loop-in-defaults} and \texttt{missing-required} messages can
% be expandable or not expandable.
% \begin{macrocode}
-\__kernel_msg_new:nnn { ltcmd } { if-boolean }
+\msg_new:nnn { cmd } { if-boolean }
{ Invalid~use~\iow_char:N\\IfBooleanTF~{#1} }
-\__kernel_msg_new:nnnn { ltcmd } { loop-in-defaults }
+\msg_new:nnnn { cmd } { loop-in-defaults }
{ Defaults~of~#1~have~circular~dependency. }
{
The~default~values~of~two~or~more~arguments~of~the~#1~
depend~on~each~other~in~a~way~that~cannot~be~resolved.
}
-\__kernel_msg_new:nnnn { ltcmd } { missing-required }
+\msg_new:nnnn { cmd } { missing-required }
{ Missing~required~argument~for~#1. }
{
The~current~#1~expects~an~argument~starting~with~'#2'.~
LaTeX~did~not~find~it,~and~will~insert~a~default~value~to~be~processed.
}
-\__kernel_msg_new:nnnn { ltcmd } { non-xparse }
+\msg_new:nnnn { cmd } { non-xparse }
{ \str_uppercase:n #1~not~defined~using~xparse. }
{
You~have~asked~for~the~argument~specification~for~the~#1,~
but~this~was~not~defined~using~xparse.
}
-\__kernel_msg_new:nnnn { ltcmd } { split-excess-tokens }
+\msg_new:nnnn { cmd } { split-excess-tokens }
{ Too~many~'#1'~tokens~when~trying~to~split~argument. }
{
LaTeX~was~asked~to~split~the~input~'#3'~
at~each~occurrence~of~the~token~'#1',~up~to~a~maximum~of~#2~parts.~
There~were~too~many~'#1'~tokens.
}
-\__kernel_msg_new:nnnn { ltcmd } { unknown }
+\msg_new:nnnn { cmd } { unknown }
{ Unknown~document~#1. }
{
You~have~asked~for~the~argument~specification~for~the~#1,~
but~it~is~not~defined.
}
-\__kernel_msg_new:nnnn { ltcmd } { verbatim-newline }
+\msg_new:nnnn { cmd } { verbatim-newline }
{ Verbatim~argument~of~#1~ended~by~end~of~line. }
{
The~verbatim~argument~of~the~#1~cannot~contain~more~than~one~line,~
@@ -3709,7 +3710,7 @@
\\ \\
LaTeX~will~ignore~'#2'.
}
-\__kernel_msg_new:nnnn { ltcmd } { verbatim-tokenized }
+\msg_new:nnnn { cmd } { verbatim-tokenized }
{ The~verbatim~#1~cannot~be~used~inside~an~argument. }
{
The~#1~takes~a~verbatim~argument.~
@@ -3722,33 +3723,33 @@
%
% Intended more for information.
% \begin{macrocode}
-\__kernel_msg_new:nnn { ltcmd } { define-command }
+\msg_new:nnn { cmd } { define-command }
{
Defining~command~#1~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { define-environment }
+\msg_new:nnn { cmd } { define-environment }
{
Defining~environment~'#1'~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { redefine-command }
+\msg_new:nnn { cmd } { redefine-command }
{
Redefining~command~#1~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { redefine-environment }
+\msg_new:nnn { cmd } { redefine-environment }
{
Redefining~environment~'#1'~
with~sig.~'#2'~\msg_line_context:.
}
-\__kernel_msg_new:nnn { ltcmd } { optional-mandatory }
+\msg_new:nnn { cmd } { optional-mandatory }
{
Since~the~mandatory~argument~'#1'~has~the~same~delimiter~'#2'~
as~a~previous~optional~argument,~it~will~not~be~possible~to~
omit~all~optional~arguments~when~calling~this~command.
}
-\__kernel_msg_new:nnn { ltcmd } { unsupported-let }
+\msg_new:nnn { cmd } { unsupported-let }
{
The~command~'#1'~was~undefined~but~not~the~associated~commands~
'#1~code'~and/or~'#1~defaults'.~Maybe~you~tried~using~
@@ -3786,7 +3787,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_error:nnxx { ltcmd } { command-already-defined }
+ \msg_error:nnxx { cmd } { command-already-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \NewDocumentCommand }
}
@@ -3800,7 +3801,7 @@
\cs_if_exist:NTF #1
{ \@@_declare_cmd:Nnn #1 {#2} {#3} }
{
- \__kernel_msg_error:nnxx { ltcmd } { command-not-yet-defined }
+ \msg_error:nnxx { cmd } { command-not-yet-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \RenewDocumentCommand }
}
@@ -3831,14 +3832,14 @@
\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
{
\cs_if_exist:cTF {#1}
- { \__kernel_msg_error:nnx { ltcmd } { environment-already-defined } {#1} }
+ { \msg_error:nnx { cmd } { environment-already-defined } {#1} }
{ \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
}
\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
{
\cs_if_exist:cTF {#1}
{ \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
- { \__kernel_msg_error:nnx { ltcmd } { environment-not-yet-defined } {#1} }
+ { \msg_error:nnx { cmd } { environment-not-yet-defined } {#1} }
}
\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
{ \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
@@ -3865,7 +3866,7 @@
{
\cs_if_exist:NTF #1
{
- \__kernel_msg_error:nnxx { ltcmd } { command-already-defined }
+ \msg_error:nnxx { cmd } { command-already-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \NewExpandableDocumentCommand }
}
@@ -3879,7 +3880,7 @@
\cs_if_exist:NTF #1
{ \@@_declare_expandable_cmd:Nnn #1 {#2} {#3} }
{
- \__kernel_msg_error:nnxx { ltcmd } { command-not-yet-defined }
+ \msg_error:nnxx { cmd } { command-not-yet-defined }
{ \use:nnn \token_to_str:N #1 { } }
{ \token_to_str:N \RenewExpandableDocumentCommand }
}
@@ -3931,7 +3932,7 @@
\prg_break:n { \use:n }
\prg_break_point:
{
- \__kernel_msg_expandable_error:nnn { ltcmd } { if-boolean } {#1}
+ \msg_expandable_error:nnn { cmd } { if-boolean } {#1}
\use_ii:nn
}
}
diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index ccc055e33b..9c523ad313 100644
--- a/macros/latex-dev/base/ltcmdhooks-code.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf
index 86cc6e3e96..dd70bd2240 100644
--- a/macros/latex-dev/base/ltcmdhooks-doc.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx
index cc67f5eaa7..40cd55e52c 100644
--- a/macros/latex-dev/base/ltcmdhooks.dtx
+++ b/macros/latex-dev/base/ltcmdhooks.dtx
@@ -13,8 +13,8 @@
%
%%% From File: ltcmdhooks.dtx
%
-\def\ltcmdhooksversion{v1.0a}
-\def\ltcmdhooksdate{2021/04/30}
+\def\ltcmdhooksversion{v1.0b}
+\def\ltcmdhooksdate{2021/05/26}
%
%
%
@@ -323,10 +323,13 @@
% throw an error.
% \end{enumerate}
%
+%
% \begin{macrocode}
%<@@=hook>
% \end{macrocode}
%
+% \changes{v1.0b}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
% \begin{macrocode}
%<*2ekernel|latexrelease>
\ExplSyntaxOn
@@ -413,7 +416,7 @@
\str_case:nnTF {#3}
{ { before } { } { after } { } }
{ \exp_args:Nc \@@_patch_cmd_or_delay:Nnn {#2} {#2} {#3} }
- { \__kernel_msg_error:nnn { hooks } { wrong-cmd-hook } {#2} {#3} }
+ { \msg_error:nnnn { hooks } { wrong-cmd-hook } {#2} {#3} }
}
% \end{macrocode}
% \end{macro}
@@ -520,7 +523,7 @@
{
#1 #2 {#4}
{
- \__kernel_msg_error:nnxx { hooks } { cant-patch }
+ \msg_error:nnxx { hooks } { cant-patch }
{ \token_to_str:N #2 } {#3}
}
}
@@ -833,7 +836,7 @@
% command isn't changed in any way in that case.
% \begin{macrocode}
{
- \__kernel_msg_error:nnxx { hooks } { cant-patch }
+ \msg_error:nnxx { hooks } { cant-patch }
{ \c_backslash_str #2 } { retok }
}
}
@@ -1036,24 +1039,22 @@
% \subsection{Messages}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { wrong-cmd-hook }
+\msg_new:nnnn { hooks } { wrong-cmd-hook }
{
- Command~hook~`cmd/#1/#2'~invalid.\\
- The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
+ Generic~hook~`cmd/#1/#2'~is~invalid.
+% The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
}
{
- You~tried~to~add~a~hook~to~command~\iow_char:N \\#1,~but~`#2'~
- is~an~invalid~position.~Only~`before'~or~`after'~are~allowed.
+ You~tried~to~add~a~generic~hook~to~command~\iow_char:N \\#1,~but~`#2'~
+ is~an~invalid~component.~Only~`before'~or~`after'~are~allowed.
}
-\__kernel_msg_new:nnnn { hooks } { cant-patch }
+\msg_new:nnnn { hooks } { cant-patch }
{
- Command~`#1'~cannot~have~hooks~because~it~
- \@@_unpatchable_cases:n {#2} .
+ Generic~hooks~cannot~be~added~to~'#1'.
}
{
- You~tried~to~add~a~hook~to~`#1',~but~LaTeX~was~not~able~to~
- add~the~hook~to~that~command~because~`#1'~
- \@@_unpatchable_cases:n {#2} .
+ You~tried~to~add~a~hook~to~'#1',~but~LaTeX~was~unable~to~
+ patch~the~command~because~it~\@@_unpatchable_cases:n {#2}.
}
\cs_new:Npn \@@_unpatchable_cases:n #1
{
diff --git a/macros/latex-dev/base/ltdefns.dtx b/macros/latex-dev/base/ltdefns.dtx
index 7236083dfa..4f39d922cc 100644
--- a/macros/latex-dev/base/ltdefns.dtx
+++ b/macros/latex-dev/base/ltdefns.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2021/04/19 v1.5o LaTeX Kernel (definition commands)]
+ [2021/05/27 v1.5p LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -1222,6 +1222,7 @@
%
% The macro firstly checks if the control sequence in question exists
% at all.
+% \changes{v1.5p}{2021/05/26}{Normalize error message in \cs{MakeRobust}}
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2020/10/01}{\MakeRobust}{\MakeRobust}%
@@ -1230,7 +1231,7 @@
\count@=\escapechar
\escapechar=`\\
\@ifundefined{\expandafter\@gobble\string#1}{%
- \@latex@error{The control sequence `\string#1' is undefined!%
+ \@latex@error{Command `\string#1' is undefined!%
\MessageBreak There is nothing here to make robust}%
\@eha
}%
@@ -1259,7 +1260,7 @@
\noexpand\protect\expandafter\noexpand
\csname\expandafter\@gobble\string#1\space\endcsname}%
}%
- {\@latex@info{The control sequence `\string#1' is already robust}}%
+ {\@latex@info{Command `\string#1' is already robust}}%
}%
\escapechar=\count@
}%
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index ef767fa207..c17d10e276 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index 28e0f8a5f2..211e7f8549 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook.dtx b/macros/latex-dev/base/ltfilehook.dtx
index e9309c41f7..5d0acc8fdf 100644
--- a/macros/latex-dev/base/ltfilehook.dtx
+++ b/macros/latex-dev/base/ltfilehook.dtx
@@ -31,8 +31,8 @@
%%% From File: ltfilehook.dtx
%
% \begin{macrocode}
-\providecommand\ltfilehookversion{v1.0j}
-\providecommand\ltfilehookdate{2021/04/29}
+\providecommand\ltfilehookversion{v1.0k}
+\providecommand\ltfilehookdate{2021/05/25}
% \end{macrocode}
%
%<*driver>
@@ -454,6 +454,7 @@
%
%
% \section{The Implementation}
+%
% \begin{macrocode}
%<*2ekernel>
% \end{macrocode}
@@ -462,6 +463,8 @@
%<@@=filehook>
% \end{macrocode}
%
+% \changes{v1.0k}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
%
% \subsection{Document and package-level commands}
%
@@ -605,7 +608,7 @@
\seq_gpop:NNTF \g_@@_input_file_seq \l_@@_internal_tl
{ \exp_after:wN \@@_file_pop_assign:nnnn \l_@@_internal_tl }
{
- \__kernel_msg_error:nnn { hooks } { should-not-happen }
+ \msg_error:nnn { kernel } { should-not-happen }
{ Tried~to~pop~from~an~empty~file~name~stack. }
}
}
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index b50be3475f..a97b1e1923 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index 369fa25069..6446eaa88e 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index 45d6a78aba..20e172a57f 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0m}
-\def\lthooksdate{2021/04/29}
+\def\lthooksversion{v1.0n}
+\def\lthooksdate{2021/05/26}
% \end{macrocode}
%
%<*driver>
@@ -1807,8 +1807,9 @@
%<@@=hook>
% \end{macrocode}
%
-% \changes{v1.0i}{2021/03/18}
-% {Use \cs{NewModuleRelease}.}
+% \changes{v1.0i}{2021/03/18}{Use \cs{NewModuleRelease}.}
+% \changes{v1.0n}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
% \begin{macrocode}
%<*2ekernel|latexrelease>
\ExplSyntaxOn
@@ -2230,7 +2231,7 @@
% \cs{hook_new:n} is used.
% \begin{macrocode}
\@@_if_declared:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { exists } {#1} }
+ { \msg_error:nnn { hooks } { exists } {#1} }
{
\tl_new:c { g_@@_#1_declared_tl }
\@@_make_usable:n {#1}
@@ -2484,7 +2485,7 @@
% may change).
% \begin{macrocode}
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_warning:nnn { hooks } { provide-disabled } {#1} }
+ { \msg_warning:nnn { hooks } { provide-disabled } {#1} }
% \end{macrocode}
% Otherwise we check if it was already declared.
% \begin{macrocode}
@@ -2496,7 +2497,7 @@
% the already existing one is not (or vice versa).
% \begin{macrocode}
\str_if_eq:eeF { \tl_use:c { g_@@_#1_reversed_tl } } {#2}
- { \__kernel_msg_error:nnn { hooks } { provide-error } {#1} }
+ { \msg_error:nnn { hooks } { provide-error } {#1} }
}
% \end{macrocode}
% If it wasn't declared, we declared as a normal or reversed hook
@@ -2572,7 +2573,7 @@
{
\tl_if_empty:nTF {#1}
{
- \__kernel_msg_expandable_error:nn { hooks } { empty-label }
+ \msg_expandable_error:nn { hooks } { empty-label }
\@@_currname_or_default:
}
{
@@ -2609,7 +2610,7 @@
{
\tl_if_empty:NTF \@currname
{
- \__kernel_msg_expandable_error:nnn { hooks } { should-not-happen }
+ \msg_expandable_error:nnn { kernel } { should-not-happen }
{ Empty~default~label. }
\@@_make_name:n { label-missing }
}
@@ -2750,7 +2751,7 @@
% \begin{macrocode}
{
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { hook-disabled } {#1} }
+ { \msg_error:nnn { hooks } { hook-disabled } {#1} }
{ \@@_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
}
}
@@ -2793,7 +2794,7 @@
\@@_init_structure:n {#1}
\@@_tl_gput_right:cn { @@_toplevel~#1 } {#3}
}
- { \__kernel_msg_error:nnn { hooks } { misused-top-level } {#1} }
+ { \msg_error:nnn { hooks } { misused-top-level } {#1} }
}
{
\prop_get:cnNTF { g_@@_#1_code_prop } {#2} \l_@@_return_tl
@@ -3279,7 +3280,7 @@
{#1} {#2} {#4}
\@@_update_hook_code:n {#1}
}
- { \__kernel_msg_error:nnnnnn { hooks } { unknown-rule }
+ { \msg_error:nnnnnn { hooks } { unknown-rule }
{#1} {#2} {#3} {#4} }
}
% \end{macrocode}
@@ -3887,7 +3888,7 @@
\cs_new_protected:cpn { @@_apply_rule_xE:nnn } #1#2#3
{
\@@_debug:n { \@@_msg_pair_found:nnn {#1} {#2} {#3} }
- \__kernel_msg_error:nnnnnn { hooks } { labels-incompatible }
+ \msg_error:nnnnnn { hooks } { labels-incompatible }
{#1} {#2} {#3} { 1 }
\use:c { @@_apply_rule_->:nnn } {#1} {#2} {#3}
\use:c { @@_apply_rule_<-:nnn } {#1} {#2} {#3}
@@ -3895,7 +3896,7 @@
\cs_new_protected:cpn { @@_apply_rule_xW:nnn } #1#2#3
{
\@@_debug:n { \@@_msg_pair_found:nnn {#1} {#2} {#3} }
- \__kernel_msg_warning:nnnnnn { hooks } { labels-incompatible }
+ \msg_warning:nnnnnn { hooks } { labels-incompatible }
{#1} {#2} {#3} { 0 }
}
% \end{macrocode}
@@ -4239,7 +4240,7 @@
\cs_new_protected:Npn \@@_gput_next_code:nn #1 #2
{
\@@_if_disabled:nTF {#1}
- { \__kernel_msg_error:nnn { hooks } { hook-disabled } {#1} }
+ { \msg_error:nnn { hooks } { hook-disabled } {#1} }
{
\@@_init_structure:n {#1}
\@@_if_usable:nTF {#1}
@@ -4537,8 +4538,18 @@
%
% \subsection{Messages}
%
+% Hook errors are LaTeX kernel errors:
+% \begin{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { hooks } { LaTeX }
+% \end{macrocode}
+% And so are kernel errors (this should move elsewhere eventually).
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { labels-incompatible }
+\prop_gput:Nnn \g_msg_module_type_prop { kernel } { LaTeX }
+%\prop_gput:Nnn \g_msg_module_name_prop { kernel } { } % <-- currently not working
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { labels-incompatible }
{
Labels~'#1'~and~'#2'~are~incompatible
\str_if_eq:nnF {#3} {??} { ~in~hook~'#3' } .~
@@ -4551,7 +4562,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { exists }
+\msg_new:nnnn { hooks } { exists }
{ Hook~'#1'~ has~ already~ been~ declared. }
{ There~ already~ exists~ a~ hook~ declaration~ with~ this~
name.\\
@@ -4560,7 +4571,7 @@
%
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { hook-disabled }
+\msg_new:nnnn { hooks } { hook-disabled }
{ Cannot~add~code~to~disabled~hook~'#1'. }
{
The~hook~'#1'~you~tried~to~add~code~to~was~previously~disabled~
@@ -4570,7 +4581,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { empty-label }
+\msg_new:nnn { hooks } { empty-label }
{
Empty~code~label~\msg_line_context:.~
Using~'\@@_currname_or_default:'~instead.
@@ -4578,7 +4589,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { no-default-label }
+\msg_new:nnn { hooks } { no-default-label }
{
Missing~(empty)~default~label~\msg_line_context:. \\
This~command~was~ignored.
@@ -4586,7 +4597,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { unknown-rule }
+\msg_new:nnnn { hooks } { unknown-rule }
{ Unknown~ relationship~ '#3'~
between~ labels~ '#2'~ and~ '#4'~
\str_if_eq:nnF {#1} {??} { ~in~hook~'#1' }. ~
@@ -4604,9 +4615,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { misused-top-level }
+\msg_new:nnnn { hooks } { misused-top-level }
{
- Illegal~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
+ Illegal~use~of~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
'top-level'~is~reserved~for~the~user's~document.
}
{
@@ -4618,7 +4629,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { set-top-level }
+\msg_new:nnn { hooks } { set-top-level }
{
You~cannot~change~the~default~label~#1~'top-level'.~Illegal \\
\use:nn { ~ } { ~ } \iow_char:N \\#2{#3} \\
@@ -4627,21 +4638,12 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { ddhl-deprecated }
- {
- \iow_char:N \\DeclareDefaultHookLabel~is~deprecated.\\
- Use~\iow_char:N \\SetDefaultHookLabel~instead.\\ \\
- The~deprecated~name~will~be~removed~in~the~next~release.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { extra-pop-label }
+\msg_new:nnn { hooks } { extra-pop-label }
{
Extra~\iow_char:N \\PopDefaultHookLabel. \\
This~command~will~be~ignored.
}
-\__kernel_msg_new:nnn { hooks } { missing-pop-label }
+\msg_new:nnn { hooks } { missing-pop-label }
{
Missing~\iow_char:N \\PopDefaultHookLabel. \\
The~label~'#1'~was~pushed~but~never~popped.~Something~is~wrong.
@@ -4649,9 +4651,9 @@
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { should-not-happen }
+\msg_new:nnn { kernel } { should-not-happen }
{
- ERROR!~This~should~not~happen.~#1 \\
+ This~should~not~happen.~#1 \\
Please~report~at~https://github.com/latex3/latex2e.
}
% \end{macrocode}
@@ -4659,14 +4661,14 @@
%
%
% \begin{macrocode}
-\__kernel_msg_new:nnn { hooks } { provide-disabled }
+\msg_new:nnn { hooks } { provide-disabled }
{
- Can't~ provide~ hook~ '#1'~ because~ it~ is~ disabled!
+ Cannot~ provide~ hook~ '#1'~ because~ it~ is~ disabled!
}
% \end{macrocode}
%
% \begin{macrocode}
-\__kernel_msg_new:nnnn { hooks } { provide-error }
+\msg_new:nnnn { hooks } { provide-error }
{
Hook~'#1'~ already~ declared~ as~ a~
\@@_if_reversed:nTF {#1} { reversed } { normal }~ hook!
@@ -4764,10 +4766,9 @@
% \begin{macro}{\SetDefaultHookLabel}
% \begin{macro}{\PushDefaultHookLabel}
% \begin{macro}{\PopDefaultHookLabel}
-% \begin{macro}{\DeclareDefaultHookLabel}
%
% \fmiinline{Docu task: At some point this code for this should be moved to the
-% label section earlier and here we should keep only the interface commands.}
+% label section earlier and here we should keep only the interface commands.}
%
% \begin{macro}{\@@_curr_name_push:n,\@@_curr_name_push_aux:n}
% \begin{macro}{\@@_curr_name_pop:}
@@ -4829,11 +4830,11 @@
\cs_new_protected:Npn \@@_curr_name_push_aux:n #1
{
\tl_if_blank:nTF {#1}
- { \__kernel_msg_error:nn { hooks } { no-default-label } }
+ { \msg_error:nn { hooks } { no-default-label } }
{
\str_if_eq:nnTF {#1} { top-level }
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ to } { PushDefaultHookLabel } {#1}
}
{
@@ -4851,7 +4852,7 @@
{
\seq_gpop:NNTF \g_@@_name_stack_seq \l_@@_return_tl
{ \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl }
- { \__kernel_msg_error:nn { hooks } { extra-pop-label } }
+ { \msg_error:nn { hooks } { extra-pop-label } }
}
% \end{macrocode}
%
@@ -4866,7 +4867,7 @@
{
\seq_gpop:NNT \g_@@_name_stack_seq \l_@@_return_tl
{
- \__kernel_msg_error:nnx { hooks } { missing-pop-label }
+ \msg_error:nnx { hooks } { missing-pop-label }
{ \g_@@_hook_curr_name_tl }
\tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl
\@@_end_document_label_check:
@@ -4884,7 +4885,7 @@
{
\seq_if_empty:NTF \g_@@_name_stack_seq
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ for } { SetDefaultHookLabel } {#1}
}
{ \exp_args:Nx \@@_set_default_label:n { \@@_make_name:n {#1} } }
@@ -4893,16 +4894,11 @@
{
\str_if_eq:nnTF {#1} { top-level }
{
- \__kernel_msg_error:nnnnn { hooks } { set-top-level }
+ \msg_error:nnnnn { hooks } { set-top-level }
{ to } { SetDefaultHookLabel } {#1}
}
{ \tl_gset:Nn \g_@@_hook_curr_name_tl {#1} }
}
-\NewDocumentCommand \DeclareDefaultHookLabel { m }
- {
- \__kernel_msg_error:nn { hooks } { ddhl-deprecated }
- \SetDefaultHookLabel {#1}
- }
% \end{macrocode}
%
% The label is only automatically updated with \cs{@onefilewithoptions}
@@ -4942,7 +4938,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
%
%
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index 3b803f3383..84af40d945 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/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index 02b805b97d..fd05f9537f 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/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 0f16508cc2..e91726a6dd 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 718558863a..afbca53625 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 be857e7ee4..11ab1ee093 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 005348dff7..bcf06e380c 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 7008d76f68..f9343d862b 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 538c9768f3..b6b42938fc 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 d6b706b906..23f3bebaec 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 9931ddee80..5dbe32de57 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 616c594eb8..9158a8a6de 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 7e0f03f1cc..5c583fa62e 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 6ef42aca9f..b7b4299fee 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 3ea3f11d6a..7d483314d2 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 a94411b8c2..bcc2ebf91c 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 79be2aab4d..ebb1a11b88 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 aa4ef31e3e..422230b891 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 a11d785c60..33b870c2c5 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 b25ec2b3b4..e426d8f803 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 7e926718fb..1b9d9720a8 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 96f3be4711..ee9d4d9faf 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 5b2ed0ee07..91ffd73c53 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 e8dfbc7c0f..2d6f14527f 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 240c83b6c6..7e75b681d7 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 9807ac1a7a..638b76a2c8 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 0aa98e091e..f3be86d42e 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 3393251fb8..f88b90f53e 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 b6da2cc18d..1f27e49641 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 d3f0ab919f..a2037f6688 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 d6670e6a43..72d813e6ac 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 60644a30e4..ca2747c438 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 87651bc456..4cb04aceef 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/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index f50f366566..445abc7e11 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index 51c980520e..d4494fdd6c 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf
index 486fd7b9ab..305c7aed93 100644
--- a/macros/latex-dev/base/ltnews33.pdf
+++ b/macros/latex-dev/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.tex b/macros/latex-dev/base/ltnews33.tex
index 7f23e9d853..88bce82055 100644
--- a/macros/latex-dev/base/ltnews33.tex
+++ b/macros/latex-dev/base/ltnews33.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2019-2020
+% Copyright 2019-2021
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -33,6 +33,16 @@
\NeedsTeXFormat{LaTeX2e}[2020-02-02]
\documentclass{ltnews}
+
+%%CCC Temporary definitions:
+\providecommand\Dash {\unskip ---}
+
+
+
+%% NOTE: Chris' preferred hyphens!
+%%\showhyphens{parameters}
+\hyphenation{because para-me-ters}
+
\usepackage[T1]{fontenc}
\usepackage{lmodern,url,hologo}
@@ -85,12 +95,25 @@
\vbadness=1400 % accept slightly empty columns
+\makeatletter
+% maybe not the greatest design but normally we wouldn't have subsubsections
+\renewcommand{\subsubsection}{%
+ \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}%
+ {-1em}{\@subheadingfont\colonize}%
+}
+\newcommand\colonize[1]{#1:}
+\makeatother
+
+\let\finalvspace\vspace % for document layout fixes
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand\tubcommand[1]{}
\tubcommand{\input{tubltmac}}
\publicationmonth{June}
-\publicationyear{2021 --- Draft Version}
+\publicationyear{2021} %% --- Draft Version 3p
\publicationissue{33}
@@ -109,15 +132,17 @@
\section{Introduction}
-The focus of the June 2020 release is to provide further important
-building blocks for producing reliable tagged PDF output in the future
-(see \cite{33:blueprint}), they are discussed in the next two
-sections. In addition we included a number of smaller enhancement and
-fixes that are outlined on the next pages. As usual, more detail can
-on individual changes can be found in the \texttt{changes.txt} files
-in the distribution and, of course, in the documented
-sources~\cite{33:source2e}.
+The focus of the June 2021 release is to provide further important
+building blocks for the future production of
+reliable tagged PDF output
+(see \cite{33:blueprint}); these enhancements
+are discussed in the next two
+sections.
+Subsequent sections describe quite a number of recent smaller
+enhancements and fixes. As usual, more detail on individual changes
+can be found in the \texttt{changes.txt} files in the distribution
+and, of course, in the documented sources~\cite{33:source2e}.
@@ -125,534 +150,716 @@ sources~\cite{33:source2e}.
Largely triggered by the need for better control of paragraph text
processing, in particular when producing tagged PDF output, we have
-extended the paragraph processing of \LaTeX{} so that the kernel gains
-control both at the start and the end of each paragraph. This is done
-in a manner that is (or should be) transparent to packages and user
-documents.
+changed \LaTeX{} so that the kernel gains control both at the start
+and at the end of each paragraph. This is done in a manner that is (or
+should be) transparent to both packages and documents.
-Beside the internal control points for exclusive use of the \LaTeX{}
-kernel we also implemented four public hooks that can be used by
-packages or user via the hook management declarations to achieve
-special effects or implement manipulations that in the past were only
-possible through redefinitions of \cs{everypar} or \cs{par} with the
-usual issue that such changes would conflict with changes in other
-packages.
+Besides the addition of internal control points for the exclusive use
+of the \LaTeX{} kernel, we also implemented four public hooks that can
+be used in packages or documents (via the normal hook management
+declarations) to achieve special effects, etc. Until now, such
+enhancements required redefinitions of \cs{everypar} or \cs{par},
+which led to the usual issues since such changes can easily conflict
+with changes made by other packages.
-The documentation of the hooks together with a few examples is
-provided in \file{ltpara-doc.pdf} and for those who want to study the
-(quite interesting) code is found in
-\file{ltpara-code.pdf}. Additionally it is included as part of the
-full kernel documentation in \file{source2e.pdf}.
+The documentation of these new \enquote{paragraph hooks}, together
+with a few examples, is in \file{ltpara-doc.pdf} and, for those who
+want to study it, the (quite interesting) code can be found in
+\file{ltpara-code.pdf}. Additionally, both of these files are included
+as part of the full kernel documentation in \file{source2e.pdf}.
\section{Extending the hook concept to commands}
-Up to now the hook management covered hooks for a few core areas, such
-as hooks for the \cs{shipout} process or those in the \env{document}
-environment, as well as generic hooks for file loading (helpful for
-patching) and for arbitrary environments (executed by \cs{begin} and
-\cs{end}).
+Up to now, hook management covered hooks for only a few core areas,
+such as the hooks for the \cs{shipout} process or those in the
+\env{document} environment, as well as some \enquote {generic} hooks,
+both for file loading (helpful for patching such files) and for
+arbitrary environments (the hooks executed within \cs{begin} and
+\cs{end}). This concept of \enquote{generic hooks} has now been
+extended to provide \hook{/before} and \hook{/after} hooks for any
+(document-level) command\Dash in theory at least.
-This has now been extended to add \hook{/before} and \hook{/after}
-hooks to any (document-level) command---in theory at that is. In
-practice the new generic \hook{cmd} hooks, especially the
-\hook{cmd/.../after} hooks may fail with commands that are too complex
-to be automatically patched and break them if the hook is filled with
-code. The restrictions are documented in \texttt{ltcmdhooks-doc.pdf}.
-However, given that these hooks are mainly meant for package
-developers to provide a better interoperability between different
-packages and between packages and the \LaTeX{} kernel, these
-restrictions are of minor importance: for commands where the mechanism
-can't be applied, one is in the same situation as before and for all
-others there will be a noticeable improvement. This is especially
-important for our big project providing accessible and tagged PDF
-output~\cite{33:blueprint}, because for this we will eventually have
-to patch many third-party packages and this is only feasible, if it can
-be done in controlled and standardized ways.
+In practice, these new generic \hook{cmd} hooks, especially the
+\hook{cmd/.../after}, hooks may fail with commands that are too
+complex to be automatically patched, breaking if the hook contains any
+code. These restrictions are documented in
+\texttt{ltcmdhooks-doc.pdf}.
+%
+However, given that these hooks are mainly meant for developers who
+wish to provide better interoperability between different packages,
+and between packages and the \LaTeX{} kernel, these restrictions are,
+we hope, of minor importance. Indeed, for commands where this
+mechanism can't be applied, one is in the same situation as before;
+and for all others there will be a noticeable improvement.
+These hooks will be especially important for our current project to
+provide accessible and tagged PDF output~\cite{33:blueprint} because
+we will eventually have to patch many third-party packages, and this
+must be done in controlled and standardized ways.
-\section{Other changes to the \LaTeX{} kernel}
-\subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
+\section{Other hook business}
-The command \cs{labelitemfont} was in fact already introduced with the
-\LaTeX\ release 2020-02-02, but back then we forgot to describe it, so
-we do this now. Its purpose is to resolve some bad formatting issues
-with the \env{itemize} environment and at the same time make it easier
-to adjust its layout if necessary. What could happen in the past was the
-\env{itemize} labels, e.g., the \textbullet{}, would sometimes react to
-surrounding font changes and could suddenly change shape, for example
-to \textit{\textbullet}.
-
-Now \cs{labelitemfont} is applied to each
-label defaulting to \cs{normalfont} which will prevent this behavior.
-By choosing a different settings other effects can be achieved, for example
-\begin{verbatim}
- \renewcommand\labelitemfont
- {\normalfont\fontfamily{lmss}\selectfont}
- \renewcommand\labelitemfont
- {\rmfamily\normalshape}
-\end{verbatim}
-The first will take the symbols from Latin Modern Sans so that you get
-%
-\def\myfont#1{{\let\labelitemfont\empty\fontfamily{lmss}\selectfont#1}}
-%
-\myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
-\myfont\labelitemiv, while the second variant freezes the font family
-and shape, but leave the series variable, so that an \env{itemize} in
-a bold context would show bolder symbols. Making it empty would give
-you the buggy old behavior back.
-%
-\githubissue{497}
+\subsection{Shipping out a page while bypassing hooks}
-\subsection{A note on file names with spaces, dots or UTF-8 characters}
+In the 2020 October release, several hooks were added to control the
+process of constructing and shipping out a page box: these support,
+for example, the addition of background or foreground material
+to some or all pages.
+
+
+We have now added a command, called \cs{RawShipout}, which does not do
+any rebuilding of the page box and so does not run most of these
+hooks. When using this new command, essential internal book-keeping
+is still carried out, such as updating the \texttt{totalpages} counter
+and adding \texttt{shipout/firstpage} or \texttt{shipout/lastpage}
+material when appropriate.
+
+
+\subsection{A new Lua callback in \pkg{ltshipout},
+for custom attributes}
+
+For use just before shipping out a page, there is now a \LuaTeX{}
+callback \texttt{pre\_shipout\_filter} to contain final adjustments to
+the box being shipped out. This is particularly useful for
+Lua\TeX\ packages which flag (using, for example, attributes or
+properties) elements on a page in order to apply effects (such as the
+insertion of \enquote{color commands}) to these elements at shipout.
+
+
+
+\section{Improved handling of file names}
+
+\subsection[File names with spaces, multiple dots or\\
+ \acro{utf-8} characters]
+ {File names with spaces, multiple dots or \acro{utf-8} characters}
In one of the recent \LaTeX{} releases we improved the interface
for specifying file names so that they can now safely contain spaces
-(as is common on Windows but also elsewhere), UTF-8 characters
-outside the \acro{ascii} range as well as names with several dots in
-it. In the past this was only possible by applying a special syntax
-(in cases of spaces), not at all for most UTF-8 characters and
-not in all circumstances for files with several dots.
-
-However, \TeX{} has a built-in rule saying that you can leave out the
-extension if it is \texttt{.tex}. Because of that \verb=\input{file}=
-or \verb=\input{file.tex}= both load \file{file.tex} if it
-exists. While this is convenient most of the time it is a little
-awkward in some scenarios (for example, when both \file{file} and
-\file{file.tex} exist) and also when you manually try to implement
-that rule.
+(as is common these days),
+more than one dot character, and also \acro{utf-8} characters
+outside the \acro{ascii} range.
+In the past this was only possible by applying a special syntax
+in the case of spaces,
+while file names with several dots often failed,
+as did most \acro{utf-8} characters.
-\LaTeX{} therefore had one special syntax for \cs{include} and
-\cs{includeonly}: they always expected that their arguments contains a
-file name\footnote{In case of \cs{includeonly} a comma separated list
- of such names.} without its extension, which had to be
-\texttt{.tex}. Thus when you mistakenly wrote
-\verb=\include{mychap.tex}= (for example, when you changed from \cs{input}
-to \cs{include} somewhere), \LaTeX{} went ahead and looked for the
-file \file{mychap.tex.tex} for inclusion and tried to write support
-information to the file \file{mychap.tex.aux}. The reason was that
-\cs{include} had to construct both physical file names from the
-argument and it didn't bother to do something special about the
-extension \texttt{.tex}.
-As a side effect of the new implementation this has now changed and
-the argument of \cs{include} now gets the extension \texttt{.tex}
-removed if it was used. Thus \verb=\include{mychap.tex}= now loads
-\file{mychap.tex} and no longer looks for \file{mychap.tex.tex}.
-%
-\githubissue{486}
+\subsubsection{Consequences for file names in \cs{include}}
+\TeX{} has a built-in rule saying that you can normally leave out the
+extension if it is \texttt{.tex}. Thus \verb=\input{file}= and
+\verb=\input{file.tex}= both load \file{file.tex} (if it exists).
+While this is convenient most of the time, it is a little awkward in
+some scenarios (for example, when both \file{file} and \file{file.tex}
+exist) and also when you manually try to implement the rule.
-\subsection{\cs{end}\texttt{\textbraceleft document\textbraceright}
- should always start in v-mode}
+\LaTeX{} therefore had one special syntax for \cs{include} and
+\cs{includeonly}: they always expected that
+their arguments contain a
+file name\footnote{In the case of \cs{includeonly}, a comma-separated list of such names.}
+with no extension given,
+ so that it had to be \texttt{.tex}. Thus,
+ when you mistakenly wrote
+\verb=\include{mychap.tex}= (for example,
+because you changed from \cs{input}
+to \cs{include}),
+\LaTeX{} went ahead and looked for the
+file \file{mychap.tex.tex} for inclusion and tried to
+use the file \file{mychap.tex.aux} for internal (auxiliary) information. The reason was that
+\cs{include} had to construct both
+of these file names from the given
+argument and it didn't bother to do
+anything special
+with the supplied
+extension \texttt{.tex}.
-Until now \verb=\end{document}= executed the code from the
-\cs{AtEndDocument} hook as its first action. This meant that it was
-executed in horizontal mode if the user left no empty line after the
-last paragraph. As a result one could get a spurious space added, for
-example, when that code contained a \cs{write} statement. This was
-fixed and now \cs{enddocument} first issues a \cs{par} to ensure that
-it always starts out in vertical mode.
+With the new implementation this has
+changed:
+the extension \texttt{.tex}
+now gets removed/ignored if it was
+supplied.
+Thus \verb=\include{mychap.tex}= now
+no longer looks for \file{mychap.tex.tex}
+but loads
+\file{mychap.tex}
+and uses \file{mychap.aux}.
%
-\githubissue{385}
+\githubissue{486}
-\subsection{Allow extra space between name and address in \pkg{letter} class}
+\subsection{Normalization of robust commands in file names}
-The \cs{opening} command in the \pkg{letter} class expects the
-name and address to be separated by \verb=\\= but it didn't allow to
-use an optional argument at this point to add some extra space after
-the name. The coding has now been slightly altered to allow for this.
+The handling of file names has been modified so that \verb|\string| is
+applied to normalize robust commands within the file name.
+Previously, for example, \verb|\input{\sqrt{2}}| would cause
+\LaTeX\ to loop indefinitely whereas with
+the new normalization
+it looks for the file named \verb|sqrt {2}.tex|
+(and therefore very likely reports ``file not found'').
%
-\githubissue{427}
+\githubissue{481}
-\subsection[Add a Lua callback to \pkg{ltshipout} to provide
- a uniform location for applying custom attributes]
- {Add a Lua callback to \pkg{ltshipout} to provide
- a uniform
- \mbox\quad location for applying custom attributes}
-Just before shipping out a page, a new \LuaTeX{} callback
-\texttt{pre\_shipout\_filter} is now called to allow final
-adjustments to the box to be shipped out. This is particularly for
-Lua\TeX\ packages which flag certain elements of the page (e.g. using
-attributes or properties) in order to apply certain effects to these
-elements at shipout. An example for this is the \pkg{luacolor}
-package which could insert the color commands using this callback.
+\subsection{Fix for \env{filecontents} with \acro{utf-8}
+ chars in the file name}
+Since a few releases back, the \env{filecontents} environment has
+allowed \acro{utf-8} characters in the file name. There was, however,
+a bug that would not allow \emph{over}writing a file with \acro{utf-8}
+characters in its name. This has been fixed and now
+\env{filecontents} allows any characters in the file name.
+%
+\githubissue{415}
-\subsection{Improved copy\,\&\,paste support for \pdfTeX{} documents}
-When compiling with \pdfTeX{}, additional information is added to the
-PDF file to improve copying from and searching in text. This especially
-allows ligatures to copy correctly from \pdfTeX{} generated PDF files in
-most cases.
-Since this has been integrated into the kernel, most documents should no
-longer need to load the \pkg{cmap} package or input \texttt{glyphtounicode}.
-%
-\githubissue{465}
+\section{Updates to the font selection scheme}
-\subsection{Provide a hook in \cs{selectfont}}
+\subsection{A new hook in \cs{selectfont}}
-After \cs{selectfont} has altered the font we run a hook so that
-packages can make final adjustments. This functionality was originally
-provided by the \pkg{everysel} package, the new implementation is
-slightly different and uses the standard hook management.
+After \cs{selectfont} has changed the font, we now run a hook (\hook{selectfont})
+so that packages can make final \mbox{adjustments}. This functionality was
+originally provided by the \pkg{everysel} package but our
+implementation is slightly different and uses the standard hook
+management.
%
\githubissue{444}
-\subsection{Delay change of font series and shape to \cs{selectfont} call}
+\subsection{Change of font series/shape delayed until \cs{selectfont}}
-With the NFSS extensions introduced in 2020 the font series and shape
-settings can be influenced by changes to the font family. The setting
-is therefore delayed until \cs{selectfont} is executed to avoid
-unnecessary or incorrect substitutions that may otherwise happen due
-to the order of declarations.
+With the NFSS extensions introduced in 2020, the font series and shape
+settings can be influenced by changes to the font family. The
+settings of these two are now therefore delayed until \cs{selectfont}
+is executed; this avoids unnecessary or incorrect substitutions that
+may otherwise happen due to the order of declarations.
%
\githubissue{444}
-\subsection{Allow \cs{nocite} in preamble}
+\section{Glyphs, characters \& encodings}
-A natural place for \verb=\nocite{*}= would be the preamble of the
-document, but for historical reasons \LaTeX{} issued an error message
-if it was placed there. From the new release on it is now allowed in
-the preamble.
+\subsection{Improved copy\,\&\,paste for \pdfTeX{} documents}
+
+When compiling with \pdfTeX{}, additional information
+(from the file \texttt{glyphtounicode.tex}) is now added automatically
+to the PDF file in order to improve copying from, and searching in,
+text.
+
+In particular, this allows the most common ligatures to be copied as
+intended from all generated PDF files without the need to explicitly
+load the package \pkg{cmap}.
%
-\githubissue{424}
+\githubissue{465}
-\subsection{Shipping out a page while bypassing hooks}
-In the 2020 October release several hooks were added to the page
-shipout process, e.g., to add some background or foreground material
-to some or all pages. We now also added a \cs{RawShipout} command that
-bypasses most of these hooks during the shipout. Some essential
-internal bookkeeping still takes place such as updating the
-\texttt{totalpages} counter or adding \texttt{shipout/firstpage} or
-\texttt{shipout/lastpage} material if the page happens to be the first
-or last.
-
-\subsection{Robust commands in filename arguments}
-The filename handling has been modified so that \verb|\string| is
-applied while normalizing robust commands while determining the file
-name. Previously \verb|\input{\sqrt{2}}| would cause \LaTeX\ to loop indefinitely.
-With the new behavior it accesses \verb|sqrt {2}.tex|.
-%
-\githubissue{481}
+\subsection{Support for more Unicode characters}
-\subsection[Additional support for Unicode characters from the
- Latin Extended Additional block]
- {Additional support for Unicode characters from the Latin\\
- \mbox\quad Extended Additional block}
\LaTeX\ is quite capable of typesetting characters such as
-\enquote{\d{m}}, but until now it lacked the Unicode mappings for some
-characters that are used to write Sanskrit words in Latin
-transliteration (as seen in books about yoga, Buddhist philosophy,
-etc.). These have now been added so that such characters can be
-entered directly instead of resorting to \verb=\d{m}= and so forth.
+\enquote{\d{m}}, but until now it could not access some Unicode
+characters from the Latin Extended Additional block. This meant that,
+for example, there were no Unicode mappings for some characters that
+are used to write Sanskrit words in Latin transliteration (as seen in
+books about yoga, Buddhist philosophy, etc.).
+%
+These characters have now been added so that they can be entered
+directly instead of using \verb=\d{m}=, etc.
%
\githubissue{484}
-\subsection{Always have color groups set up}
-To use color in \LaTeX{} certain constructs, especially boxes, need an
-extra layer of groups to ensure that the color setting does not
-\emph{escape} and continue outside the box when it shouldn't. To
-arrange for this the \LaTeX{} kernel defined a number of commands, e.g.,
-\cs{color@begingroup} to be used in such places. They have been
-initially no-ops and only the color packages redefined them to become
-real groups. This arrangement complicates the coding as one has to
-account for a group being there (or not there) depending of what is
-loaded in the document. So now the kernel already adds the groups.
+
+\subsection{More ``dashes'' in encodings \texttt{OT1},
+ \texttt{T1} and \texttt{TU}}
+
+When pasting in text from external sources, one can encounter these
+three Unicode characters
%
-\githubissue{488}
+\texttt{"2011} (non-breaking hyphen),
+\texttt{"2012} (figure dash) and
+\texttt{"2015} (horizontal bar),
+%
+in addition to the more common
+%
+\texttt{"2013} (en-dash) and \texttt{"2014} (em-dash).
+%
+In the past, these first three produced an error message when used
+with \pdfTeX{} (since they are not available in \texttt{OT1} or
+\texttt{T1} encoded fonts). They now typeset an approximation to the
+glyph: e.g., the ``figure dash'' is approximated by an en-dash.
+With Unicode engines they either work (when the glyph is contained in
+the selected Unicode font) or they typeset nothing, producing a
+``Missing character'' warning in the log file.
-\subsection{Execute \cs{par} at the end of \cs{marginpar} arguments}
+With all engines these characters can also now be accessed using the
+command names \cs{textnonbreakinghyphen}, \cs{textfiguredash} and
+\cs{texthorizontalbar}, respectively.
+%
+\githubissue{404}
-In preparation for tagged PDF it is important to properly tag all
-paragraphs and this requires running code at the beginning and end of
-each. At the end of a paragraph this is done inside the \cs{par}
-command, but the way \cs{marginpar} was coded, \LaTeX{} ended the
-marginal note without ever explicitly calling \cs{par}. This has now
-been changed.
-Another case where this issue caused problems was the \pkg{lineno}
-package where the last line was not numbered if the \cs{marginpar}
-ended without a \cs{par} in the document.
+\subsection{Poor man's \cs{textasteriskcentered}}
+
+The \cs{textasteriskcentered} symbol, used as part of the set of
+footnote symbols in \LaTeX{}, is assumed to be implemented by every
+font with the \texttt{TS1} encoding (when \pdfTeX{} is used) or with
+the \texttt{TU} encoding for the Unicode engines. That assumption is
+unfortunately not correct for all fonts since, for example, the
+\texttt{stix2} fonts don't provide this glyph. A result is that one
+gets missing glyph messages when using \cs{thanks}, etc.
+
+Therefore \cs{textasteriskcentered} now checks whether there is such a
+glyph and, if not, uses a normal \enquote{*}, but slightly enlarged
+and lowered. This may not be perfect in all cases, but it is
+certainly better than no glyph showing up.
%
-\githubissue{489}
+\githubissue{502}
+
+\subsection {The characters from \pkg{textcomp} are in the kernel}
+
+A couple of releases back, the functionality of the \pkg{textcomp}
+package was integrated into the \LaTeX{} kernel. Thus it is no longer
+necessary to load this package in order to access glyphs such as
+\cs{textcopyright}, \cs{texteuro} or \cs{textyen}.
+
+
+At this time the opportunity was also taken to bring some order to the
+chaos surrounding the question: \enquote{which glyphs from the
+ \texttt{TS1} encoding are available in a given font?}. This was
+done using an approach based on font families and collections, with
+the differing glyph coverage of the \enquote*{text symbols} being
+indicated by assigning to a font family or collection a ``sub-encoding
+number'' that indicates which glyphs from the \texttt{TS1} encoding are
+guaranteed to be available when using a font from that family or
+collection. This assignment ensures that \LaTeX{} always errs on the
+side of caution, possibly claiming that a glyph is not available even
+when it in fact is.
+
+\iffalse %%FMi but drop that
+
+The documented code for this can be found now in the file
+\file{lttextcomp.dtx} but we hope to publish a full explanation of
+the approach very soon now.
+
+\fi %% FMi potential drop
+
+
+
+\subsubsection
+ [A note on the history of ``text symbols'']
+ {A note on the history of ``text symbols'' and
+ the \texttt{TS1} encoding}
+
+
+The \enquote{text symbol encoding} (\texttt{TS1}) was originally
+designed at the Cork Conference as a companion to the \texttt{T1}
+encoding. In it various symbols that are not subject to hyphenation
+got assembled and the \pkg{textcomp} package was developed to make
+them accessible. Unfortunately the \TeX{} community was a bit too
+enthusiastic and included several symbols only available in a few
+\TeX{} fonts and some, such as the capital accents, not available at
+all but developed as part of the reference font implementation.
+
+In hindsight that was a very bad idea because it meant that other
+existing fonts (at the time) and later new fonts that got developed
+were unable to provide the full set of glyphs that made up the
+\texttt{TS1} encoding. For existing free PostScript fonts people
+took the extra effort and produced virtual fonts that faked (some) of
+the missing glyphs. But this was and is a time-consuming effort so it
+was done for only a few basic fonts. But even then, only some fonts
+included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
+back then contained a long list, dividing fonts into 5 categories
+according to which glyphs were implemented and which were missing.
+
+
+When we recently integrated the functionality of the \pkg{textcomp}
+into the \LaTeX{} kernel
+many new free fonts had appeared and
+unfortunately the chaos around the question \enquote{which glyphs of
+ the \texttt{TS1} encoding are implemented by which font} had
+increased with it. Not only did one find many new holes, it was next to
+impossible to order the set of fonts into a reasonable set of
+sub-encodings that are contained in each other in a single sequence.
+
+In the end we decided on nine or ten sub-encodings with a reasonable
+number of fonts in each so that all fonts implemented all glyphs of the
+sub-encoding they got mapped to. Thus when typesetting with a font one
+could be sure that a command like \cs{textcopyleft} would either
+typeset the requested character (if the glyph was part of the
+sub-encoding the font belonged to) or it would raise an error, saying
+that the glyph is unavailable in that font. The mapping would ensure
+that \LaTeX{} always errs on the side of caution, because it might
+claim a glyph is unavailable even though in fact it is.\looseness-1
+
+For example, the old \texttt{pcr} (PostScript Courier) font (as well
+as most other older PS fonts) is mapped to sub-encoding 5 and
+therefore claims that \cs{textasciigrave} is unavailable even though
+in fact for Courier this is not true. If one uses such a font and this
+becomes an issue then there are a couple (suboptimal) possibilities.
+For one, one can alter the mapping of Courier and pretend that belongs
+to a fuller sub-encoding, e.g.
+\begin{verbatim}
+ \DeclareEncodingSubset{TS1}{pcr}{2}
+\end{verbatim}
+The downside is, that \LaTeX{} then believes other glyphs that are in fact
+unavailable are also there, so that it is important to check that the
+final document doesn't have some missing glyphs.
+
+An alternative is to pretend that \cs{textasciigrave} can always be
+taken from the \texttt{TS1} encoding (no questions asked):
+\begin{verbatim}
+ \DeclareTextSymbolDefault{\textasciigrave}{TS1}
+\end{verbatim}
+Again there is a danger that this is not true when it is used with a
+different font and would then generate a missing glyph.
+
+Finally, and possibly the best solution, if not impossible for other
+reasons, is to simply use a different font, for example, to use the
+\TeX{} Gyre Cursor font (a reimplementation of Courier with a
+much more complete glyph set).
-\subsection{Producing several footnote marks to one footnote}
+
+\section{New or improved commands}
+
+\subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
+
+The command \cs{labelitemfont} was introduced already with the
+\LaTeX\ release 2020-02-02, but back then we forgot to describe it, so
+we do this now. Its purpose is to resolve some bad formatting issues
+with the \env{itemize} environment and also to make it easier to
+adjust the layout when necessary. What could happen in the past was
+that the \env{itemize} labels (e.g., the \textbullet{}) would
+sometimes react to surrounding font changes and could then suddenly
+change shape, for example to \textit{\textbullet}.
+
+This new command \cs{labelitemfont}, which defaults to \cs{normalfont},
+can be used to provide additional control in the typesetting of
+each label. Thus by choosing
+different settings other effects can be achieved. Here are two
+examples:
+\begin{verbatim}
+ \renewcommand\labelitemfont
+ {\normalfont\fontfamily{lmss}\selectfont}
+ \renewcommand\labelitemfont
+ {\rmfamily\normalshape}
+\end{verbatim}
+The first definition will take the symbols from the font Latin Modern
+Sans, so that you get
+%
+\def\myfont#1{{\let\labelitemfont\empty\fontfamily{lmss}\selectfont#1}}%
+%
+\myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
+\!\!\myfont\labelitemiv\,; while the second variant freezes the font family
+and shape, but leaves the series as a variable quantity, so that an
+\env{itemize} in a bold context would show bolder symbols. Making
+\cs{labelitemfont} empty would give you back the buggy old behavior.
+%
+\githubissue{497}
+
+
+\subsection{Producing several marks for one footnote}
It is sometimes necessary to reference the same footnote several
-times, i.e., produce several footnote marks with the same number or
-symbol. This is now always possible by placing a \cs{label} into the
-\cs{footnote} and reference it with the command \cs{footref}
-elsewhere. This way marks referring to footnotes anywhere on the page
-(including those in \texttt{minipage}s) can be generated. In the past
-this command was only available with certain classes or when loading
-the \pkg{footmisc} package.
+times: i.e., to produce several footnote marks using the same number
+or symbol. This is now easily possible by placing a \cs{label} within
+the referenced \cs{footnote} and referencing this label by using the
+new command \cs{footref}. This means that footnote marks can be
+generated to refer to arbitrary footnotes (including those in
+\texttt{minipage}s).
+
+This \cs{footref} command has previously been available, but only when
+using certain classes or the \pkg{footmisc} package.
%
\githubissue{482}
+\subsection{Allow \cs{nocite} in the preamble}
-\subsection[Providing the raw option list of packages or documentclass
- to key/value handlers]
- {Providing the raw option list of packages or documentclass\\
- \mbox\quad to key/value handlers}
+A natural place for \verb=\nocite{*}= would be the preamble of the
+document, but for historical reasons \LaTeX{} issued an error message
+if it was placed there. This command is now allowed in the preamble.
+%
+\githubissue{424}
-\LaTeXe{} has always normalized space in option lists so\\
-\verb|\documentclass[ a4paper , 12pt ]{article}|\\
-processed the intended options \texttt{a4paper} and \texttt{12pt}.
-Unfortunately the mechanism used was designed for the simple option
-names of the standard option processing. Many classes and packages
-now use extended \emph{keyval} processing, however this white space
-normalization makes this difficult:
-\verb|[bb=1 2 3 4]|
-which might be expected to pass a bounding box of four numbers is
-normalized to \texttt{bb=1234} and
-\verb|[bb={1 2 3 4}]|\\
-which might be expected to quote the spaces results in low level \TeX{}
-parsing errors.
+\subsection{Made \cs{\textbackslash} generally robust}
+In 2018 most \LaTeX{} user-level commands were made robust, including
+the \cs{\textbackslash} command. However, \cs{\textbackslash} gets
+redefined in various environments and not all these cases were caught:
+such as, in particular, its use as the row delimiter in \env{tabular}
+structures. This has been corrected so that \cs{\textbackslash}
+should now be robust in all circumstances.
-For compatibility reasons, the standard option processing has not been
-changed however the original un-normalized package and class option lists
-are now saved. They are not used in the standard processing, however
-extended package option systems may use these \enquote{raw} option list
-macros if they are defined.
-The one change affecting the standard processing is that the low level
-error mentioned above is now avoided as values (any tokens to the
-right of an = sign) are removed from consideration from the
-\enquote{unused option list}. In this release \texttt{clip=true} and
-\texttt{clip=false} both contribute \texttt{clip} to the list of
-options that have been used.
+This change also fixed one anomaly present in the past:
+in a tabular preamble of the form
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \hspace*{-.15em}\verb={l=\texttt{\string>}\verb={\raggedright}p{10cm}r}= % stupid class
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+a \cs{\textbackslash} in the second column would have the definition
+used within \cs{raggedright} and so it would not indicate the
+(premature) end of the \env{tabular}. Thus, for example,%
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \verb=a & b1 \\ b2 & c \\=
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+was interpreted as a single row of the \env{tabular} (as intended),
+whereas
+\finalvspace*{-.3\baselineskip}
+\begin{quote}
+ \verb=a & \\ b2 & c \\=
+\end{quote}
+\finalvspace*{-.3\baselineskip}
+resulted in two rows! This happened because the \cs{\textbackslash}
+directly following the \verb=&= got interpreted while it still had the
+\enquote{end the row} meaning and not yet the \enquote{start a new
+ line within the second column} meaning.
+
+With \cs{\textbackslash} now being robust, the special scanning mode
+initiated by the \verb=&= ends immediately when this command is seen:
+the second column is therefore then started, which results in the
+\cs{\textbackslash} being interpreted as being within that column and
+hence as having its expected, within-column, meaning.
+
+We have restored consistency here: now both of the above lines
+produce a single \env{tabular} row.
+%
+As before, you can
+put \cs{raggedright}\cs{arraybackslash} in the \env{tabular}'s
+preamble for a column to ensure that \cs{\textbackslash} is always
+interpreted as a tabular row separator when used in that column. And
+you can use \cs{tabularnewline} to explicitly ask for a new table row,
+even when \cs{\textbackslash} has a different meaning within the
+current column.
%
-\githubissue{85}
+\githubissue{548}
-\subsection{Poor man's \cs{textasteriskcentered} if missing}
-The \cs{textasteriskcentered} symbol, used as part of the set of
-footnote symbols in \LaTeX{}, is assumed to be implemented by
-every font in the \texttt{TS1} encoding (when \pdfTeX{} is used) or
-in the \texttt{TU} encoding for the Unicode engines. Unfortunately,
-that assumption is not correct for all fonts, for example, for the
-\texttt{stix2} fonts don't offer the glyph, with the result that one
-gets missing glyphs when using \cs{thanks} etc.
-
-For that reason the definition for \cs{textasteriskcentered} was
-altered to check if there is a glyph in the right position and if not
-a normal \enquote{*} is used, slightly enlarged and lowered. That may
-not be perfect in all cases, but certainly better than nothing show
-up.
+\subsection{Allow extra space between name and address in \pkg{letter} class}
+
+The \cs{opening} command in the \pkg{letter} class expects the name
+and address to be separated by \verb=\\=, but it didn't allow the use
+of an optional argument to add some extra space after the name. The
+code has now been slightly altered to allow this.
%
-\githubissue{502}
+\githubissue{427}
-\subsection{Provide more ``dashes'' in encodings \texttt{OT1},
- \texttt{T1} and \texttt{TU}}
+\subsection{Additions to \cs{tracingall}}
-When pasting in text from external sources one sometimes encounters
-the Unicode characters
-%
-\texttt{"2011} (non-breaking hyphen),
-\texttt{"2012} (figure dash) and
-\texttt{"2015} (horizontal bar)
-%
-in addition to the common \texttt{"2013} (en-dash) and \texttt{"2014}
-(em-dash). In the past the first three characters produced an error
-message when used with \pdfTeX{}. Now they typeset an approximation
-(as they are unavailable in \texttt{OT1} or \texttt{T1} encoded fonts
-used by \pdfTeX{}), e.g., the figure dash is approximated by an en-dash.
+In July 2020 David Jones suggested an extension to \TeX{} engines,
+that added the possibility to set \cs{tracinglostchars}\texttt{=3} in
+order to generate an error message in case some character is missing
+from a font. In previous years, a warning about a missing character
+was silently printed to the \texttt{.log} file\linebreak
+(if $\cs{tracinglostchars}>0$) and to the terminal\linebreak
+ (if ${}>1$). This extension was added for \TL{} and \MiKTeX{}
+(except in Knuth's \TeX, of course),
+so that with $\cs{tracinglostchars}>2$ you now also get an
+error message for each missing glyph.
-In Unicode engines they either work (if contained in the selected
-Unicode font) or typeset nothing and produce a ``Missing character''
-warning in the log file.
+Later, in January 2021, Petr Olšák suggested yet another extension:
+a new primitive
+\mbox{parameter}
+%
+\cs{tracingstacklevels} that, when both it and \cs{tracingmacros} are
+positive, will add to the \mbox{tracing} information for each
+macro a visual indication (using dots) of
+its nesting level in the macro expansion stack.
-However, what works in all engines now, is to access the characters
-via the command names \cs{textnonbreakinghyphen}, \cs{textfiguredash}
-and \cs{texthorizontalbar}, respectively.
+These changes have both now been added to \LaTeX's debugging macros
+\cs{tracingall} and \cs{tracingnone}, so that these two new extensions
+are activated/deactivated as appropriate, so long as the \TeX{} engine
+supports them. An example document demonstrating these parameters is
+in the linked GitHub issue.
%
-\githubissue{404}
+\githubissue{524}
-\subsection{\env{filecontents} with \acro{utf-8} characters in file name}
-Since a few releases back, the \env{filecontents} environment allows writing a
-file with \acro{utf-8} characters in its name. However there was a bug that
-would not allow \emph{over}writing a file with \acro{utf-8} characters in the
-name. This has been fixed and now \env{filecontents} allows any characters in
-the file name.
-%
-\githubissue{415}
+\section{Code improvements}
+
+\subsection{Execute \cs{par} at the end of \cs{marginpar}}
+Previously, \LaTeX{} ended a \cs{marginpar} without ever explicitly
+calling \cs{par}. This command is now explicitly added because it is
+essential to the correct working of the paragraph hooks.
+Another case where this issue caused problems was the \pkg{lineno}
+package, where the last line was not numbered if the \cs{marginpar}
+ended without an explicit \cs{par}.
+%
+\githubissue{489}
-\subsection{Extending \pkg{latexrelease} to declare an entire module}
-In the 2020-10-01 release, \LaTeX's new hook management system was added to the
-kernel (see \cite{33:ltnews32}) and, as with all changes to the kernel, it was
-added to \pkg{latexrelease}, so that it is possible to roll back to a date where
-such module didn't exist yet, or roll forward from an older release and have the
-hook management system by loading the \pkg{latexrelease} package.
-However rolling back from a later release to the 2020-10-01 release didn't quite
-work because it would try to define all the commands from \pkg{lthooks} again,
-and that would result in errors, as usual with commands defined with
-\cs{newcommand} or in the case of \pkg{lthooks}, \cs{cs\_new:Npn}.
+\subsection{Execute \cs{AtEndDocument} hook in vertical mode}
-To solve this issue, now completely new modules can be defined in
-\pkg{latexrelease} using \cs{NewModuleRelease}
-and then when rolling back or forward it will know if the code
-of the module has to be read or completely ignored. More details can be
-found in the \pkg{latexrelease} documentation (\verb|texdoc latexrelease|).
+Until now \verb=\end{document}= executed the code from the
+\cs{AtEndDocument} hook as its first action. This meant that this
+hook was executed in horizontal mode if the user left no empty line
+after the last paragraph. As a result, one could get a spurious space
+added when, for example, that code contained a \cs{write}
+statement. This was fixed and now \cs{enddocument} first issues a
+\cs{par} to ensure that it always goes into vertical mode.
%
-\githubissue{479}
+\githubissue{385}
+\subsection{Color groups made permanent}
+
+The use of color in certain \LaTeX{} constructs, especially boxes,
+needs an extra layer of grouping to ensure that the color setting does
+not \emph{escape} and continue outside the box when it shouldn't.
+%
+To support this, the \LaTeX{} kernel defines a number of commands,
+e.g., \cs{color@begingroup} to be used in such places.
-\subsection{Small fix for rolling back prior to 2020-02-02}
-Whereas the \pkg{latexrelease} package can usually emulate an older \LaTeX{}
-kernel without much problem, rolling back to before the 2020-02-02 release
-didn't work properly because the management of the \cs{ExplSyntaxOn/Off} status
-for packages cannot be removed by the rollback without messing up catcodes after
-an \pkg{expl3}-based package is loaded. This has been fixed and now rollback is
-more careful not to leave \pkg{ExplSyntaxOn} after a package ends.
+Until now, these commands were initially set as no-ops and only the
+color packages redefined them to become real groups; this methodology
+complicates the coding as one has to account for a group being present
+or not (\mbox{depending} on what is loaded in the document).
%
-\githubissue{504}
+The kernel therefore now permanently adds these \enquote{color groups}.
+%
+\githubissue{488}
+\subsection{Provide the raw option list to key/value option handlers}
-\subsection[Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3} to \cs{tracingall}]
- {Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3}\\
- \mbox\quad to \cs{tracingall}}
+Before any further processing of the option list, the original
+(un-normalized, \enquote{raw} and unchanged) list of package or class
+options is now saved, as \cs{@raw@opt@...}; this list is not used by
+the standard option processing code but it is now available for use by
+extended class/package processing systems. Note that, for
+compatibility reasons, the standard option processing code has not
+been changed.
-In July 2020 David Jones suggested an extension to \TeX{} engines, that
-added the possibility to set \cs{tracinglostchars}\texttt{=3} to have an
-error in case some character is missing from a font. In previous years,
-the warning for a missing character would be silently printed to the
-\texttt{.log} file (if $\cs{tracinglostchars}>0$) and to the terminal
-(if ${}>1$). This extension was added for \TL{} and \MiKTeX{} (except
-in Knuth's \TeX, of course) and now with $\cs{tracinglostchars}>2$ you
-get an error on a missing glyph.
-Later, in January 2021, Petr Olšák suggested yet another extension, a
-new primitive parameter \cs{tracingstacklevels} that, when positive (and
-when \cs{tracingmacros} is also positive), will print a visual
-indication of the macro nesting level in \TeX's tracing information.
-Both these changes were incorporated to \LaTeX's debugging macros
-\cs{tracingall} and \cs{tracingnone}, so when you use them, the new
-extensions are automatically activated/deactivated if your \TeX{}
-distributions has a recent enough engine. An example document
-demonstrating these parameters is available in the linked GitHub issue.
+One
+aspect of this
+change does affect the standard \mbox{processing}: any tokens to the
+right of an \texttt{=}
+sign are \mbox{removed}
+from consideration
+when constructing
+the \enquote{\mbox{unused} option list}.
+For example, in
+this release \texttt{clip=true} and
+\texttt{clip=false} both contribute \texttt{clip} to the list of
+options that have been used.
%
-\githubissue{524}
+\githubissue{85}
-\subsection{Make \cs{\textbackslash} generally robust}
+\subsection{New for \pkg{latexrelease}\,: \cs{NewModuleRelease}}
+
+To explain the need for this new feature, we shall consider the
+following example: in the 2020-10-01 release, \LaTeX's new hook
+management system was added to the kernel (see \cite{33:ltnews32})
+and, as with all changes to the kernel, it was added to
+\pkg{latexrelease}; this made it possible to roll back to a date where
+this module didn't yet exist, or to roll forward from an older
+\LaTeX{} release to get the hook management system (by loading the
+\pkg{latexrelease} package).
+%
+However, this method of rolling back from a later release to the
+2020-10-01 release didn't quite work because it would try to define
+all the commands from \pkg{lthooks} again; and this would of course
+result in the expected errors from commands defined with
+\cs{newcommand} or (as in \pkg{lthooks}) \cs{cs\_new:Npn}.
+
+To solve such issues, we now provide \cs{NewModuleRelease} so that
+completely new modules can be defined using the facilities of
+\pkg{latexrelease} in such a way that, when rolling back or forward,
+the system will know whether the code of the new module has to be read
+or completely ignored. More details on this can be found in the
+\pkg{latexrelease} documentation (get this with
+\verb|texdoc latexrelease|).
+%
+\githubissue{479}
-In 2018 most \LaTeX{} user-level commands were made robust including
-\cs{\textbackslash}. However, \cs{\textbackslash} is redefined in
-various environments and not all cases were caught, in particular its use as row
-delimiter in \env{tablular} structures. This has now been corrected and
-\cs{\textbackslash} should be robust in all standard
-circumstances. Doing that also fixed one anomaly present in the past:
-in a tabular preamble of the form
-\begin{quote}
- \verb={l=\texttt{\string>}\verb={raggedright}p{10cm}r}= % stupid class
-\end{quote}
-a \cs{\textbackslash} in the second column would have the definition
-used by \cs{raggedright} and would not indicate the (premature) end of
-the \env{tabular}, e.g.,
-\begin{quote}
- \verb=a & b1 \\ b2 & c \\=
-\end{quote}
-would be a single row in that \env{tabular}. However, writing
-\begin{quote}
- \verb=a & \\ b2 & c \\=
-\end{quote}
-would give you two rows: due to the scanning process the
-\cs{\textbackslash} directly following the \verb=&= still had
-the \enquote{end the row} meaning and not the \enquote{start a new
- line in the second column} meaning.
-With \cs{\textbackslash} now robust, the scanning after \verb=&= ends
-when the command is seen and the second column is started and so now
-both lines above consistently produce a single \env{tabular} row.
+\subsection{Small fix for rolling back prior to 2020-02-02}
-As before, you can use \cs{raggedright} \cs{arraybackslash} in the
-\env{tabular} preamble to ensure that \cs{\textbackslash} is always
-interpreted as a row separator when used in the column or you could
-use \cs{tabularnewline} to explicitly ask for a new row even when
-\cs{\textbackslash} has a different meaning in the current column.
+Whereas the \pkg{latexrelease} package can usually emulate an older
+\LaTeX{} kernel without much problem, rolling back to before the
+2020-02-02 release didn't work properly: this is because the
+management of the \cs{ExplSyntaxOn/Off} status for packages (after an
+\pkg{expl3}-based package is loaded) cannot be removed by the rollback
+without messing up the catcodes. This has been fixed so that rollback
+is now more careful not to leave \cs{ExplSyntaxOn} after a package
+ends.
%
-\githubissue{548}
+\githubissue{504}
\section{Changes to packages in the \pkg{graphics} category}
-\subsection{Removed spurious warning for generic graphics rules}
+\subsection{Removed warning when loading graphics files}
-A previous release mistakenly caused a warning to appear when loading a graphics
-file with an unknown extension through a generic graphics rule. The warning
-would incorrectly say that the file was not found, whereas the file would be
-included correctly. The warning now doesn't show up in that case.
+A previous release sometimes mistakenly caused a (false) warning
+message to appear when \mbox{using} a generic graphics rule to find
+and load a graphics file with an unknown \mbox{extension}.
+%%CCC removing hyphenation here makes this one line longer.
+This warning would incorrectly say that the file was not found,
+whereas the file would in fact be correctly loaded. The warning now
+doesn't show up in that case.
%
\githubissue{516}
-\subsection{Fixed loading \texttt{gzip}ped PostScript graphics files}
+\subsection{Fixed loading of \texttt{gzip}ped
+ PostScript files}
-A previous release mistakenly changed the file searching mechanism and
-compressed graphics files would raise an error when being loaded with
-\cs{includegraphics}. This has been fixed and now \texttt{gzip}ped graphics
-load correctly.
+A previous release mistakenly changed the file searching mechanism so
+that compressed PostScript graphics files would raise an error when
+being loaded with \cs{includegraphics}. This has been fixed so that
+\texttt{gzip}ped graphics files now load correctly.
%
\githubissue{519}
-
\section{Changes to packages in the \pkg{tools} category}
-\subsection{\pkg{layout}: Support extra language options}
-The package now recognizes \texttt{japanese} and \texttt{romanian} as
+\subsection{\pkg{layout}: Added language options}
+
+This package now recognizes \texttt{japanese} and \texttt{romanian} as
language options.
%
\githubissue[s]{353 and 529}
@@ -660,71 +867,64 @@ language options.
\subsection{\pkg{array} and \pkg{longtable}: Make \cs{\textbackslash} generally robust}
-The fix for this issue was also applied to these packages, see above.
+The fix for this issue was also applied to these packages; see above.
%
\githubissue{548}
\subsection{\pkg{longtable}: General bug fix update}
-Minor update to \pkg{longtable} to fix bugs reported. Notably the
-possibility of incorrect page breaks if floats appear on the same page
-that a \env{longtable} starts. As this may affect page breaking in
-existing documents, a rollback to \pkg{longtable 4.13}
-(\file{longtable-2020-01-07.sty}) is supported.
+
+This is a minor update to the \pkg{longtable} package that fixes several
+reported bugs: notably the possibility of incorrect page breaks when
+floats appear on the page where a \env{longtable} starts. As this may
+affect page breaking in existing documents, a rollback to
+\pkg{longtable 4.13} (\file{longtable-2020-01-07.sty}) is supported.
%
\gnatsissue{tools}{2914 3396 3512}
-\githubissue{133 183 464}
+\githubissue{133 137 183 464 561}
-\subsection[\pkg{trace}: Add \cs{tracingstacklevels}
- and \cs{tracinglostchars}\texttt{=3} to \cs{traceon}]
- {\pkg{trace}: Add \cs{tracingstacklevels} and\\
- \mbox\quad \cs{tracinglostchars}\texttt{=3} to \cs{traceon}}
+\subsection{\pkg{trace}: Additions to \cs{traceon}}
-The enhancement mentioned earlier was also added to the \pkg{trace} package.
-%
-\iffalse
-The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions
-mentioned earlier for \cs{tracingall} were also added for
-\cs{traceon} in the \pkg{trace} package, so if you're using that you
-can also benefit from these new debugging tools.
-\fi
-%
+The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions to
+\cs{tracingall} (see above) were also added to \cs{traceon} in the
+\pkg{trace} package, so its users can also benefit from these new
+debugging possibilities.
%
\githubissue{524}
-
-
\subsection{\pkg{bm}: Better support for commands with optional arguments}
-Some uses of optional arguments that were supported by \cs{bm} stopped
-being supported (in 2004) when \cs{kernel@ifnextchar} was used
-internally by the format instead of \cs{@ifnextchar}. This update
-handles both versions of this command and restores the original
-behaviour.
-In addition package options for guiding the use of \enquote{poor man's
- bold} in fallback situations were added.
+Some uses of optional arguments in \cs{bm} stopped being supported (in
+2004) when \cs{kernel@ifnextchar} was used internally by the format
+instead of \cs{@ifnextchar}. This update handles both versions of this
+command and restores the original \mbox{behavior}.
+
+In addition, package options for guiding the use of \enquote{poor
+ man's bold} in fallback situations were added.
%
\githubissue{554}
-\section{Changes to packages in the \pkg{amsmath} category}
-%\subsection{\pkg{amsmath}: Make \cs{\textbackslash} generally robust}
-The fix for issue 548 was also applied in \pkg{amsmath}, see above.
+\section{Changes to packages in the \pkg{amsmath} category}
+
+The fix for issue 548 was also applied in \pkg{amsmath}; see above.
%
\githubissue{548}
-%\medskip
+
+
+\medskip
\begin{thebibliography}{9}
\fontsize{9.3}{11.3}\selectfont
\bibitem{33:blueprint} Frank Mittelbach and Chris Rowley:
- \emph{\LaTeX{} Tagged PDF — A blueprint for a large project}.\\
+ \emph{\LaTeX{} Tagged PDF \Dash A blueprint for a large project}.\\
\url{https://latex-project.org/publications/indexbyyear/2020/}
\bibitem{33:source2e}
diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx
index 69bfa1f036..b1b3a24096 100644
--- a/macros/latex-dev/base/ltoutput.dtx
+++ b/macros/latex-dev/base/ltoutput.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2020/12/06 v1.4f LaTeX Kernel (Output Routine)]
+ [2021/05/05 v1.4g LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -1134,7 +1134,7 @@
\global \advance \@colht \@tempdima
\ifx \@dbltoplist \@empty
\else
- \@latexerr{Float(s) lost}\@ehb
+ \@latex@error{Float(s) lost}\@ehb
\let \@dbltoplist \@empty
\fi
\@cons \@dbltoplist \@currbox
@@ -1525,7 +1525,7 @@
\global \@colroom \@colht
\ifx \@currlist\@empty
\else
- \@latexerr{Float(s) lost}\@ehb
+ \@latex@error{Float(s) lost}\@ehb
\global \let \@currlist \@empty
\fi
\@makefcolumn\@deferlist
@@ -3920,9 +3920,9 @@
%</trace>
\@tempskipa#2\relax
\ifdim \@tempskipa>.5\maxdimen
- \@latexerr{Suggested\space extra\space height\space
- (\the\@tempskipa)\space dangerously\space
- large}\@eha
+ \@latex@error{Suggested\space extra\space height\space
+ (\the\@tempskipa)\space dangerously\space
+ large}\@eha
\else
\ifdim \vsize<.5\maxdimen
%<*trace>
@@ -3940,8 +3940,8 @@
\fi
%</trace>
\else
- \@latexerr{Page\space height\space already\space
- too\space large}\@eha
+ \@latex@error{Page\space height\space already\space
+ too\space large}\@eha
\fi
\fi
}
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index 8984f1ccb5..a9b55237f1 100644
--- a/macros/latex-dev/base/ltpara-code.pdf
+++ b/macros/latex-dev/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf
index c8bff05546..f383268f22 100644
--- a/macros/latex-dev/base/ltpara-doc.pdf
+++ b/macros/latex-dev/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara.dtx b/macros/latex-dev/base/ltpara.dtx
index ad503b68e2..5ab52a5e9b 100644
--- a/macros/latex-dev/base/ltpara.dtx
+++ b/macros/latex-dev/base/ltpara.dtx
@@ -14,8 +14,8 @@
%%% From File: ltpara.dtx
%
% \begin{macrocode}
-\def\ltparaversion{v1.0f}
-\def\ltparadate{2021/04/16}
+\def\ltparaversion{v1.0g}
+\def\ltparadate{2021/05/27}
% \end{macrocode}
%<*driver>
\documentclass{l3doc}
@@ -672,6 +672,8 @@
%<@@=para>
% \end{macrocode}
%
+% \changes{v1.0g}{2021/05/24}{Use \cs{msg_...} instead of \cs{__kernel_msg...}}
+%
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
@@ -751,7 +753,7 @@
% we can detect and report if the \hook{para/before} hook illegally
% changed out of vmode.
% \begin{macrocode}
- \tex_everypar:D { \__kernel_msg_error:nnnn {para}{mode}{before}{vertical} }
+ \tex_everypar:D { \msg_error:nnnn { hooks }{ para-mode }{before}{vertical} }
\@kernel@before@para@before
\hook_use:n {para/before}
% \end{macrocode}
@@ -785,7 +787,7 @@
% If we aren't in horizontal mode any longer the hooks above misbehaved.
% \begin{macrocode}
\if_mode_horizontal: \else:
- \__kernel_msg_error:nnnn {para}{mode}{begin}{vertical} \fi:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
% \end{macrocode}
% Finally we reinsert the indentation box (unless suppressed) and
% then call \cs{everypar} the way legacy \LaTeX\ code expects it.
@@ -1047,7 +1049,7 @@
% If we haven't been in horizontal mode then the earlier hook
% \hook{para/end} is at fault and we report that.
% \begin{macrocode}
- { \__kernel_msg_error:nnnn {para}{mode}{end}{horizontal} }
+ { \msg_error:nnnn { hooks }{ para-mode }{end}{horizontal} }
% \end{macrocode}
% Finally close out the nested conditionals.
% \begin{macrocode}
@@ -1088,7 +1090,7 @@
\@@_handle_indent:
\the\everypar }
}
- { \__kernel_msg_error:nn {para}{raw} }
+ { \msg_error:nn { kernel }{ raw-para } }
\tex_indent:D
}
% \end{macrocode}
@@ -1101,7 +1103,7 @@
\tex_everypar:D { \g_@@_standard_everypar_tl }
\the\everypar }
}
- { \__kernel_msg_error:nn {para}{raw} }
+ { \msg_error:nn { kernel }{ raw-para } }
\tex_noindent:D
}
% \end{macrocode}
@@ -1158,8 +1160,9 @@
% paragraph.
% The first argument is the hook name second the mode
% it should have stayed in but didn't.
-% \begin{macrocode}
-\__kernel_msg_new:nnnn {para} {mode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
Hook~ code~ did~ not~ remain~ in~ #2~ mode.
@@ -1168,21 +1171,23 @@
Paragraph~ hooks~ cannot~ change~ the~ TeX~ mode~ without~ causing~
endless~ recursion.~ The~ hook~ code~ in~ 'para/#1'~ needs~ to~ stay~
in~ #2~ mode,~ but~ it~ didn't.~ Examine~ the~ hook~
- code~ with~ \ShowHook~ to~ find~ the~ issue.
+ code~ with~ \iow_char:N \\ShowHook~ to~ find~ the~ issue.
}
% \end{macrocode}
%
% And here is one used in the \enquote{raw} commands when they are
% used outside of vertical mode.
% \begin{macrocode}
-\__kernel_msg_new:nnnn {para} {raw}
+\msg_new:nnnn { kernel } { raw-para }
{
- Paragraph started while not in vertical mode.
+ Not~ in~ vertical~ mode.
}
{
- Starting a paragraph with \RawIndent or \RawNoindent
- (or \para_raw_indent: or \para_raw_noindent:) is only
- allowed if LaTeX is in vertical mode.
+ Starting~ a~ paragraph~ with~ \iow_char:N \\RawIndent~ or~
+ \iow_char:N \\RawNoindent \\
+ (or~ \iow_char:N \\para_raw_indent:~ or~
+ \iow_char:N \\para_raw_noindent:)~ is~ only~ allowed \\
+ if~ LaTeX~ is~ in~ vertical~ mode.
}
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index 828e444c2f..2572de0e02 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 4c8457428f..7fece645c8 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index fe50d75a8f..20efb4509e 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>
- {2021-06-01}
+ {2021-12-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-3}
+\def\patch@level{0}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 2788cb0a36..eac1bd7868 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.pdf b/macros/latex-dev/base/ltxdoc.pdf
index aa2a071366..7ee087bfd9 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/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 42d3a434e9..bcc83fe99d 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.pdf b/macros/latex-dev/base/manual.pdf
index cb9024f559..af10de35fc 100644
--- a/macros/latex-dev/base/manual.pdf
+++ 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 0edb139e19..9fed1a2afa 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.pdf b/macros/latex-dev/base/nfssfont.pdf
index 8e6a4987f3..cd1c7a0cb6 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 b0d4032019..fe4a87ed37 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 3116ccc852..2880f7e621 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 faa2053db2..88753cd798 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 fbc7f5ac41..1be35a8dfd 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 2156a292b9..72a10a0a10 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.pdf b/macros/latex-dev/base/tlc2.pdf
index dd55f4b589..a4fd67964c 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ 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 34f1ca3ce0..a9acd70daf 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 80d5bc6a1e..0546617e22 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/usrguide3.pdf b/macros/latex-dev/base/usrguide3.pdf
index 3e2c599b39..84266a6d86 100644
--- a/macros/latex-dev/base/usrguide3.pdf
+++ b/macros/latex-dev/base/usrguide3.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index 625decf88d..6b0881842c 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.pdf b/macros/latex-dev/base/webcomp.pdf
index 7267cc5344..d0e4064414 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ 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 dd71ffef61..d543380614 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 2021-05-01 pre-release 0
+Release 2021-12-01 pre-release 0
Overview
--------
@@ -77,5 +77,5 @@ version 1.3c or later.
-----
<p>Copyright (C) 2001-2004, 2007, 2008, 2010, 2011, 2013 American Mathematical Society. <br />
-<p>Copyright (C) 2016-2020 The LaTeX Project and American Mathematical Society. <br />
+<p>Copyright (C) 2016-2021 The LaTeX Project and American Mathematical Society. <br />
diff --git a/macros/latex-dev/required/amsmath/amsbsy.dtx b/macros/latex-dev/required/amsmath/amsbsy.dtx
index 1174784278..8557c6534a 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.dtx
+++ b/macros/latex-dev/required/amsmath/amsbsy.dtx
@@ -2,7 +2,8 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021
+% LaTeX 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
@@ -14,7 +15,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsbsy.ins b/macros/latex-dev/required/amsmath/amsbsy.ins
index 07707907e9..9194608622 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.ins
+++ b/macros/latex-dev/required/amsmath/amsbsy.ins
@@ -1,6 +1,7 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021
+% LaTeX 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
@@ -12,7 +13,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +25,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +38,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 1cc7898f92..999a16ba0b 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.dtx b/macros/latex-dev/required/amsmath/amscd.dtx
index 12e94a11dc..f3528dd7c1 100644
--- a/macros/latex-dev/required/amsmath/amscd.dtx
+++ b/macros/latex-dev/required/amsmath/amscd.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amscd.ins b/macros/latex-dev/required/amsmath/amscd.ins
index 5890ca06c1..30b2f28177 100644
--- a/macros/latex-dev/required/amsmath/amscd.ins
+++ b/macros/latex-dev/required/amsmath/amscd.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index a69b03715c..4f885d5b9c 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.dtx b/macros/latex-dev/required/amsmath/amsgen.dtx
index 92df548f12..10ac58b18e 100644
--- a/macros/latex-dev/required/amsmath/amsgen.dtx
+++ b/macros/latex-dev/required/amsmath/amsgen.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsgen.ins b/macros/latex-dev/required/amsmath/amsgen.ins
index be7720bc89..aacb6e0c39 100644
--- a/macros/latex-dev/required/amsmath/amsgen.ins
+++ b/macros/latex-dev/required/amsmath/amsgen.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 7af209fae9..6282db6a6e 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 ba52c32f76..373af4649a 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 b29a8b8468..26ea6cf808 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.tex
+++ b/macros/latex-dev/required/amsmath/amsldoc.tex
@@ -1,6 +1,6 @@
%
% Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
\documentclass[leqno,titlepage,openany]{amsldoc}[1999/12/13]
@@ -63,7 +63,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% End definitions for amsldoc.cls
\title{User's Guide for the \nipkg{amsmath} Package (Version~2.1)}
-\author{American Mathematical Society, \LaTeX3 Project}
+\author{American Mathematical Society, \LaTeX\ Project}
\date{1999-12-13\\(revised 2002-02-25, 2016-11-14, 2018-04-05, 2019-10-14, 2020-02-18)}
\makeatletter
\def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}}
diff --git a/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
index 6bcb03e217..ab45172a32 100644
--- a/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+++ b/macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
@@ -6,8 +6,8 @@
%%
%% amsmath.dtx
%%
-%% Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -19,7 +19,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
diff --git a/macros/latex-dev/required/amsmath/amsmath.dtx b/macros/latex-dev/required/amsmath/amsmath.dtx
index 7f324700f6..8857861101 100644
--- a/macros/latex-dev/required/amsmath/amsmath.dtx
+++ b/macros/latex-dev/required/amsmath/amsmath.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2020/09/23 v2.17i AMS math features]
+\ProvidesPackage{amsmath}[2021/04/20 v2.17j AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -2752,8 +2752,9 @@ ill-advised in LaTeX.%
% \textit{u} template of the current column if the author ended the
% current row with an empty column (i.e., the mathcr was immediately
% preceded by an ampersand).
+% \changes{v2.17j}{2021/04/20}{Use \cs{protected} for \cs{\bslash} variant (gh/548)}
% \begin{macrocode}
-\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi
+\protected\def\math@cr{\relax\iffalse{\fi\ifnum0=`}\fi
% \end{macrocode}
% The first step is now to check whether an asterisk follows.
% \cs{@eqpen} is used to hold the penalty value to be put on
diff --git a/macros/latex-dev/required/amsmath/amsmath.ins b/macros/latex-dev/required/amsmath/amsmath.ins
index 55e4089804..1bb73101bb 100644
--- a/macros/latex-dev/required/amsmath/amsmath.ins
+++ b/macros/latex-dev/required/amsmath/amsmath.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index 58751777c9..74b242c29a 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.dtx b/macros/latex-dev/required/amsmath/amsopn.dtx
index 35c3b1605b..a71c13d6c8 100644
--- a/macros/latex-dev/required/amsmath/amsopn.dtx
+++ b/macros/latex-dev/required/amsmath/amsopn.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsopn.ins b/macros/latex-dev/required/amsmath/amsopn.ins
index 84aff6243b..72c649c340 100644
--- a/macros/latex-dev/required/amsmath/amsopn.ins
+++ b/macros/latex-dev/required/amsmath/amsopn.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index a25d472d9a..4df94fefcc 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/amstex.sty b/macros/latex-dev/required/amsmath/amstex.sty
index 6ce36f52c9..e620746a54 100644
--- a/macros/latex-dev/required/amsmath/amstex.sty
+++ b/macros/latex-dev/required/amsmath/amstex.sty
@@ -1,8 +1,8 @@
%
% \iffalse meta-comment
%
-% Copyright 1995, 1999 American Mathematical Society.
-% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 1995, 1999 American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amstext.dtx b/macros/latex-dev/required/amsmath/amstext.dtx
index 5e7e6ca672..d6475561fb 100644
--- a/macros/latex-dev/required/amsmath/amstext.dtx
+++ b/macros/latex-dev/required/amsmath/amstext.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amstext.ins b/macros/latex-dev/required/amsmath/amstext.ins
index 5f9a5c4076..5578a7e947 100644
--- a/macros/latex-dev/required/amsmath/amstext.ins
+++ b/macros/latex-dev/required/amsmath/amstext.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index 479942cd74..f3e0dab818 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.dtx b/macros/latex-dev/required/amsmath/amsxtra.dtx
index 9cc0b71027..aaa5fd1a2d 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.dtx
+++ b/macros/latex-dev/required/amsmath/amsxtra.dtx
@@ -2,7 +2,7 @@
% \iffalse meta-comment
%
% Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2021 LaTeX 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
@@ -14,7 +14,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is the LaTeX3 Project.
+% The Current Maintainer of this work is the LaTeX Project.
%
% \fi
%
diff --git a/macros/latex-dev/required/amsmath/amsxtra.ins b/macros/latex-dev/required/amsmath/amsxtra.ins
index bbcd08e3f7..7eca6e065a 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.ins
+++ b/macros/latex-dev/required/amsmath/amsxtra.ins
@@ -1,6 +1,6 @@
%%
-%% Copyright 2010 American Mathematical Society.
-%% Copyright 2016 LaTeX3 Project and American Mathematical Society.
+%% Copyright (C) 2010 American Mathematical Society.
+%% Copyright (C) 2016-2021 LaTeX 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
@@ -12,7 +12,7 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is the LaTeX3 Project.
+%% The Current Maintainer of this work is the LaTeX Project.
%%
%% ====================================================================
@@ -24,8 +24,8 @@
\preamble
-Copyright 1995, 1999 American Mathematical Society.
-Copyright 2016 LaTeX3 Project and American Mathematical Society.
+Copyright (C) 1995, 1999 American Mathematical Society.
+Copyright (C) 2016-2021 LaTeX 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
@@ -37,7 +37,7 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is the LaTeX3 project.
+The Current Maintainer of this work is the LaTeX Project.
\endpreamble
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index b0e0f66d37..c379472faf 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 eb87a6e666..63bea7e727 100644
--- a/macros/latex-dev/required/amsmath/changes.txt
+++ b/macros/latex-dev/required/amsmath/changes.txt
@@ -3,12 +3,21 @@ All changes above are only part of the development branch for the next release.
================================================================================
#########################
+# 2021-06-01 Release
+#########################
+
+2021-04-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * amsmath.dtx (subsection{Preliminary macros}):
+ Use \protected for \\ variant (gh/548)
+
+#########################
# 2020-10-01 Release
#########################
2020/09/23 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* amsmath.dtx (subsection{Fractions}):
- added \cs{Ustack} to \cs{frac} and \cs{genfrac} for luatex
+ added \Ustack to \frac and \genfrac for luatex
(moved patch from lualatex-math)
* amsmath.dtx (section{Array-related environments})
changed subarray for luatex: moved to version from lualatex-math
diff --git a/macros/latex-dev/required/amsmath/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 31caecf259..b8ad174232 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 d3403770f0..375db6b423 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 15fa991ee9..f11b508170 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/firstaid/changes.txt b/macros/latex-dev/required/firstaid/changes.txt
index 24b6eae4f6..d7823c21a1 100644
--- a/macros/latex-dev/required/firstaid/changes.txt
+++ b/macros/latex-dev/required/firstaid/changes.txt
@@ -1,3 +1,11 @@
+2021-03-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ bigfoot incorrectly assumes insertions being ordered, so this is
+ enforced for now.
+ We also fix \FN@allmarks which can blow as it loops using the
+ wrong counter (so the loops runs a random number of times)
+
2021-01-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
diff --git a/macros/latex-dev/required/firstaid/firstaid.ins b/macros/latex-dev/required/firstaid/firstaid.ins
index 6a1dbaa853..cd5ea2006d 100644
--- a/macros/latex-dev/required/firstaid/firstaid.ins
+++ b/macros/latex-dev/required/firstaid/firstaid.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright (C) 2020,2021
+%% Copyright (C) 2020-2021
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
index a74cb79a78..7eb108418c 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -1,6 +1,7 @@
% \iffalse meta-comment
%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020,2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%
@@ -110,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2021/02/24}
-\def\LaTeXFirstAidVersion{v1.0k}
+\def\LaTeXFirstAidDate{2021/03/15}
+\def\LaTeXFirstAidVersion{v1.0l}
% \end{macrocode}
%
% \begin{macrocode}
@@ -507,6 +508,44 @@
% \end{macrocode}
%
%
+%
+%
+%
+% \subsection{The \pkg{bigfoot} first aid}
+%
+% The \pkg{bigfoot} packages makes the assumption that two
+% \cs{newinsert} allocations have a recognisable order in their
+% numbers, the second one has a lower number. This was correct in
+% the classic \TeX{} implementation but with the extended
+% allocation possibilities of all modern engines is no longer the
+% case and there is a point where the allocations take a ``jump''
+% breaking the odering assumption. These days we are fairly close
+% to that point and depending on how many packages are loaded
+% before \pkg{bigfoot} the package breaks.
+%
+% This firstaid therefore jumps over the problematical point by
+% pushing the count allocation to a safe value if necessary.
+% \begin{macrocode}
+\AddToHook{file/after/bigfoot.sty}{%
+ \ifnum\count10<\insc@unt
+ \global\count10=\insc@unt
+ \fi
+% \end{macrocode}
+% We also correct a bug that \pkg{bigfoot} tries to shift mark
+% registers, but in \LaTeX{} (at least since 2015) the allocation
+% number is not 266, so it does that to a random number of mark
+% registers (which sometimes blows up depending on the value in 266).
+% \begin{macrocode}
+ \def\FN@allmarks#1{\@elt{#1}%
+ \ifnum#1<\count256 %<--- problem: 266 isn't the counter for marks
+ \expandafter\FN@allmarks\expandafter{\number\numexpr#1+\@ne}%
+ \fi}%
+}
+% \end{macrocode}
+%
+%
+%
+%
% \subsection[Temporary fixes for the kernel (until the next
% patch-level release)]
% {Temporary fixes for the kernel \\
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
index eecccbc8f6..eaf6567b15 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index b9d06376c6..c91e2aeab0 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 2021-06-01 pre-release 1
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index 980d2b33e4..0616e3b692 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,6 +4,14 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2021-16-01 Release
+#########################
+
2021-03-04 Phelype Oleinik <phelype.oleinik@latex-project.org>
* graphics.dtx: fix loading gzipped .(e)ps graphics files.
@@ -20,10 +28,6 @@ are not part of the distribution.
* graphics.dtx: Avoid warning when loading a file using a generic rule (gh/516).
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
2020-12-05 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* graphics.dtx: fix missing default in quiet key.
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index b4d0a03cd8..dd3985df0d 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 617f4f8ec3..c6af822ebb 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 7cdd87b5d0..fb40d308a9 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.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index 7dea8f5a99..df54344b4b 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 56d9451077..6b1f0cccdb 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 c6a4b2a5ca..49b150e493 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 41cbbcb3f8..b4ff7dbfd1 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 4caf895c6b..654015f72a 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 b57235b7fe..a65a2c0f0b 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 9659ba3101..5f4321501f 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 5c1f68dffc..789a62c69a 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 5ff7b0d1e0..0b1b308799 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 2021-06-01 pre-release 2
+Release 2021-12-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index 918b9bbe27..4a7e94d148 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 175a0b8dfe..2a0e38ba62 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 125a480d07..7973845ac7 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 ec12e97f64..8024058852 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 005a3ed4bc..17278e4a54 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -6,6 +6,19 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2021-06-01 Release
+#########################
+
+2021-05-07 David Carlisle <David.Carlisle@latex-project.org>
+
+ * longtable.dtx: write lists of tables entry to the file with
+ extension \ext@table, not force .lot github/561
+
2021-04-25 David Carlisle <David.Carlisle@latex-project.org>
* bm.dtx: guard \kernel@ifnextchar (gh/554)
@@ -68,11 +81,6 @@ are not part of the distribution.
* layout.dtx: (subsection{Options}):
Option japanese added (gh/353)
-
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
#########################
# 2020-10-01 Release
#########################
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 2293c86e99..ed97229255 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 951882d630..6f00a67dd9 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 f6be172ebf..9e48d4a087 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 298c7ba4d6..7a5eab8cf4 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 6a66ff7089..eafd38abd1 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 a3addcfc41..8a7c4c4c94 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 ee80fb369b..23fde95eb4 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 3e93185eae..3ee72ae32b 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 98bb6ab28c..adab2be7a1 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.dtx b/macros/latex-dev/required/tools/longtable.dtx
index 5569ae3d5c..457891dac7 100644
--- a/macros/latex-dev/required/tools/longtable.dtx
+++ b/macros/latex-dev/required/tools/longtable.dtx
@@ -37,7 +37,7 @@
%<driver> \ProvidesFile{longtable.drv}
% \fi
% \ProvidesFile{longtable.dtx}
- [2021-04-21 v4.15 Multi-page Table package (DPC)]
+ [2021-05-07 v4.16 Multi-page Table package (DPC)]
%
% \iffalse
%<*driver>
@@ -1970,13 +1970,15 @@
% {Call \cs{LT@makecaption} not \cs{LT@mkcaption}}
% \changes{v3.14}{1995/05/24}
% {Add new control argument}
+% \changes{v4.16}{2021/05/07}
+% {use \cs{ext@table} gh/561}
% \begin{macrocode}
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
- \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
+ \addcontentsline{\ext@table}{table}{\protect\numberline{\thetable}{#2}}}%
\fi}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index c503bd9123..a6459b2ecd 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.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 556603f749..ba15c5c6a9 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 424fb693b0..50b8f778f9 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.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 94dea41431..63bd149aed 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 c558d2fbd2..1b100e1f20 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 7dc1936536..df44c3acbe 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 574096cd7a..b4cb4713f3 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 196dc13cce..37a4b9b86c 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 6fd1756018..74171e9aa5 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 35d766b041..fdee99e72e 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.pdf b/macros/latex-dev/required/tools/varioref.pdf
index d8fa68c00b..9f1a0a94da 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.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 9ad8bc66e3..f3a67abf25 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.pdf b/macros/latex-dev/required/tools/xr.pdf
index cf60d6ef58..e8cdf21a7a 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 d1540186ef..d8335ddee4 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ