diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex-dev/base')
90 files changed, 252 insertions, 33 deletions
diff --git a/Master/texmf-dist/doc/latex-dev/base/README.md b/Master/texmf-dist/doc/latex-dev/base/README.md index 6029313c56e..65c4673cca9 100644 --- a/Master/texmf-dist/doc/latex-dev/base/README.md +++ b/Master/texmf-dist/doc/latex-dev/base/README.md @@ -1,7 +1,7 @@ The LaTeX kernel ================ -Release 2022-06-01 pre-release 2 +Release 2022-06-01 pre-release 3 Overview -------- @@ -94,6 +94,6 @@ version 1.3c or later. ----- -<p>Copyright (C) 1989-2021 The LaTeX Project <br /> +<p>Copyright (C) 1989-2022 The LaTeX Project <br /> <a href="http://latex-project.org/">http://latex-project.org/</a> <br /> All rights reserved.</p> diff --git a/Master/texmf-dist/doc/latex-dev/base/alltt.pdf b/Master/texmf-dist/doc/latex-dev/base/alltt.pdf Binary files differindex 16f4934d9df..d612e91b3b5 100644 --- a/Master/texmf-dist/doc/latex-dev/base/alltt.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/alltt.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf b/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf Binary files differindex f1d9b18a00f..e96dd1eadd2 100644 --- a/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/changes.txt b/Master/texmf-dist/doc/latex-dev/base/changes.txt index 0768de673bf..b9bea0a54a3 100644 --- a/Master/texmf-dist/doc/latex-dev/base/changes.txt +++ b/Master/texmf-dist/doc/latex-dev/base/changes.txt @@ -1,4 +1,3 @@ - ================================================================================ This file lists changes to the LaTeX2e files in reverse chronological order of publication (therefore the dates might be out of sequence if there are hotfixes). @@ -7,11 +6,65 @@ completeness or accuracy and it contains some references to files that are not part of the distribution. ================================================================================ +2022-03-10 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * ltfilehook.dtx (subsection{Selecting a file (\cs{set@curr@file})}): + Add \set@curr@file@nosearch, to ignore \input@path and \l_file_search_path_seq. + +2022-03-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * ltbibl.dtx (section{Bibliography Generation}): + Ensure that an empty argument given to \cite generates + a warning (gh/790) + +2022-02-28 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * ltvers.dtx (subsection{Declaring an all-new module}): + Detect a missing \IncludeInRelease{0000/00/00} in a new module. + +2022-02-28 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * latexrelease.dtx, ltexpl.dtx, ltcmd.dtx: + Move most make-harmless redefinitions right after ltexpl.dtx. + +2022-02-21 Joseph Wright <Joseph.Wright@latex-project.org> + + * ltkeys.dtx: + More efficient module expansion + +2022-02-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * ltcmd.dtx (subsection{User functions}): + Added \IfBlankTF and friends to test if a received argument + is empty or contains only normal space characters. + +2022-02-19 David Carlisle <David.Carlisle@latex-project.org> + + * utf8ienc.dtx: use \protected definitions. + also avoid global definitions for gh/762 + +2022-02-16 Joseph Wright <Joseph.Wright@latex-project.org> + + * ltkeys.dtx: + Allow for active characters in module argument + \DeclareUnknownKeyHandler better than with the "s" + +2022-02-15 Joseph Wright <Joseph.Wright@latex-project.org> + + * ltkeys.dtx: + Expand optional module argument in design-level commands + Add \DeclareUnknownKeysHandler + +2022-02-07 Joseph Wright <Joseph.Wright@latex-project.org> + + * ltkeys.dtx: + Correct definition of .code property + 2022-02-05 Joseph Wright <Joseph.Wright@latex-project.org> - * ltkeys.dtx (section{Plain \TeX}): - Create key properties at the 2e layer - Add .code property + * ltkeys.dtx: + Create key properties at the 2e layer + Add .code property 2022-01-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org> @@ -34,12 +87,12 @@ are not part of the distribution. * ltexpl.dtx (section{Document-level command names for expl3 functions}): Adjust document-level names for \exp_args:Nc and the like -2021-12-30 Ulrike Fischer <Ulrike.Fischer@latex-project.org> +2021-12-30 Ulrike Fischer <Ulrike.Fischer@latex-project.org> * ltmeta.dtx: Adapted bundle name to new name `LaTeX-lab' -2021-12-31 Phelype Oleinik <phelype.oleinik@latex-project.org> +2021-12-31 Phelype Oleinik <phelype.oleinik@latex-project.org> * ltcmd.dtx (subsubsection{Showing the definition of a command}): Make \ShowCommand stop for interaction with ltcmd (gh/739) @@ -169,7 +222,7 @@ All changes above are only part of the development branch for the next release. # 2021-11-15 Release ######################### -2021-10-20 Phelype Oleinik <phelype.oleinik@latex-project.org> +2021-10-20 Phelype Oleinik <phelype.oleinik@latex-project.org> * ltcmdhooks.dtx (subsubsection{Patching by expansion and redefinition}): Fix patching of commands that contain parameter tokens (gh/697) @@ -207,7 +260,7 @@ All changes above are only part of the development branch for the next release. * classes.dtx, doc.dtx, makeindx.dtx, preload.dtx, slides.dtx, array.dtx Removed old references to latex.tex or latex.dtx (gh/685) -2021-09-28 Phelype Oleinik <phelype.oleinik@latex-project.org> +2021-09-28 Phelype Oleinik <phelype.oleinik@latex-project.org> * ltcmdhooks.dtx (subsection{Patching commands}): Make patching of commands with generic cmd hooks a global operation (gh/674) diff --git a/Master/texmf-dist/doc/latex-dev/base/classes.pdf b/Master/texmf-dist/doc/latex-dev/base/classes.pdf Binary files differindex f9554c72552..9d7cd6a797e 100644 --- a/Master/texmf-dist/doc/latex-dev/base/classes.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/classes.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf b/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf Binary files differindex bb6d34b20cf..77158a1f32f 100644 --- a/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf b/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf Binary files differindex 1519514358b..a281182d364 100644 --- a/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf b/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf Binary files differindex 6efe42e1b81..f03a3e508b7 100644 --- a/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf b/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf Binary files differindex 69c7ad4bbe0..d9fa6ad5444 100644 --- a/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/doc.pdf b/Master/texmf-dist/doc/latex-dev/base/doc.pdf Binary files differindex 733e15b6242..7963d5c27a6 100644 --- a/Master/texmf-dist/doc/latex-dev/base/doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf b/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf Binary files differindex d1fb196f58c..da31ca03b24 100644 --- a/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/encguide.pdf b/Master/texmf-dist/doc/latex-dev/base/encguide.pdf Binary files differindex 7581f0b892f..5d607801b26 100644 --- a/Master/texmf-dist/doc/latex-dev/base/encguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/encguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/exscale.pdf b/Master/texmf-dist/doc/latex-dev/base/exscale.pdf Binary files differindex 5ca05e66722..69119b9f013 100644 --- a/Master/texmf-dist/doc/latex-dev/base/exscale.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/exscale.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf b/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf Binary files differindex f763dd53f26..eb83169c235 100644 --- a/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf b/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf Binary files differindex dadcf600b24..83e562aba30 100644 --- a/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf b/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf Binary files differindex 1567c9ceb02..655a201a8de 100644 --- a/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf b/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf Binary files differindex 3580e40dd4c..08266fb2740 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf b/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf Binary files differindex 139633cba13..5d0a747d3c0 100644 --- a/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf b/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf Binary files differindex 105bf5c8696..1e39b271b24 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf b/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf Binary files differindex ca626e9ead0..c0c395ee65c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf b/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf Binary files differindex 0f5279c10e8..5b1fc23b4ef 100644 --- a/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lb2.pdf b/Master/texmf-dist/doc/latex-dev/base/lb2.pdf Binary files differindex 6e74caa24ba..a7ae8aa79cc 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lb2.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lb2.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/letter.pdf b/Master/texmf-dist/doc/latex-dev/base/letter.pdf Binary files differindex 026c2a5a375..0b843b79a03 100644 --- a/Master/texmf-dist/doc/latex-dev/base/letter.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/letter.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf b/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf Binary files differindex 59fb751186f..a644e1fb936 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lppl.pdf b/Master/texmf-dist/doc/latex-dev/base/lppl.pdf Binary files differindex eea50258aeb..cafe15d94c1 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lppl.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lppl.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf b/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf Binary files differindex 1e0744a2a46..12928555fb0 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf b/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf Binary files differindex 149ae90ad6e..e4e197446f0 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf b/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf Binary files differindex d9cbaf1a3de..58f4b7c4a4c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf b/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf Binary files differindex 5e3ed3d4ab0..d2b75528d27 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf b/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf Binary files differindex a4b7ca6c7d8..41ad4ad269c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf b/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf Binary files differindex 94156c25b54..9c58a21a158 100644 --- a/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf b/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf Binary files differindex 7e4f07d3bb1..819c98563f5 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf Binary files differindex 628393f7277..b841c40b85e 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf Binary files differindex dd2500ff78e..ae346eb39fd 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf Binary files differindex 6f416864b19..103776ed432 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf Binary files differindex 50442a37c65..06119e7712a 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf Binary files differindex d532b318b11..2d752b58151 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf Binary files differindex 2de0565e992..dc337c3faaf 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf Binary files differindex 46d4be0fcc3..87816972de6 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf Binary files differindex a4783c58443..e8992a1f639 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf Binary files differindex 47223098d75..8318a2ae517 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf Binary files differindex b5978dba844..5388d757e35 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf Binary files differindex b4a88ee9d50..628b86746c4 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf Binary files differindex 6f5c117b223..a37246fb948 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf Binary files differindex 73ef1dcb79f..2e38696a7e5 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf Binary files differindex a6c3c88fded..4a04a54aa9c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf Binary files differindex 0662b70afe0..7ef8a649324 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf Binary files differindex 2049e1cde6b..a4aa674bb8f 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf Binary files differindex b3073b168de..d243dc4e781 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf Binary files differindex 306a5677821..018b6054434 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf Binary files differindex 6b4b445c08c..912c134dfa0 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf Binary files differindex 551ee12be4e..4821f6f5283 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf Binary files differindex e0b015c09e1..1a198102ade 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf Binary files differindex 9ad04a02c50..5c8dcdbf482 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf Binary files differindex 96543a8e39e..86b9829d517 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf Binary files differindex f82c5e1aba1..d13112eab41 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf Binary files differindex 1eeeb95b928..d33dc9585b9 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf Binary files differindex eef51d2b0a2..4779fd294e7 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf Binary files differindex 98b38ea9007..0de0ca04fa2 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf Binary files differindex df69fd7649b..a395576c01b 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf Binary files differindex 7d0afe54d9f..1bbcb49c280 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf Binary files differindex 1ef4e3ce57f..584d2f88c10 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf Binary files differindex b9955d97fcf..543b322d658 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf Binary files differindex 466e2bcf9f4..6a97e288630 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf Binary files differindex f99da0ca4cf..bf985ad3620 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf Binary files differindex 176ced9da84..4825971649f 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf Binary files differindex bc02bb3bf1f..d2c0df1bd02 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf b/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf Binary files differindex 045089749a7..34695cb058e 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews35.tex b/Master/texmf-dist/doc/latex-dev/base/ltnews35.tex index e798d4c2e4e..671d6d337ab 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltnews35.tex +++ b/Master/texmf-dist/doc/latex-dev/base/ltnews35.tex @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 2019-2021 +% Copyright 2021-2022 % The LaTeX Project and any individual authors listed elsewhere % in this file. % @@ -186,14 +186,44 @@ and also in the documentation of the \pkg{pdfmanagement-testphase} package. \section{The \pkg{latex-lab} bundle} -\emph{write about it} +We added a new \pkg{latex-lab}oratory bundle in which we place new +code that is going to be available only through a +\cs{DocumentMetadata} declaration and that is\Dash most +importantly\Dash work under development and subject to +change without further notice. This means, that commands and interfaces provided there may +get altered or removed again after some public testing. The code can +be accessed through the \cs{DocumentMetadata} key \texttt{testphase}. +Currently supported values are \texttt{phase-I} and \texttt{phase-II} +that enable code of the tagged PDF project (phase-I is frozen and +phase-II the phase we are currently working on). With +\begin{verbatim} +\DocumentMetadata{testphase=phase-II} +\end{verbatim} +you currently enable tagging for paragraphs and footnotes, more +document elements will follow soon. + +For more detailed testing it is also possible to pass other values to +\texttt{testphase}, for example, the first incarnation of a template +design interface based on \pkg{l3keys} can be accessed through the +value \texttt{prototype}, thus +\begin{verbatim} +\DocumentMetadata{testphase={phase-II,prototype}} +\end{verbatim} +will enable all of phase-II plus the draft template interface (which +is not yet integrated in phase-II). + +Eventually, code will move (once considered stable) from the +testphase into the \LaTeX{} kernel itself. Tagging will continue to +require a \cs{DocumentMetadata} declaration, but you will then be able +to drop the \texttt{testphase} key setting. + \section{New or improved commands} -\subsection{A kevyal approach to option handling} +\subsection{A keyval approach to option handling} The classical \LaTeXe{} method for handling options, using \cs{ProcessOptions}, treats each entry in the list as a string. Many package authors have sought to @@ -217,7 +247,7 @@ unless explicitly given as an optional argument. A version which does not consider global options, \cs{ProcessKeyPackageOptions}, is also available. -To support creating key options in for this mechanism, the new command +To support creating key options for this mechanism, the new command \cs{DeclareKeys} has been added. This works using the same general approach as \pkg{l3keys} or \pkg{pgfkeys}: each key has one or more \emph{properties} which define its behavior. @@ -315,19 +345,80 @@ layer)) which was also used in the example above. \githubissue{735} +\subsection{Testing for (nearly) empty arguments} +% +In addition to \cs{IfNoValueTF} to test if an optional argument was +provided or not, there is now also \cs{IfBlankTF}, which tests if the +argument is empty or contains only blanks. Based on the result it +selects a true or false code branch. As usual, the variants +\cs{IfBlankT} and \cs{IfBlankF} are also provided for use when only one +branch leads to some action. Further details and examples are given +in \file{usrguide3.pdf}. + +This test can also be useful if you set up key/value options and want +to test if a key was specified without giving a value or through +specifying \enquote{\textit{key}\texttt{ = ,}}. + + +\subsection{Better allocator for Lua command ids} + +In \LuaTeX\ we already had the \cs{newluafunction} macro which allocates +a Lua function identifier which can be used to define commands +with \cs{luadef}. But this always required two steps: \cs{newluafunction} +defines the passed control sequence as an integer, which then has to be used +to define the actual Lua command with \cs{luadef}. After that, the integer is +no longer needed. This was inconsistent with other allocators. Therefore we +added two new allocators \cs{newluacmd} and \cs{newexpandableluacmd} which +directly define a control sequences invoking the allocated Lua function. +The first one defines a non-expandable Lua command, the second one an expandable +one. Of course, the associated Lua function still has to be defined by assigning +a function to the \verb|lua.get_functions_table()| table. The required index is +available in \cs{allocationnumber}. + +An example could be +\begin{verbatim} +\newluacmd \greeting +\directlua { +lua.get_functions_table() + [tex.count.allocationnumber] + = function() + local name = token.scan_argument() + tex.sprint('Hello ', name, '!') + end +} -\subsection{???} +\greeting{world} +\end{verbatim} % -\githubissue{???} +\githubissue{536} + + + \section{Code improvements} +\subsection{\cs{protected} UTF-8 character definitions} +The characters defined via \file{utf8.def} are now defined as \cs{protected} +macros. This makes them safe to use in expansion contexts where the +classic \cs{protect} mechanism is not enabled, notably L3 programming +layer \texttt{e} and \texttt{x} arguments. + +Related to this change \cs{MakeUppercase} and \cs{MakeLowercase} have +been updated to use the Unicode-aware case changing functions +\cs{text\string_lowercase:n} in place of the \TeX-primitive \cs{lowercase}. +A similar change will be made in the \pkg{textcase} package. + +Note for technical reasons these low level character handling changes +will not be rolled back if the format version is rolled back using the +\pkg{latexrelease} package rollback mechanism. +% +\githubissue{780} \subsection{A small update to \cs{obeylines} and \cs{obeyspaces}} The plain \TeX{} versions of \cs{obeylines} and \cs{obeyspaces} make -\verb=^^M= and \verb*= = active and force them to execute \cs{par} +\verb=^^M= and \verb*= = active and force them to execute \cs{par} %* and \cs{space}, respectively. Don Knuth makes a remark in the \TeX{}book that one can then use a trick such as \begin{verbatim} @@ -445,7 +536,7 @@ displaying different data in the footer line on recto and verso pages. \subsection{Croatian character support} The default \pkg{inputenc} support has been extended to support the 9 characters -D\v Z, D\v z, d\v z, LJ, Lj, lj, NJ, Nj, nj, input as single UTF-8 codepoints +D\v Z, D\v z, d\v z, LJ, Lj, lj, NJ, Nj, nj, input as single UTF-8 code points in the range U+01C4 to U+01CC. % \githubissue{gh/723} @@ -455,7 +546,7 @@ in the range U+01C4 to U+01CC. When declaring encoding specific commands for the Unicode (TU) encoding some declarations (e.g., \cs{DeclareUnicodeComposite}) do not -have an explicit argument for the the encoding name, but instead use +have an explicit argument for the encoding name, but instead use the command \cs{UnicodeEncodingName} internally. There was one exception though: \cs{DeclareUnicodeAccent} required an explicit encoding argument. This inconsistency has now been removed and the @@ -474,10 +565,6 @@ argument as their general purpose counterparts do. -\subsection{???} -% -\githubissue{???} - \section{Bug fixes} @@ -503,6 +590,21 @@ is now fixed. +\subsection{Make \cs{cite}\texttt{\textbraceleft\textbraceright} produce a warning} + +When the \cs{cite} command can't resolve a citation label it issue a +warning \enquote{Citation `\meta{label}' on page \meta{page} + undefined}. However, due to some implementation details a completely +empty argument was always silently accepted. Given that there are probably +people who write \verb=\cite{}= with the intention to fill in the +correct label later it is rather unfortunate if that is not generating +a warning that something in the document is still amiss. +This has finally been corrected and a warning is now generated also in this case. +% +\githubissue{790} + + + \section{Changes to packages in the \pkg{amsmath} category} @@ -512,7 +614,7 @@ is now fixed. The package \pkg{amsopn} used to define \cs{operator@font} but this command is already provided by the \LaTeX{} format (for at least 14 years). As a result the definition in \pkg{amsopn} is equivalent to a -reset to the kernel definition, which is unnecessary and suprising if +reset to the kernel definition, which is unnecessary and surprising if you alter the math setup (e.g., by loading a package) and at a later stage add \pkg{amsmath}, which then undoes part of your setup. For this reason the definition was taken out and @@ -528,9 +630,15 @@ after loading the package. % \githubissue{734} -\subsection{???} +\subsection{\pkg{amsmath} Error in \cs{shoveleft}} + +If \cs{shoveleft} started out with the words \enquote{plus} or +\enquote{minus} it was misunderstood as part of a rubber length and +led either to an error or was swallowed without trace. By adding a +\cs{relax} this erroneous scanning into the argument of \cs{shoveleft} +is now prevented. % -\githubissue{???} +\githubissue{714} \section{Changes to packages in the \pkg{graphics} category} @@ -576,9 +684,19 @@ This command is \emph{only} allowed in formulas. For details and further examples, see \file{mathcolor.pdf}. -\subsection{???} +\subsection{Fix locating files with \cs{graphicspath}} % -\githubissue{???} + +If a call to \cs{includegraphics} asked for a file (say, \file{image}) +without extension, and if both \file{A/image.pdf} and \file{B/image.tex} +existed (both \file{A/} and \file{B/} in \cs{graphicspath}, but neither +in a folder searched by kpse), then \file{A/image.pdf} would not be +found, and a \enquote{file not found} error would be incorrectly thrown. +The issue is now fixed and the graphics file is correctly found. +% +\githubissue{776} +\sxissue{q/630167} + diff --git a/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf b/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf Binary files differindex ff766c2947f..1447a6bfa8c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf b/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf Binary files differindex cf0795adb86..11c181ecaa8 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf b/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf Binary files differindex a650b930ded..fe21c18e008 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf b/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf Binary files differindex cc986f8a19c..7ce31427b44 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf b/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf Binary files differindex 9c8852094df..372a87f113d 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf b/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf Binary files differindex 1889d2644c3..b2a6e7ec7fa 100644 --- a/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf b/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf Binary files differindex 2c0af1153ab..82ecf21cf9d 100644 --- a/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/modguide.pdf b/Master/texmf-dist/doc/latex-dev/base/modguide.pdf Binary files differindex 25abeace24f..884f6e754d2 100644 --- a/Master/texmf-dist/doc/latex-dev/base/modguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/modguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf b/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf Binary files differindex c8702a68de1..edcf7dc43f8 100644 --- a/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/proc.pdf b/Master/texmf-dist/doc/latex-dev/base/proc.pdf Binary files differindex 575422342cd..927dd765147 100644 --- a/Master/texmf-dist/doc/latex-dev/base/proc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/proc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/slides.pdf b/Master/texmf-dist/doc/latex-dev/base/slides.pdf Binary files differindex 52546f73859..0b519f65110 100644 --- a/Master/texmf-dist/doc/latex-dev/base/slides.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/slides.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf b/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf Binary files differindex 624a5b5123b..76dd3c96559 100644 --- a/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/source2e.pdf b/Master/texmf-dist/doc/latex-dev/base/source2e.pdf Binary files differindex c9f5168a057..88211e88072 100644 --- a/Master/texmf-dist/doc/latex-dev/base/source2e.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/source2e.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf b/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf Binary files differindex 3f149320153..7298566aeab 100644 --- a/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf b/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf Binary files differindex c9c761680e9..f4d49885f24 100644 --- a/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/tulm.pdf b/Master/texmf-dist/doc/latex-dev/base/tulm.pdf Binary files differindex 4aac3efb425..929194014af 100644 --- a/Master/texmf-dist/doc/latex-dev/base/tulm.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/tulm.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf b/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf Binary files differindex fe712da807b..5975d1567fc 100644 --- a/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/usrguide3.pdf b/Master/texmf-dist/doc/latex-dev/base/usrguide3.pdf Binary files differindex 5e0cd662240..a15d3c431bb 100644 --- a/Master/texmf-dist/doc/latex-dev/base/usrguide3.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/usrguide3.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/usrguide3.tex b/Master/texmf-dist/doc/latex-dev/base/usrguide3.tex index 249b708943c..efec9ad2a2c 100644 --- a/Master/texmf-dist/doc/latex-dev/base/usrguide3.tex +++ b/Master/texmf-dist/doc/latex-dev/base/usrguide3.tex @@ -37,7 +37,7 @@ \author{\copyright~Copyright 2020-2022, \LaTeX\ Project Team.\\ All rights reserved.} -\date{2022-01-03} +\date{2022-02-19} \NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}} \NewDocumentCommand\marg{m}{\arg{#1}} @@ -356,6 +356,8 @@ defaults with testing for missing values. Optional arguments make use of dedicated variables to return information about the nature of the argument received. + + \begin{decl} |\IfNoValueTF| \arg{arg} \arg{true code} \arg{false code} \\ |\IfNoValueT| \arg{arg} \arg{true code} \\ @@ -391,11 +393,12 @@ will be logically \texttt{false}. When two optional arguments follow each other (a syntax we typically discourage), it can make sense to allow users of the command to specify only the second argument by providing an empty first -argument. Rather than testing separately for emptiness and for +argument. +\NEWdescription{2022/06/01} +Rather than testing separately for emptiness and for |-NoValue-| it is then best to use the argument type~|O| with an -empty default value, and simply test for emptiness using the -\pkg{expl3} conditional \cs{tl_if_blank:nTF} or its \pkg{etoolbox} -analogue \cs{ifblank}. +empty default value, and then test for emptiness using the +conditional \cs{IfBlankTF} (described below) instead. \begin{decl} |\IfValueTF| \arg{arg} \arg{true code} \arg{false code} \\ @@ -406,6 +409,51 @@ The reverse form of the \cs{IfNoValue(TF)} tests are also available as \cs{IfValue(TF)}. The context will determine which logical form makes the most sense for a given code scenario. + + + + +\begin{decl}[2022/06/01] + |\IfBlankTF| \arg{arg} \arg{true code} \arg{false code} \\ + |\IfBlankT| \arg{arg} \arg{true code} \\ + |\IfBlankF| \arg{arg} \arg{false code} +\end{decl} + + +The \cs{IfNoValueTF} command chooses the \meta{true code} if the optional argument has not +been used at all (and it returns the special \texttt{-NoValue-} +marker), but not if it has been given an empty value. In contrast +\cs{IfBlankTF} returns true if its argument is either truly empty or +only contains one or more normal blanks. +For example +\begin{verbatim} +\NewDocumentCommand\foo{m!o}{\par #1: + \IfNoValueTF{#2}{No optional}% + {\IfBlankTF{#2}{Blanks in or empty}% + {Real content in}}% + \space argument!} +\foo{1}[bar] \foo{2}[ ] \foo{3}[] \foo{4}[\space] \foo{5} [x] +\end{verbatim} +results +in the following output: +\begin{quote} + \NewDocumentCommand\foo{m!o}{\par #1: + \IfNoValueTF{#2}{No optional}% + {\IfBlankTF{#2}{Blanks in or empty}% + {Real content in}}% + \space argument!} + \foo{1}[bar] \foo{2}[ ] \foo{3}[] \foo{4}[\space] \foo{5} [x] +\end{quote} + +Note that the \cs{space} in (4) is considered real content---because it is +a command and not a \enquote{space} character---even though it results +in producing a space. You can also observe in (5) the effect of the +\texttt{!} specifier, preventing the last \cs{foo} +from interpreting \texttt{[x]} as its optional argument. + + + + \begin{decl} |\BooleanFalse| \\ |\BooleanTrue| diff --git a/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf b/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf Binary files differindex e60bfe78d6f..8f58daf638b 100644 --- a/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf diff --git a/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf b/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf Binary files differindex 4eee052d2b2..e8bd3d23b14 100644 --- a/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf +++ b/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf |