texlive[63825] Master/texmf-dist: latex (6jul22)

commits+karl at tug.org commits+karl at tug.org
Wed Jul 6 22:20:38 CEST 2022


Revision: 63825
          http://tug.org/svn/texlive?view=revision&revision=63825
Author:   karl
Date:     2022-07-06 22:20:37 +0200 (Wed, 06 Jul 2022)
Log Message:
-----------
latex (6jul22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/base/README.md
    trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/changes.txt
    trunk/Master/texmf-dist/doc/latex/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/doc-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex/base/lamport-manual.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/lppl.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews32.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews33.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews34.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews35.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltpara-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide3.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide3.tex
    trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
    trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
    trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx
    trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
    trunk/Master/texmf-dist/tex/latex/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty

Modified: trunk/Master/texmf-dist/doc/latex/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/README.md	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/doc/latex/base/README.md	2022-07-06 20:20:37 UTC (rev 63825)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2022-06-01 patch level 4
+Release 2022-06-01 patch level 5
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/changes.txt	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/doc/latex/base/changes.txt	2022-07-06 20:20:37 UTC (rev 63825)
@@ -11,8 +11,30 @@
 ================================================================================
 
 #########################
+# 2022-06-01 PL5 Release
+#########################
+
+2022-07-05  Joseph Wright <Joseph.Wright at latex-project.org>
+
+	* ltkeys.dtx (subsection{Main mechanism})
+	Correct name of store for raw class options list
+	Support \CurrentOption in unknown keys
+
+2022-07-04  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssbas.dtx, ltfssdcl.dtx:
+	Ignore spaces if necessary, i.e., after display math done with $$ (gh/886)
+
+2022-07-04  Joseph Wright <Joseph.Wright at latex-project.org>
+
+	* ltfinal.dtx
+	Introduce \MakeTitlecase, \CaseSwitch and \DeclareCaseChangeEquivalent
+	as LaTeX2e names for expl3 case changing hooks, needed to support
+	some customisation requirements (e.g. biblatex)
+
+#########################
 # 2022-06-01 PL4 Release
-########################
+#########################
 
 2022-06-30  David Carlisle  <David.Carlisle at latex-project.org>
 
@@ -22,7 +44,7 @@
 
 #########################
 # 2022-06-01 PL3 Release
-########################
+#########################
 
 2022-06-23  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 

Modified: trunk/Master/texmf-dist/doc/latex/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/doc-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lamport-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lppl.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews32.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews33.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews34.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews35.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltpara-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/usrguide3.tex	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/doc/latex/base/usrguide3.tex	2022-07-06 20:20:37 UTC (rev 63825)
@@ -37,7 +37,7 @@
 \author{\copyright~Copyright 2020-2022, \LaTeX\ Project Team.\\
    All rights reserved.}
 
-\date{2022-02-19}
+\date{2022-07-05}
 
 \NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}}
 \NewDocumentCommand\marg{m}{\arg{#1}}
@@ -1054,4 +1054,59 @@
 the values \cs{topskip} (\dimeval{\topskip}) and \cs{baselineskip}
 (\dimeval{\baselineskip}) in the current document.
 
+\section{Case changing}
+
+\TeX{} provides two primitives \cs{uppercase} and \cs{lowercase} for changing
+the case of text. However, these have a range of limitations: they only change
+the case of explicit characters, do not account for the surrounding context, do
+not support UTF-8 input with 8-bit engines, etc. To overcome this problem,
+\LaTeX{} provides the commands \cs{MakeUppercase}, \cs{MakeLowercase} and
+\cs{MakeTitlecase}: these offer significant enhancement over the \TeX{}
+primitives. These commands are engine-robust (\cs{protected}), and so
+can be used in moving arguments.
+
+Upper- and lower-casing are well-understood in general conversation.
+Titlecasing here follows the definition given by the Unicode Consortium: the
+first character of the input will be converted to (broadly) uppercase, and the
+rest of the input to lowercase. The full range of Unicode UTF-8 input can be
+supported, with the proviso that at present the characters set up with 8-bit
+engines match those available in standard input encodings (|T1|, |T2|, |LGR|).
+\begin{quotation}
+  \begin{tabular}{rl}
+    |\MakeUppercase{hello WORLD ßüé}| & \MakeUppercase{hello WORLD ßüé} \\
+    |\MakeLowercase{hello WORLD ßüé}| & \MakeLowercase{hello WORLD ßüé} \\
+    |\MakeTitlecase{hello WORLD ßüé}| & \MakeTitlecase{hello WORLD ßüé} \\
+  \end{tabular}
+\end{quotation}
+
+The input given to these commands is `expanded' before case changing is
+applied. This means that any commands within the input that convert to pure
+text will be case changed. Mathematical content is automatically excluded, as
+are the arguments to the commands \cs{label}, \cs{ref}, \cs{cite}, \cs{begin}
+and \cs{end}. Additional exclusions can be added using the command
+\cs{AddToNoCaseChangeList}. Input can be excluded from case changing using the
+command \cs{NoCaseChange}.
+\begin{quotation}
+  \begin{tabular}{rl}
+    |\MakeUppercase{Some text $y = mx + c$}|
+      & \MakeUppercase{Some text $y = mx + c$} \\
+    |\MakeUppercase{\NoCaseChange{iPhone}}|
+      & \MakeLowercase{\NoCaseChange{iPhone}} \\
+  \end{tabular}
+\end{quotation}
+
+To allow robust commands to be used within case changing \emph{and} to produce
+the expected output, two additional control commands are available.
+\cs{CaseSwitch} allows the user to specify the result for the four possible
+cases
+\begin{itemize}
+  \item No case changing
+  \item Uppercasing
+  \item Lowercasing
+  \item Titlecasing (only applies for the start of the input)
+\end{itemize}
+The command \cs{DeclareCaseChangeEquivalent} provides a way to substitute a
+command by an alternative version when it is found inside a case changing
+situation.
+
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfinal.dtx}
-             [2022/06/30 v2.2v LaTeX Kernel (Final Settings)]
+             [2022/07/05 v2.2w LaTeX Kernel (Final Settings)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfinal.dtx}
@@ -1063,9 +1063,12 @@
 %    \end{macrocode}
 %
 % \begin{macro}{\MakeUppercase}
-% \begin{macro}{\MakeUppercase}
+% \begin{macro}{\MakeLowercase}
+% \begin{macro}{\MakeTitlecase}
 % \begin{macro}{\NoCaseChange}
 % \begin{macro}{\AddToNoCaseChangeList}
+% \begin{macro}{\CaseSwitch}
+% \begin{macro}{\DeclareCaseChangeEquivalent}
 % \begin{macro}{\@uclclist}
 %
 %
@@ -1081,7 +1084,8 @@
 %                {Use \cs{@expl at text@uppercase@@n}, removing local redefinition of \cs{UTF at two@octets at noexpand}}%
 % \changes{v2.2t}{2022/04/21}{Support \cs{noexpand} in argument of \cs{@expl at text@uppercase@@n}}
 % \changes{v2.2v}{2022/06/30}{Just use \cs{text_lowercase:n} without \cs{protectd at edf} gh/881x}%
-% Two wrappers around the L3 case changing functions.
+% \changes{v2.2w}{2022/07/04}{Introduced \cs{CaseSwitch}, \cs{DeclareCaseChangeEquivalent} and \cs{MakeTitlecase} to support hooking into case changing gh/889}%
+% Wrappers around the L3 case changing functions.
 % |\protected| to make them mostly safe as replacements for |uppercase|
 % and |\lowercase|.  
 %
@@ -1109,6 +1113,8 @@
 \cs_set_nopar:Npx\MakeUppercase#1{\use:c{MakeUppercase~}{#1}}
 \cs_new_protected_nopar:cpn{MakeLowercase~}{\text_lowercase:n}
 \cs_set_nopar:Npx\MakeLowercase#1{\use:c{MakeLowercase~}{#1}}
+\cs_new_protected_nopar:cpn{MakeTitlecase~}{\text_titlecase:n}
+\cs_set_nopar:Npx\MakeTitlecase#1{\use:c{MakeTitlecase~}{#1}}
 %    \end{macrocode}
 %
 % \changes{v2.2u}{2022/06/02}{Add \cs{NoCaseChange}}
@@ -1123,6 +1129,9 @@
          {\tl_put_right:Nn \l_text_case_exclude_arg_tl}
 \AddToNoCaseChangeList{ \NoCaseChange }
 \cs_new_protected:Npn \NoCaseChange #1 {#1}
+\cs_new_eq:NN \CaseSwitch \text_case_switch:nnnn
+\cs_new_eq:NN \DeclareCaseChangeEquivalent
+  \text_declare_case_equivalent:Nn
 \ExplSyntaxOff
 %    \end{macrocode}
 %
@@ -1138,6 +1147,9 @@
 % \end{macro}
 % \end{macro}
 % \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}

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssbas.dtx}
-             [2021/06/09 v3.2j LaTeX Kernel (NFSS Basic Macros)]
+             [2022/07/04 v3.2k LaTeX Kernel (NFSS Basic Macros)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -1127,26 +1127,72 @@
 % \end{macro}
 %
 %
-% \begin{macro}{\frozen at everymath}
+%
+
+%
+% \begin{macro}{\frozen at everydisplay}
 % \changes{v2.1a}{1994/01/17}{New math font setup}
 %    Now we define the behaviour of the frozen hooks: first
 %    check the math setup then call the user hook.
+%
+%    The check code may push tokens after the math formula with
+%    \cs{aftergroup} and they would prevent a \verb=$$= from  dropping
+%    following spaces. We therefore use a switch to be set as the
+%    first thing after the group so that following code can determine
+%    if there was a display or some inline math (in  the latter case
+%    we better not drop spaces).
+%    After setting the switch we also have to place \cs{ignorespaces}
+%    because setting the switch may be the only thing that happens
+%    after the display.
+% \changes{v3.2k}{2022/07/04}{Ignore spaces if necessary (gh/886)}
+%    The issue with handling of spaces was found in 2022, but it is
+%    really a bug fix for the code added in 2021/11.
 %    \begin{macrocode}
-\frozen at everymath = {\check at mathfonts
-                     \the\everymath}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2021/11/15}
+%<latexrelease>  {\frozen at everydisplay}{Handle spaces after math}%
+%<*2ekernel|latexrelease>
+\frozen at everydisplay = {%
+  \aftergroup\@ignoretrue  \aftergroup\ignorespaces
+  \check at mathfonts
+  \the\everydisplay}
 %    \end{macrocode}
 % \end{macro}
-%
-%
-% \begin{macro}{\frozen at everydisplay}
+
+
+% \begin{macro}{\frozen at everymath}
 % \changes{v2.1a}{1994/01/17}{New math font setup}
-%    Ditto for the display hook.
+% \changes{v3.2k}{2022/07/04}{Ignore spaces if necessary (gh/886)}
+%    The frozen code for inline math is similar, except that here we
+%    do not want to drop following spaces.
 %    \begin{macrocode}
-\frozen at everydisplay = {\check at mathfonts
-                        \the\everydisplay}
+\frozen at everymath = {%
+  \aftergroup\@ignorefalse
+  \check at mathfonts
+  \the\everymath}
 %    \end{macrocode}
 % \end{macro}
 %
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}
+%<latexrelease>  {\frozen at everydisplay}{Handle spaces after math}%
+%<latexrelease>
+%<latexrelease>\frozen at everydisplay = {\check at mathfonts
+%<latexrelease>                        \the\everydisplay}
+%<latexrelease>\frozen at everymath = {\check at mathfonts
+%<latexrelease>                     \the\everymath}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%
+%
+%
+%
+%
+%
 % \changes{v3.0q}{1996/07/27}{\cs{if at inmath} switch removed}
 %
 %  \begin{macro}{\curr at math@size}

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssdcl.dtx}
-            [2021/10/15 v3.0y LaTeX Kernel (NFSS Declarative Interface)]
+            [2022/07/04 v3.0z LaTeX Kernel (NFSS Declarative Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -602,8 +602,8 @@
 %    math mode, so we use some recursive \cs{group_insert_after:N} for this
 %    before we execute \cs{mv@\meta{version}@reset}.
 %    \begin{macrocode}
-  \group_insert_after:N \__nfss_init_mv_freeze:N \exp_after:wN
-    \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
+  \group_insert_after:N \__nfss_init_mv_freeze:N
+  \exp_after:wN \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
 %    \end{macrocode}
 %    The \cs{check at mathfonts} is called at the very beginning of each
 %    math formula, so it is a good way to hook in the resetting.
@@ -650,6 +650,17 @@
 %    \begin{macrocode}
                \@font at info{No~ math~ alphabet~ change~ to~ frozen~ version~ #1}
              }
+%    \end{macrocode}
+%    If this is executed after a math display, we may have to arrange
+%    for ignoring spaces, because they are now hidden if
+%    the tokens from above intervene. This is signaled by the 2e
+%    switch \texttt{@ignore} which is set in \cs{frozen at everymath} and
+%    \cs{frozen at everydisplay}.
+%
+%    This is all 2e code so we use that syntax.
+% \changes{v3.0z}{2022/07/04}{Ignore spaces if necessary (gh/886)}
+%    \begin{macrocode}
+         \if at ignore \ignorespaces \fi
     }
 }
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/source/latex/base/ltkeys.dtx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltkeys.dtx}
-             [2022/06/20 v1.0h LaTeX Kernel (Kevyal options)]
+             [2022/07/05 v1.0i LaTeX Kernel (Kevyal options)]
 % \iffalse
 \documentclass{l3doc}
 \GetFileInfo{ltkeys.dtx}
@@ -205,6 +205,7 @@
 % \begin{macro}{\@@_options_aux:n}
 % \changes{v1.0b}{2022/01/15}
 %         {Clear option list in end-of-package hook}
+% \changes{v1.0i}{2022/07/05}{Support \cs{CurrentOption}}
 % \begin{macro}{\@@_options_end:}
 %   The main function calls functions to collect up the global and local
 %   options into \cs{l_@@_options_clist} before calling the
@@ -239,7 +240,8 @@
           { \keys_define:nn {#1} { unknown .undefine: } }
       }
     \bool_set_true:N \l_@@_options_loading_bool
-    \keys_set:nV {#1} \l_@@_options_clist
+    \clist_map_variable:NNn \l_@@_options_clist \CurrentOption
+      { \keys_set:nV {#1} \CurrentOption }
     \bool_set_false:N \l_@@_options_loading_bool
     \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: }
     \@@_option_end:
@@ -283,6 +285,7 @@
 % \changes{v1.0h}{2022/06/20}{Use raw options data}
 % \begin{macro}{\@@_options_class:nnn}
 % \changes{v1.0h}{2022/06/20}{New function}
+% \changes{v1.0i}{2022/07/05}{Correct naming of raw class options storage}
 %   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
@@ -316,7 +319,7 @@
       {
         \str_if_eq:eeF
           { \exp_not:v { @raw at opt@ \@currname . \@currext } }
-          { \exp_not:V \@raw at classoption }
+          { \exp_not:V \@raw at classoptionslist }
           { \clist_put_right:Nn \@unusedoptionlist {#1} }
       }
   }

Modified: trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -115,7 +115,7 @@
    {2022-06-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{4}
+\def\patch at level{5}
 %    \end{macrocode}
 %
 % \begin{macro}{\development at branch@name}

Modified: trunk/Master/texmf-dist/tex/latex/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2022-07-06 20:20:37 UTC (rev 63825)
@@ -706,7 +706,7 @@
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
    {2022-06-01}
-\def\patch at level{4}
+\def\patch at level{5}
 \edef\development at branch@name{}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -7745,10 +7745,16 @@
 \let\frozen at everydisplay\everydisplay
 \newtoks\everymath
 \newtoks\everydisplay
-\frozen at everymath = {\check at mathfonts
-                     \the\everymath}
-\frozen at everydisplay = {\check at mathfonts
-                        \the\everydisplay}
+
+\frozen at everydisplay = {%
+  \aftergroup\@ignoretrue  \aftergroup\ignorespaces
+  \check at mathfonts
+  \the\everydisplay}
+
+\frozen at everymath = {%
+  \aftergroup\@ignorefalse
+  \check at mathfonts
+  \the\everymath}
 \let\curr at math@size\@empty
 \def\pickup at font{%
     \expandafter \ifx \font at name \relax
@@ -9066,8 +9072,8 @@
               (local:~  \int_use:N\c at localmathalphabets)      }
   \cs_gset_eq:cc { mv@#1 at frozen }{ mv@#1 }
   \tl_gset:cx { g__nfss_frozen_mv_ #1 _tl }{ \int_use:c { c at mv@#1 } }
-  \group_insert_after:N \__nfss_init_mv_freeze:N \exp_after:wN
-    \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
+  \group_insert_after:N \__nfss_init_mv_freeze:N
+  \exp_after:wN \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
   \tl_gput_right:No \check at mathfonts
        {
          \exp_after:wN \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
@@ -9088,6 +9094,7 @@
              {
                \@font at info{No~ math~ alphabet~ change~ to~ frozen~ version~ #1}
              }
+         \if at ignore \ignorespaces \fi
     }
 }
 \cs_new_protected:Npn \__nfss_init_mv_freeze:N #1 {%
@@ -14840,7 +14847,8 @@
           { \keys_define:nn {#1} { unknown .undefine: } }
       }
     \bool_set_true:N \l__keys_options_loading_bool
-    \keys_set:nV {#1} \l__keys_options_clist
+    \clist_map_variable:NNn \l__keys_options_clist \CurrentOption
+      { \keys_set:nV {#1} \CurrentOption }
     \bool_set_false:N \l__keys_options_loading_bool
     \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: }
     \__keys_option_end:
@@ -14887,7 +14895,7 @@
       {
         \str_if_eq:eeF
           { \exp_not:v { @raw at opt@ \@currname . \@currext } }
-          { \exp_not:V \@raw at classoption }
+          { \exp_not:V \@raw at classoptionslist }
           { \clist_put_right:Nn \@unusedoptionlist {#1} }
       }
   }
@@ -17133,10 +17141,15 @@
 \cs_set_nopar:Npx\MakeUppercase#1{\use:c{MakeUppercase~}{#1}}
 \cs_new_protected_nopar:cpn{MakeLowercase~}{\text_lowercase:n}
 \cs_set_nopar:Npx\MakeLowercase#1{\use:c{MakeLowercase~}{#1}}
+\cs_new_protected_nopar:cpn{MakeTitlecase~}{\text_titlecase:n}
+\cs_set_nopar:Npx\MakeTitlecase#1{\use:c{MakeTitlecase~}{#1}}
 \cs_new_protected_nopar:Npn\AddToNoCaseChangeList
          {\tl_put_right:Nn \l_text_case_exclude_arg_tl}
 \AddToNoCaseChangeList{ \NoCaseChange }
 \cs_new_protected:Npn \NoCaseChange #1 {#1}
+\cs_new_eq:NN \CaseSwitch \text_case_switch:nnnn
+\cs_new_eq:NN \DeclareCaseChangeEquivalent
+  \text_declare_case_equivalent:Nn
 \ExplSyntaxOff
 \def\@uclclist{\oe\OE\o\O\ae\AE
       \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\ij\IJ\th\TH}

Modified: trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2022-07-06 20:19:25 UTC (rev 63824)
+++ trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2022-07-06 20:20:37 UTC (rev 63825)
@@ -8120,6 +8120,27 @@
    \ignorespaces}
 
 \EndIncludeInRelease
+\IncludeInRelease{2021/11/15}
+  {\frozen at everydisplay}{Handle spaces after math}%
+\frozen at everydisplay = {%
+  \aftergroup\@ignoretrue  \aftergroup\ignorespaces
+  \check at mathfonts
+  \the\everydisplay}
+
+\frozen at everymath = {%
+  \aftergroup\@ignorefalse
+  \check at mathfonts
+  \the\everymath}
+\EndIncludeInRelease
+\IncludeInRelease{2020/10/01}
+  {\frozen at everydisplay}{Handle spaces after math}%
+
+\frozen at everydisplay = {\check at mathfonts
+                        \the\everydisplay}
+\frozen at everymath = {\check at mathfonts
+                     \the\everymath}
+
+\EndIncludeInRelease
 \IncludeInRelease{2020/02/02}%
                  {\LoadFontDefinitionFile}{Loading .fd files}%
 \def\LoadFontDefinitionFile#1#2{%
@@ -9227,8 +9248,8 @@
               (local:~  \int_use:N\c at localmathalphabets)      }
   \cs_gset_eq:cc { mv@#1 at frozen }{ mv@#1 }
   \tl_gset:cx { g__nfss_frozen_mv_ #1 _tl }{ \int_use:c { c at mv@#1 } }
-  \group_insert_after:N \__nfss_init_mv_freeze:N \exp_after:wN
-    \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
+  \group_insert_after:N \__nfss_init_mv_freeze:N
+  \exp_after:wN \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
   \tl_gput_right:No \check at mathfonts
        {
          \exp_after:wN \group_insert_after:N \cs:w mv@#1 at reset \cs_end:
@@ -9249,6 +9270,7 @@
              {
                \@font at info{No~ math~ alphabet~ change~ to~ frozen~ version~ #1}
              }
+         \if at ignore \ignorespaces \fi
     }
 }
 \cs_new_protected:Npn \__nfss_init_mv_freeze:N #1 {%



More information about the tex-live-commits mailing list.