summaryrefslogtreecommitdiff
path: root/macros/latex-dev/required
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/required')
-rw-r--r--macros/latex-dev/required/amsmath/README.md2
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin174944 -> 174944 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin179945 -> 179945 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin178187 -> 178187 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin508210 -> 508210 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin419913 -> 419913 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin140095 -> 140095 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin217498 -> 217498 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin113561 -> 113561 bytes
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin109731 -> 109731 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin147462 -> 147462 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin454511 -> 454511 bytes
-rw-r--r--macros/latex-dev/required/firstaid/changes.txt16
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx12
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdfbin268421 -> 268310 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt10
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin212223 -> 212223 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286459 -> 286459 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin159997 -> 159997 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin303464 -> 303464 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin240623 -> 240623 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin330978 -> 330978 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239589 -> 239589 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin155986 -> 155986 bytes
-rw-r--r--macros/latex-dev/required/graphics/mathcolor.dtx231
-rw-r--r--macros/latex-dev/required/graphics/mathcolor.pdfbin476153 -> 474666 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin278408 -> 278331 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172228 -> 172277 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin199266 -> 199266 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/README.md2
-rw-r--r--macros/latex-dev/required/latex-lab/changes.txt10
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdfbin512096 -> 512028 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdfbin375986 -> 375913 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx8
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdfbin614687 -> 614913 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-new-or.pdfbin529176 -> 529122 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-prototype.dtx827
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-prototype.pdfbin525128 -> 0 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-testphase.pdfbin291178 -> 290841 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab.ins5
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin197738 -> 197738 bytes
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin517102 -> 516836 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin323432 -> 323432 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370657 -> 370657 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt12
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin220834 -> 220834 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin191064 -> 191064 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215498 -> 215498 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin187982 -> 187725 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin146446 -> 146446 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin387505 -> 387231 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189679 -> 189679 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157954 -> 157954 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin259969 -> 259969 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin391313 -> 391313 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin521328 -> 521367 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin138963 -> 138963 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin175929 -> 175929 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin251782 -> 251782 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin167572 -> 167572 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin287073 -> 287073 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351963 -> 351702 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73672 -> 73672 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin222076 -> 222076 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin398798 -> 398798 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin330746 -> 330746 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin169986 -> 169986 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin257018 -> 257018 bytes
70 files changed, 172 insertions, 967 deletions
diff --git a/macros/latex-dev/required/amsmath/README.md b/macros/latex-dev/required/amsmath/README.md
index 5a644bab14..059ebb7f30 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 2022-11-01 pre-release 0
+Release 2023-05-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 50e11c347b..fef1eb8058 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.pdf
+++ b/macros/latex-dev/required/amsmath/amsbsy.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index 9417f9282e..54650bb11d 100644
--- a/macros/latex-dev/required/amsmath/amscd.pdf
+++ b/macros/latex-dev/required/amsmath/amscd.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 6d5c36c5f7..487f9c57dd 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 3db939e1e3..75882027b2 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/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index bb4d123df4..3f4832c1d9 100644
--- a/macros/latex-dev/required/amsmath/amsmath.pdf
+++ b/macros/latex-dev/required/amsmath/amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index df9a5db17c..03ebc9dcc8 100644
--- a/macros/latex-dev/required/amsmath/amsopn.pdf
+++ b/macros/latex-dev/required/amsmath/amsopn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index 994546c360..7478fd056f 100644
--- a/macros/latex-dev/required/amsmath/amstext.pdf
+++ b/macros/latex-dev/required/amsmath/amstext.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index 216bd51ed0..1c089bcc8b 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/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 1b34fc0f9f..396c9f26ea 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 8bfa7864b8..ae2549ac2a 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 a62480992d..a18992e79c 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 a3626f83a4..3c6cb992c8 100644
--- a/macros/latex-dev/required/firstaid/changes.txt
+++ b/macros/latex-dev/required/firstaid/changes.txt
@@ -1,3 +1,19 @@
+2022-10-27 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Much easier babel patch
+
+2022-10-27 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Add first aid for babel to undo a no-longer required patch
+
+2022-10-03 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Add first aid for memoir to support kernel-provided
+ \stock... dimens
+
2022-02-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
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 2a1e2a8d5e..9bc4969b2c 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
@@ -111,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2022/06/23}
-\def\LaTeXFirstAidVersion{v1.0s}
+\def\LaTeXFirstAidDate{2022/10/29}
+\def\LaTeXFirstAidVersion{v1.0u}
% \end{macrocode}
%
% \begin{macrocode}
@@ -340,8 +340,6 @@
% }%
%}
% \end{macrocode}
-%
-%
%
% \subsection{The \pkg{dinbrief} class first aid}
%
@@ -406,6 +404,12 @@
\ExplSyntaxOff
% \end{macrocode}
%
+% \subsection{The \pkg{babel} package}
+%
+% Turn off the \pkg{babel} hack.
+% \begin{macrocode}
+\AddToHook{file/babel.sty/before}[firstaid]{\def\BabelCaseHack{}}
+% \end{macrocode}
%
% \begin{macrocode}
%</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 04325d3fe5..9e850e5264 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 c30c8d390b..0705aac316 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 2022-11-01 pre-release 0
+Release 2023-05-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index 616f56230f..55dde0358f 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -9,6 +9,16 @@ All changes above are only part of the development branch for the next release.
================================================================================
#########################
+# 2022-11-01 Release
+#########################
+
+2022-07-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * mathcolor.dtx (section{The Implementation}):
+ Avoid ending an alignment cell prematurely when hitting an
+ & during scanning (gh/901)
+
+#########################
# 2022-06-01 Release
#########################
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index de87111c77..60ff965219 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 1c82349c40..2ff5ce85cb 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 d650f59d51..c7c77e4fc7 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 612c27318a..ff41a912d3 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 87e42ec86c..733330d537 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 f487177b50..80e906d306 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 5628e90294..7bfca3934f 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 f65e366770..3d8b3d5394 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/mathcolor.dtx b/macros/latex-dev/required/graphics/mathcolor.dtx
index 2341e71e28..5dc482e38e 100644
--- a/macros/latex-dev/required/graphics/mathcolor.dtx
+++ b/macros/latex-dev/required/graphics/mathcolor.dtx
@@ -14,8 +14,8 @@
%%% From File: mathcolor.dtx
%
% \begin{macrocode}
-\def\mathcolorversion{v1.0b}
-\def\mathcolordate{2022/01/28}
+\def\mathcolorversion{v1.0c}
+\def\mathcolordate{2022/07/25}
% \end{macrocode}
%<*driver>
\documentclass{l3doc}
@@ -39,9 +39,6 @@
%</driver>
%
% \fi
-
-
-
%
% \title{Providing color in math\thanks{This file has version
% \mathcolorversion\ dated \mathcolordate, \copyright\ \LaTeX\
@@ -124,7 +121,6 @@
% and achieve the same effect:
% \[ \mathcolor{red}{\int}\limits_0^1 \textrm{ or }
% \mathcolor{red}{\int\limits}_0^1 \]
-
%
%
% \MaybeStop{\setlength\IndexMin{200pt} \PrintIndex }
@@ -163,7 +159,8 @@
% second argument (like \cs{textcolor}, but without spacing
% problems in math).
% \begin{macrocode}
-\DeclareDocumentCommand \mathcolor { o m m } {
+\DeclareDocumentCommand \mathcolor { o m m }
+ {
% \end{macrocode}
% The \cs{mathcolor} is only supported in math mode because in text
% mode it has problems scanning away a space after it, for example.
@@ -173,13 +170,13 @@
% math alphabets, but the message it gives is fine.
% \changes{v1.0b}{2022/01/28}{Restrict command to math mode}
% \begin{macrocode}
- \mode_if_math:F { \non@alpherr {\mathcolor\space} }
+ \mode_if_math:F { \non@alpherr {\mathcolor\space} }
% \end{macrocode}
% First real action is to save the current color value on a stack
% (needed if the command is nested or contains some further color
% changes with \cs{color} inside).
% \begin{macrocode}
- \seq_gpush:No \g_@@_seq \current@color
+ \seq_gpush:No \g_@@_seq \current@color
% \end{macrocode}
% Then we switch to the new color, but we do not want to reset the
% color after the group (which is done by \cs{color} using
@@ -189,7 +186,7 @@
% \cs{use_none:n} which gobbles the \cs{reset@color} added by
% \cs{color} with \cs{aftergroup}.
% \begin{macrocode}
- \group_insert_after:N \use_none:n
+ \group_insert_after:N \use_none:n
% \end{macrocode}
% Switching the color is also slightly suboptimal, because
% depending on whether or not we have a \meta{model} argument, we
@@ -197,11 +194,11 @@
% going low-level here is not an option as we need to support
% different color packages and their internals are not identical.
% \begin{macrocode}
- \IfValueTF{#1} { \color[#1]{#2} }{ \color{#2} }
+ \IfValueTF {#1} { \color[#1]{#2} } { \color{#2} }
% \end{macrocode}
% Then comes the math material we want to see colored:
% \begin{macrocode}
- #3
+ #3
% \end{macrocode}
% After that we need to reset the color ourselves (without a group
% that does it for us), i.e., popping the saved color from our
@@ -209,8 +206,8 @@
% separate command (which in fact needs to be called several times,
% so inlining the code wouldn't be possible.
% \begin{macrocode}
- \@@_scan_for_scripts:w
-}
+ \@@_scan_for_scripts:w
+ }
% \end{macrocode}
% \end{macro}
%
@@ -223,29 +220,57 @@
% \cs{mathop} in which case the sub and superscripts may be
% attached as \cs{limits} instead of after the material. All cases
% need separate treatment.
+% And we need to watch out for an upcoming \verb=&= and avoid
+% prematurely triggering the end of an alignment cell.
+% \changes{v1.0c}{2022/07/25}{Avoid ending an alignment cell
+% prematurely when hitting an \texttt{\&} during
+% scanning (gh/901)}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_scan_for_scripts:w {
+\cs_new_protected:Npn \@@_scan_for_scripts:w
+ {
% \end{macrocode}
-% We therefore first parse for a \cs{c_math_subscript_token}
-% ignoring (dropping) any spaces and \cs{relax} as \TeX{} would
-% do. We do this with expansion so that hidden sub or superscripts
+% We need to look at what follows \cs{mathcolor}, and we need to do
+% that ignoring (and dropping) any spaces and \cs{relax} as \TeX{}
+% would do in normal math processing (for example before a subscript
+% token). We do this with expansion so that hidden sub or superscripts
% in macros are still found as long as the macros are expandable.
% \begin{macrocode}
- \@@_peek_catcode_ignore_filler_expand:NTF \c_math_subscript_token
-% \end{macrocode}
-% If we found that character we call a function that handles sub or
-% superscripts.
-% \begin{macrocode}
- { \@@_handle_scripts:Nw }
-% \end{macrocode}
-% Otherwise check if this token we peeked at (which is now stored
-% in \cs{l_peek_token} is a superscript token.
-% \begin{macrocode}
- { \token_if_math_superscript:NTF \l_peek_token
-% \end{macrocode}
-% If found we call the sub/superscript handler.
-% \begin{macrocode}
- { \@@_handle_scripts:Nw }
+ \peek_remove_filler:n
+ {
+% \end{macrocode}
+% To avoid problems hitting on \verb=&= we start with a
+% \cs{group_align_safe_begin:}. That has to be ended with
+% \cs{group_align_safe_end:} when the
+% danger (aka scanning) is over, which, due to the branching below, happens at
+% four different points, i.e., when the \cs{mathcolor} is
+% \begin{enumerate}
+% \item
+% followed by a \enquote{normal} token;
+% \item
+% followed by a braced sub/superscript;
+% \item
+% followed by an unbraced sub/superscript;
+% \item
+% followed by one of the \cs{limits} primitives.
+% \end{enumerate}
+% In each case we have to end the align safe group and we mark the
+% points below in the code for easy reference.
+% \begin{macrocode}
+ \group_align_safe_begin:
+% \end{macrocode}
+% We first parse for \cs{c_math_subscript_token} or
+% \cs{c_math_superscript_token}.
+% After \cs{peek_remove_filler:n} is done, it sets \cs{l_peek_token}
+% equal to the next non-filler token, so we can avoid unnecessary
+% work and just compare that. If either of the tokens is found, call
+% \cs{@@_handle_scripts:Nw}:
+% \begin{macrocode}
+ \token_case_catcode:NnTF \l_peek_token
+ {
+ \c_math_subscript_token { }
+ \c_math_superscript_token { }
+ }
+ { \@@_handle_scripts:Nw }
% \end{macrocode}
% Otherwise we check if it was any of the limit operation
% primitives. If that is the case, e.g., if we have a situation
@@ -256,45 +281,59 @@
% we have to move it directly after the \cs{int} to ensure there
% is no color reset between the operator and the \cs{limits} command.
% \begin{macrocode}
- { \token_case_meaning:NnTF \l_peek_token
{
- \limits { \limits }
- \nolimits { \nolimits }
- \displaylimits { \displaylimits }
- }
+ \token_case_meaning:NnTF \l_peek_token
+ {
+ \limits { \limits }
+ \nolimits { \nolimits }
+ \displaylimits { \displaylimits }
+ }
% \end{macrocode}
% Once that is done, we have to get rid of the token we peeked at
% and then restart scanning for sub or superscripts. Given that
% \cs{@@_scan_for_scripts:w} expands while scanning the simplest
-% solution is to add \cs{use_none:n} in front of the peeked at token.
+% solution is to add \cs{use_none:n} in front of the peeked at
+% token.
+%
+% Here we end the align safe group and
+% \cs{@@_scan_for_scripts:w} will start a new one.
% \begin{macrocode}
- { \@@_scan_for_scripts:w \use_none:n }
+ {
+ \group_align_safe_end: % case 4
+ \@@_scan_for_scripts:w \use_none:n
+ }
% \end{macrocode}
-% If it was one of these we look for a \texttt{'} and if found remove it and
+% If it was not one of these we look for a \texttt{'} and if found remove it and
% replace it by its expansion. The reason we have to do this (and
% not rely on the earlier peeking to expand for us is the fact
% that \texttt{'} is only ``math active'' and that doesn't expand
% under \cs{expanded} or \cs{expandafter}.
% \begin{macrocode}
- { \peek_meaning_remove:NTF '
- { \@@_handle_scripts:Nw ^\c_group_begin_token \prim@s }
+ {
+ \token_if_eq_meaning:NNTF \l_peek_token '
+ {
+ \@@_handle_scripts:Nw ^
+ \c_group_begin_token
+ \exp_after:wN \prim@s \use_none:n
+ }
% \end{macrocode}
% If it is anything else we finish off which means we reset the
% color (because we prevented that before to happen automatically
% after the next group) and pop the color stack setting \cs{current@color}.
% \begin{macrocode}
- { \reset@color
- \seq_gpop:NN \g_@@_seq \current@color
- }
+ {
+ \group_align_safe_end: % case 1
+ \reset@color
+ \seq_gpop:NN \g_@@_seq \current@color
+ }
+ }
}
}
- }
-}
+ }
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
% \begin{macro}{\@@_handle_scripts:Nw}
% The tricky part of handling sub and superscripts is that we have
% to reset color to the one that is on the stack but reset it back
@@ -306,7 +345,8 @@
% sign, and superscript. So technically the superscript comes first
% and the \cs{sum} that should get colored red is the middle.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_handle_scripts:Nw #1 {
+\cs_new_protected:Npn \@@_handle_scripts:Nw #1
+ {
% \end{macrocode}
% The argument is either \verb=^= or \verb=_=, so we execute it and
% explicitly open two \verb={= groups. We need two because color
@@ -329,7 +369,7 @@
%\begin{verbatim}
% \reset@color } \@@_scan_for_scripts:w
%\end{verbatim}
-% The \cs{_@@_scan_for_scripts:w} then retakes control and initiates
+% The \cs{@@_scan_for_scripts:w} then retakes control and initiates
% parsing for another sub or superscript.
% \begin{macrocode}
\group_insert_after:N \c_group_end_token
@@ -341,76 +381,28 @@
% already supplied the outer one already. In that case we drop
% it. Otherwise we have an unbraced single token sub or superscript
% which means we are missing a closing \verb=}= at the end and need
-% to account for that: this is done in \cs{_@@_handle_unbraced_script:N}.
-% \begin{macrocode}
- \@@_peek_catcode_ignore_filler_expand:NTF \c_group_begin_token
- { \peek_catcode_remove:NT \c_group_begin_token { } }
- { \@@_handle_unbraced_script:N }
- }% \end{macrocode}
-% \end{macro}
-
-
-% \begin{macro}{\@@_handle_unbraced_script:N}
-% All we have to do here is to add the final closing brace.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_handle_unbraced_script:N #1 {
- #1 \c_group_end_token }
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \subsection{Utility function for the peek module}
-%
-% This peek is expanding and ignores spaces and \cs{relax} (even
-% though the name doesn't say so)
-% but \cs{relax} is usually allowed in such places where we so it
-% may not be bad to have it in this way in general --- maybe this
-% should move to expl3 peek functions (or otherwise the naming
-% should perhaps be adjusted).
-%
-%
-% \begin{macrocode}
-\tl_new:N \l_@@_peek_tmp_tl
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_peek_catcode_ignore_filler_expand:NTF #1#2#3
- {
- \tl_set:Nn \l_@@_peek_tmp_tl
- { \token_if_eq_catcode:NNTF \l_peek_token #1 {#2} {#3} }
- \@@_peek_expand:w
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_peek_expand:w
- {
- \exp_after:wN \peek_catcode_remove:NTF
- \exp_after:wN \c_space_token
- \exp_after:wN \@@_peek_test_expand:w
- \exp_after:wN \@@_peek_test_relax:w
- \exp:w \exp_end_continue_f:w
- }
-% \end{macrocode}
+% to account for that: this is done in false branch by
+% \cs{use_ii_i:nn}.
%
+% After scanning for a brace all scanning is done, so here are the
+% other two points where we have to end the align safe group (in
+% the true and false case).
% \begin{macrocode}
-\cs_new_protected:Npn \@@_peek_test_expand:w
- {
- \token_if_expandable:NTF \l_peek_token
- { \@@_peek_expand:w }
- { \l_@@_peek_tmp_tl }
+ \peek_remove_filler:n
+ {
+ \token_if_eq_meaning:NNTF \l_peek_token \c_group_begin_token
+ {
+ \group_align_safe_end: % case 2
+ \peek_catcode_remove:NT \c_group_begin_token { }
+ }
+ {
+ \exp_after:wN \group_align_safe_end: % case 3
+ \use_ii_i:nn \c_group_end_token
+ }
+ }
}
% \end{macrocode}
-%
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_peek_test_relax:w
- {
- \peek_meaning_remove:NTF \scan_stop:
- { \@@_peek_expand:w }
- { \@@_peek_test_expand:w }
- }
-% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%<@@=>
@@ -424,7 +416,6 @@
% \Finale
%
%
-
%%%%%%%%%%%%%%%%
\endinput
%%%%%%%%%%%%%%%%
diff --git a/macros/latex-dev/required/graphics/mathcolor.pdf b/macros/latex-dev/required/graphics/mathcolor.pdf
index 64d2f93334..43e44ed186 100644
--- a/macros/latex-dev/required/graphics/mathcolor.pdf
+++ b/macros/latex-dev/required/graphics/mathcolor.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index aad5f49c95..ab77c4b467 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 4dce5855b6..b6fe701a67 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 8a079345fc..e1df668772 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/latex-lab/README.md b/macros/latex-dev/required/latex-lab/README.md
index 410292cda5..54e693484b 100644
--- a/macros/latex-dev/required/latex-lab/README.md
+++ b/macros/latex-dev/required/latex-lab/README.md
@@ -1,6 +1,6 @@
# LaTeX laboratory
-Release 2022-06-01 pre-release 4
+Release 2023-05-01 pre-release 0
## Overview
diff --git a/macros/latex-dev/required/latex-lab/changes.txt b/macros/latex-dev/required/latex-lab/changes.txt
index 912a45343d..b4b4df9811 100644
--- a/macros/latex-dev/required/latex-lab/changes.txt
+++ b/macros/latex-dev/required/latex-lab/changes.txt
@@ -1,3 +1,13 @@
+2022-07-22 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex-lab-footnotes.dtx (subsection{Document-level commands}):
+ Make mandatory arguments of \footnote and \footnotetext long (gh863)
+
+2022-05-28 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * latex-lab-prototype.dtx
+ Removed
+
2022-14-04 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* documentmeta-support.dtx:
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
index 63b7f66e42..7d3e1d002f 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
index e62ba6d7f7..cfe8aee9a0 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
index 330ae7b0cc..6fe7ff6955 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
@@ -403,7 +403,7 @@
% \subsection{File declaration}
% \begin{macrocode}
\ProvidesFile{latex-lab-footnotes.ltx}
- [2022-03-10 v0.6a changes to the footnote interfaces]
+ [2022-07-22 v0.6b changes to the footnote interfaces]
% \end{macrocode}
%
% \begin{macrocode}
@@ -903,9 +903,11 @@
%
% \subsection{Document-level commands}
%
+% \changes{v0.6b}{2022/07/22}{Make mandatory arguments of \cs{footnote}
+% and \cs{footnotetext} long (gh863)}
% \begin{macrocode}
-\DeclareDocumentCommand\footnotetext {om} {
+\DeclareDocumentCommand\footnotetext {o+m} {
\fnote_set_fnmark:nn {#1} \@mpfn
\@footnotetext {#2}
}
@@ -914,7 +916,7 @@
%-------------------------------------
-\DeclareDocumentCommand\footnote {om} {
+\DeclareDocumentCommand\footnote {o+m} {
\fnote_step_fnmark:nn {#1} \@mpfn
\cs_set_eq:NN \@@_footnotemark_finish: \prg_do_nothing:
\@footnotemark
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
index 23d39d4d50..45ac1cce92 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-new-or.pdf b/macros/latex-dev/required/latex-lab/latex-lab-new-or.pdf
index 86df806743..d12adaf15c 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-new-or.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-new-or.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-prototype.dtx b/macros/latex-dev/required/latex-lab/latex-lab-prototype.dtx
deleted file mode 100644
index 090e6c91a4..0000000000
--- a/macros/latex-dev/required/latex-lab/latex-lab-prototype.dtx
+++ /dev/null
@@ -1,827 +0,0 @@
-% \iffalse meta-comment
-%
-%% File: latex-lab-prototype.dtx
-%
-% Copyright (C) 1999 Frank Mittelbach, Chris Rowley, David Carlisle
-% (C) 2004-2010 Frank Mittelbach, The LaTeX Project
-% (C) 2011-2022 The LaTeX Project
-%
-% It may be distributed and/or modified under the conditions of the
-% LaTeX Project Public License (LPPL), either version 1.3c of this
-% license or (at your option) any later version. The latest version
-% of this license is in the file
-%
-% https://www.latex-project.org/lppl.txt
-%
-% This file is part of the "latex-lab bundle" (The Work in LPPL)
-% and all files in that bundle must be distributed together.
-%
-% -----------------------------------------------------------------------
-%
-% The development version of the bundle can be found at
-%
-% https://github.com/latex3/latex2e
-%
-% for those people who are interested.
-%
-%<*driver>
-\documentclass[full]{l3doc}
-\begin{document}
- \DocInput{\jobname.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \title{^^A
-% The \textsf{latex-lab-prototype} package\\ Prototype document functions^^A
-% }
-%
-% \author{^^A
-% The \LaTeX{} Project\thanks
-% {^^A
-% E-mail:
-% \href{mailto:latex-team@latex-project.org}
-% {latex-team@latex-project.org}^^A
-% }^^A
-% }
-%
-% \date{Released 2022-03-09}
-%
-% \maketitle
-%
-% \tableofcontents
-%
-% \bigskip
-%
-% \begin{documentation}
-%
-% There are three broad \enquote{layers} between putting down ideas into
-% a source file and ending up with a typeset document. These layers of
-% document writing are
-% \begin{enumerate}
-% \item authoring of the text with mark-up;
-% \item document layout design;
-% \item implementation (with \TeX{} programming) of the design.
-% \end{enumerate}
-% We write the text as an author, and we see the visual output of the design
-% after the document is generated; the \TeX{} implementation in the middle is
-% the glue between the two.
-%
-% \LaTeX{}'s greatest success has been to standardise a system of mark-up that
-% balances the trade-off between ease of reading and ease of writing to suit
-% almost all forms of technical writing. It's
-% other original strength was a good background in typographical design; while
-% the standard \LaTeXe{} classes look somewhat dated now in terms of their
-% visual design, their typography is generally sound. (Barring the occasional
-% minor faults.)
-%
-% However, \LaTeXe{} has always lacked a standard approach to customising
-% the visual design of a document. Changing the looks of the standard classes
-% involved either:
-% \begin{itemize}
-% \item Creating a new version of the implementation code of the class and
-% editing it.
-% \item Loading one of the many packages to customise certain elements of
-% the standard classes.
-% \item Loading a completely different document class, such as
-% \textsf{KOMA-Script} or \textsf{memoir}, that allows easy customisation.
-% \end{itemize}
-% All three of these approaches have their drawbacks and learning curves.
-%
-% The idea behind this module is to cleanly separate the three layers
-% introduced at the beginning of this section, so that document authors who
-% are not programmers can easily change the design of their documents.
-% The approach here also makes it easier for \LaTeX{} programmers to provide
-% their own customisations on top of a pre-existing class.
-%
-% \section{What is a document?}
-%
-% Besides the textual content of the words themselves, the source file
-% of a document contains mark-up elements that add structure to the
-% document. These elements include sectional divisions, figure/table
-% captions, lists of various sorts, theorems/proofs, and so on.
-% The list will be different for every document that can be written.
-%
-% Each element can be represented logically without worrying about the
-% formatting, with mark-up such as \cs{section}, \cs{caption},
-% |\begin{enumerate}| and so on. The output of each one of these
-% document elements will be a typeset representation of the information
-% marked up, and the visual arrangement and design of these elements
-% can vary widely in producing a variety of desired outcomes.
-%
-% For each type of document element, there may be design variations that
-% contain the same sort of information but present it in slightly
-% different ways. For example, the difference between a numbered and an
-% unnumbered section, \cs{section} and |\section*|, or the difference
-% between an itemised list or an enumerated list.
-%
-% There are three distinct layers in the definition of
-% \enquote{a document} at this level
-% \begin{enumerate}
-% \item semantic elements such as the ideas of sections and lists;
-% \item a set of design solutions for representing these elements
-% visually;
-% \item specific variations for these designs that represent the
-% elements in the document.
-% \end{enumerate}
-% In the parlance of the template system, these are called object types,
-% templates, and instances, and they are discussed below in sections
-% \ref{sec:objects}, \ref{sec:templates}, and~\ref{sec:instances},
-% respectively.
-%
-% By formally declaring documents to be composed of mark-up elements
-% grouped into objects, which are interpreted and typeset with a set of
-% templates, each of which has one or more instances with which to
-% compose each and every semantic unit of the text, we can cleanly
-% separate the components of document construction.
-%
-% \section{Object types}
-% \label{sec:objects}
-%
-% An \emph{object type} (sometimes just \enquote{object}) is an
-% abstract idea of a document element that takes a fixed number of
-% arguments corresponding to the information from the document author
-% that it is representing. A sectioning object, for example, might take
-% three inputs: \enquote{title}, \enquote{short title}, and
-% \enquote{label}.
-%
-% Any given document class will define which object types are to be
-% used in the document, and any template of a given object type can be
-% used to generate an instance for the object. (Of course, different
-% templates will produce different typeset representations, but the
-% underlying content will be the same.)
-%
-% \begin{function}{\prototype_declare_object:nn}
-% \begin{syntax}
-% \cs{prototype_declare_object:nn} \Arg{object type} \Arg{no.~of args}
-% \end{syntax}
-% This function defines an \meta{object type} taking
-% \meta{no.~of arguments}, where the \meta{object type} is an
-% abstraction as discussed above. For example,
-% \begin{verbatim}
-% \prototype_declare_object:nn { sectioning } { 3 }
-% \end{verbatim}
-% creates an object type \enquote{sectioning}, where each use of that
-% object type will need three arguments.
-%
-% While not formally verified the semantics of all arguments are part
-% of the object declaration and need to be carefully documented in
-% order to make the use of different templates for the same object
-% type meaningful.
-% \end{function}
-%
-% \section{Templates}
-% \label{sec:templates}
-%
-% A \emph{template} is a generalised design solution for representing
-% the information of a specified object type. Templates that do the same
-% thing, but in different ways, are grouped together by their object type
-% and given separate names. There are two important parts to a template:
-% \begin{itemize}
-% \item the parameters it takes to vary the design it is producing;
-% \item the implementation of the design.
-% \end{itemize}
-%
-% \begin{function}{\prototype_declare_template:nnnn}
-% \begin{syntax}
-% \cs{prototype_declare_template:nnnn}
-% ~~\Arg{object type} \Arg{template}
-% ~~\Arg{key definitions} \Arg{code}
-% \end{syntax}
-% A \meta{template} interface is declared for a particular
-% \meta{object type}. The interface itself is
-% defined by the \meta{key definitions}, which is itself a key--value list
-% using the same interface as \cs{keys_define:nn}. (The keys created
-% here \emph{are} managed \pkg{l3keys} in the tree
-% \texttt{prototype/\meta{object}/\meta{template}}). As described below,
-% the keys should be defined such that they can be set multiple times:
-% first to a default value, then to a specific value for an instance
-% and finally to a per-use override.
-%
-% The \meta{code} argument of \cs{template_declare_template:nnnn} is used
-% as the replacement text for the template when it is used, either
-% directly or as an instance. This may therefore accept arguments
-% |#1|, |#2|, \emph{etc}.~as detailed by the \meta{number of arguments}
-% taken by the object type. The template and instance key values (see
-% below) are assigned before the \meta{code} is inserted.
-% \end{function}
-%
-% \begin{function}{\prototype_declare_defaults:nnn}
-% \begin{syntax}
-% \cs{prototype_declare_template:nnnn}
-% ~~\Arg{object type} \Arg{template} \Arg{defaults}
-% \end{syntax}
-% Sets the default values for each \meta{key} in a \meta{template}. When
-% a template is used, these values are applied first \emph{before} those
-% set by \cs{prototype_use_template:nnn} or
-% \cs{prototype_declare_instance:nnnn}. If not default is given, the
-% prevailing state when the template is used will apply.
-% \end{function}
-%
-% \section{Instances}
-% \label{sec:instances}
-%
-% After a template is defined it still needs to be put to use. The
-% parameters that it expects need to be defined before it can be used in
-% a document. Every time a template has parameters given to it, an
-% \emph{instance} is created, and this is the code that ends up in the
-% document to perform the typesetting of whatever pieces of information
-% are input into it.
-%
-% For example, a template might say \enquote{here is a section with or
-% without a number that might be centred or left aligned and print its
-% contents in a certain font of a certain size, with a bit of a gap
-% before and after it} whereas an instance declares \enquote{this is a
-% section with a number, which is centred and set in $12\,\text{pt}$
-% italic with a $10\,\text{pt}$ skip before and a
-% $12\,\text{pt}$ skip after it}. Therefore, an instance is just a
-% frozen version of a template with specific settings as chosen by the
-% designer.
-%
-% \begin{function}{\prototype_declare_instance:nnnn}
-% \begin{syntax}
-% \cs{prototype_declare_instance:nnnn}
-% ~~\Arg{object type} \Arg{template} \Arg{instance} \Arg{parameters}
-% \end{syntax}
-% This function uses a \meta{template} for an \meta{object type}
-% to create an \meta{instance}. The \meta{instance} will be set
-% up using the \meta{parameters}, which will set some of the
-% \meta{keys} in the \meta{template}.
-%
-% As a practical example, consider an object type for document sections
-% (which might include chapters, parts, sections, \emph{etc}.), which
-% is called \texttt{sectioning}. One possible template for this
-% object type might be called \texttt{basic}, and one instance of this
-% template would be a numbered section. The instance declaration might
-% read:
-% \begin{verbatim}
-% \prototype_declare_instance:nnnn { sectioning } { basic } { section-num }
-% {
-% numbered = true ,
-% justification = center ,
-% font = \normalsize\itshape ,
-% before-skip = 10pt ,
-% after-skip = 12pt ,
-% }
-% \end{verbatim}
-% Of course, the key names here are entirely imaginary, but illustrate
-% the general idea of fixing some settings.
-% \end{function}
-%
-% \section{Document interface}
-%
-% After the instances have been chosen, document commands must be
-% declared to use those instances in the document.
-% \cs{prototype_use_instance:nn}
-% calls instances directly, and this command should be used internally
-% in document-level mark-up.
-%
-% \begin{function}{\prototype_use_instance:nn, \prototype_use_instance:nnn}
-% \begin{syntax}
-% \cs{prototype_use_instance:nn}
-% ~~\Arg{object type} \Arg{instance} \meta{arguments}
-% \cs{prototype_use_instance:nn}n
-% ~~\Arg{object type} \Arg{instance} \Arg{overrides} \meta{arguments}
-% \end{syntax}
-% Uses an \meta{instance} of the \meta{object type}, which will require
-% \meta{arguments} as determined by the number specified for the
-% \meta{object type}. The \meta{instance} must have been declared
-% before it can be used, otherwise an error is raised. The \texttt{nnn}
-% version allows for local overrides of the instance settings using the
-% additional keyval argument.
-% \end{function}
-%
-% \begin{function}{\prototype_use_template:nnnn}
-% \begin{syntax}
-% \cs{prototype_use_template:nnnn} \Arg{object type} \Arg{template}
-% ~~\Arg{settings} \meta{arguments}
-% \end{syntax}
-% Uses the \meta{template} of the specified \meta{object type},
-% applying the \meta{settings} and absorbing \meta{arguments} as
-% detailed by the \meta{object type} declaration. This in effect
-% is the same as creating an instance using
-% \cs{template_declare_instance:nnnn} and immediately using it with
-% \cs{template_use_instance:nnn}, but without the instance having any
-% further existence. It is therefore useful where a template needs to
-% be used once.
-% \end{function}
-%
-% \section{Showing template information}
-%
-% \begin{function}
-% {
-% \prototype_show_template_code:nn ,
-% \prototype_show_template_defaults:nn ,
-% \prototype_show_instance_values:nn
-% }
-% \begin{syntax}
-% \cs{prototype_show_template_code:nn} \Arg{object type} \Arg{template}
-% \cs{prototype_show_template_defaults:nn} \Arg{object type} \Arg{template}
-% \cs{prototype_show_instance_values:nn} \Arg{object type} \Arg{instance}
-% \end{syntax}
-% Show information about a declare template or instance for
-% debugging purposes.
-% \end{function}
-%
-% \section{Open questions and comparison with \pkg{xtemplate}}
-%
-% The approach here is modelled on that from \pkg{xtemplate}, but since it uses
-% \pkg{l3keys} rather than dedicated key handling, there are some differences.
-% There is also a simplification in that collections are not supported
-% (because we now think that they provided the wrong kind of abstraction).
-%
-% The various open questions, including those linked to \pkg{xtemplate}
-% concepts, are collected here.
-%
-% \subsection{Module name}
-%
-% This is currently open for ideas: traditionally \texttt{template} has
-% been used. This may link to the need for both templates and instances
-% (\emph{vide infra}).
-%
-% \subsection{Design-level names}
-%
-% These are currently not provided. That allows both this code and
-% \pkg{xtemplate} to be loaded in the same document. We will likely want
-% to decide on these names: they could for example include
-% \texttt{Prototype} or \texttt{Design}, or could use the existing
-% \pkg{xtemplate} if a compatibility approach can be designed.
-%
-% \subsection{Objects}
-%
-% Is this name clear? A possible alternative is `element'.
-%
-% \subsection{Efficiency and repetition of key setting}
-%
-% In the \pkg{xtemplate} implementation, keys values are stored in property
-% lists before being applied. This means that when creating an instance, the
-% template defaults can be replaced entirely by any instance values. In
-% contrast, the approach here simply precompiles all of the template defaults,
-% then appends the precompiled list from the instance. Some variables are
-% therefore set twice. More importantly, this means that arbitrary code
-% could be executed twice: authors need to be aware of this.
-%
-% \subsection{Key ordering}
-%
-% Linked to the previous idea, in \pkg{xtemplate} keys are set in the
-% order they are declared in the setup. In contrast, using \pkg{l3keys}
-% they are set in the order the keys are given in the input. Is this OK?
-%
-% \subsection{Setting defaults}
-%
-% The current approach requires setting the defaults separately from
-% the key creation. That means listing keys twice. However, it also
-% avoids further overloading of the keyval setup. Is this reasonable?
-%
-% \subsection{The need for templates and instances}
-%
-% In \pkg{xtemplate}, storing keys in a \texttt{prop} means that there
-% is a real efficiency when creating an instance. In contrast, using
-% precompiled keys here, creating a template and creating an instance
-% are almost identical. Could we drop the distinction? That would then
-% work well if we allowed instances to be derived from others: effectively
-% the same as instances from templates, but with a `flatter' approach.
-%
-% \subsection{Assignment of key values}
-%
-% The \pkg{xtemplate} approach uses \cs{AssignTemplateKeys} to
-% specify when keys are assigned. In contrast, here key assignment is
-% automatic. If you look over \TeX{} Live, the only places that
-% \cs{AssignTemplateKeys} is not the first thing in the code are in limited
-% use cases in \pkg{enotez} and \pkg{xgalley}. In both packages, that's because
-% they want to limit the scope of assignment. In \pkg{enotez} the key setting
-% is placed inside a group, whereas in \pkg{xgalley} there is a
-% save-and-restore approach as a group is not possible. Both of those use-cases
-% could be covered in other ways: it's a question of setting up the template
-% keys so they assign to an intermediate variable, then assigning those as
-% necessary to the live ones for these cases.
-%
-% The main reason for not using \cs{AssignTemplateKeys} is that the common
-% case doesn't need it. We could of course stick to an explicit-assignment
-% approach, or have two variants or template-creation, etc., where assignment
-% is manual in one of them.
-%
-% \subsection{Values from other keys}
-%
-% The \pkg{xtemplate} approach offers \cs{KeyValue} to pass the value of
-% one key as the default for another. That relies on the fact that key
-% setting is ordered (\emph{vide supra}). It also means that there is
-% some code to check for this as part of key setting: it's non-trivial
-% to support. The current \pkg{l3keys}-based code doesn't offer this.
-% Instead one could use for example meta keys. That is a different
-% interface and might occasionally be awkward. We can add some
-% \texttt{.store-value:n} property to allow a \cs{keys_value:nn} approach,
-% but without key ordering it might still not work in the same way.
-%
-% \subsection{The nature of debugging data}
-%
-% Due to the differences in data storage, the \pkg{xtemplate} method offers
-% a richer ability to debug template internals than the one here. We can look
-% at \emph{e.g.}\ tracking all keys for a template to make this easier.
-% It is worth noting that much of this data is really something that
-% should be part of the documentation anyway. Also, it would be trivial
-% to save the raw defaults and do the `hard' processing only if asked
-% to show the values (\emph{i.e.}\ using code similar to that in
-% \pkg{xtemplate}).
-%
-% \subsection{Collections}
-%
-% These are not implemented at all: we likely want a new approach to
-% contexts.
-%
-% \end{documentation}
-%
-% \begin{implementation}
-%
-% \section{\pkg{latex-lab-prototype} Implementation}
-%
-% \subsection{File declaration}
-% \begin{macrocode}
-%<*package>
-\ProvidesFile{latex-lab-prototype.sty}
- [2022-03-09 v0.1b Experimental prototype document functions]
-%</package>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*2ekernel>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ExplSyntaxOn
-% \end{macrocode}
-%
-% \subsection{\cs{keys_precompile:nnN}}
-%
-% \begin{macrocode}
-%<@@=keys>
-% \end{macrocode}
-%
-% This may not yet be available in \pkg{expl3} so we ensure it is set up
-% here: all temporary. We just redefine those internals that need it.
-% \begin{macrocode}
-\tl_if_exist:NF \l_@@_precompile_tl
- {
- \bool_new:N \l_@@_precompile_bool
- \tl_new:N \l_@@_precompile_tl
- }
-\cs_gset_protected:Npn \@@_precompile:n #1
- {
- \bool_if:NTF \l_@@_precompile_bool
- { \tl_put_right:Nn \l_@@_precompile_tl }
- { \use:n }
- {#1}
- }
-\cs_gset_protected:Npn \@@_bool_set:Nnnn #1#2#3#4
- {
- \bool_if_exist:NF #1 { \bool_new:N #1 }
- \@@_choice_make:
- \@@_cmd_set:nx { \l_keys_path_str / true }
- { \exp_not:c { bool_ #2 set_ #3 :N } \exp_not:N #1 }
- \@@_cmd_set:nx { \l_keys_path_str / false }
- { \exp_not:c { bool_ #2 set_ #4 :N } \exp_not:N #1 }
- \@@_cmd_set_direct:nn { \l_keys_path_str / unknown }
- {
- \msg_error:nnx { keys } { boolean-values-only }
- \l_keys_key_str
- }
- \@@_default_set:n { true }
- }
-\cs_gset_protected:Npn \@@_choice_make_aux:N #1
- {
- \cs_set_nopar:cpn { \c_@@_type_root_str \l_keys_path_str }
- { choice }
- \@@_cmd_set_direct:nn \l_keys_path_str { #1 {##1} }
- \@@_cmd_set_direct:nn { \l_keys_path_str / unknown }
- {
- \msg_error:nnxx { keys } { choice-unknown }
- \l_keys_path_str {##1}
- }
- }
-\cs_gset_protected:Npn \@@_cmd_set:nn #1#2
- { \@@_cmd_set_direct:nn {#1} { \@@_precompile:n {#2} } }
-\cs_gset_protected:Npn \@@_cmd_set_direct:nn #1#2
- { \cs_set_protected:cpn { \c_@@_code_root_str #1 } ##1 {#2} }
-\cs_gset_protected:Npn \@@_cs_set:NNpn #1#2#3#
- {
- \cs_set_protected:cpx { \c_@@_code_root_str \l_keys_path_str } ##1
- {
- \@@_precompile:n
- { #1 \exp_not:N #2 \exp_not:n {#3} {##1} }
- }
- \use_none:n
- }
-\cs_gset_protected:Npn \@@_meta_make:n #1
- {
- \exp_args:NVo \@@_cmd_set_direct:nn \l_keys_path_str
- {
- \exp_after:wN \keys_set:nn \exp_after:wN
- { \l_@@_module_str } {#1}
- }
- }
-\cs_gset_protected:Npn \@@_meta_make:nn #1#2
- {
- \exp_args:NV \@@_cmd_set_direct:nn
- \l_keys_path_str { \keys_set:nn {#1} {#2} }
- }
-\cs_gset_protected:Npn \keys_precompile:nnN #1#2#3
- {
- \bool_set_true:N \l_@@_precompile_bool
- \tl_clear:N \l_@@_precompile_tl
- \keys_set:nn {#1} {#2}
- \bool_set_false:N \l_@@_precompile_bool
- \tl_set_eq:NN #3 \l_@@_precompile_tl
- }
-\cs_gset_protected:Npn \@@_show:Nnn #1#2#3
- {
- #1 { keys } { show-key }
- { \@@_trim_spaces:n { #2 / #3 } }
- {
- \keys_if_exist:nnT {#2} {#3}
- {
- \exp_args:Nnf \msg_show_item_unbraced:nn { code }
- {
- \exp_args:Ne \@@_show:n
- {
- \exp_args:Nc \cs_replacement_spec:N
- {
- \c_@@_code_root_str
- \@@_trim_spaces:n { #2 / #3 }
- }
- }
- }
- }
- }
- { } { }
- }
-\cs_gset:Npx \@@_show:n #1
- {
- \exp_not:N \@@_show:w
- #1
- \tl_to_str:n { \@@_precompile:n }
- #1
- \tl_to_str:n { \@@_precompile:n }
- \exp_not:N \s_@@_stop
- }
-\use:x
- {
- \cs_gset:Npn \exp_not:N \@@_show:w
- ##1 \tl_to_str:n { \@@_precompile:n }
- ##2 \tl_to_str:n { \@@_precompile:n }
- ##3 \exp_not:N \s_@@_stop
- }
- {
- \tl_if_blank:nTF {#2}
- {#1}
- { \@@_show:Nw #2 \s_@@_stop }
- }
-\use:x
- {
- \cs_gset:Npn \exp_not:N \@@_show:Nw ##1##2
- \c_right_brace_str \exp_not:N \s_@@_stop
- }
- {#2}
-% \end{macrocode}
-%
-% \subsection{Setup}
-%
-% \begin{macrocode}
-%<@@=prototype>
-% \end{macrocode}
-%
-% \begin{variable}{\l_@@_tmp_tl}
-% \begin{macrocode}
-\tl_new:N \l_@@_tmp_tl
-% \end{macrocode}
-% \end{variable}
-%
-% \subsection{Data structures}
-%
-% \begin{variable}{\l_@@_object_prop}
-% \begin{macrocode}
-\prop_new:N \l_@@_object_prop
-% \end{macrocode}
-% \end{variable}
-%
-% \subsection{Creating objects}
-%
-% \begin{macro}{\prototype_declare_object:nn, \@@_declare_object:nn}
-% Although the object type is the \enquote{top level} of the template
-% system, it is actually very easy to implement. All that happens is that
-% the number of arguments required is recorded, indexed by the name of the
-% object type.
-% \begin{macrocode}
-\cs_new_protected:Npn \prototype_declare_object:nn #1#2
- {
- \exp_args:Nx \@@_declare_object:nn { \int_eval:n {#2} } {#1}
- }
-\cs_new_protected:Npn \@@_declare_object:nn #1#2
- {
- \int_compare:nTF { 0 <= #1 <= 9 }
- {
- \msg_info:nnnn { prototype } { declare-object-type } {#2} {#1}
- \prop_put:Nnn \l_@@_object_prop {#2} {#1}
- }
- { \msg_error:nnxx { prototype } { bad-number-of-arguments } {#2} {#1} }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Templates and instances}
-%
-% \begin{variable}{\l_@@_assignments_tl}
-% Used to insert the set keys.
-% \begin{macrocode}
-\tl_new:N \l_@@_assignments_tl
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\prototype_declare_template:nnnn}
-% \begin{macro}{\prototype_declare_defaults:nnn}
-% Creating a template means defining the keys, storing the defaults and
-% creating the function. The defaults are done separately from the other
-% parts as that fits the \pkg{l3keys} pattern but also makes it easy to
-% alter that aspect without changing the core implementation.
-% \begin{macrocode}
-\cs_new_protected:Npn \prototype_declare_template:nnnn #1#2#3#4
- {
- \prop_get:NnNTF \l_@@_object_prop {#1} \l_@@_tmp_tl
- {
- \keys_define:nn { prototype / #1 / #2 } {#3}
- \tl_clear_new:c { l_@@_defaults_ #1 _ #2 _tl }
- \cs_generate_from_arg_count:cNnn
- { @@_template_ #1 _ #2 :w }
- \cs_set_protected:Npn
- { \l_@@_tmp_tl }
- {
- \tl_use:N \l_@@_assignments_tl
- #4
- }
- }
- { \msg_error:nnn { prototype } { unknown-object-type } {#1} }
- }
-\cs_new_protected:Npn \prototype_declare_defaults:nnn #1#2#3
- {
- \cs_if_exist:cTF { @@_template_ #1 _ #2 :w }
- { \tl_set:cn { l_@@_defaults_ #1 _ #2 _tl } {#3} }
- { \msg_error:nnn { prototype } { unknown-template } {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-\cs_generate_variant:Nn \keys_precompile:nnN { v , nv }
-% \end{macrocode}
-%
-% \begin{macro}{\prototype_use_template:nnn}
-% \begin{macro}{\prototype_declare_instance:nnnn}
-% \begin{macro}{\@@_declare_aux:nnnn}
-% Using a template and creating an instance are the same thing other
-% than the final step: using the template or storing the key settings.
-% We do not attempt to maximise efficiency in setting, rather we have
-% a clear approach in which the final assignments may have multiple
-% entries.
-% \begin{macrocode}
-\cs_new_protected:Npn \prototype_use_template:nnn #1#2#3
- {
- \@@_declare_aux:nnnn {#1} {#2} {#3}
- { \use:c { @@_template_ #1 _ #2 :w } }
- }
-\cs_new_protected:Npn \prototype_declare_instance:nnnn #1#2#3#4
- {
- \@@_declare_aux:nnnn {#1} {#2} {#4}
- {
- \tl_clear_new:c { l_@@_instance_ #1 _ #3 _pars_tl }
- \tl_set_eq:cN { l_@@_instance_ #1 _ #3 _pars_tl }
- \l_@@_assignments_tl
- \tl_clear_new:c { l_@@_instance_ #1 _ #3 _template_tl }
- \tl_set:cn { l_@@_instance_ #1 _ #3 _template_tl } {#2}
- }
- }
-\cs_new_protected:Npn \@@_declare_aux:nnnn #1#2#3#4
- {
- \cs_if_exist:cTF { @@_template_ #1 _ #2 :w }
- {
- \keys_precompile:nvN
- { prototype / #1 / #2 }
- { l_@@_defaults_ #1 _ #2 _tl }
- \l_@@_assignments_tl
- \keys_precompile:nnN { prototype / #1 / #2 } {#3} \l_@@_tmp_tl
- \tl_put_right:NV \l_@@_assignments_tl \l_@@_tmp_tl
- #4
- }
- { \msg_error:nnn { prototype } { unknown-template } {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\prototype_use_instance:nn}
-% \begin{macro}{\prototype_use_instance:nnn}
-% Recover the values and insert the code.
-% \begin{macrocode}
-\cs_new_protected:Npn \prototype_use_instance:nn #1#2
- { \prototype_use_instance:nnn {#1} {#2} { } }
-\cs_new_protected:Npn \prototype_use_instance:nnn #1#2#3
- {
- \tl_if_exist:cTF { l_@@_instance_ #1 _ #2 _template_tl }
- {
- \tl_set_eq:Nc \l_@@_assignments_tl
- { l_@@_instance_ #1 _ #2 _pars_tl }
- \tl_if_blank:nF {#3}
- {
- \keys_precompile:vnN
- {
- prototype / #1 /
- \tl_use:c { l_@@_instance_ #1 _ #2 _template_tl }
- }
- {#3}
- \l_@@_tmp_tl
- \tl_put_right:NV \l_@@_assignments_tl
- \l_@@_tmp_tl
- }
- \use:c
- {
- @@_template_ #1 _
- \tl_use:c { l_@@_instance_ #1 _ #2 _template_tl }
- :w
- }
- }
- { \msg_error:nnn { prototype } { unknown-instance } {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Showing information}
-%
-% \begin{macro}
-% {
-% \prototype_show_template_code:nn ,
-% \prototype_show_template_defaults:nn ,
-% \prototype_show_instance_values:nn
-% }
-% \begin{macrocode}
-\cs_new_protected:Npn \prototype_show_template_code:nn #1#2
- {
- \prop_if_in:NnTF \l_@@_object_prop {#1}
- { \cs_show:c { @@_template_ #1 _ #2 :w } }
- { \msg_error:nnn { prototype } { unknown-object-type } {#1} }
- }
-\cs_new_protected:Npn \prototype_show_template_defaults:nn #1#2
- {
- \cs_if_exist:cTF { @@_template_ #1 _ #2 :w }
- { \tl_show:c { l_@@_defaults_ #1 _ #2 _tl } }
- { \msg_error:nnn { prototype } { unknown-template } {#1} {#2} }
- }
-\cs_new_protected:Npn \prototype_show_instance_values:nn #1#2
- {
- \tl_if_exist:cTF { l_@@_instance_ #1 _ #2 _template_tl }
- { \tl_show:c { l_@@_instance_ #1 _ #2 _pars_tl } }
- { \msg_error:nnn { prototype } { unknown-instance } {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Messages}
-%
-% \begin{macrocode}
-\msg_new:nnnn { prototype } { bad-number-of-arguments }
- { Bad~number~of~arguments~for~object~type~'#1'. }
- {
- An~object~may~accept~between~0~and~9~arguments.\\
- You~asked~to~use~#2~arguments:~this~is~not~supported.
- }
-\msg_new:nnnn { prototype } { unknown-instance }
- { The~instance~'#2'~of~type~'#1'~is~unknown. }
- {
- You~have~asked~to~use~an~instance~'#2',~
- but~this~has~not~been~created.
- }
-\msg_new:nnnn { prototype } { unknown-object-type }
- { The~object~type~'#1'~is~unknown. }
- { An~object~type~needs~to~be~declared~prior~to~using~it. }
-\msg_new:nnnn { prototype } { unknown-template }
- { The~template~'#2'~of~type~'#1'~is~unknown. }
- {
- No~interface~has~been~declared~for~a~template~
- '#2'~of~object~type~'#1'.
- }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\msg_new:nnn { prototype } { declare-object-type }
- { Declaring~object~type~'#1'~taking~#2~argument(s). }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ExplSyntaxOff
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</2ekernel>
-% \end{macrocode}
-%
-% \end{implementation}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-prototype.pdf b/macros/latex-dev/required/latex-lab/latex-lab-prototype.pdf
deleted file mode 100644
index f3a07f31c0..0000000000
--- a/macros/latex-dev/required/latex-lab/latex-lab-prototype.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
index a90d2c5a50..88a563d2c9 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab.ins b/macros/latex-dev/required/latex-lab/latex-lab.ins
index eb0b066af0..bc668a71e1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab.ins
+++ b/macros/latex-dev/required/latex-lab/latex-lab.ins
@@ -78,10 +78,5 @@ where one can also log issues in case there are any.
\generate{\file{latex-lab-footmisc.ltx}{\from{latex-lab-footnotes.dtx}{footmisc}}}
\generate{\file{latex-lab-footnotes.ltx}{\from{latex-lab-footnotes.dtx}{kernel}}}
-% for \DocumentMetadata trials
-\generate{\file{prototype-latex-lab-testphase.ltx}{\from{latex-lab-prototype.dtx}{2ekernel}}}
-
-% for standalone trials
-\generate{\file{latex-lab-prototype.sty}{\from{latex-lab-prototype.dtx}{2ekernel}}}
\endbatchfile
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index 23e3aca34f..a7e8675cb8 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 2022-11-01 pre-release 2
+Release 2023-05-01 pre-release 0
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index a63eabaf5d..1b117523cd 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 f03d3b6fa0..5a62c4c93d 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 140051caa5..52ab388d9d 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 0c0e726e1c..21bc238389 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 a92d26ad57..7b3e63dca5 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -5,16 +5,20 @@ 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-11-01 Release
+#########################
+
2022-09-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* array.dtx (section{The macros \texttt{\textbackslash @classz}):
Test against \strutbox height to determine if an m-cell contains
only a single line (gh/766)
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
#########################
# 2022-06-01 Release
#########################
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 20cb899562..9b5782c333 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 8347fda51a..a2405903fa 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 098e198f69..5a2cb393b3 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 67dc3197c5..e9000aee21 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 5b22dcc9dc..09a27818c7 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 52e9e53045..22a7ad4e82 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 c0541d83a6..a3912de489 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 ab9291157b..c2e66c96c8 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 28f5e75788..b82b65bb14 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index 6f275587ff..8444910b91 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 5cdc010fcb..6aabc7f6a2 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 5edf06fc20..57454b23c1 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 d909a2c873..9c2ed782fc 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 0bc1d1e48c..f017f5fd3b 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 c319cd3906..6072dca3c7 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 489a309c1d..9dc24cdabf 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 f85c46d0bd..8d403092c0 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 e6e8279f8e..a0d541c796 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 ea431061df..1f2fe7f2ca 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 a2ff23e702..faa84a5373 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 f535d681d7..f4e1365707 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 d1041fb802..293437b3ab 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 6df01e873a..0d8075103d 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ