summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/base')
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin223819 -> 223831 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin242888 -> 242888 bytes
-rw-r--r--macros/latex-dev/base/changes.txt66
-rw-r--r--macros/latex-dev/base/classes.pdfbin560350 -> 560350 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin402780 -> 402780 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292376 -> 292376 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin239689 -> 239689 bytes
-rw-r--r--macros/latex-dev/base/doc-code.pdfbin1074034 -> 1081761 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx18
-rw-r--r--macros/latex-dev/base/doc.pdfbin747853 -> 755188 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin503768 -> 503774 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1318126 -> 1318126 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin204711 -> 204711 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287733 -> 288328 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin502880 -> 502880 bytes
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin161713 -> 161713 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin221211 -> 221211 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318204 -> 318204 bytes
-rw-r--r--macros/latex-dev/base/lamport-manual.pdfbin170878 -> 170878 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin281906 -> 281906 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin200760 -> 200760 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252140 -> 252140 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin337666 -> 337706 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin215684 -> 215684 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132382 -> 132382 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin719854 -> 720249 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin478694 -> 479100 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin802690 -> 803034 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin548384 -> 548731 bytes
-rw-r--r--macros/latex-dev/base/ltfiles.dtx12
-rw-r--r--macros/latex-dev/base/ltfinal.dtx19
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1096982 -> 1096874 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin703881 -> 703775 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx11
-rw-r--r--macros/latex-dev/base/ltkeys.dtx29
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin317700 -> 317700 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-code.pdfbin712120 -> 715660 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-doc.pdfbin587238 -> 587106 bytes
-rw-r--r--macros/latex-dev/base/ltmarks.dtx69
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1181191 -> 1180993 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin161518 -> 161518 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin159792 -> 159792 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin159332 -> 159332 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin152525 -> 152525 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin174494 -> 174494 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142849 -> 142849 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin137811 -> 137811 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155053 -> 155053 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin129570 -> 129570 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin169416 -> 169416 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin111948 -> 111948 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin156551 -> 156551 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin182225 -> 182225 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin170473 -> 170473 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130309 -> 130309 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin138073 -> 138073 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166228 -> 166228 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin38033 -> 38033 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin230028 -> 230028 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin318548 -> 318548 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin244867 -> 244867 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin317773 -> 317773 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin286591 -> 286591 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265279 -> 265279 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin204935 -> 204935 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379462 -> 379462 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin250592 -> 250592 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin376643 -> 376643 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin455107 -> 455107 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin511909 -> 511909 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526323 -> 526323 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546160 -> 546160 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin522412 -> 522412 bytes
-rw-r--r--macros/latex-dev/base/ltnews34.pdfbin508044 -> 508044 bytes
-rw-r--r--macros/latex-dev/base/ltnews35.pdfbin563917 -> 563513 bytes
-rw-r--r--macros/latex-dev/base/ltnews35.tex194
-rw-r--r--macros/latex-dev/base/ltoutenc.dtx5
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin667013 -> 667130 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin560485 -> 560603 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin820725 -> 820873 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin565027 -> 565171 bytes
-rw-r--r--macros/latex-dev/base/ltvers.dtx2
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219349 -> 219349 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.dtx54
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin233208 -> 243273 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin165821 -> 165821 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin243605 -> 243605 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin211180 -> 211180 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin227059 -> 227059 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin375518 -> 375518 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin234191 -> 234191 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin5756258 -> 5760499 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin189746 -> 189789 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin290615 -> 290615 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin162772 -> 162772 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin430994 -> 430994 bytes
-rw-r--r--macros/latex-dev/base/usrguide3.pdfbin403394 -> 403394 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.dtx9
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin353419 -> 353405 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146198 -> 146198 bytes
101 files changed, 337 insertions, 153 deletions
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 538308afb5..769562d502 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2022-06-01 pre-release 4
+Release 2022-11-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index bc983daed3..22d164744b 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 8315ec1650..b1b3d28e57 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 a201a2a5af..ce72312d3d 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,67 @@ 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.
+================================================================================
+
+2022-06-16 Joseph Wright <Joseph.Wright@latex-proejct.org>
+
+ * ltkeys.dtx (subsection{Main mechanism})
+ Remove key name but avoid touching key value in \@unusedoptionlist
+
+2022-06-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx (subsubsection{Disabling and providing hooks}):
+ Ensure that a newly activated generic hook gets its execution code set
+
+2022-06-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx: Delay definitions of \enquote etc in case they get defined in
+ the preamble of existing documents.
+
+#########################
+# 2022-06-01 Release
+#########################
+
+2022-06-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Fix \guillemetleft and \guillemetright also in dfu files (gh/65)
+
+2022-06-03 David Carlisle <David.Carlisle@latex-project.org>
+
+ * doc.dtx: adjust ltxdoc.cls and doc.dtx to process existing
+ use of L3 names and \pkg in base dtx files
+
+2022-06-02 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfinal.dtx: add \NoCaseChange (previously available in the
+ textcase package)
+
+2022-06-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx (subsection{Updating mark structures}):
+ Be more careful when unpackage a \vbox for mark detection, it might
+ contain infinite shrink glue (gh/836)
+
+2022-05-27 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx, ltoutenc.dtx:
+ save the original version string in \ver@@...
+ Usable by \listfiles if the standard \ver@... command has been set to \relax
+ (as in fontenc.sty) gh/825
+
+2022-05-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{Customisation}):
+ Added option doc2 so that old doc version can be requested (gh/822)
+
+2022-05-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection{Processing the package keys}):
+ Adjusted doc to use \ProcessKeyOptions (not the older l3keys2e variant)
+
2022-05-17 Phelype Oleinik <phelype.oleinik@latex-project.org>
* lthooks.dtx (subsection{Setting rules for hooks code}):
@@ -287,11 +348,6 @@ are not part of the distribution.
Added our default .cfg for extraction.
Added option "nocfg" to bypass a system cfg.
-
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
#########################
# 2021-11-15 PL1 Release
#########################
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index cbc4d1fb76..a782718ef0 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 c0ef4af945..e39b67d6f1 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 2807736b25..16babe34e8 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 1b82918cf5..8f10c4a5b3 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-code.pdf b/macros/latex-dev/base/doc-code.pdf
index 4ac1ea4981..01ee8fae11 100644
--- a/macros/latex-dev/base/doc-code.pdf
+++ b/macros/latex-dev/base/doc-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.dtx b/macros/latex-dev/base/doc.dtx
index 7c602327ef..d6b21744df 100644
--- a/macros/latex-dev/base/doc.dtx
+++ b/macros/latex-dev/base/doc.dtx
@@ -45,7 +45,7 @@
%<+package>
%<+package>\ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2022/06/01 v3.0h
+%<+package|shortvrb> [2022/06/08 v3.0j
%<+package|shortvrb> Standard LaTeX documentation package V3 (FMi)]
%\catcode`\<=12
%
@@ -146,11 +146,12 @@
%
% \newcommand{\DOC}{\texttt{doc}\xspace}
%
-% \newcommand\env{\texttt}
-% \newcommand\opt{\texttt}
-% \newcommand\cls{\texttt}
-% \newcommand\pkg{\texttt}
-% \newcommand\prg{\textsf}
+% \changes{v3.0j}{2022/06/02}{Use \cs{providecommand} to define \cs{pkg}}
+% \providecommand\env{\texttt}
+% \providecommand\opt{\texttt}
+% \providecommand\cls{\texttt}
+% \providecommand\pkg{\texttt}
+% \providecommand\prg{\textsf}
%
% \newcommand\DOX{\env{DoX}\xspace}
% \newcommand\api{\textsc{api}\xspace}
@@ -276,7 +277,7 @@
% that are upwards compatible but hopefully serve well. Most
% important modifications are the integration of the
% \pkg{hypdoc} package to enable links within the document (in
-% particular from the index) is so desired. Also integrated are the
+% particular from the index) if so desired. Also integrated are the
% ideas from the \DOX package by Didier Verna (although I
% offer a different interface that imho fits better with the rest
% of \DOC's interfaces). Finally I updated a few odds and ends.
@@ -1909,7 +1910,6 @@
% \fmi{cleanup replacement of kvoptions}
%
% \begin{macrocode}
-\RequirePackage{l3keys2e}
\ExplSyntaxOn
% \end{macrocode}
% Some keys are available as options for use in \cs{usepackage} some are
@@ -2020,7 +2020,7 @@
% \subsection{Processing the package keys}
%
% \begin{macrocode}
-\ProcessKeysOptions {doc}
+\ProcessKeyOptions
% \end{macrocode}
%
%
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index cc5d0ad4d3..b7f2d52ba1 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 a71f006131..5891ba52e5 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 6084673c5d..55a843b9b2 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 bc20e6ccb6..cb8356298f 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 5c56b6041e..eee7e7d9c3 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 a5c53bd701..c155ce98b2 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 b955b8e02c..8168a99044 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 44e1254fc7..73fe175dc8 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 ed4ce98b80..406e3d6fa4 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/lamport-manual.pdf b/macros/latex-dev/base/lamport-manual.pdf
index b06c9fa36f..4383556908 100644
--- a/macros/latex-dev/base/lamport-manual.pdf
+++ b/macros/latex-dev/base/lamport-manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index 3917a237d8..732bfb26f8 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 fa2020f802..2dc448b292 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 94d2e4cb83..ba5f34dd12 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 07fbb31013..ff3ce8c44d 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 bace4811a6..e2882d2b05 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 751e539025..9649fdb741 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/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index 94ce0ae1df..f14ffecd0a 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 4bda875791..4c53d8ec8c 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/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index ed49754bc3..4b061d2a0a 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 b49703fba7..046c4c96ab 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/ltfiles.dtx b/macros/latex-dev/base/ltfiles.dtx
index 2a87756da5..d99dfdcd48 100644
--- a/macros/latex-dev/base/ltfiles.dtx
+++ b/macros/latex-dev/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2022/04/01 v1.2q LaTeX Kernel (File Handling)]
+ [2022/05/27 v1.2r LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -1640,6 +1640,7 @@
%
% \changes{v1.0o}{1994/11/30}
% {Use \cs{@dofilelist}}
+% \changes{v1.2r}{2022/05/27}{Try saved version string, if ver@.. is \cs{relax} (gh/825)}
% \begin{macrocode}
\def\@dofilelist{%
\typeout{^^J *File List*}%
@@ -1650,6 +1651,15 @@
\ifx\filename@ext\relax tex\else\filename@ext\fi}%
\expandafter\let\expandafter\reserved@b
\csname ver@\reserved@a\endcsname
+% \end{macrocode}
+% Packages that \cs{relax} their \cs{ver@...} string to allow for
+% multiple loading (e.g., \pkg{fontenc}) can use \cs{ver@@...} to
+% store the version information instead.
+% \begin{macrocode}
+ \ifx\reserved@b\relax
+ \expandafter\let\expandafter\reserved@b
+ \csname ver@@\reserved@a\endcsname
+ \fi
\expandafter\expandafter\expandafter\@listfiles\expandafter
\filename@area\filename@base\\\\\\\\\\\\\\\\\\\@@
\typeout{%
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 5857e6cf58..b1b8ff953b 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2022/04/21 v2.2t LaTeX Kernel (Final Settings)]
+ [2022/06/02 v2.2u LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -273,9 +273,9 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{trace_stack_levels}
+% \begin{macro}{trace\string_stack\string_levels}
% Now define the Lua function to emulate \cs{tracingstacklevels} and
-% install it in the \texttt{input_level_string} callback.
+% install it in the |input_level_string| callback.
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -1064,6 +1064,7 @@
%
% \begin{macro}{\MakeUppercase}
% \begin{macro}{\MakeUppercase}
+% \begin{macro}{\NoCaseChange}
% \begin{macro}{\@uclclist}
% \begin{macro}{\@expl@text@lowercase@@n}
% \begin{macro}{\@expl@text@uppercase@@n}
@@ -1091,10 +1092,17 @@
\ExplSyntaxOn
\protected\def\@expl@text@lowercase@@n{\text_lowercase:n}
\protected\def\@expl@text@uppercase@@n{\text_uppercase:n}
+% \end{macrocode}
+%
+% \changes{v2.2u}{2022/06/02}{Add \cs{NoCaseChange}}
+% |\NoCaseChange| protects its argument from the case change functions.
+% \begin{macrocode}
+\tl_put_right:Nn \l_text_case_exclude_arg_tl { \NoCaseChange }
+\cs_new_protected:Npn \NoCaseChange #1 {#1}
\ExplSyntaxOff
% \end{macrocode}
-
-%% \begin{macrocode}
+%
+% \begin{macrocode}
\DeclareRobustCommand{\MakeUppercase}[1]{{%
\def\i{I}\def\j{J}%
\def\reserved@a##1##2{\let##1##2\reserved@a}%
@@ -1151,6 +1159,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \changes{v1.0h}{1994/05/13}{Added output enc stuff}
% \changes{v1.0i}{1994/05/16}{moved output enc stuff to lfonts}
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index 525b56beb7..ce35e01745 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 079168d1ac..2fcdd13703 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 06a0e8258f..cfa1454775 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.0u}
-\def\lthooksdate{2022/05/19}
+\def\lthooksversion{v1.0v}
+\def\lthooksdate{2022/06/15}
% \end{macrocode}
%
%<*driver>
@@ -2649,6 +2649,13 @@
\@@_make_usable:n {#1}
\tl_gset:cx { g_@@_#1_reversed_tl }
{ \@@_if_generic_reversed:nT {#1} { - } }
+% \end{macrocode}
+% Reflect that we have activated the generic hook and set its
+% execution code.
+% \changes{v1.0v}{2022/06/15}{Ensure that a newly activated generic hook
+% gets its execution code set}
+% \begin{macrocode}
+ \@@_update_hook_code:n {#1}
}
}
}
diff --git a/macros/latex-dev/base/ltkeys.dtx b/macros/latex-dev/base/ltkeys.dtx
index 00c2600289..c6dfa5f6dd 100644
--- a/macros/latex-dev/base/ltkeys.dtx
+++ b/macros/latex-dev/base/ltkeys.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltkeys.dtx}
- [2022/02/21 v1.0f LaTeX Kernel (Kevyal options)]
+ [2022/06/16 v1.0g LaTeX Kernel (Kevyal options)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{ltkeys.dtx}
@@ -277,6 +277,9 @@
% \end{macro}
%
% \begin{macro}{\@@_options_class:n}
+% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
+% \begin{macro}{\@@_options_remove:nnn}
+% \changes{v1.0g}{2022/06/16}{New function}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
@@ -296,18 +299,26 @@
{
\clist_map_inline:cn { opt@ \@currname . \@currext }
{
- \keys_if_exist:neTF
- {#1} { \@@_remove_equals:n {##1} }
- { \clist_put_right:Nn \l_@@_options_clist {##1} }
- { \clist_put_right:Nn \@unusedoptionlist {##1} }
+ \@@_options_remove:enn
+ { \@@_remove_equals:n {##1} }
+ {##1} {#1}
}
}
}
}
+\cs_new_protected:Npn \@@_options_remove:nnn #1#2#3
+ {
+ \keys_if_exist:nnTF {#3} {#1}
+ { \clist_put_right:Nn \l_@@_options_clist {#2} }
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
+\cs_generate_variant:Nn \@@_options_remove:nnn { e }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_package:n}
+% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
% For global options when processing a package, the tasks are slightly
% different from those for a class. The check is the same, but here
% there is nothing to do if the option is not applicable. Each valid
@@ -317,11 +328,9 @@
{
\clist_map_inline:Nn \@classoptionslist
{
- \keys_if_exist:neT {#1} { \@@_remove_equals:n {##1} }
- {
- \clist_put_right:Nn \l_@@_options_clist {##1}
- \clist_remove_all:Nn \@unusedoptionlist {##1}
- }
+ \@@_options_remove:enn
+ { \@@_remove_equals:n {##1} }
+ {##1} {#1}
}
}
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index fb8c77ee95..ca6e145aba 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/ltmarks-code.pdf b/macros/latex-dev/base/ltmarks-code.pdf
index 984ab8635a..8073a3346f 100644
--- a/macros/latex-dev/base/ltmarks-code.pdf
+++ b/macros/latex-dev/base/ltmarks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks-doc.pdf b/macros/latex-dev/base/ltmarks-doc.pdf
index 73362580a4..478db2f574 100644
--- a/macros/latex-dev/base/ltmarks-doc.pdf
+++ b/macros/latex-dev/base/ltmarks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks.dtx b/macros/latex-dev/base/ltmarks.dtx
index e8971c9d6c..3dc4b493ac 100644
--- a/macros/latex-dev/base/ltmarks.dtx
+++ b/macros/latex-dev/base/ltmarks.dtx
@@ -14,8 +14,8 @@
%%% From File: ltmarks.dtx
%
% \begin{macrocode}
-\def\ltmarksversion{v1.0c}
-\def\ltmarksdate{2022/05/06}
+\def\ltmarksversion{v1.0d}
+\def\ltmarksdate{2022/06/01}
% \end{macrocode}
%<*driver>
\documentclass{l3doc}
@@ -826,18 +826,25 @@
\dim_set_eq:NN \tex_vfuzz:D \c_max_dim
% \end{macrocode}
% There is a further complication: if the region contains infinite
-% shrinking glue then a \cs{vsplit} operation will balk with a
+% shrinking glue then a \tn{vsplit} operation will balk with a
% low-level error. Now pages or columns, which are our main concern here, can't
% have such infinite shrinkage if they are cut straight from the
-% galley, however the use of \cs{enlargethispage} actually does add
+% galley, however the use of \tn{enlargethispage} actually does add
% some at the very bottom (and also wraps the whole page into a box
% by itself, so if we leave it this way then a) we get this error
% and b) we don't see any marks because they are hidden one level
% down).
+%
+% Another possible issue are packages or user code that place stray
+% \tn{vbox}es directly into the main galley (an example is
+% \pkg{marginnote} that attaches its marginals in this way). If such
+% boxes end up as the last item on the page we should not unpack
+% them.
%
% We therefore do an \tn{unskip} to get rid of that glue if present and
-% also check if we have then a \cs{vbox} as the last item and if so
-% unpack that too. All this is temporary, just for getting the
+% also check if we have then a \tn{vbox} as the last item and if so
+% unpack that too, but only under certain conditions, see
+% below. All this is temporary, just for getting the
% marks out, so it doesn't affect the final page production.
%
% In fact, we go one step further and set the box to a large
@@ -856,16 +863,50 @@
#2
\tex_unskip:D
\box_set_to_last:N \l_@@_box
- \box_if_vertical:NT \l_@@_box
- { \vbox_unpack:N \l_@@_box }
+% \end{macrocode}
+% After having removed the last box from the current list (if there
+% was one)
+% we check if the list is now empty. If not, the the last box is
+% definitely not the one from \tn{enlargethispage} and so we can
+% and should leave it alone. Otherwise we check if this last box is
+% a \tn{vbox}.
+% \changes{v1.0d}{2022/06/01}{Extend the logic for detecting the marks
+% in the box (gh/836)}
+% \begin{macrocode}
+ \int_compare:nNnT \tex_lastnodetype:D < 0
+ {
+ \box_if_vertical:NT \l_@@_box
+ {
+% \end{macrocode}
+% If it is we do a further test and reset the \cs{l_@@_box}
+% to check if it contains infinitely shrinkable glue.
+% \begin{macrocode}
+ \vbox_set_to_ht:Nnn \l_@@_box { -.5\c_max_dim }
+ {
+ \vbox_unpack:N \l_@@_box
+ \tex_kern:D \c_zero_dim % ensure that box
+ % is not empty
+ }
+% \end{macrocode}
+% If not, then we unpack it, if yes we still ignore it for the process of
+% mark extraction. We do not generate an error though, because in all
+% likelihood this is an ordinary box like a marginal that does
+% contain something like \tn{vss}.
+% \begin{macrocode}
+ \int_compare:nNnT \tex_badness:D > 0
+ { \vbox_unpack:N \l_@@_box }
+ }
+ }
% \end{macrocode}
% If it wasn't a vbox, it was either an hbox or there was no box.
% Given that we are only interested in the marks we don't need put
-% it back in that case. However, we have to make sure that the box
+% it back in that case. However, we have to make sure that the
+% outer box under construction
% is not totally empty (which it might have been from the start, or
% now), because \TeX{} does not report a badness for empty boxes
-% which means out test would incorrectly conclude that we have
-% infinite shrinking glue. A simple \tn{kern} is enough to avoid this.
+% and that means our test would incorrectly conclude that we have
+% infinite shrinking glue. A simple \tn{kern} is enough to avoid
+% this (the same was already done above).
% \begin{macrocode}
\tex_kern:D \c_zero_dim
}
@@ -1165,6 +1206,12 @@
%
% \subsection{Messages}
%
+% Mark errors are LaTeX kernel errors:
+% \changes{v1.0d}{2022/06/01}{Marks are kernel errors}
+% \begin{macrocode}
+\prop_gput:Nnn \g_msg_module_type_prop { mark } { LaTeX }
+% \end{macrocode}
+%
% \begin{macrocode}
\msg_new:nnnn { mark } { class-already-defined }
{ Mark~class~'#1'~already~defined }
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index 40747022c8..01eff648b0 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 356a298618..e7edf21b38 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 ea00f96fbb..160186c4e1 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 a73a7d9e3a..979e833d5e 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 123c72c732..f2cfc633fd 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 ca1599791a..a57fa4a6b4 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 0a31acd64f..657592f310 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 ee5db608c9..7213bf9294 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 0e09195c8a..4a5dfba987 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 f87f176694..e82d020e2e 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 d28672180f..f30a263d10 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 3005ecb46f..e4502abab1 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 571a53690a..7332c60ea9 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 7f0ce1c390..705c2bba3e 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 5a1bc2847d..e54e2af71f 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 bf86fe3a1c..3402da5d62 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 c85a7aaa26..10c2ed8725 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 1e41d77495..d8dc264387 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 7dccf5bbfc..62051b98de 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 affec120d0..607c5e9362 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 79845c1b09..c8a813b359 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 b991986c22..28d1f4b390 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 bb70fefd4a..67fa8c18a5 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 c35e6abeec..82d4c1b150 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 a63d4fea58..cb6118e113 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 b238895d21..c637eea5f0 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 87af0169bf..88a9f99bb7 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 b2ecbfb3d7..296c8d3bea 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 eaf5c12224..aecbb27797 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 23ab75551a..07f98d4992 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 f0f1c1f2c9..4288ec154d 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 954a3d8600..1ae3e8c407 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 cbd610146c..901165053f 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 8f16e14ba9..f77d04b714 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/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf
index 3212327c00..667790ca60 100644
--- a/macros/latex-dev/base/ltnews34.pdf
+++ b/macros/latex-dev/base/ltnews34.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews35.pdf b/macros/latex-dev/base/ltnews35.pdf
index 2873f9de0a..62476fffbb 100644
--- a/macros/latex-dev/base/ltnews35.pdf
+++ b/macros/latex-dev/base/ltnews35.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews35.tex b/macros/latex-dev/base/ltnews35.tex
index 132dcd31b0..0e0cda79b1 100644
--- a/macros/latex-dev/base/ltnews35.tex
+++ b/macros/latex-dev/base/ltnews35.tex
@@ -77,7 +77,12 @@
% simple solution right now (just link to the first issue if there are more)
\def\getfirstgithubissue#1 #2\relax{#1}
-\providecommand\sxissue[1]{\ifhmode\unskip\fi
+\providecommand\sxissue[1]{\ifhmode\unskip
+ \else
+ % githubissue preceding
+ \vskip-\smallskipamount
+ \vskip-\parskip
+ \fi
\quad\penalty500\strut\nobreak\hfill
\mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
@@ -127,7 +132,8 @@
\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB
\maketitle
-{\hyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents}
+{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000
+\tableofcontents}
\setlength\rightskip{0pt plus 3em}
@@ -145,13 +151,13 @@ approach for options, and the introduction of the \texttt{latex-lab}
area for temporary code that can be optionally loaded by a document
(when \cs{DocumentMetadata} is used with certain test keys). These
additions are described in the first sections. Related to this effort
-there are updates to \pkg{hyperref} and \pkg{tagpdf} both of which
+there are updates to \pkg{hyperref} and \pkg{tagpdf}, both of which
have their own distributions.
As usual, we also added a number of smaller improvements and bug
fixes in various components of core \LaTeX{}. Perhaps the most
interesting ones (for some users) are direct support for floating
-point arithmetic (via \cs{fpeval} see below) and the ability to
+point arithmetic (via \cs{fpeval}; see below) and the ability to
properly color parts of math formulas without introducing spacing
problems. For this we now offer the command \cs{mathcolor}; see the
description near the end of the newsletter. There is also a new major
@@ -182,14 +188,14 @@ i.e., the declaration has to be placed \emph{before}
\cs{documentclass} and will issue an error if found later.
-At this point in time we only provide the bare command in the format,
+At this point in time we provide only the bare command in the format;
the actual processing of the key/value is defined externally and the
necessary code will be loaded if the command is used. This scheme is
chosen for two reasons: by adding the command in the kernel it is
available to everybody without the need to load a special package
using \cs{RequirePackage}. The actual processing, though, is external
so that we can easily extend the code (e.g., offering additional keys
-or changing the internal processing) while the above mentioned project
+or changing the internal processing) while the above-mentioned project
is progressing. Both together allows users to immediately benefit from
intermediate results produced as part of the project, as well as
offering the \LaTeX{} Project Team the flexibility to enable such
@@ -215,29 +221,18 @@ We added a new \pkg{latex-lab}oratory bundle in which we place new
code that is going to be available only through a
\cs{DocumentMetadata} declaration and that is\Dash most
importantly\Dash work under development and subject to
-change without further notice. This means, that commands and interfaces provided there may
+change without further notice. This means that commands and interfaces provided there may
get altered or removed again after some public testing. The code can
be accessed through the \cs{DocumentMetadata} key \texttt{testphase}.
Currently supported values are \texttt{phase-I} and \texttt{phase-II}
-that enable code of the tagged PDF project (phase-I is frozen and
-phase-II the phase we are currently working on). With
+that enable code of the tagged PDF project (phase~I is frozen, and
+phase~II is the phase we are currently working on). With
\begin{verbatim}
\DocumentMetadata{testphase=phase-II}
\end{verbatim}
-you currently enable tagging for paragraphs and footnotes, more
+you currently enable tagging for paragraphs and footnotes; more
document elements will follow soon.
-For more detailed testing it is also possible to pass other values to
-\texttt{testphase}, for example, the first incarnation of a template
-design interface based on \pkg{l3keys} can be accessed through the
-value \texttt{prototype}, thus
-\begin{verbatim}
- \DocumentMetadata
- {testphase={phase-II,prototype}}
-\end{verbatim}
-will enable all of phase-II plus the draft template interface (which
-is not yet integrated in phase-II).
-
Eventually, code will move (once considered stable) from the
testphase into the \LaTeX{} kernel itself. Tagging will continue to
require a \cs{DocumentMetadata} declaration, but you will then be able
@@ -247,7 +242,7 @@ to drop the \texttt{testphase} key setting.
\section{A new mark mechanism for \LaTeX{}}
The mark mechanism is \TeX{}'s way to pass information to the
-page-building process which happens asynchronously in order to
+page-building process, which happens asynchronously, in order to
communicate relevant data for running headers and footers to the
latter, e.g., what is the first section on the page or the last
subsection, etc. However, marks may also be
@@ -277,8 +272,8 @@ contained two parts with their own interfaces: \cs{markboth} and
\cs{markright} to set marks and \cs{leftmark} and \cs{rightmark} to
retrieve them.
-Unfortunately, this extended mechanism (while supporting scenarios such
-as chapter/section marks) was far from general. The mark
+Unfortunately, this extended mechanism, while supporting scenarios such
+as chapter/section marks, was far from general. The mark
situation at the top of a page (i.e., \cs{topmark}) remained
unusable and the two marks offered were not really independent of
each other because \cs{markboth} (as the name indicates) was
@@ -292,15 +287,15 @@ release overcomes both issues:
It provides arbitrary many, fully independent named marks, that
can be allocated and from that point onwards used.
\item
- It offers access for each such marks to retrieve its top,
+ It offers access for each such mark to retrieve its top,
first, and bottom value separately.
\item
Furthermore, the mechanism is augmented to give access to marks
- in different ``regions'' which may not be just full pages.
+ in different ``regions'', which may be other than full pages.
\end{itemize}
The legacy interfaces, e.g., \cs{markboth}, are kept. Thus classes and
-packages making use of them continue to work flawlessly. To make use
-of the extended possibility a new set of commands for declaration of
+packages making use of them continue to work seamlessly. To make use
+of the extended possibility a new set of commands for the declaration of
mark classes, setting their values and querying their state (in the
output routine) is now available in addition.
%
@@ -315,7 +310,7 @@ examples and further notes on the mechanism in the file
The classical \LaTeXe{} method for handling options, using \cs{ProcessOptions},
treats each entry in the list as a string. Many package authors have sought to
extend this handling by treating each entry as a key--value pair (keyval)
-instead. To-date, this has required the use of additional packages, for example
+instead. To date, this has required the use of additional packages, for example
\pkg{kvoptions}.
The \LaTeX{} team have for some time offered the package \pkg{l3keys2e} to
@@ -327,7 +322,8 @@ has been refined, such that
\ProcessKeyOptions
\end{verbatim}
will now automatically pick up the package name as the key \emph{family},
-unless explicitly given as an optional argument.
+%unless explicitly given as an optional argument.
+unless explicitly given as an optional argument:
\begin{verbatim}
\ProcessKeyOptions[family]
\end{verbatim}
@@ -360,7 +356,7 @@ The L3 programming layer offers expandable commands for calculating
floating point and integer values, but so far these functions have
only been available to programmers, because they require
\cs{ExplSyntaxOn} to be in force. To make them easily available at the
-document-level, the small package \pkg{xfp} defined \cs{fpeval} and
+document level, the small package \pkg{xfp} defined \cs{fpeval} and
\cs{inteval}.
@@ -379,12 +375,14 @@ which produces the following output:
These two commands have now been moved into the kernel and in addition
we also provide \cs{dimeval} and \cs{skipeval}. The details of their
syntax are described in \file{usrguide3.pdf}. The command \cs{fpeval}
-offers a rich syntax allows for extensive calculations whereas the
+offers a rich syntax allowing for extensive calculations, whereas the
other three commands are essentially thin wrappers for \cs{numexpr},
\cs{dimexpr}, and \cs{glueexpr} \Dash therefore inheriting some syntax
-peculiars and limitations in expressiveness.
+%peculiars and limitations in expressiveness.
+peculiarities and limitations in expressiveness.
+% \newcommand\calulateheight[1]{%
\begin{verbatim}
- \newcommand\calulateheight[1]{%
+ \newcommand\calculateheight[1]{%
\setlength\textheight{\dimeval{\topskip
+ \baselineskip * \inteval{#1-1}}}}
\end{verbatim}
@@ -397,9 +395,9 @@ a given number of text lines.
\subsection{CamelCase commands for changing arguments to csnames}
It is sometimes helpful to \enquote{construct} a command name on the
-fly rather than providing it as a single \cs{...} token. For these
-kind of tasks the \LaTeX3 programming layer offers a general mechanism
-(in form of \cs{exp\_args:N...} and
+fly rather than providing it as a single \cs{...}\ token. For these
+kinds of tasks the \LaTeX3 programming layer offers a general mechanism
+(in the form of \cs{exp\_args:N...}\ and
\cs{cs\_generate\_variant:Nn}). However, when declaring new
document-level commands with \cs{NewDocumentCommand} or
\cs{NewCommandCopy}, etc.\ the L3 programming layer may not be active,
@@ -446,7 +444,7 @@ branch leads to some action. Further details and examples are given
in \file{usrguide3.pdf}.
This test can also be useful if you set up key/value options and want
-to test if a key was specified without giving a value or through
+to test if a key was specified without giving a value, vs.\
specifying \enquote{\textit{key}\texttt{ = ,}}.
@@ -460,7 +458,7 @@ to define the actual Lua command with \cs{luadef}. After that, the integer is
no longer needed. This was inconsistent with other allocators. Therefore we
added two new allocators \cs{newluacmd} and \cs{newexpandableluacmd} which
directly define a control sequences invoking the allocated Lua function.
-The first one defines a non-expandable Lua command, the second one an expandable
+The former defines a non-expandable Lua command, the latter an expandable
one. Of course, the associated Lua function still has to be defined by assigning
a function to the \verb|lua.get_functions_table()| table. The required index is
available in \cs{allocationnumber}.
@@ -484,8 +482,8 @@ lua.get_functions_table()
\subsection{Starred command version for \cs{ref}, \cs{Ref} and \cs{pageref}}
-For a long time \pkg{hyperref} provides starred versions for the reference commands
-that don't create active links. This syntax extension required users and
+For a long time \pkg{hyperref} has provided starred versions for the reference commands
+which do not create active links. This syntax extension required users and
package authors to check if \pkg{hyperref} was loaded and adjust the coding
accordingly or take the starred forms out if text was copied to a document
without \pkg{hyperref}. The commands have now been aligned with
@@ -500,12 +498,12 @@ in captions and sectioning commands. The package \pkg{ifthen} has been updated t
\subsection{Preparation for supporting PDF in backends}
At the current point in time, basic support for PDF in
-backends is not part of \LaTeX{} core; it is provided by external
+backends is not part of \LaTeX{} core; it is provided by an external
package like \pkg{hyperref}.
At some time in the future that work will be placed
into the kernel but for now it is separate and has to be
explicitly loaded in the document. To enable class and package authors
-to support PDF specific task like the creation of link targets without
+to support PDF-specific tasks like the creation of link targets without
having to test first if \pkg{hyperref} has been loaded, dummy versions of
the commands \cs{MakeLinkTarget}, \cs{LinkTargetOn}, \cs{LinkTargetOff} and
\cs{NextLinkTarget} are provided.
@@ -520,10 +518,10 @@ layer \texttt{e} and \texttt{x} arguments.
Related to this change \cs{MakeUppercase} and \cs{MakeLowercase} have
been updated to use the Unicode-aware case changing functions
-\cs{text\string_lowercase:n} in place of the \TeX-primitive \cs{lowercase}.
-A similar change will be made in the \pkg{textcase} package.
+\cs{text\string_lowercase:n} in place of the \TeX\ primitive \cs{lowercase}.
+The \cs{NoCaseChange} command from the \pkg{textcase} package has also been added.
-Note for technical reasons these low level character handling changes
+Note: for technical reasons these low-level character handling changes
will not be rolled back if the format version is rolled back using the
\pkg{latexrelease} package rollback mechanism.
%
@@ -538,8 +536,8 @@ that one can then use a trick such as
\begin{verbatim}
\let\par=\cr \obeylines \halign{...
\end{verbatim}
-However, redefining \cs{par} like this is not really a great idea in \LaTeX{},
-because it may lead to all kind of problems. We have therefore changed
+However, redefining \cs{par} like this
+may lead to all kinds of problems in \LaTeX. We have therefore changed
the commands to use an indirection: the active characters now execute
\cs{obeyedline} and \cs{obeyedspace}, which in turn do what the
hardwired solution did before.
@@ -547,7 +545,7 @@ hardwired solution did before.
\begin{quote}
\renewcommand\obeyedspace{\ \textbullet\ }
\footnotesize\obeyspaces%
-But this means that it is now possible to %
+This means that it is now possible to %
achieve special effects in a safe way. %
This paragraph, for example, was produced by %
making \cs{obeyedspace} generate %
@@ -561,34 +559,22 @@ Thus, if you are keen to use the plain \TeX{} trick, you need to say
\githubissue{367}
-
-\subsection{\class{ltxdoc} gets a \option{nocfg} option}
-
-The \LaTeX{} sources are formatted with the \class{ltxdoc} class,
-which supports loading a local config file \file{ltxdoc.cfg}. In the
-past the \LaTeX{} sources used such a file but it was not distributed.
-As a result reprocessing the \LaTeX{} sources elsewhere showed
-formatting changes. We now distribute this file which means that it
-is loaded by default. With the option \option{nocfg} this can be
-prevented.
-
-
\subsection{\pkg{doc} upgraded to version~3}
-After roughly three decades the \pkg{doc} package gets a cautious
-uplift, as already announced at the TUG conference 2019\Dash changes
+After roughly three decades the \pkg{doc} package received a cautious
+uplift, as already announced at the 2019 TUG conference\Dash changes
to \pkg{doc} are obviously always done in a leisurely manner.
Given that most documentation is nowadays viewed on screen,
\pkg{hyperref} support is added and by default enabled (suppress it
with option \option{nohyperref} or alternatively with
-\option{hyperref}\texttt{=false}) so the internal cross-reference are
+\option{hyperref}\texttt{=false}) so the internal cross-references are
properly resolved including those from the index back into the
document.
-Furthermore, \pkg{doc} has now a general mechanism to define
+Furthermore, \pkg{doc} now has a general mechanism to define
additional \enquote{doc} elements besides the two \texttt{Macro} and
-\texttt{Env} it did know in the past. This enables better
+\texttt{Env} it has known in the past. This enables better
documentation because you can now clearly mark different types of
objects instead of simply calling them all \enquote{macros}.
If desired, they can be collected together under a heading
@@ -623,25 +609,41 @@ as the heading (instead of just \meta{version}), when using
+\subsection{\class{ltxdoc} gets options \option{nocfg} and \option{doc2}}
+
+The \LaTeX{} sources are formatted with the \class{ltxdoc} class,
+which supports loading a local config file \file{ltxdoc.cfg}. In the
+past the \LaTeX{} sources used such a file but it was not distributed.
+As a result reprocessing the \LaTeX{} sources elsewhere showed
+formatting changes. We now distribute this file which means that it
+is loaded by default. With the option \option{nocfg} this can be
+prevented.
+
+We also added a \option{doc2} option to the class so that it is
+possible to run old documentation with \pkg{doc} version~2, if
+necessary.
+
+
+
\subsection{Lua\TeX\ callback improvements}
The Lua\TeX\ callbacks \texttt{hpack\_quality} and \texttt{vpack\_quality} are
now \texttt{exclusive} and therefore only allow a single handler.
The previous type \texttt{list} resulted in incorrect parameters when multiple
-handlers were set, therefore this only makes an existing restriction more
+handlers were set; therefore, this only makes an existing restriction more
explicit.
Additionally the return value \texttt{true} for \texttt{list}
callbacks is now handled internally and no longer passed on to the
engine. This simplifies the handling of these callbacks and makes it
-easier to provide consistent interfaces for user defined \texttt{list}
+easier to provide consistent interfaces for user-defined \texttt{list}
callbacks.
\subsection{Class \class{proc} supports \option{twoside}}
The document class \class{proc}, which is a small variation on the
-\class{article} class, now supports the \option{twoside} option
+\class{article} class, now supports the \option{twoside} option,
displaying different data in the footer line on recto and verso pages.
%
\githubissue{704}
@@ -665,26 +667,26 @@ the command \cs{UnicodeEncodingName} internally. There was one
exception though: \cs{DeclareUnicodeAccent} required an explicit
encoding argument. This inconsistency has now been removed and the
encoding name is always implicit. To avoid a breaking change for a few
-packages on CTAN \cs{DeclareUnicodeAccent} still accepts three
+packages on CTAN, \cs{DeclareUnicodeAccent} still accepts three
arguments if the second argument is \texttt{TU} or
\cs{UnicodeEncodingName}. Once all packages have been updated this
code branch will get removed.
At the same time we added \cs{DeclareUnicodeCommand} and
\cs{DeclareUnicodeSymbol} for consistency. They also use
-\cs{UnincodeEncodingName} internally, instead of requiring an encoding
+\cs{UnicodeEncodingName} internally, instead of requiring an encoding
argument as their general purpose counterparts do.
%
\githubissue{253}
-\subsection{New hook: \hook{include/excluded}}
+\subsection{New hook:\ \hook{include/excluded}}
A few releases ago we introduced a number of file hooks for different
-types of files, see~\cite{35:ltnews32} and in
+types of files; see~\cite{35:ltnews32} and in
particular~\cite{35:ltfilehook-doc}.
%
-The hooks for \cs{include} files now got an addition: if such a file
+The hooks for \cs{include} files now have an addition: if such a file
is not included (because \cs{includeonly} is used and its \meta{name}
is not listed in the argument) then the hooks \hook{include/excluded}
and \hook{include/\meta{name}/excluded} are executed in that
@@ -708,9 +710,9 @@ source file gets normalized under Unicode normalization rules.
\section{Bug fixes}
\subsection{Using \cs{DeclareUnicodeCharacter} with C1 control points}
-An error in the UTF-8 handling for non-Unicode \TeX, has prevented
+An error in the UTF-8 handling for non-Unicode \TeX\ has prevented
\cs{DeclareUnicodeCharacter} being used with characters in the range
-hex 80 to 9F, this has been corrected in this release.
+hex 80 to 9F. This has been corrected in this release.
%
\githubissue{730}
@@ -731,7 +733,7 @@ is now fixed.
\subsection{Make \cs{cite}\texttt{\textbraceleft\textbraceright} produce a warning}
-When the \cs{cite} command can't resolve a citation label it issue a
+When the \cs{cite} command can't resolve a citation label it issues a
warning \enquote{Citation `\meta{label}' on page \meta{page}
undefined}. However, due to some implementation details a completely
empty argument was always silently accepted. Given that there are probably
@@ -746,7 +748,7 @@ This has finally been corrected and a warning is now generated also in this case
\subsection{Fix adding \hook{cmd} hooks to simple macros}
-A bug in how \LaTeX{} would detect the type of a command was causing a
+A bug in how \LaTeX{} detected the type of a command caused a
premature forced expansion of such commands, which, depending on their
definition, could be harmless or could cause severe trouble. This has
been fixed in the latest release.
@@ -772,9 +774,9 @@ given.
Using \LuaTeX's \cs{Udelimiterover} to place a horizontally extensible glyph
on top of a mathematical expression now causes the expression to be set in cramped
-style as used in similar situations by traditional \TeX\ math rendering.
-Similarly cramped style is now used for expressions set under such a delimiter
-using \cs{Uunderdelimiter} but no longer used when setting an expression on top
+style, as used in similar situations by traditional \TeX\ math rendering.
+Similarly, cramped style is now used for expressions set under such a delimiter
+using \cs{Uunderdelimiter}, but is no longer used when setting an expression on top
of such extensible glyphs using \cs{Uoverdelimiter}.
This new behavior follows \TeX's rule that cramped style is used whenever something
else appears above the expression.
@@ -796,7 +798,7 @@ the implementation in that the sorting mechanism was still applied if
the \cs{DeclareHookRule} declaration appeared while the one-time hook was
executed, causing the spurious typesetting of the code labels and the
hook name. This bug is now fixed and an error is raised when a new
-sorting rule is added to an already used one-time hook.
+sorting rule is added to an already-used one-time hook.
A possible scenario in which this new error is raised is the following:
package \pkg{AAA} declares a hook rule for \hook{begindocument} (i.e.,
@@ -817,11 +819,11 @@ is executed at the very end of the preamble but before
\section{Changes to packages in the \pkg{amsmath} category}
-\subsection{\pkg{amsopn}: Do not reset \cs{operator@font}}
+\subsection{\pkg{amsopn}:\ Do not reset \cs{operator@font}}
The package \pkg{amsopn} used to define \cs{operator@font} but this
-command is already provided by the \LaTeX{} format (for at least 14
-years). As a result the definition in \pkg{amsopn} is equivalent to a
+command has been provided by the \LaTeX{} format for at least 14
+years. As a result the definition in \pkg{amsopn} is equivalent to a
reset to the kernel definition, which is unnecessary and surprising if
you alter the math setup (e.g., by loading a package) and at a later
stage add \pkg{amsmath}, which then undoes part of your setup. For
@@ -838,7 +840,7 @@ after loading the package.
%
\githubissue{734}
-\subsection{\pkg{amsmath}: Error in \cs{shoveleft}}
+\subsection{\pkg{amsmath}:\ Error in \cs{shoveleft}}
If \cs{shoveleft} started out with the words \enquote{plus} or
\enquote{minus} it was misunderstood as part of a rubber length and
@@ -849,7 +851,7 @@ is now prevented.
\githubissue{714}
-\subsection{\pkg{amsmath} and \pkg{amsopn}: Robustify user commands}
+\subsection{\pkg{amsmath} and \pkg{amsopn}:\ Robustify user commands}
Most user-level commands have been made robust in the \LaTeX{} kernel
during the last years, but variant definitions in \pkg{amsmath} turned
@@ -868,10 +870,11 @@ behavior. This also resolves a bug recently discovered in the
\subsection{Color in formulas}
While it is possible to color parts of a formula using \cs{color}
-commands the approach is fairly cumbersome. For example, to color an
+commands the approach is fairly cumbersome. For example, to color a
summation sign, but not its limits, you need four \cs{color} commands and
-some seemingly unnecessary set of braces to get coloring and spacing
+some seemingly unnecessary sets of braces to get coloring and spacing
right:
+{\hfuzz=1pt
\begin{verbatim}
\[ X = \color{red} \sum
% without {{ the superscript below is misplaced
@@ -881,7 +884,8 @@ right:
\color{black} % without it the x_i is red
x_i \]
\end{verbatim}
-Leave out any of the \cs{color} commands or any of the \verb={{...}}=
+}\noindent
+Leaving out any of the \cs{color} commands or any of the \verb={{...}}=
will give you a wrong result instead of the desired
\[ X = \color{red} \sum
_{{\color{black} i=1}} % without {{ the superscript is misplaced
@@ -912,7 +916,7 @@ For details and further examples, see \file{mathcolor.pdf}.
If a call to \cs{includegraphics} asked for a file (say, \file{image})
without extension, and if both \file{A/image.pdf} and \file{B/image.tex}
existed (both \file{A/} and \file{B/} in \cs{graphicspath}, but neither
-in a folder searched by kpse), then \file{A/image.pdf} would not be
+in a folder searched by \TeX), then \file{A/image.pdf} would not be
found, and a \enquote{file not found} error would be incorrectly thrown.
The issue is now fixed and the graphics file is correctly found.
%
@@ -924,16 +928,16 @@ The issue is now fixed and the graphics file is correctly found.
\section{Changes to packages in the \pkg{tools} category}
-\subsection{\pkg{multicol}: Fix \cs{newcolumn}}
+\subsection{\pkg{multicol}:\ Fix \cs{newcolumn}}
The recently added \cs{newcolumn} didn't work properly if used in
vertical mode, where it behaved like \cs{columnbreak}, i.e., spreading
-the column material out instead running the column short.
+the column material out instead of running the column short.
%
\sxissue{q/624940}
-\subsection{\pkg{bm}: Fix for \pkg{amsmath} operators}
+\subsection{\pkg{bm}:\ Fix for \pkg{amsmath} operators}
An internal command used in the definition of operator commands such
as \cs{sin} in \pkg{amsmath} has been guarded in \cs{bm} to prevent
@@ -973,7 +977,7 @@ internal syntax errors due to premature expansion.
\emph{\LaTeXe{} news 34}.\\
\url{https://latex-project.org/news/latex2e-news/ltnews34.pdf}
-\bibitem{35:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{} Project Team:
+\bibitem{35:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{}~Project~Team:
\emph{The \texttt{\upshape ltfilehook} documentation}.\\
Run \texttt{texdoc} \texttt{ltfilehook-doc} to view.
\end{thebibliography}
diff --git a/macros/latex-dev/base/ltoutenc.dtx b/macros/latex-dev/base/ltoutenc.dtx
index 8e4867417b..4dac4e1548 100644
--- a/macros/latex-dev/base/ltoutenc.dtx
+++ b/macros/latex-dev/base/ltoutenc.dtx
@@ -44,7 +44,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutenc.dtx}
- [2021/12/12 v2.0y LaTeX Kernel (font encodings)]
+ [2022/05/27 v2.0z LaTeX Kernel (font encodings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutenc.dtx}
@@ -3764,7 +3764,10 @@
\@elt{\csname opt@fontenc.sty\endcsname}}
% \end{macrocode}
%
+% \changes{v2.0z}{2022/05/27}{Save the version string (gh/825)}
% \begin{macrocode}
+\global\expandafter\let\csname ver@@fontenc.sty\expandafter\endcsname
+ \csname ver@fontenc.sty\endcsname
\global\expandafter\let\csname ver@fontenc.sty\endcsname\relax
\global\expandafter\let\csname opt@fontenc.sty\endcsname\relax
\global\let\@ifl@ter@@\@ifl@ter
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index 5aebfaa401..fa5199e171 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 5b7cffad1a..d0e7ee73e8 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/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index f28ce0c27e..a475b7424e 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 f1daaed4d7..99c24eb7c0 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 f4075ea2ab..cd228e62b4 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2022-06-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-4}
+\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 f0cb7883b5..07563692ff 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.dtx b/macros/latex-dev/base/ltxdoc.dtx
index 10ddd44828..f68c45ee36 100644
--- a/macros/latex-dev/base/ltxdoc.dtx
+++ b/macros/latex-dev/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2021/12/07 v2.1d Standard LaTeX documentation class]
+%<class> [2022/06/14 v2.1g Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -51,6 +51,8 @@
%
% \fi
%
+% \providecommand\pkg[1]{\texttt{#1}}
+%
%
% \changes{v2.0i}{1994/04/29}{Update the documentation.}
% \changes{v2.0s}{1998/08/17}{(RmS) Documentation fixes.}
@@ -115,10 +117,13 @@
% \AtBeginDocument{\OnlyDescription}
%\end{verbatim}
%
+% If your document relies on using the old \pkg{doc} version, you can
+% request that the class loads \pkg{doc} version~2 by passing the
+% option \texttt{doc2}.
%
% If the full source listing |sources2e.tex| is processed, then an index
-% and change history are produced by default, however indices are not
-% normally produced for individual files.
+% and change history are produced by default, however indexes are normally
+% not produced for individual files.
%
% As an example, consider |ltclass.dtx|, which contains the sources for
% the new class and package interface commands. With no |cfg|
@@ -175,6 +180,13 @@
\DeclareOption{nocfg}{\ltxdoc@load@cfg@false}
% \end{macrocode}
%
+% Support rolling back \pkg{doc} to version 2:
+% \changes{v2.1e}{2022/05/27}{Support rolling back doc to version 2}
+% \begin{macrocode}
+\let\ltxdoc@doc@version\@empty % use current version by default
+\DeclareOption{doc2}{\def\ltxdoc@doc@version{=v2}}
+% \end{macrocode}
+%
% \begin{macrocode}
\DeclareOption*{%
\PassOptionsToClass {\CurrentOption}{article}}
@@ -209,8 +221,13 @@
\LoadClass{article}
% \end{macrocode}
%
+% By default, loadthe current \pkg{doc} version
+% (\cs{ltxdoc@doc@version} is empty). If option
+% \texttt{doc2} is given version 2 is loaded
+% (\cs{ltxdoc@doc@version} contains \texttt{=v2}).
+% \changes{v2.1e}{2022/05/27}{Support rolling back doc to version 2}
% \begin{macrocode}
-\RequirePackage{doc}
+\RequirePackage{doc}[\ltxdoc@doc@version]
% \end{macrocode}
%
% Make \verb+|+ be a `short verb' character, but not in the document
@@ -606,14 +623,33 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\url}
+%
% \begin{macrocode}
-\providecommand\url{\texttt}
+\def\task#1#2{}
+% \end{macrocode}
+%
+%
+% \changes{v2.1f}{2022/06/03}{define \cs{pkg} and other commands}
+% \changes{v2.1f}{2022/06/03}{allow \_ in macro names}
+% Some feaures from l3doc.cls
+% \changes{v2.1g}{2022/06/14}{define \cs{pkg} but delay until begin document}
+% \begin{macrocode}
+\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
+\AtBeginDocument{%
+ \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
+% \end{macrocode}
+% We provide those delated in case somebody has loaded \texttt{csquotes}
+% or makes some definitions in the preamble.
+% \begin{macrocode}
+ \providecommand\LuaTeX{Lua\TeX}
+ \providecommand\cls{\textsf}
+ \providecommand\pkg{\textsf}
+ \providecommand\enquote[1]{``#1''}
+ \providecommand\url{\texttt}
+}
% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
-\def\task#1#2{}
%</class>
% \end{macrocode}
%
@@ -634,7 +670,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
%
\ProvidesFile{ltxdoc.cfg}%
- [2021/12/07 v2.0c ltxdoc.cls configuration (LaTeX Project)]
+ [2022/06/14 v2.0d ltxdoc.cls configuration (LaTeX Project)]
\PassOptionsToClass{a4paper}{article}
% hyperref and hypdoc are now loaded late (or by the user) so we have to wait
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index 4b3c78e8f1..6d1b06cc5b 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 7a04fa6783..da0fa7cab9 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/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 3e6161a4c3..e085c32c5e 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 9c74cc6472..e0c44536aa 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 72bd4c5865..93cd6b8c44 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 d1e921e5cd..cbbbfe0132 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 d5ea0aca29..609139b741 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 e51b3db92d..0a4fe0f023 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 1cf31029c8..d880fd08ab 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 0faf4c0f54..12b609b372 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 d5747c76c3..e7f39c7338 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 c1296a0a8a..a2e85401fd 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 4a2033b353..5cb860dab4 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.dtx b/macros/latex-dev/base/utf8ienc.dtx
index c6ec89872e..363998a853 100644
--- a/macros/latex-dev/base/utf8ienc.dtx
+++ b/macros/latex-dev/base/utf8ienc.dtx
@@ -216,7 +216,7 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
-%<-utf8-2018> [2022/05/08 v1.3b UTF-8 support]
+%<-utf8-2018> [2022/06/07 v1.3c UTF-8 support]
% \end{macrocode}
%
% \begin{macrocode}
@@ -1152,6 +1152,7 @@
% \changes{v1.1r}{2015/12/03}{Add some more ogonek cases}
% \changes{v1.1s}{2016/01/11}{Add some more caron and acute}
% \changes{v1.1t}{2017/01/28}{Add caron combinations for GgYy}
+% \changes{v1.3c}{2022/06/07}{Fix \cs{guillemetleft} and \cs{guillemetright} also in dfu files (gh/65)}%
% \begin{macrocode}
%<all,t1,ot1,ly1>\DeclareUnicodeCharacter{00A0}{\nobreakspace}
%<all,t1,ot1,ly1>\DeclareUnicodeCharacter{00A1}{\textexclamdown}
@@ -1165,7 +1166,8 @@
%<all,ts1,utf8>\DeclareUnicodeCharacter{00A9}{\textcopyright}
%<all,ts1,ly1,utf8>\DeclareUnicodeCharacter{00AA}{\textordfeminine}
%<*all,x2,t2c,t2b,t2a,t1,ot2,ly1,lcy>
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
+%\DeclareUnicodeCharacter{00AB}{\guillemotleft} % wrong Adobe name
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
%</all,x2,t2c,t2b,t2a,t1,ot2,ly1,lcy>
%<all,ts1>\DeclareUnicodeCharacter{00AC}{\textlnot}
%<all,t1,ot1,ly1>\DeclareUnicodeCharacter{00AD}{\-}
@@ -1183,7 +1185,8 @@
%<all,ts1>\DeclareUnicodeCharacter{00B9}{\textonesuperior}
%<all,ts1,ly1,utf8>\DeclareUnicodeCharacter{00BA}{\textordmasculine}
%<*all,x2,t2c,t2b,t2a,t1,ot2,ly1,lcy>
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+%\DeclareUnicodeCharacter{00BB}{\guillemotright} % wrong Adobe name
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
%</all,x2,t2c,t2b,t2a,t1,ot2,ly1,lcy>
%<all,ts1,ly1>\DeclareUnicodeCharacter{00BC}{\textonequarter}
%<all,ts1,ly1>\DeclareUnicodeCharacter{00BD}{\textonehalf}
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index dbda75aaf2..a2bf91d2e5 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 3f6529458c..9d88470900 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ