diff options
author | Norbert Preining <norbert@preining.info> | 2022-07-06 03:01:05 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-07-06 03:01:05 +0000 |
commit | 9f9a07ef2eb0c1f25ce9afc7bb94928956c036ea (patch) | |
tree | a706b2c99b27a20164dcda46d097faaa1d42113a /macros/latex/base | |
parent | f1e3d1ca3738aac0ba720e4c1d87795d5d0cdcd9 (diff) |
CTAN sync 202207060301
Diffstat (limited to 'macros/latex/base')
-rw-r--r-- | macros/latex/base/README.md | 2 | ||||
-rw-r--r-- | macros/latex/base/alltt.pdf | bin | 223831 -> 223831 bytes | |||
-rw-r--r-- | macros/latex/base/cfgguide.pdf | bin | 242888 -> 242888 bytes | |||
-rw-r--r-- | macros/latex/base/changes.txt | 26 | ||||
-rw-r--r-- | macros/latex/base/classes.pdf | bin | 560350 -> 560350 bytes | |||
-rw-r--r-- | macros/latex/base/clsguide.pdf | bin | 402780 -> 402780 bytes | |||
-rw-r--r-- | macros/latex/base/cmfonts.pdf | bin | 292376 -> 292376 bytes | |||
-rw-r--r-- | macros/latex/base/cyrguide.pdf | bin | 239689 -> 239689 bytes | |||
-rw-r--r-- | macros/latex/base/doc-code.pdf | bin | 1081708 -> 1081839 bytes | |||
-rw-r--r-- | macros/latex/base/doc.pdf | bin | 755175 -> 755306 bytes | |||
-rw-r--r-- | macros/latex/base/docstrip.pdf | bin | 503590 -> 503671 bytes | |||
-rw-r--r-- | macros/latex/base/encguide.pdf | bin | 1318126 -> 1318126 bytes | |||
-rw-r--r-- | macros/latex/base/exscale.pdf | bin | 204711 -> 204711 bytes | |||
-rw-r--r-- | macros/latex/base/fix-cm.pdf | bin | 287733 -> 287733 bytes | |||
-rw-r--r-- | macros/latex/base/fntguide.pdf | bin | 502880 -> 502880 bytes | |||
-rw-r--r-- | macros/latex/base/graphpap.pdf | bin | 161713 -> 161713 bytes | |||
-rw-r--r-- | macros/latex/base/ifthen.pdf | bin | 221211 -> 221211 bytes | |||
-rw-r--r-- | macros/latex/base/inputenc.pdf | bin | 318204 -> 318204 bytes | |||
-rw-r--r-- | macros/latex/base/lamport-manual.pdf | bin | 170878 -> 170878 bytes | |||
-rw-r--r-- | macros/latex/base/latexrelease.pdf | bin | 281906 -> 281906 bytes | |||
-rw-r--r-- | macros/latex/base/latexsym.pdf | bin | 200760 -> 200760 bytes | |||
-rw-r--r-- | macros/latex/base/lb2.pdf | bin | 252140 -> 252140 bytes | |||
-rw-r--r-- | macros/latex/base/letter.pdf | bin | 337759 -> 337850 bytes | |||
-rw-r--r-- | macros/latex/base/lgc2.pdf | bin | 215684 -> 215684 bytes | |||
-rw-r--r-- | macros/latex/base/lppl.pdf | bin | 132382 -> 132382 bytes | |||
-rw-r--r-- | macros/latex/base/ltcmdhooks-code.pdf | bin | 719928 -> 720074 bytes | |||
-rw-r--r-- | macros/latex/base/ltcmdhooks-doc.pdf | bin | 478764 -> 478906 bytes | |||
-rw-r--r-- | macros/latex/base/ltfilehook-code.pdf | bin | 802706 -> 802907 bytes | |||
-rw-r--r-- | macros/latex/base/ltfilehook-doc.pdf | bin | 548407 -> 548594 bytes | |||
-rw-r--r-- | macros/latex/base/ltfinal.dtx | 18 | ||||
-rw-r--r-- | macros/latex/base/ltfssbas.dtx | 66 | ||||
-rw-r--r-- | macros/latex/base/ltfssdcl.dtx | 17 | ||||
-rw-r--r-- | macros/latex/base/lthooks-code.pdf | bin | 1096835 -> 1097030 bytes | |||
-rw-r--r-- | macros/latex/base/lthooks-doc.pdf | bin | 703719 -> 703906 bytes | |||
-rw-r--r-- | macros/latex/base/ltkeys.dtx | 9 | ||||
-rw-r--r-- | macros/latex/base/ltluatex.pdf | bin | 317700 -> 317700 bytes | |||
-rw-r--r-- | macros/latex/base/ltmarks-code.pdf | bin | 715597 -> 715715 bytes | |||
-rw-r--r-- | macros/latex/base/ltmarks-doc.pdf | bin | 587038 -> 587167 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews.pdf | bin | 1180993 -> 1180993 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews01.pdf | bin | 161518 -> 161518 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews02.pdf | bin | 159792 -> 159792 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews03.pdf | bin | 159332 -> 159332 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews04.pdf | bin | 152525 -> 152525 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews05.pdf | bin | 174494 -> 174494 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews06.pdf | bin | 142849 -> 142849 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews07.pdf | bin | 137811 -> 137811 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews08.pdf | bin | 155053 -> 155053 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews09.pdf | bin | 129570 -> 129570 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews10.pdf | bin | 169416 -> 169416 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews11.pdf | bin | 111948 -> 111948 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews12.pdf | bin | 156551 -> 156551 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews13.pdf | bin | 182225 -> 182225 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews14.pdf | bin | 170473 -> 170473 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews15.pdf | bin | 130309 -> 130309 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews16.pdf | bin | 138073 -> 138073 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews17.pdf | bin | 166228 -> 166228 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews18.pdf | bin | 38033 -> 38033 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews19.pdf | bin | 230028 -> 230028 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews20.pdf | bin | 318548 -> 318548 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews21.pdf | bin | 244867 -> 244867 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews22.pdf | bin | 317773 -> 317773 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews23.pdf | bin | 286591 -> 286591 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews24.pdf | bin | 265279 -> 265279 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews25.pdf | bin | 204935 -> 204935 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews26.pdf | bin | 379462 -> 379462 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews27.pdf | bin | 250592 -> 250592 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews28.pdf | bin | 376643 -> 376643 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews29.pdf | bin | 455107 -> 455107 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews30.pdf | bin | 511909 -> 511909 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews31.pdf | bin | 526323 -> 526323 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews32.pdf | bin | 546160 -> 546160 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews33.pdf | bin | 522412 -> 522412 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews34.pdf | bin | 508044 -> 508044 bytes | |||
-rw-r--r-- | macros/latex/base/ltnews35.pdf | bin | 563513 -> 563513 bytes | |||
-rw-r--r-- | macros/latex/base/ltpara-code.pdf | bin | 667069 -> 667279 bytes | |||
-rw-r--r-- | macros/latex/base/ltpara-doc.pdf | bin | 560543 -> 560756 bytes | |||
-rw-r--r-- | macros/latex/base/ltshipout-code.pdf | bin | 820798 -> 820981 bytes | |||
-rw-r--r-- | macros/latex/base/ltshipout-doc.pdf | bin | 565087 -> 565273 bytes | |||
-rw-r--r-- | macros/latex/base/ltvers.dtx | 2 | ||||
-rw-r--r-- | macros/latex/base/ltx3info.pdf | bin | 219349 -> 219349 bytes | |||
-rw-r--r-- | macros/latex/base/ltxdoc.pdf | bin | 242645 -> 242645 bytes | |||
-rw-r--r-- | macros/latex/base/makeindx.pdf | bin | 165821 -> 165821 bytes | |||
-rw-r--r-- | macros/latex/base/modguide.pdf | bin | 243605 -> 243605 bytes | |||
-rw-r--r-- | macros/latex/base/nfssfont.pdf | bin | 211180 -> 211180 bytes | |||
-rw-r--r-- | macros/latex/base/proc.pdf | bin | 227059 -> 227059 bytes | |||
-rw-r--r-- | macros/latex/base/slides.pdf | bin | 375518 -> 375518 bytes | |||
-rw-r--r-- | macros/latex/base/slifonts.pdf | bin | 234191 -> 234191 bytes | |||
-rw-r--r-- | macros/latex/base/source2e.pdf | bin | 5762787 -> 5767995 bytes | |||
-rw-r--r-- | macros/latex/base/syntonly.pdf | bin | 189835 -> 189919 bytes | |||
-rw-r--r-- | macros/latex/base/tlc2.pdf | bin | 290615 -> 290615 bytes | |||
-rw-r--r-- | macros/latex/base/tulm.pdf | bin | 162772 -> 162772 bytes | |||
-rw-r--r-- | macros/latex/base/usrguide.pdf | bin | 430994 -> 430994 bytes | |||
-rw-r--r-- | macros/latex/base/usrguide3.pdf | bin | 403394 -> 410688 bytes | |||
-rw-r--r-- | macros/latex/base/usrguide3.tex | 57 | ||||
-rw-r--r-- | macros/latex/base/utf8ienc.pdf | bin | 353408 -> 353634 bytes | |||
-rw-r--r-- | macros/latex/base/webcomp.pdf | bin | 146198 -> 146198 bytes |
96 files changed, 173 insertions, 24 deletions
diff --git a/macros/latex/base/README.md b/macros/latex/base/README.md index 94ffab343f..8dba55fe14 100644 --- a/macros/latex/base/README.md +++ b/macros/latex/base/README.md @@ -1,7 +1,7 @@ The LaTeX kernel ================ -Release 2022-06-01 patch level 4 +Release 2022-06-01 patch level 5 Overview -------- diff --git a/macros/latex/base/alltt.pdf b/macros/latex/base/alltt.pdf Binary files differindex 4e2858abb8..d4173fd416 100644 --- a/macros/latex/base/alltt.pdf +++ b/macros/latex/base/alltt.pdf diff --git a/macros/latex/base/cfgguide.pdf b/macros/latex/base/cfgguide.pdf Binary files differindex 9f7729c703..49ecab6d41 100644 --- a/macros/latex/base/cfgguide.pdf +++ b/macros/latex/base/cfgguide.pdf diff --git a/macros/latex/base/changes.txt b/macros/latex/base/changes.txt index eeb9833e3c..217efcf626 100644 --- a/macros/latex/base/changes.txt +++ b/macros/latex/base/changes.txt @@ -11,8 +11,30 @@ All changes above are only part of the development branch for the next release. ================================================================================ ######################### +# 2022-06-01 PL5 Release +######################### + +2022-07-05 Joseph Wright <Joseph.Wright@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@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@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@latex-project.org> @@ -22,7 +44,7 @@ All changes above are only part of the development branch for the next release. ######################### # 2022-06-01 PL3 Release -######################## +######################### 2022-06-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org> diff --git a/macros/latex/base/classes.pdf b/macros/latex/base/classes.pdf Binary files differindex ecd3771a6a..f4e8a51d5b 100644 --- a/macros/latex/base/classes.pdf +++ b/macros/latex/base/classes.pdf diff --git a/macros/latex/base/clsguide.pdf b/macros/latex/base/clsguide.pdf Binary files differindex 8ebd50d30e..c86a168e45 100644 --- a/macros/latex/base/clsguide.pdf +++ b/macros/latex/base/clsguide.pdf diff --git a/macros/latex/base/cmfonts.pdf b/macros/latex/base/cmfonts.pdf Binary files differindex 3de2f17be5..708ec8a389 100644 --- a/macros/latex/base/cmfonts.pdf +++ b/macros/latex/base/cmfonts.pdf diff --git a/macros/latex/base/cyrguide.pdf b/macros/latex/base/cyrguide.pdf Binary files differindex 1655712443..ee3a68232b 100644 --- a/macros/latex/base/cyrguide.pdf +++ b/macros/latex/base/cyrguide.pdf diff --git a/macros/latex/base/doc-code.pdf b/macros/latex/base/doc-code.pdf Binary files differindex 8adca71d1e..681bc85143 100644 --- a/macros/latex/base/doc-code.pdf +++ b/macros/latex/base/doc-code.pdf diff --git a/macros/latex/base/doc.pdf b/macros/latex/base/doc.pdf Binary files differindex 0065954929..41b3bd0270 100644 --- a/macros/latex/base/doc.pdf +++ b/macros/latex/base/doc.pdf diff --git a/macros/latex/base/docstrip.pdf b/macros/latex/base/docstrip.pdf Binary files differindex 8780f6bc20..cf287333f6 100644 --- a/macros/latex/base/docstrip.pdf +++ b/macros/latex/base/docstrip.pdf diff --git a/macros/latex/base/encguide.pdf b/macros/latex/base/encguide.pdf Binary files differindex bb73e9671a..38a18aa70c 100644 --- a/macros/latex/base/encguide.pdf +++ b/macros/latex/base/encguide.pdf diff --git a/macros/latex/base/exscale.pdf b/macros/latex/base/exscale.pdf Binary files differindex 970be29693..aabccee5eb 100644 --- a/macros/latex/base/exscale.pdf +++ b/macros/latex/base/exscale.pdf diff --git a/macros/latex/base/fix-cm.pdf b/macros/latex/base/fix-cm.pdf Binary files differindex 60ee0c1f66..d95d45ed93 100644 --- a/macros/latex/base/fix-cm.pdf +++ b/macros/latex/base/fix-cm.pdf diff --git a/macros/latex/base/fntguide.pdf b/macros/latex/base/fntguide.pdf Binary files differindex 9b46aa3f16..a8222b760c 100644 --- a/macros/latex/base/fntguide.pdf +++ b/macros/latex/base/fntguide.pdf diff --git a/macros/latex/base/graphpap.pdf b/macros/latex/base/graphpap.pdf Binary files differindex 0948a425e2..81fc7ecaa7 100644 --- a/macros/latex/base/graphpap.pdf +++ b/macros/latex/base/graphpap.pdf diff --git a/macros/latex/base/ifthen.pdf b/macros/latex/base/ifthen.pdf Binary files differindex 32f0d68c5e..10c6f991ad 100644 --- a/macros/latex/base/ifthen.pdf +++ b/macros/latex/base/ifthen.pdf diff --git a/macros/latex/base/inputenc.pdf b/macros/latex/base/inputenc.pdf Binary files differindex e0e0229642..063aa537db 100644 --- a/macros/latex/base/inputenc.pdf +++ b/macros/latex/base/inputenc.pdf diff --git a/macros/latex/base/lamport-manual.pdf b/macros/latex/base/lamport-manual.pdf Binary files differindex 93661a6441..ff9c9f2890 100644 --- a/macros/latex/base/lamport-manual.pdf +++ b/macros/latex/base/lamport-manual.pdf diff --git a/macros/latex/base/latexrelease.pdf b/macros/latex/base/latexrelease.pdf Binary files differindex 2afb503b8c..cd9871e06e 100644 --- a/macros/latex/base/latexrelease.pdf +++ b/macros/latex/base/latexrelease.pdf diff --git a/macros/latex/base/latexsym.pdf b/macros/latex/base/latexsym.pdf Binary files differindex c52adce888..aa3dac63d5 100644 --- a/macros/latex/base/latexsym.pdf +++ b/macros/latex/base/latexsym.pdf diff --git a/macros/latex/base/lb2.pdf b/macros/latex/base/lb2.pdf Binary files differindex a8c5eb1738..9ad793fdfd 100644 --- a/macros/latex/base/lb2.pdf +++ b/macros/latex/base/lb2.pdf diff --git a/macros/latex/base/letter.pdf b/macros/latex/base/letter.pdf Binary files differindex 3c036cbc03..5a8ee46a91 100644 --- a/macros/latex/base/letter.pdf +++ b/macros/latex/base/letter.pdf diff --git a/macros/latex/base/lgc2.pdf b/macros/latex/base/lgc2.pdf Binary files differindex 0f1d04e66e..c2bf5f2103 100644 --- a/macros/latex/base/lgc2.pdf +++ b/macros/latex/base/lgc2.pdf diff --git a/macros/latex/base/lppl.pdf b/macros/latex/base/lppl.pdf Binary files differindex efadd551fc..298b841732 100644 --- a/macros/latex/base/lppl.pdf +++ b/macros/latex/base/lppl.pdf diff --git a/macros/latex/base/ltcmdhooks-code.pdf b/macros/latex/base/ltcmdhooks-code.pdf Binary files differindex c3c720c399..c5ea646d28 100644 --- a/macros/latex/base/ltcmdhooks-code.pdf +++ b/macros/latex/base/ltcmdhooks-code.pdf diff --git a/macros/latex/base/ltcmdhooks-doc.pdf b/macros/latex/base/ltcmdhooks-doc.pdf Binary files differindex 12bd4225d7..f584f9915f 100644 --- a/macros/latex/base/ltcmdhooks-doc.pdf +++ b/macros/latex/base/ltcmdhooks-doc.pdf diff --git a/macros/latex/base/ltfilehook-code.pdf b/macros/latex/base/ltfilehook-code.pdf Binary files differindex ec25e3bf8f..2ff4c09418 100644 --- a/macros/latex/base/ltfilehook-code.pdf +++ b/macros/latex/base/ltfilehook-code.pdf diff --git a/macros/latex/base/ltfilehook-doc.pdf b/macros/latex/base/ltfilehook-doc.pdf Binary files differindex 58caa9608f..c29c190154 100644 --- a/macros/latex/base/ltfilehook-doc.pdf +++ b/macros/latex/base/ltfilehook-doc.pdf diff --git a/macros/latex/base/ltfinal.dtx b/macros/latex/base/ltfinal.dtx index 9859b279ef..fafd0c6912 100644 --- a/macros/latex/base/ltfinal.dtx +++ b/macros/latex/base/ltfinal.dtx @@ -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@text@uppercase@@n}, removing local redefinition of \cs{UTF@two@octets@noexpand}}% % \changes{v2.2t}{2022/04/21}{Support \cs{noexpand} in argument of \cs{@expl@text@uppercase@@n}} % \changes{v2.2v}{2022/06/30}{Just use \cs{text_lowercase:n} without \cs{protectd@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} diff --git a/macros/latex/base/ltfssbas.dtx b/macros/latex/base/ltfssbas.dtx index d013ec0ecb..cc43622a4b 100644 --- a/macros/latex/base/ltfssbas.dtx +++ b/macros/latex/base/ltfssbas.dtx @@ -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@everymath} +% + +% +% \begin{macro}{\frozen@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@everymath = {\check@mathfonts - \the\everymath} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2021/11/15} +%<latexrelease> {\frozen@everydisplay}{Handle spaces after math}% +%<*2ekernel|latexrelease> +\frozen@everydisplay = {% + \aftergroup\@ignoretrue \aftergroup\ignorespaces + \check@mathfonts + \the\everydisplay} % \end{macrocode} % \end{macro} -% -% -% \begin{macro}{\frozen@everydisplay} + + +% \begin{macro}{\frozen@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@everydisplay = {\check@mathfonts - \the\everydisplay} +\frozen@everymath = {% + \aftergroup\@ignorefalse + \check@mathfonts + \the\everymath} % \end{macrocode} % \end{macro} % +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{2020/10/01} +%<latexrelease> {\frozen@everydisplay}{Handle spaces after math}% +%<latexrelease> +%<latexrelease>\frozen@everydisplay = {\check@mathfonts +%<latexrelease> \the\everydisplay} +%<latexrelease>\frozen@everymath = {\check@mathfonts +%<latexrelease> \the\everymath} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% +% +% +% +% +% % \changes{v3.0q}{1996/07/27}{\cs{if@inmath} switch removed} % % \begin{macro}{\curr@math@size} diff --git a/macros/latex/base/ltfssdcl.dtx b/macros/latex/base/ltfssdcl.dtx index 65bc40803e..dd9f12f802 100644 --- a/macros/latex/base/ltfssdcl.dtx +++ b/macros/latex/base/ltfssdcl.dtx @@ -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@reset \cs_end: + \group_insert_after:N \__nfss_init_mv_freeze:N + \exp_after:wN \group_insert_after:N \cs:w mv@#1@reset \cs_end: % \end{macrocode} % The \cs{check@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@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@everymath} and +% \cs{frozen@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@ignore \ignorespaces \fi } } % \end{macrocode} diff --git a/macros/latex/base/lthooks-code.pdf b/macros/latex/base/lthooks-code.pdf Binary files differindex 3e1620cef4..250950b91c 100644 --- a/macros/latex/base/lthooks-code.pdf +++ b/macros/latex/base/lthooks-code.pdf diff --git a/macros/latex/base/lthooks-doc.pdf b/macros/latex/base/lthooks-doc.pdf Binary files differindex 6bfe835b5f..ae0db8168a 100644 --- a/macros/latex/base/lthooks-doc.pdf +++ b/macros/latex/base/lthooks-doc.pdf diff --git a/macros/latex/base/ltkeys.dtx b/macros/latex/base/ltkeys.dtx index fbd5ce302a..3de2a0582f 100644 --- a/macros/latex/base/ltkeys.dtx +++ b/macros/latex/base/ltkeys.dtx @@ -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@opt@ \@currname . \@currext } } - { \exp_not:V \@raw@classoption } + { \exp_not:V \@raw@classoptionslist } { \clist_put_right:Nn \@unusedoptionlist {#1} } } } diff --git a/macros/latex/base/ltluatex.pdf b/macros/latex/base/ltluatex.pdf Binary files differindex 7b6cde5ccf..145035b41c 100644 --- a/macros/latex/base/ltluatex.pdf +++ b/macros/latex/base/ltluatex.pdf diff --git a/macros/latex/base/ltmarks-code.pdf b/macros/latex/base/ltmarks-code.pdf Binary files differindex 361fc4ab29..c1d9b03a2f 100644 --- a/macros/latex/base/ltmarks-code.pdf +++ b/macros/latex/base/ltmarks-code.pdf diff --git a/macros/latex/base/ltmarks-doc.pdf b/macros/latex/base/ltmarks-doc.pdf Binary files differindex ba685434cc..2be35c3b57 100644 --- a/macros/latex/base/ltmarks-doc.pdf +++ b/macros/latex/base/ltmarks-doc.pdf diff --git a/macros/latex/base/ltnews.pdf b/macros/latex/base/ltnews.pdf Binary files differindex 69d04a9bd3..034754546d 100644 --- a/macros/latex/base/ltnews.pdf +++ b/macros/latex/base/ltnews.pdf diff --git a/macros/latex/base/ltnews01.pdf b/macros/latex/base/ltnews01.pdf Binary files differindex 8ea91c3bf9..990d35848d 100644 --- a/macros/latex/base/ltnews01.pdf +++ b/macros/latex/base/ltnews01.pdf diff --git a/macros/latex/base/ltnews02.pdf b/macros/latex/base/ltnews02.pdf Binary files differindex ca516dabde..d6d78abcc1 100644 --- a/macros/latex/base/ltnews02.pdf +++ b/macros/latex/base/ltnews02.pdf diff --git a/macros/latex/base/ltnews03.pdf b/macros/latex/base/ltnews03.pdf Binary files differindex cf53ab5a0b..55c4f73b7f 100644 --- a/macros/latex/base/ltnews03.pdf +++ b/macros/latex/base/ltnews03.pdf diff --git a/macros/latex/base/ltnews04.pdf b/macros/latex/base/ltnews04.pdf Binary files differindex 5a3221eed7..03b34f71f2 100644 --- a/macros/latex/base/ltnews04.pdf +++ b/macros/latex/base/ltnews04.pdf diff --git a/macros/latex/base/ltnews05.pdf b/macros/latex/base/ltnews05.pdf Binary files differindex bf18d49dee..693d87c824 100644 --- a/macros/latex/base/ltnews05.pdf +++ b/macros/latex/base/ltnews05.pdf diff --git a/macros/latex/base/ltnews06.pdf b/macros/latex/base/ltnews06.pdf Binary files differindex 2c999c0e8c..a205d98386 100644 --- a/macros/latex/base/ltnews06.pdf +++ b/macros/latex/base/ltnews06.pdf diff --git a/macros/latex/base/ltnews07.pdf b/macros/latex/base/ltnews07.pdf Binary files differindex 7387e46621..1b927a766e 100644 --- a/macros/latex/base/ltnews07.pdf +++ b/macros/latex/base/ltnews07.pdf diff --git a/macros/latex/base/ltnews08.pdf b/macros/latex/base/ltnews08.pdf Binary files differindex 0a0a949048..7b5b895edf 100644 --- a/macros/latex/base/ltnews08.pdf +++ b/macros/latex/base/ltnews08.pdf diff --git a/macros/latex/base/ltnews09.pdf b/macros/latex/base/ltnews09.pdf Binary files differindex d5244667a8..8ccfc74922 100644 --- a/macros/latex/base/ltnews09.pdf +++ b/macros/latex/base/ltnews09.pdf diff --git a/macros/latex/base/ltnews10.pdf b/macros/latex/base/ltnews10.pdf Binary files differindex c7e7980b03..2a991a0611 100644 --- a/macros/latex/base/ltnews10.pdf +++ b/macros/latex/base/ltnews10.pdf diff --git a/macros/latex/base/ltnews11.pdf b/macros/latex/base/ltnews11.pdf Binary files differindex ff5473b08c..d69729c8c5 100644 --- a/macros/latex/base/ltnews11.pdf +++ b/macros/latex/base/ltnews11.pdf diff --git a/macros/latex/base/ltnews12.pdf b/macros/latex/base/ltnews12.pdf Binary files differindex ca725f5da2..68b649e244 100644 --- a/macros/latex/base/ltnews12.pdf +++ b/macros/latex/base/ltnews12.pdf diff --git a/macros/latex/base/ltnews13.pdf b/macros/latex/base/ltnews13.pdf Binary files differindex c6d94b1531..44b1755b94 100644 --- a/macros/latex/base/ltnews13.pdf +++ b/macros/latex/base/ltnews13.pdf diff --git a/macros/latex/base/ltnews14.pdf b/macros/latex/base/ltnews14.pdf Binary files differindex 1990482f55..d852638b7d 100644 --- a/macros/latex/base/ltnews14.pdf +++ b/macros/latex/base/ltnews14.pdf diff --git a/macros/latex/base/ltnews15.pdf b/macros/latex/base/ltnews15.pdf Binary files differindex e724e09151..84f9092d45 100644 --- a/macros/latex/base/ltnews15.pdf +++ b/macros/latex/base/ltnews15.pdf diff --git a/macros/latex/base/ltnews16.pdf b/macros/latex/base/ltnews16.pdf Binary files differindex c989fdc2c3..e2b4c586ed 100644 --- a/macros/latex/base/ltnews16.pdf +++ b/macros/latex/base/ltnews16.pdf diff --git a/macros/latex/base/ltnews17.pdf b/macros/latex/base/ltnews17.pdf Binary files differindex 847df58461..9f645aa690 100644 --- a/macros/latex/base/ltnews17.pdf +++ b/macros/latex/base/ltnews17.pdf diff --git a/macros/latex/base/ltnews18.pdf b/macros/latex/base/ltnews18.pdf Binary files differindex 54561f9a0e..1356eb153e 100644 --- a/macros/latex/base/ltnews18.pdf +++ b/macros/latex/base/ltnews18.pdf diff --git a/macros/latex/base/ltnews19.pdf b/macros/latex/base/ltnews19.pdf Binary files differindex dd6672c3f8..35e0bda64b 100644 --- a/macros/latex/base/ltnews19.pdf +++ b/macros/latex/base/ltnews19.pdf diff --git a/macros/latex/base/ltnews20.pdf b/macros/latex/base/ltnews20.pdf Binary files differindex 4302752b8e..65ebafbf08 100644 --- a/macros/latex/base/ltnews20.pdf +++ b/macros/latex/base/ltnews20.pdf diff --git a/macros/latex/base/ltnews21.pdf b/macros/latex/base/ltnews21.pdf Binary files differindex bd2cb8a2f3..2583506089 100644 --- a/macros/latex/base/ltnews21.pdf +++ b/macros/latex/base/ltnews21.pdf diff --git a/macros/latex/base/ltnews22.pdf b/macros/latex/base/ltnews22.pdf Binary files differindex 3ebcc2c282..7069bbd881 100644 --- a/macros/latex/base/ltnews22.pdf +++ b/macros/latex/base/ltnews22.pdf diff --git a/macros/latex/base/ltnews23.pdf b/macros/latex/base/ltnews23.pdf Binary files differindex fc4ff5abb9..ca66955afa 100644 --- a/macros/latex/base/ltnews23.pdf +++ b/macros/latex/base/ltnews23.pdf diff --git a/macros/latex/base/ltnews24.pdf b/macros/latex/base/ltnews24.pdf Binary files differindex 29d78c2ff2..f2c8066238 100644 --- a/macros/latex/base/ltnews24.pdf +++ b/macros/latex/base/ltnews24.pdf diff --git a/macros/latex/base/ltnews25.pdf b/macros/latex/base/ltnews25.pdf Binary files differindex c8b648f6c0..142bf7b039 100644 --- a/macros/latex/base/ltnews25.pdf +++ b/macros/latex/base/ltnews25.pdf diff --git a/macros/latex/base/ltnews26.pdf b/macros/latex/base/ltnews26.pdf Binary files differindex 57342bb4c6..6c5d647d64 100644 --- a/macros/latex/base/ltnews26.pdf +++ b/macros/latex/base/ltnews26.pdf diff --git a/macros/latex/base/ltnews27.pdf b/macros/latex/base/ltnews27.pdf Binary files differindex 926c1a751b..1f0bcbc27a 100644 --- a/macros/latex/base/ltnews27.pdf +++ b/macros/latex/base/ltnews27.pdf diff --git a/macros/latex/base/ltnews28.pdf b/macros/latex/base/ltnews28.pdf Binary files differindex e31c50dc4d..de3a29db79 100644 --- a/macros/latex/base/ltnews28.pdf +++ b/macros/latex/base/ltnews28.pdf diff --git a/macros/latex/base/ltnews29.pdf b/macros/latex/base/ltnews29.pdf Binary files differindex b358d7636f..4a094a88af 100644 --- a/macros/latex/base/ltnews29.pdf +++ b/macros/latex/base/ltnews29.pdf diff --git a/macros/latex/base/ltnews30.pdf b/macros/latex/base/ltnews30.pdf Binary files differindex e2880410b7..db62aea7a8 100644 --- a/macros/latex/base/ltnews30.pdf +++ b/macros/latex/base/ltnews30.pdf diff --git a/macros/latex/base/ltnews31.pdf b/macros/latex/base/ltnews31.pdf Binary files differindex 8ab5379cbd..579fd7e2a8 100644 --- a/macros/latex/base/ltnews31.pdf +++ b/macros/latex/base/ltnews31.pdf diff --git a/macros/latex/base/ltnews32.pdf b/macros/latex/base/ltnews32.pdf Binary files differindex 6e286d770b..1eaa53b6e1 100644 --- a/macros/latex/base/ltnews32.pdf +++ b/macros/latex/base/ltnews32.pdf diff --git a/macros/latex/base/ltnews33.pdf b/macros/latex/base/ltnews33.pdf Binary files differindex 8eae06e555..76c720e3b5 100644 --- a/macros/latex/base/ltnews33.pdf +++ b/macros/latex/base/ltnews33.pdf diff --git a/macros/latex/base/ltnews34.pdf b/macros/latex/base/ltnews34.pdf Binary files differindex 8f5432e260..3d7ae3a8d7 100644 --- a/macros/latex/base/ltnews34.pdf +++ b/macros/latex/base/ltnews34.pdf diff --git a/macros/latex/base/ltnews35.pdf b/macros/latex/base/ltnews35.pdf Binary files differindex f571324c86..c0dd1b20ea 100644 --- a/macros/latex/base/ltnews35.pdf +++ b/macros/latex/base/ltnews35.pdf diff --git a/macros/latex/base/ltpara-code.pdf b/macros/latex/base/ltpara-code.pdf Binary files differindex 4ac9d23293..80045a16e1 100644 --- a/macros/latex/base/ltpara-code.pdf +++ b/macros/latex/base/ltpara-code.pdf diff --git a/macros/latex/base/ltpara-doc.pdf b/macros/latex/base/ltpara-doc.pdf Binary files differindex e9c2d13c9d..b068275c12 100644 --- a/macros/latex/base/ltpara-doc.pdf +++ b/macros/latex/base/ltpara-doc.pdf diff --git a/macros/latex/base/ltshipout-code.pdf b/macros/latex/base/ltshipout-code.pdf Binary files differindex f9fff6ed6b..a677a7f9ec 100644 --- a/macros/latex/base/ltshipout-code.pdf +++ b/macros/latex/base/ltshipout-code.pdf diff --git a/macros/latex/base/ltshipout-doc.pdf b/macros/latex/base/ltshipout-doc.pdf Binary files differindex 09afa83f4d..ec355c1a3f 100644 --- a/macros/latex/base/ltshipout-doc.pdf +++ b/macros/latex/base/ltshipout-doc.pdf diff --git a/macros/latex/base/ltvers.dtx b/macros/latex/base/ltvers.dtx index eaedb2b433..37b91d2231 100644 --- a/macros/latex/base/ltvers.dtx +++ b/macros/latex/base/ltvers.dtx @@ -115,7 +115,7 @@ {2022-06-01} %</2ekernel|latexrelease> %<*2ekernel> -\def\patch@level{4} +\def\patch@level{5} % \end{macrocode} % % \begin{macro}{\development@branch@name} diff --git a/macros/latex/base/ltx3info.pdf b/macros/latex/base/ltx3info.pdf Binary files differindex 5ddac15016..3b1653af0b 100644 --- a/macros/latex/base/ltx3info.pdf +++ b/macros/latex/base/ltx3info.pdf diff --git a/macros/latex/base/ltxdoc.pdf b/macros/latex/base/ltxdoc.pdf Binary files differindex 14055e1eb6..7e39f14d7e 100644 --- a/macros/latex/base/ltxdoc.pdf +++ b/macros/latex/base/ltxdoc.pdf diff --git a/macros/latex/base/makeindx.pdf b/macros/latex/base/makeindx.pdf Binary files differindex 2537c3a8b4..91e05501c9 100644 --- a/macros/latex/base/makeindx.pdf +++ b/macros/latex/base/makeindx.pdf diff --git a/macros/latex/base/modguide.pdf b/macros/latex/base/modguide.pdf Binary files differindex 27784384ab..8afd8046aa 100644 --- a/macros/latex/base/modguide.pdf +++ b/macros/latex/base/modguide.pdf diff --git a/macros/latex/base/nfssfont.pdf b/macros/latex/base/nfssfont.pdf Binary files differindex 670b8f5745..316a5afd99 100644 --- a/macros/latex/base/nfssfont.pdf +++ b/macros/latex/base/nfssfont.pdf diff --git a/macros/latex/base/proc.pdf b/macros/latex/base/proc.pdf Binary files differindex c785c45c34..67e5dcf235 100644 --- a/macros/latex/base/proc.pdf +++ b/macros/latex/base/proc.pdf diff --git a/macros/latex/base/slides.pdf b/macros/latex/base/slides.pdf Binary files differindex 2f0be88563..be6cc79358 100644 --- a/macros/latex/base/slides.pdf +++ b/macros/latex/base/slides.pdf diff --git a/macros/latex/base/slifonts.pdf b/macros/latex/base/slifonts.pdf Binary files differindex 1c38fe3062..4bb21df481 100644 --- a/macros/latex/base/slifonts.pdf +++ b/macros/latex/base/slifonts.pdf diff --git a/macros/latex/base/source2e.pdf b/macros/latex/base/source2e.pdf Binary files differindex 3f16f3e5d5..625e2df5d4 100644 --- a/macros/latex/base/source2e.pdf +++ b/macros/latex/base/source2e.pdf diff --git a/macros/latex/base/syntonly.pdf b/macros/latex/base/syntonly.pdf Binary files differindex b4fef18899..c93990d55a 100644 --- a/macros/latex/base/syntonly.pdf +++ b/macros/latex/base/syntonly.pdf diff --git a/macros/latex/base/tlc2.pdf b/macros/latex/base/tlc2.pdf Binary files differindex a78165e060..5edfe4b178 100644 --- a/macros/latex/base/tlc2.pdf +++ b/macros/latex/base/tlc2.pdf diff --git a/macros/latex/base/tulm.pdf b/macros/latex/base/tulm.pdf Binary files differindex 5ff3bbba57..650e4ded6a 100644 --- a/macros/latex/base/tulm.pdf +++ b/macros/latex/base/tulm.pdf diff --git a/macros/latex/base/usrguide.pdf b/macros/latex/base/usrguide.pdf Binary files differindex f27f99cb4e..e07b34bdac 100644 --- a/macros/latex/base/usrguide.pdf +++ b/macros/latex/base/usrguide.pdf diff --git a/macros/latex/base/usrguide3.pdf b/macros/latex/base/usrguide3.pdf Binary files differindex 2dbfa4d7e2..1a4d6d3b01 100644 --- a/macros/latex/base/usrguide3.pdf +++ b/macros/latex/base/usrguide3.pdf diff --git a/macros/latex/base/usrguide3.tex b/macros/latex/base/usrguide3.tex index efec9ad2a2..a148c77ed5 100644 --- a/macros/latex/base/usrguide3.tex +++ b/macros/latex/base/usrguide3.tex @@ -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 @@ it is set to \dimeval{\topskip+\baselineskip*\inteval{40-1}}, given 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} diff --git a/macros/latex/base/utf8ienc.pdf b/macros/latex/base/utf8ienc.pdf Binary files differindex 7069b2eab0..2d31ae6666 100644 --- a/macros/latex/base/utf8ienc.pdf +++ b/macros/latex/base/utf8ienc.pdf diff --git a/macros/latex/base/webcomp.pdf b/macros/latex/base/webcomp.pdf Binary files differindex e94c148935..5282d9681c 100644 --- a/macros/latex/base/webcomp.pdf +++ b/macros/latex/base/webcomp.pdf |