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.