diff options
Diffstat (limited to 'macros/latex-dev/base')
104 files changed, 225 insertions, 137 deletions
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md index 494705bbab..ba50e71a80 100644 --- a/macros/latex-dev/base/README.md +++ b/macros/latex-dev/base/README.md @@ -1,7 +1,7 @@ The LaTeX kernel ================ -Release 2023-06-01 pre-release 3 +Release 2023-11-01 pre-release 0 Overview -------- @@ -87,6 +87,6 @@ version 1.3c or later. ----- -<p>Copyright (C) 1989-2022 The LaTeX Project <br /> +<p>Copyright (C) 1989-2023 The LaTeX Project <br /> <a href="http://latex-project.org/">http://latex-project.org/</a> <br /> All rights reserved.</p> diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf Binary files differindex c03d479351..2f288f85c3 100644 --- a/macros/latex-dev/base/alltt.pdf +++ b/macros/latex-dev/base/alltt.pdf diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf Binary files differindex 8e27a300f1..15f9b2e4b3 100644 --- a/macros/latex-dev/base/cfgguide.pdf +++ b/macros/latex-dev/base/cfgguide.pdf diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt index 790f9a5ad1..86fda4e1ca 100644 --- a/macros/latex-dev/base/changes.txt +++ b/macros/latex-dev/base/changes.txt @@ -6,6 +6,40 @@ completeness or accuracy and it contains some references to files that are not part of the distribution. ================================================================================ +2023-06-09 Joseph Wright <Joseph.Wright@latex-project.org> + + * usrguide.txt + Various refinements to descriptions of \NewDocumentCommand, etc. + +================================================================================ +All changes above are only part of the development branch for the next release. +================================================================================ + +######################### +# 2023-06-01 Release +######################### + +2023-05-21 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * lthooks.dtx (subsection{Adding or removing hook code}): + Short-circuit when the hook is declared without args (gh1078). + +2023-05-31 Joseph Wright <Joseph.Wright@latex-project.org> + + * usrguide.txt + Correct syntax of opt. arg. for \DeclareLowercaseMapping, etc. + +2023-05-30 Joseph Wright <Joseph.Wright@latex-project.org> + + * ltfinal.dtx + Fix implementation of \DeclareLowercaseMapping + +2023-05-26 Yukai Chou <muzimuzhi@gmail.com> + + * ltcmd.dtx (subsection{Structure of \pkg{xparse} commands}): + Use simpler 'NNno' variant instead of 'NNVo' for + \cs_generate_from_arg_count:NNnn + 2023-05-22 Joseph Wright <Joseph.Wright@latex-project.org> * usrguide.tex @@ -156,10 +190,6 @@ are not part of the distribution. Pre-2023 source moved to new name, re-worked material which remains relevant in updated file -================================================================================ -All changes above are only part of the development branch for the next release. -================================================================================ - 2023-01-19 Josef Friedrich <josef@friedrich.rocks> * ltluatex.dtx: @@ -210,10 +240,6 @@ All changes above are only part of the development branch for the next release. * doc.dtx: correctly handle \<space> and allow it to be excluded from the index (gh/943) -================================================================================ -All changes above are only part of the development branch for the next release. -================================================================================ - ######################### # 2022-11-01 PL1 Release ######################### @@ -232,7 +258,6 @@ All changes above are only part of the development branch for the next release. Eventually we will need to sync with the code in l3doc but for now we stay with the simpler definition from doc.sty. - 2022-11-30 Joseph Wright <Joseph.Wright@latex-project.org> * ltfinal.dtx: diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf Binary files differindex ef4ed23c75..d41f58e276 100644 --- a/macros/latex-dev/base/classes.pdf +++ b/macros/latex-dev/base/classes.pdf diff --git a/macros/latex-dev/base/clsguide-historic.pdf b/macros/latex-dev/base/clsguide-historic.pdf Binary files differindex 196a93f86e..e5a2ce5fb6 100644 --- a/macros/latex-dev/base/clsguide-historic.pdf +++ b/macros/latex-dev/base/clsguide-historic.pdf diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf Binary files differindex 3d17c94cba..de72af6952 100644 --- a/macros/latex-dev/base/clsguide.pdf +++ b/macros/latex-dev/base/clsguide.pdf diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf Binary files differindex 82de575e6d..b1dfbca7d3 100644 --- a/macros/latex-dev/base/cmfonts.pdf +++ b/macros/latex-dev/base/cmfonts.pdf diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf Binary files differindex 1aa77ffdf5..9b65f892be 100644 --- a/macros/latex-dev/base/cyrguide.pdf +++ b/macros/latex-dev/base/cyrguide.pdf diff --git a/macros/latex-dev/base/doc-code.pdf b/macros/latex-dev/base/doc-code.pdf Binary files differindex 4181da4328..b6275f54a2 100644 --- a/macros/latex-dev/base/doc-code.pdf +++ b/macros/latex-dev/base/doc-code.pdf diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf Binary files differindex c0a027ae5d..b06b8b45f3 100644 --- a/macros/latex-dev/base/doc.pdf +++ b/macros/latex-dev/base/doc.pdf diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf Binary files differindex 88ef1e1370..f3b5f66e8e 100644 --- a/macros/latex-dev/base/docstrip.pdf +++ b/macros/latex-dev/base/docstrip.pdf diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf Binary files differindex 7f961d9148..5cdbd43262 100644 --- a/macros/latex-dev/base/encguide.pdf +++ b/macros/latex-dev/base/encguide.pdf diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf Binary files differindex 1182517613..774055dd4e 100644 --- a/macros/latex-dev/base/exscale.pdf +++ b/macros/latex-dev/base/exscale.pdf diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf Binary files differindex 762b79017f..885c9771af 100644 --- a/macros/latex-dev/base/fix-cm.pdf +++ b/macros/latex-dev/base/fix-cm.pdf diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf Binary files differindex 034fe97db8..38d6bc75b6 100644 --- a/macros/latex-dev/base/fntguide.pdf +++ b/macros/latex-dev/base/fntguide.pdf diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf Binary files differindex 734a7e60e7..7f4f6f9757 100644 --- a/macros/latex-dev/base/graphpap.pdf +++ b/macros/latex-dev/base/graphpap.pdf diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf Binary files differindex a5b90c8782..5276d75a11 100644 --- a/macros/latex-dev/base/ifthen.pdf +++ b/macros/latex-dev/base/ifthen.pdf diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf Binary files differindex ddd7928f37..2dc16e5a84 100644 --- a/macros/latex-dev/base/inputenc.pdf +++ b/macros/latex-dev/base/inputenc.pdf diff --git a/macros/latex-dev/base/lamport-manual.pdf b/macros/latex-dev/base/lamport-manual.pdf Binary files differindex fb9e0e0a25..f37100a1aa 100644 --- a/macros/latex-dev/base/lamport-manual.pdf +++ b/macros/latex-dev/base/lamport-manual.pdf diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf Binary files differindex 3b4124e9d0..ec3e02593c 100644 --- a/macros/latex-dev/base/latexrelease.pdf +++ b/macros/latex-dev/base/latexrelease.pdf diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf Binary files differindex dab8955e1c..b080247c6f 100644 --- a/macros/latex-dev/base/latexsym.pdf +++ b/macros/latex-dev/base/latexsym.pdf diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf Binary files differindex 4c35d7053e..c01ef84a40 100644 --- a/macros/latex-dev/base/lb2.pdf +++ b/macros/latex-dev/base/lb2.pdf diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf Binary files differindex 139eb554c7..da4b8da31b 100644 --- a/macros/latex-dev/base/letter.pdf +++ b/macros/latex-dev/base/letter.pdf diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf Binary files differindex b1af720e50..e595b3c577 100644 --- a/macros/latex-dev/base/lgc2.pdf +++ b/macros/latex-dev/base/lgc2.pdf diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf Binary files differindex c3b3b75bc7..634e0cf419 100644 --- a/macros/latex-dev/base/lppl.pdf +++ b/macros/latex-dev/base/lppl.pdf diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx index 5f019cdc2a..d6322ff3ee 100644 --- a/macros/latex-dev/base/ltcmd.dtx +++ b/macros/latex-dev/base/ltcmd.dtx @@ -34,8 +34,8 @@ %%% From File: ltcmd.dtx % % \begin{macrocode} -\def\ltcmdversion{v1.1d} -\def\ltcmddate{2023-04-13} +\def\ltcmdversion{v1.1e} +\def\ltcmddate{2023-05-26} % \end{macrocode} % %<*driver> @@ -725,6 +725,9 @@ { \@@_environment_or_command: } } % \end{macrocode} +% +% \changes{v1.1e}{2023/05/26} +% {Use simpler variant \cs{cs_generate_from_arg_count:NNno}} % To construct \cs{@@_tmp:w}, first go through the arguments % found and the corresponding defaults, building a token list with % |{#|\meta{arg number}|}| for arguments found in the input (whose @@ -738,10 +741,10 @@ \int_zero:N \l_@@_current_arg_int \@@_tl_mapthread_function:NNN \l_@@_args_tl \l_@@_defaults_tl \@@_defaults_def:nn - \cs_generate_from_arg_count:NNVo \@@_tmp:w \cs_set:Npn + \cs_generate_from_arg_count:NNno \@@_tmp:w \cs_set:Npn \l_@@_current_arg_int \l_@@_tmpa_tl } -\cs_generate_variant:Nn \cs_generate_from_arg_count:NNnn { NNVo } +\cs_generate_variant:Nn \cs_generate_from_arg_count:NNnn { NNno } \cs_new_protected:Npn \@@_defaults_def:nn { \int_incr:N \l_@@_current_arg_int diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf Binary files differindex 49e283c6d6..b1cd499d3c 100644 --- a/macros/latex-dev/base/ltcmdhooks-code.pdf +++ b/macros/latex-dev/base/ltcmdhooks-code.pdf diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf Binary files differindex 94caa644c4..91b366eb9f 100644 --- a/macros/latex-dev/base/ltcmdhooks-doc.pdf +++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf Binary files differindex f8d5cc6817..f7422c2a21 100644 --- a/macros/latex-dev/base/ltfilehook-code.pdf +++ b/macros/latex-dev/base/ltfilehook-code.pdf diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf Binary files differindex f1006dec78..e30bf34f5d 100644 --- a/macros/latex-dev/base/ltfilehook-doc.pdf +++ b/macros/latex-dev/base/ltfilehook-doc.pdf diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx index 1e39e293e0..2652f6ce44 100644 --- a/macros/latex-dev/base/ltfinal.dtx +++ b/macros/latex-dev/base/ltfinal.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltfinal.dtx} - [2023/04/20 v2.3b LaTeX Kernel (Final Settings)] + [2023/05/30 v2.3c LaTeX Kernel (Final Settings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfinal.dtx} @@ -1201,6 +1201,8 @@ % \changes{v2.2u}{2022/06/30}{Add \cs{AddToNoCaseChangeList}} % \changes{v2.3b}{2023/04/19}{Add \cs{DeclareLowercaseMapping}, % \cs{DeclareTitlecaseMapping} and \cs{DeclareUppercaseMapping}} +% \changes{v2.3c}{2023/05/30}{Fix a typo in implementation of +% \cs{DeclareLowercaseMapping}, etc.} % |\NoCaseChange| protects its argument from the case change functions. % % |\AddToNoCaseChangeList| Allows new commands to protect their arguments, eg @@ -1216,21 +1218,21 @@ \text_declare_case_equivalent:Nn \NewDocumentCommand \DeclareLowercaseMapping { o m m } { - \IFNoValueTF {#1} + \IfNoValueTF {#1} { \text_declare_lowercase_mapping:nn } { \text_declare_lowercase_mapping:nnn {#1} } {#2} {#3} } \NewDocumentCommand \DeclareTitlecaseMapping { o m m } { - \IFNoValueTF {#1} + \IfNoValueTF {#1} { \text_declare_titlecase_mapping:nn } { \text_declare_titlecase_mapping:nnn {#1} } {#2} {#3} } \NewDocumentCommand \DeclareUppercaseMapping { o m m } { - \IFNoValueTF {#1} + \IfNoValueTF {#1} { \text_declare_uppercase_mapping:nn } { \text_declare_uppercase_mapping:nnn {#1} } {#2} {#3} diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf Binary files differindex eb59fc8bbc..60bfdc9c57 100644 --- a/macros/latex-dev/base/lthooks-code.pdf +++ b/macros/latex-dev/base/lthooks-code.pdf diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf Binary files differindex 4c07148e48..fe0c9da6b8 100644 --- a/macros/latex-dev/base/lthooks-doc.pdf +++ b/macros/latex-dev/base/lthooks-doc.pdf diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx index c0efe2c903..3807d25c44 100644 --- a/macros/latex-dev/base/lthooks.dtx +++ b/macros/latex-dev/base/lthooks.dtx @@ -31,8 +31,8 @@ %%% From File: lthooks.dtx % % \begin{macrocode} -\def\lthooksversion{v1.1d} -\def\lthooksdate{2023/05/21} +\def\lthooksversion{v1.1e} +\def\lthooksdate{2023/06/06} % \end{macrocode} % %<*driver> @@ -4424,6 +4424,7 @@ % \end{macro} % % \begin{macro}{\@@_cs_gput_right:nnn} +% \begin{macro}{\@@_cs_gput_right_fast:nnn,\@@_cs_gput_right_slow:nnn} % \begin{macro}{\@@_code_gset_auxi:nnnn,\@@_code_gset_auxi:eeen} % This macro is used to append code to the \verb|toplevel| and % \verb|next| token lists, trating them correctly depending on their @@ -4432,10 +4433,32 @@ % stored as parameter tokens. % \changes{v1.1a}{2023/04/06} % {Macro added (hook-args).} +% \changes{v1.1e}{2023/06/06} +% {Short-circuit when the hook is declared without args (gh1078).} % \begin{macrocode} %<latexrelease>\IncludeInRelease{2023/06/01}{\@@_cs_gput_right:nnn} %<latexrelease> {Hooks~with~args} -\cs_new_protected:Npn \@@_cs_gput_right:nnn #1 #2 #3 +% \end{macrocode} +% +% Check if the current hook is declared and takes no arguments. In +% this case, we short-circuit and use the simpler and much faster +% approach that doesn't require hash-doubling. +% \begin{macrocode} +\cs_new_protected:Npn \@@_cs_gput_right:nnn #1 #2 + { + \if:w T + \@@_if_declared:nF {#2} { F } + \tl_if_empty:cF { c_@@_#2_parameter_tl } { F } + T + \exp_after:wN \@@_cs_gput_right_fast:nnn + \else: + \exp_after:wN \@@_cs_gput_right_slow:nnn + \fi: + {#1} {#2} + } +\cs_new_protected:Npn \@@_cs_gput_right_fast:nnn #1 #2 #3 + { \cs_gset:cpx { @@#1~#2 } { \exp_not:v { @@#1~#2 } \exp_not:n {#3} } } +\cs_new_protected:Npn \@@_cs_gput_right_slow:nnn #1 #2 #3 { % \end{macrocode} % The auxiliary \cs{@@_code_gset_auxi:eeen} just does the assignment @@ -4498,11 +4521,14 @@ %<latexrelease>\IncludeInRelease{2020/10/01}{\@@_cs_gput_right:nnn} %<latexrelease> {Hooks~with~args} %<latexrelease>\cs_undefine:N \@@_cs_gput_right:nnn +%<latexrelease>\cs_undefine:N \@@_cs_gput_right_fast:nnn +%<latexrelease>\cs_undefine:N \@@_cs_gput_right_slow:nnn %<latexrelease>\cs_undefine:N \@@_code_gset_auxi:nnnn %<latexrelease>\EndIncludeInRelease % \end{macrocode} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{ % \@@_code_gset:nn,\@@_code_gset:ne, diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf Binary files differindex a2c7bdc1dc..7c5864ac80 100644 --- a/macros/latex-dev/base/ltluatex.pdf +++ b/macros/latex-dev/base/ltluatex.pdf diff --git a/macros/latex-dev/base/ltmarks-code.pdf b/macros/latex-dev/base/ltmarks-code.pdf Binary files differindex 22470e7814..bc9395f38d 100644 --- a/macros/latex-dev/base/ltmarks-code.pdf +++ b/macros/latex-dev/base/ltmarks-code.pdf diff --git a/macros/latex-dev/base/ltmarks-doc.pdf b/macros/latex-dev/base/ltmarks-doc.pdf Binary files differindex b3a84ca9f7..feae65cce7 100644 --- a/macros/latex-dev/base/ltmarks-doc.pdf +++ b/macros/latex-dev/base/ltmarks-doc.pdf diff --git a/macros/latex-dev/base/ltnews.cls b/macros/latex-dev/base/ltnews.cls index a57d9fc673..45ee3664d1 100644 --- a/macros/latex-dev/base/ltnews.cls +++ b/macros/latex-dev/base/ltnews.cls @@ -41,7 +41,7 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{ltnews}[2017/12/13 v1.06 Standard LaTeX class] +\ProvidesClass{ltnews}[2023/05/28 v1.08 Standard LaTeX class] % The configuration file, used for passing options. @@ -474,7 +474,7 @@ \parbox[t][7\baselineskip]{\textwidth}{% \@titlefont\@title\\[\medskipamount] \normalfont\normalsize\issuename~\@issue, - \@month~\@year~(\publicationdate)% + \@month~\@year~(\LaTeX\ release \publicationdate)% }% }]% \thispagestyle{titlepage} @@ -519,6 +519,17 @@ {1sp}{\@subheadingfont}% } + +% suggestion by Karl Berry (not integrated (yet)) + +\newcommand{\ltnewssectformat}{% + \@headingfont + \frenchspacing + \raggedright + \hyphenpenalty=10000 + \exhyphenpenalty=10000 +} + % No section numbers. \setcounter{secnumdepth}{0} diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf Binary files differindex 20e9915fb0..057069d15c 100644 --- a/macros/latex-dev/base/ltnews.pdf +++ b/macros/latex-dev/base/ltnews.pdf diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf Binary files differindex a7f0341632..163b63d1f8 100644 --- a/macros/latex-dev/base/ltnews01.pdf +++ b/macros/latex-dev/base/ltnews01.pdf diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf Binary files differindex 35984fad28..22d5f44f13 100644 --- a/macros/latex-dev/base/ltnews02.pdf +++ b/macros/latex-dev/base/ltnews02.pdf diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf Binary files differindex 447d1674df..907142faea 100644 --- a/macros/latex-dev/base/ltnews03.pdf +++ b/macros/latex-dev/base/ltnews03.pdf diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf Binary files differindex cc15094d78..8ec38ae7aa 100644 --- a/macros/latex-dev/base/ltnews04.pdf +++ b/macros/latex-dev/base/ltnews04.pdf diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf Binary files differindex 0e70b1e807..a7b467cce3 100644 --- a/macros/latex-dev/base/ltnews05.pdf +++ b/macros/latex-dev/base/ltnews05.pdf diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf Binary files differindex 59abf02bd7..6d3af11e7b 100644 --- a/macros/latex-dev/base/ltnews06.pdf +++ b/macros/latex-dev/base/ltnews06.pdf diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf Binary files differindex 82a2540ab1..fde4db801e 100644 --- a/macros/latex-dev/base/ltnews07.pdf +++ b/macros/latex-dev/base/ltnews07.pdf diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf Binary files differindex f32fb2cad0..9b5d5b5491 100644 --- a/macros/latex-dev/base/ltnews08.pdf +++ b/macros/latex-dev/base/ltnews08.pdf diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf Binary files differindex 4ca9012f17..6b73bd238d 100644 --- a/macros/latex-dev/base/ltnews09.pdf +++ b/macros/latex-dev/base/ltnews09.pdf diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf Binary files differindex 5fca7346e9..a4e1070c63 100644 --- a/macros/latex-dev/base/ltnews10.pdf +++ b/macros/latex-dev/base/ltnews10.pdf diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf Binary files differindex 6627ca370a..8655dd1ebb 100644 --- a/macros/latex-dev/base/ltnews11.pdf +++ b/macros/latex-dev/base/ltnews11.pdf diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf Binary files differindex 8bd9137660..adaa3a8030 100644 --- a/macros/latex-dev/base/ltnews12.pdf +++ b/macros/latex-dev/base/ltnews12.pdf diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf Binary files differindex dd8b6c663e..5386e0271e 100644 --- a/macros/latex-dev/base/ltnews13.pdf +++ b/macros/latex-dev/base/ltnews13.pdf diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf Binary files differindex 83c326971d..2358596a46 100644 --- a/macros/latex-dev/base/ltnews14.pdf +++ b/macros/latex-dev/base/ltnews14.pdf diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf Binary files differindex 5f4eae06f9..a733dd4666 100644 --- a/macros/latex-dev/base/ltnews15.pdf +++ b/macros/latex-dev/base/ltnews15.pdf diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf Binary files differindex 5e7ee0cd0b..0d85052702 100644 --- a/macros/latex-dev/base/ltnews16.pdf +++ b/macros/latex-dev/base/ltnews16.pdf diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf Binary files differindex 637d049e40..b7a68faf54 100644 --- a/macros/latex-dev/base/ltnews17.pdf +++ b/macros/latex-dev/base/ltnews17.pdf diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf Binary files differindex badbfac892..10dff17af7 100644 --- a/macros/latex-dev/base/ltnews18.pdf +++ b/macros/latex-dev/base/ltnews18.pdf diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf Binary files differindex 5f857220a2..d382282afc 100644 --- a/macros/latex-dev/base/ltnews19.pdf +++ b/macros/latex-dev/base/ltnews19.pdf diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf Binary files differindex 2cd03fc389..a8f609ad22 100644 --- a/macros/latex-dev/base/ltnews20.pdf +++ b/macros/latex-dev/base/ltnews20.pdf diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf Binary files differindex fbf13d47b8..c49a3e744f 100644 --- a/macros/latex-dev/base/ltnews21.pdf +++ b/macros/latex-dev/base/ltnews21.pdf diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf Binary files differindex f107f51d4d..dc6307cae7 100644 --- a/macros/latex-dev/base/ltnews22.pdf +++ b/macros/latex-dev/base/ltnews22.pdf diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf Binary files differindex 0b1a540118..a29989f019 100644 --- a/macros/latex-dev/base/ltnews23.pdf +++ b/macros/latex-dev/base/ltnews23.pdf diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf Binary files differindex e7ee535ed4..e537c5858e 100644 --- a/macros/latex-dev/base/ltnews24.pdf +++ b/macros/latex-dev/base/ltnews24.pdf diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf Binary files differindex 735abd907e..1b3a3bf336 100644 --- a/macros/latex-dev/base/ltnews25.pdf +++ b/macros/latex-dev/base/ltnews25.pdf diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf Binary files differindex d62efe0af4..50882f8175 100644 --- a/macros/latex-dev/base/ltnews26.pdf +++ b/macros/latex-dev/base/ltnews26.pdf diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf Binary files differindex 487ee60ee4..2a7f4dada7 100644 --- a/macros/latex-dev/base/ltnews27.pdf +++ b/macros/latex-dev/base/ltnews27.pdf diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf Binary files differindex 23876fc9d9..6c539c3d2b 100644 --- a/macros/latex-dev/base/ltnews28.pdf +++ b/macros/latex-dev/base/ltnews28.pdf diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf Binary files differindex 19b4de4a57..1af62187fd 100644 --- a/macros/latex-dev/base/ltnews29.pdf +++ b/macros/latex-dev/base/ltnews29.pdf diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf Binary files differindex b8f3672842..77b50dc802 100644 --- a/macros/latex-dev/base/ltnews30.pdf +++ b/macros/latex-dev/base/ltnews30.pdf diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf Binary files differindex d46eff87c9..aac568ca14 100644 --- a/macros/latex-dev/base/ltnews31.pdf +++ b/macros/latex-dev/base/ltnews31.pdf diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf Binary files differindex 76a4a10cbe..2d2fbac00a 100644 --- a/macros/latex-dev/base/ltnews32.pdf +++ b/macros/latex-dev/base/ltnews32.pdf diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf Binary files differindex f255b9d1ef..48e19ae5f2 100644 --- a/macros/latex-dev/base/ltnews33.pdf +++ b/macros/latex-dev/base/ltnews33.pdf diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf Binary files differindex 5523ac2cd6..f44a59c817 100644 --- a/macros/latex-dev/base/ltnews34.pdf +++ b/macros/latex-dev/base/ltnews34.pdf diff --git a/macros/latex-dev/base/ltnews35.pdf b/macros/latex-dev/base/ltnews35.pdf Binary files differindex a68acbd83f..2163da5a3c 100644 --- a/macros/latex-dev/base/ltnews35.pdf +++ b/macros/latex-dev/base/ltnews35.pdf diff --git a/macros/latex-dev/base/ltnews36.pdf b/macros/latex-dev/base/ltnews36.pdf Binary files differindex 13802736fd..ae19fc9f58 100644 --- a/macros/latex-dev/base/ltnews36.pdf +++ b/macros/latex-dev/base/ltnews36.pdf diff --git a/macros/latex-dev/base/ltnews37.pdf b/macros/latex-dev/base/ltnews37.pdf Binary files differindex 781a244469..c8796695da 100644 --- a/macros/latex-dev/base/ltnews37.pdf +++ b/macros/latex-dev/base/ltnews37.pdf diff --git a/macros/latex-dev/base/ltnews37.tex b/macros/latex-dev/base/ltnews37.tex index 5b2a55dda3..5527975c54 100644 --- a/macros/latex-dev/base/ltnews37.tex +++ b/macros/latex-dev/base/ltnews37.tex @@ -113,10 +113,11 @@ \let\finalvspace\vspace % for document layout fixes % Undo ltnews's \verbatim@font with active < and > -\makeatletter -\def\verbatim@font{% - \normalsize\ttfamily} -\makeatletter +% (we have meta variables in verbatim, so keep it.) +%\makeatletter +%\def\verbatim@font{% +% \normalsize\ttfamily} +%\makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand\tubcommand[1]{} @@ -131,7 +132,7 @@ \begin{document} -\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB +\tubcommand{\addtolength\textheight{4.1pc}} % only for TUB \maketitle {\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 @@ -139,6 +140,9 @@ \setlength\rightskip{0pt plus 3em} +% for ltnews37, squeeze to five pages. +\tubcommand{\fontsize{9.6}{12}\selectfont} + \medskip @@ -146,7 +150,6 @@ %\section{Introduction} - \section{New functionality offered as part of the \enquote{\LaTeX{} Tagged PDF} project} @@ -178,17 +181,17 @@ but some of them will be delayed until after the June release. A prototype for math tagging (including support for the \pkg{amsmath} environments) is already available, but it is mainly intended for experimentation and feedback and the resulting tagging is by no means -the way we envision it to be eventually. If you like to try it out use +the way we envision it to be eventually. If you would like to try it out use the following line: \begin{verbatim} \DocumentMetadata{testphase={phase-III,math}} \end{verbatim} Note that the math tagging code at this point in time will clash with -packages that redefine the \texttt{\$} (which then may lead to strange +packages that redefine the \texttt{\$} character (which then may lead to strange errors) and that packages that use math mode for non-mathematical constructs may result in surprising output as far as tagging is -concerned. Feedback on which packages fail with the code in one or the -other way would be appreciated. +concerned. Feedback on which packages fail with the code in one or +another way would be appreciated. The \texttt{latex-lab} bundle contains various (still untagged) documentation files about the new code that can @@ -222,12 +225,12 @@ extension is completely compatible with older documents and packages. \AddToHook{cmd/verbatim@font/after}[hack]{\small} To declare a hook with arguments, use \begin{verbatim} -\NewHookWithArguments {<hook>} {<num args>} +\NewHookWithArguments {<hook>} {<num-args>} \end{verbatim} -then, similarly, to use the code in the hook (supposing a hook declared -with 2 arguments), write +then, similarly, to use the code in the hook, supposing a hook declared +with 2 arguments, write \begin{verbatim} -\UseHookWithArguments {<hook>} {2} {<arg 1>} {<arg 2>} +\UseHookWithArguments {<hook>} {2} {<arg1>} {<arg2>} \end{verbatim} Or, if you want to add some code to a hook that takes arguments, write @@ -250,20 +253,20 @@ mistakenly reference the newly added arguments. The commands \cs{NewReversedHookWithArguments}, \cs {NewMirroredHookPairWithArguments}, \cs {AddToHookNextWithArguments}, \cs{UseOneTimeHookWithArguments}, and -the \pkg{expl3} conterparts of the commands discussed in this section +the \pkg{expl3} counterparts of the commands discussed in this section were also added. The complete documentation can be found in the \pkg{lthooks} documentation \cite{37:lthooks-doc}. \subsubsection{Generic \texttt{cmd} hooks with arguments} -Along with the possibility to pass arguments to a regular hook as -discussed above, generic \hook{cmd} hooks now can access the arguments -of the command they are patched into using the interface described in +Along with the possibility of passing arguments to a regular hook as +discussed above, generic \hook{cmd} hooks can now access the arguments +of the command they are patched into, using the interface described in the previous section. For example, if you were to add some code to the \cs{title} command using hooks, you could access the actual title given in the argument. -For example, to write the title of the document in the terminal you +Thus, to write the title of the document in the terminal you could use: \begin{verbatim} \AddToHookWithArguments{cmd/title/before} @@ -278,7 +281,7 @@ they did before. \subsection{Providing copy and show functions for environments} -To copy a command definition we have introduced \cs{NewCommandCopy} in +To copy a command definition we introduced \cs{NewCommandCopy} in 2022. This even allows you to copy commands that consist of several internal components, such as robust commands or those with a complex signature. To do the same with environments, e.g., to define the environment @@ -294,13 +297,13 @@ In addition, we offer a \cs{ShowEnvironment} command, which displays the argument. E.g., \verb=\ShowEnvironment{center}= results in the following output: \begin{verbatim} - > \begin{center}=environment: - > ->\trivlist \centering \item \relax . - <recently read> } + >> \begin{center}=environment: + >> ->>\trivlist \centering \item \relax . + <<recently read>> } l. ...\ShowEnvironment{center} - > \end{center}: - > ->\endtrivlist . - <recently read> } + >> \end{center}: + >> ->>\endtrivlist . + <<recently read>> } l. ...\ShowEnvironment{center} \end{verbatim} % @@ -317,13 +320,13 @@ line. \githubissue{1015} \subsection{\cs{DeclareLowercaseMapping}, \cs{DeclareTitlecaseMapping} - and \cs{DeclareUppercaseMapping}} + and \cs{DeclareUppercaseMapping}\texorpdfstring{\raggedright}{}} The move from a case-changing approach using \cs{lccode} and \cs{uccode} data to one where information is stored by a kernel-managed structure left a gap in the ability of the user to \emph{tune} the case changing outcomes. This has now been addressed by the addition of three commands -\begin{itemize} +\begin{itemize}\tubcommand{\setlength{\parskip}{0pt}}% \item \cs{DeclareLowercaseMapping} \item \cs{DeclareTitlecaseMapping} \item \cs{DeclareUppercaseMapping} @@ -361,7 +364,7 @@ by both the kernel and any other \enquote{consumer} packages. The \cs{samepage} declaration sets various parameters to \texttt{10000} to prevent undesired page breaks. The \cs{predisplaypenalty} parameter has already by default a value of -\texttt{10000} and to save space back in the days it was therefore not +\texttt{10000}, and to save space in the past it was therefore not explicitly set. However, there are a few classes that change the parameter and as result the user might experience a page break in front of a display formula within the scope of \cs{samepage} when @@ -384,7 +387,7 @@ not use grouping. Previously, in standard \LaTeX{}, the \cs{label} command wrote a \cs{newlabel} declaration into the \texttt{.aux} file and stored two values in -second argument of this \cs{newlabel} command: +the second argument of this \cs{newlabel} command: \cs{@currentlabel}, which normally contains the state of the current counter and \cs{thepage} for the current page number. @@ -396,7 +399,7 @@ current title text and can be retrieved with \cs{nameref}, and active link. The fifth argument was only used if external references were loaded with the \pkg{xr-hyper} package. -Starting with this release, the number of values stored in \cs{newlabel} have been unified. +Starting with this release, the number of values stored in \cs{newlabel} has been unified. \cs{label} now writes a \cs{newlabel} command that always contains five values in the second argument (each in a brace group): \cs{@currentlabel}, \cs{thepage}, \cs{@currentlabelname}, @@ -404,17 +407,17 @@ Starting with this release, the number of values stored in \cs{newlabel} have be Additionally, a hook with the name \texttt{label} has been added. It takes one argument: the label string. -Code added to the hook can refer to this argument with \verb+#1+. +Code added to the hook can refer to this argument with~\verb+#1+. The hook is executed directly before the \cs{label} command writes to the \texttt{.aux} file -but \emph{after} the \cs{@bsphack} command has done its spacing magic and it is located \emph{inside} a group, thus its code only affects the write operation. +but \emph{after} the \cs{@bsphack} command has done its spacing magic, and it is located \emph{inside} a group; thus, its code only affects the write operation. \section{Code improvements} \subsection{Performance in checking file existence} -The addition of hooks, etc., to file operations had a side-effect in that -multiple checks were made that the file existed. In larger documents using -lots of files, these file system operations caused non-trivial performance +The addition of hooks, etc., to file operations had a side effect of making +multiple checks that the file existed. In larger documents using +many files, these file system operations caused non-trivial performance impact. We now cache the existence of files, such that these repeated filesystem calls are avoided. @@ -431,9 +434,9 @@ Due to some problems in the code it wasn't possible to prevent The default quote and backquote characters in typewriter fonts are typographical quotes, e.g., the input \begin{verbatim} - \verb*/`prog 'my input'`/ + \verb/`prog 'my input'`/ \end{verbatim} - is rendered as \verb*/`prog 'my input'`/ and not as + is rendered as \verb/`prog 'my input'`/ and not as % \begingroup % code to mimic upquote.sty \catcode`'=\active @@ -449,7 +452,7 @@ typographical quotes, e.g., the input \fi\fi} \endgroup % -\verb*/`prog 'my input'`/ as preferred by many programmers. +\verb/`prog 'my input'`/ as preferred by many programmers. This can be adjusted, for example, with the \pkg{upquote} package, which results in the second output. However, for historical reasons @@ -469,9 +472,9 @@ processing. However, it only got a definition when \verb=\begin{document}= was executed, with a result that a user definition in the preamble was unconditionally overwritten at this point. To properly alert the user that this command is not freely -available we now already provide a definition in the format so that +available we now make a definition in the format, so that \cs{newcommand} and friends produce a proper error message instead of -providing a definition that doesn't last. +allowing a definition that doesn't last. % \githubissue{975} @@ -502,11 +505,12 @@ adjust what is happening before, during, and after the can reset code they have altered (e.g., \cs{catcode}s during verbatim-like processing) and with \hook{shipout/background} and \hook{shipout/foreground} material can be added to the pages. -Details are given in \cite{37:ltshipout-doc}. However, what was +Details are given in \cite{37:ltshipout-doc}. + +However, still missing was a hook that allows a package writer to manipulate the completed page (with foreground and background attached) just before the actual shipout happens. - For this we now provide the additional hook \hook{shipout}. One use case (sometimes needed in print production) is to mirror the whole page via \cs{reflectbox} including all the extra data that may @@ -519,7 +523,7 @@ have been added into the fore- or background. \subsection{Displaying release information in the \texttt{.log}} \LaTeX{} displays its release information at the very beginning of the -\LaTeX{} run on the terminal and also writes it to the transcript file +\LaTeX{} run on the terminal, and also writes it to the transcript file if that is already opened at this point. While this is normally true, it is not the case if the \LaTeX{} run was started passing additional \TeX{} code on the command line, e.g., @@ -549,7 +553,7 @@ it is open and ready to receive material. The \pkg{unicode-math} package alters the catcode of \verb=|= but does not adjust its value for use in \pkg{doc}, with the result that -\enquote{or} module, i.e., $\langle A | B \rangle$ are displayed in a +\enquote{or} modules, i.e., $\langle A | B \rangle$ are displayed in a strange way. This is now fixed with some firstaid code that will eventually be moved into \pkg{unicode-math}. % @@ -558,14 +562,14 @@ eventually be moved into \pkg{unicode-math}. \subsection{A fix for \cs{hspace}} -The change to \cs{hspace}, done in 2020 to make it \pkg{calc} aware, +The change to \cs{hspace}, done in 2020 to make it \pkg{calc}-aware, had the unfortunate side effect that starting a paragraph with \cs{hspace} would result in the execution of \cs{everypar} inside a group (i.e., any local changes would immediately be revoked, breaking, for example, \pkg{wrapfig} in that special situation). % This got fixed with the 2022-11 PL1 hotfix, so was already corrected in -the previous release, but only now documented in the newsletter. +the previous release, but is only now documented in the newsletter. % \githubissue{967} @@ -586,15 +590,15 @@ class option \texttt{doc2}. This has now been corrected. A list and several other document elements add some vertical space in front of them. However this should not happen at the beginning of a box (such as a \env{minipage}) and normally it doesn't, because -\TeX{} automatically drops such spaces at the start of a vertical +\TeX{} automatically drops such space at the start of a vertical list. However, if there is some invisible material, such as a -\cs{color} command, some \pkg{hyperref} anchor, a \cs{write} or -something else, then the list is no longer empty and \TeX{} no longer -drops spaces, hence the difference. +\cs{color} command, a \pkg{hyperref} anchor, a \cs{write} or +other such items, then the list is no longer empty and \TeX{} no longer +drops the vertical space. With the new paragraph handling introduced in 2021 it is now finally possible to detect and avoid this problem and apply appropriate -counter measures so that from now on the spacing will be always +counter measures so that from now on the spacing will always be correct. % \githubissue{989} @@ -603,7 +607,7 @@ correct. \subsection{A fix for \cs{NewCommandCopy} and \cs{ShowCommand}} When copying and showing definitions of (non-expandable) document commands -(aka commands defined by \cs{NewDocumentCommand} and friends) containing empty +(a.k.a.\ commands defined by \cs{NewDocumentCommand} and friends) containing empty or only \texttt{m}-type arguments, these commands were wrongly recognized as expandable ones. This is fixed in the present \LaTeX{} release. @@ -656,10 +660,10 @@ to add \cs{ignorespaces} after the math group. When \LaTeXe{} was released, the team provided documentation for both document authors and package/class developers in the two files \texttt{usrguide} and \texttt{clsguide}. Over time, the team have augmented these documents as new -methods have been added to the kernel. However, they retained there structure -as starting from familiarity with \LaTeX{}~2.09. This meant that for new users, +methods have been added to the kernel. However, they retained their structure +as assuming familiarity with \LaTeX{}~2.09. This meant that for new users, there was material which is no longer relevant, and less clarity than desirable -in what approaches are recommended today. +regarding the approaches that are recommended today. The two files have now been (partially) re-written, with the versions available previously now frozen as \texttt{usrguide-historic} and \texttt{clsguide-historic}. @@ -671,7 +675,7 @@ user guide, but both are worth a re-read by experienced \LaTeX{} users. \subsection{Displaying the exact release dates for \LaTeX{}} In some situations it is necessary to find out the exact release dates -for older version of the \LaTeX{} format, for example, when you need +for older versions of the \LaTeX{} format, for example, when you need to use different code in a package depending on the availability of a certain feature and you therefore want to use \cs{IfFormatAtLeastTF}\texttt\{\meta{date}\texttt\} or the @@ -681,24 +685,24 @@ want to cater for formats that are older than 2020. Or you know that your package is definitely not going to work with a format before a certain \meta{date}, in which case you could use -\verb/\NeedsTeXFormat{LaTeX2e}[/\meta{date}\texttt] to ensure that any - user is alerted if their format is too old. +\verb/\NeedsTeXFormat{LaTeX2e}[/\meta{date}\texttt] to ensure that +users are alerted if their format is too old. -The big problem is to know the exact \meta{date} to put into such -commands and in the past that was not that easy to find. You could have -looked in the the file \file{changes.txt}, but that is hidden somewhere +The big problem is knowing the exact \meta{date} to put into such +commands; in the past, that was not that easy to find. You could have +looked in the file \file{changes.txt}, but that is hidden somewhere in your installation and if you try -\verb*/texdoc -l changes.txt/ you get more than thirty results and the %* +\verb/texdoc -l changes.txt/ you get more than thirty results and the %* right file is by no means the first. Yukai Chou (\textsf{@muzimuzhi}) kindly provided a patch for this, so that we now have the exact dates for each \LaTeX{} format listed in an easy to remember place: in \file{ltnews.pdf} and that file conveniently also contains all major features and changes to \LaTeX{} over the years\Dash one of which is -most likely the reason you need the \meta{date} date in the first +most likely the reason you need the \meta{date} in the first place. -It is given in parentheses in the newsletter title, thus this +The date is now given in parentheses in the newsletter title, thus this newsletter tells you that on % \makeatletter @@ -714,18 +718,18 @@ out that the \LaTeX3 programming layer was added on 2020-02-02 % \githubissue{982} -\subsection{Fresh from the press: \enquote{The \LaTeX{} Companion, third edition} is now in print} +\subsection{Fresh from the press:\ \enquote{The \LaTeX{} Companion, third~edition} is now in print} The third edition of \emph{The \LaTeX{} Companion} is now -available. This is the end of five years of careful work and we hope +available. This is the result of five years of careful work and we hope that it will provide our readers with all the information they need to successfully navigate the \LaTeX{} ecosystem and efficiently produce beautiful documents. -Since the publication of the last edition (2004) a lot has happened in +Since the publication of the last edition (2004), a lot has happened in the \LaTeX{} world and thus a complete rewrite was necessary. All -chapters have been thoroughly revised and in many cases largely -extended to describe new important functionality and features. More +chapters have been thoroughly revised, and in many cases significantly +extended, to describe new important functionality and features. More than 5,000 add-on packages have been analyzed in detail, out of which roughly 10\% have been chosen for inclusion in \emph{The \LaTeX{} Companion}. All important aspects of these packages are described to @@ -734,7 +738,7 @@ for the decade to come. To cover what we thought worth describing today, the book nearly doubled in size. The print edition is therefore produced as a -two-volume set and sold as a bundle. Both volumes come as hard-cover +two-volume set and sold as a bundle. Both volumes come as hardcover with ribbons to easily mark pages in the book. To give you an idea of what is covered in the third edition you can @@ -743,11 +747,13 @@ find some excerpts at \url{https://www.latex-project.org/news/2023/03/17/TLC3} \end{quote} -The edition is also available as an eBook (Parts I and II combined) -consisting of PDF and ePub format without DRM. Finally, the publisher +The edition is also available as an eBook (Parts~I and~II combined) +consisting of PDF and ePub format, without DRM\@. Finally, the publisher offers the combination of the printed books and the digital versions at a very attractive price not available anywhere else. +%% bb -- add reference to TUGboat review here + %\section{Changes to packages in the \pkg{amsmath} category} @@ -766,7 +772,7 @@ but for CJK (Chinese/Japanese/Korean) languages it is better to use a zero depth all characters have the same height and depth. And even with Latin-based languages one might want to use the depth of a \cs{strut} or that of a parenthesis. So we now offer a way to adjust this while -maintaining backward compatibility. Just redefine +maintaining backward compatibility: redefine \cs{multicolmindepthstring} to hold whatever you want to get measured for its depth (the width is not relevant). % @@ -790,10 +796,10 @@ page. This has now been fixed. \begin{thebibliography}{9} -\fontsize{9.3}{11.3}\selectfont +%\fontsize{9.3}{11.3}\selectfont \bibitem{37:ltshipout-doc} Frank Mittelbach, \LaTeX{}~Project~Team: - \emph{The \texttt{\upshape ltshipout} documentation}.\\ + \emph{The~\texttt{\upshape ltshipout} documentation}.\\ Run \texttt{texdoc} \texttt{ltshipout-doc} to view. \bibitem{37:lthooks-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{}~Project~Team: diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx index 29024dd4d6..18388b1cc6 100644 --- a/macros/latex-dev/base/ltoutput.dtx +++ b/macros/latex-dev/base/ltoutput.dtx @@ -37,7 +37,7 @@ %<*driver> % \fi \ProvidesFile{ltoutput.dtx} - [2022/08/20 v1.4j LaTeX Kernel (Output Routine)] + [2023/05/26 v1.4j LaTeX Kernel (Output Routine)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutput.dtx} @@ -3005,9 +3005,6 @@ % % There is also an |\addpenalty\interlinepenalty| above. % -% Since in 2e |\samepage| is no longer supported, these could be -% removed. -% % Although it is best to use |\addvspace| in case two h floats come % together, this makes other spacing more difficult to adjust; whereas % if a user specifies two h floats together then they can more easily @@ -3227,9 +3224,6 @@ % % There is also an |\addpenalty\interlinepenalty| above. % -% Since in 2e |\samepage| is no longer supported, these could be -% removed. -% % Although it is best to use |\addvspace| in case two h floats come % together, this makes other spacing more difficult to adjust; whereas % if a user specifies two h floats together then they can more easily diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf Binary files differindex 9085a887da..2a02548738 100644 --- a/macros/latex-dev/base/ltpara-code.pdf +++ b/macros/latex-dev/base/ltpara-code.pdf diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf Binary files differindex cd675c22bf..1aa8f1fff8 100644 --- a/macros/latex-dev/base/ltpara-doc.pdf +++ b/macros/latex-dev/base/ltpara-doc.pdf diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf Binary files differindex c9209dbbb0..a2b9753e1d 100644 --- a/macros/latex-dev/base/ltshipout-code.pdf +++ b/macros/latex-dev/base/ltshipout-code.pdf diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf Binary files differindex b05bab812e..747936c204 100644 --- a/macros/latex-dev/base/ltshipout-doc.pdf +++ b/macros/latex-dev/base/ltshipout-doc.pdf diff --git a/macros/latex-dev/base/ltspace.dtx b/macros/latex-dev/base/ltspace.dtx index 1dbfefc7b1..a77314b1bd 100644 --- a/macros/latex-dev/base/ltspace.dtx +++ b/macros/latex-dev/base/ltspace.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltspace.dtx} - [2023/03/22 v1.3p LaTeX Kernel (spacing)] + [2023/05/26 v1.3p LaTeX Kernel (spacing)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltspace.dtx} @@ -94,6 +94,7 @@ % inhibits page breaking most places by setting the % following penalties to 10000:\\ % |\interlinepenalty|\\ +% |\predisplaypenalty|\\ % |\postdisplaypenalty|\\ % |\interdisplaylinepenalty|\\ % |\@beginparpenalty|\\ diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx index beed347903..5b124febd9 100644 --- a/macros/latex-dev/base/ltvers.dtx +++ b/macros/latex-dev/base/ltvers.dtx @@ -112,10 +112,10 @@ %</2ekernel> %<latexrelease>\edef\latexreleaseversion %<*2ekernel|latexrelease> - {2023-06-01} + {2023-11-01} %</2ekernel|latexrelease> %<*2ekernel> -\def\patch@level{-3} +\def\patch@level{-0} % \end{macrocode} % % \begin{macro}{\development@branch@name} diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf Binary files differindex b69198d99f..b29a68a68a 100644 --- a/macros/latex-dev/base/ltx3info.pdf +++ b/macros/latex-dev/base/ltx3info.pdf diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf Binary files differindex b820c58deb..86b5710cf9 100644 --- a/macros/latex-dev/base/ltxdoc.pdf +++ b/macros/latex-dev/base/ltxdoc.pdf diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf Binary files differindex 39caa9b4cb..2d417f6b01 100644 --- a/macros/latex-dev/base/makeindx.pdf +++ b/macros/latex-dev/base/makeindx.pdf diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf Binary files differindex 6c5e0ef3e5..e03c6e1075 100644 --- a/macros/latex-dev/base/modguide.pdf +++ b/macros/latex-dev/base/modguide.pdf diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf Binary files differindex a6455d33ad..84599cd94c 100644 --- a/macros/latex-dev/base/nfssfont.pdf +++ b/macros/latex-dev/base/nfssfont.pdf diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf Binary files differindex 3e75484000..4797864d17 100644 --- a/macros/latex-dev/base/proc.pdf +++ b/macros/latex-dev/base/proc.pdf diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf Binary files differindex 0b7fbe33b6..af59f4891a 100644 --- a/macros/latex-dev/base/slides.pdf +++ b/macros/latex-dev/base/slides.pdf diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf Binary files differindex 411d29444c..0704a46022 100644 --- a/macros/latex-dev/base/slifonts.pdf +++ b/macros/latex-dev/base/slifonts.pdf diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf Binary files differindex 153a370981..4b1b06981a 100644 --- a/macros/latex-dev/base/source2e.pdf +++ b/macros/latex-dev/base/source2e.pdf diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf Binary files differindex bafd004837..58ea87a4a4 100644 --- a/macros/latex-dev/base/syntonly.pdf +++ b/macros/latex-dev/base/syntonly.pdf diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf Binary files differindex af4dda256a..9e68702dc8 100644 --- a/macros/latex-dev/base/tlc2.pdf +++ b/macros/latex-dev/base/tlc2.pdf diff --git a/macros/latex-dev/base/tlc3.err b/macros/latex-dev/base/tlc3.err index f790c6d791..b7e2c1c0fd 100644 --- a/macros/latex-dev/base/tlc3.err +++ b/macros/latex-dev/base/tlc3.err @@ -1,4 +1,4 @@ -\newcommand\erratafiledate{2023-05-16} +\newcommand\erratafiledate{2023-05-30} \def\comando#1{\texttt{\string#1}} @@ -20,7 +20,7 @@ \begin{filecontents}{ttcterrata.cls} %% %% Copyright (C) 1997-2021 Frank Mittelbach -%% This class file is licenced under LPPL latest version; +%% This class file is licensed under LPPL latest version; %% see https://www.latex-project.org/lppl % % @@ -391,7 +391,7 @@ content differs from that of the printed version: there is only a single font matter, a single bibliography, and a single index, whereas in the printed books these are separated out. However, all versions share the main matter (down to the page numbering) so most of the errata applies to -all versions, but to a few only to the digital and others only to the +all versions, but a few only to the digital and some only to the printed version. Thus, we end up with three separate lists. @@ -410,7 +410,7 @@ printed version. Thus, we end up with three separate lists. \section*{Errata for the print version (not applicable to the digital version)} The printed books differ from the digital version in that the -biligraphy is split across both volumes (with a few repeats) and that +bibliography is split across both volumes (with a few repeats) and that the font matter of each volume has its own table of contents and list of figures and tables. Therefore these parts have different page numbers and you will see similar errata entries for both print and @@ -430,7 +430,7 @@ formulas \> \u{F}ormulas documents \> \u{D}ocuments \erroronpage{I-xvii}{chapter head}{FMi}{2023/04/04}{s} -beyond \> \u{B}yond +beyond \> \u{B}eyond \erroronpage{I-xx\ldots I-xxi}{}{FMi}{2023/04/04}{s} Dot leaders have been changed on all sections. @@ -457,7 +457,7 @@ Add: Vancouver, 1999 Publishing \> Publishing\u{,} \erroronpage{I-790}{[122], l.1}{kb/bb}{2023/04/04}{s} -In \u{ACM editor} ``Proceedings \> In ``PODC'01: Proceedings +In \u{ACM editor} ``Proceedings \> In ``\u{PODC'01: }Proceedings \erroronpage{I-790}{[122], l.1}{kb/bb}{2023/04/04}{s} In \u{Unicode Consortium, editor} \> In @@ -480,7 +480,7 @@ formulas \> \u{F}ormulas documents \> \u{D}ocuments \erroronpage{II-xxi}{chapter head}{FMi}{2023/04/04}{s} -beyond \> \u{B}yond +beyond \> \u{B}eyond @@ -585,6 +585,15 @@ Situation is the same in the 2023 distributions; listing output updated. \CHAPTER{Chapter 8 --- Graphics Generation and Manipulation} +\erroronpage{I-619}{para -2, l.2}{FMi}{2023/05/30}{s} +in \u{light blue} \> in \u{red} + +\erroronpage{I-619}{exa 8-4-7}{FMi}{2023/05/30}{s} +The example uses \verb*/left color=red!20/ but this is not really +visible if the red is turned into some gray value in the book (which +is then made even lighter through \texttt{!20}). So it is better to +start from full red, i.e., \> \verb*/left color=red/ instead. +\\ Already corrected in the digital version. \CHAPTER{Chapter 9 --- Font Selection and Encodings} @@ -716,7 +725,7 @@ Paragraph moved to page 141. \\ Already corrected in the digital version. \erroronpage{II-141}{}{FMi}{2023/04/04}{s} -One paragraph added moved over from page 144. +One paragraph moved over from page 140. \\ Already corrected in the digital version. \erroronpage{II-144}{para 2, l.-3}{FMi}{2023/04/04}{s} @@ -738,6 +747,11 @@ longer honored. Chapter title not properly capitalized. \\ Already corrected in the digital version. +\erroronpage{II-261}{para 3, l.3}{FMi}{2023/05/26}{s} +Yoda spoke it seems: \ldots \u{and compare we should} \> +\ldots \u{and you should compare} +\\ Already corrected in the digital version. + \CHAPTER{Chapter 13 --- Localizing Documents} @@ -750,7 +764,12 @@ Chapter title not properly capitalized. \CHAPTER{Chapter 15 --- Bibliography Generation} - + +\erroronpage{II-435}{code}{FMi}{2023/05/26}{s} +\verb=\textcolor{See= \> \verb=\textcolor{blue}{See= +\\ Already corrected in the digital version. + + \CHAPTER{Chapter 16 --- Managing Citations} diff --git a/macros/latex-dev/base/tlc3.pdf b/macros/latex-dev/base/tlc3.pdf Binary files differindex df716ea46f..5228aefe9d 100644 --- a/macros/latex-dev/base/tlc3.pdf +++ b/macros/latex-dev/base/tlc3.pdf diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf Binary files differindex 3084afc1ab..d99b8c586c 100644 --- a/macros/latex-dev/base/tulm.pdf +++ b/macros/latex-dev/base/tulm.pdf diff --git a/macros/latex-dev/base/usrguide-historic.pdf b/macros/latex-dev/base/usrguide-historic.pdf Binary files differindex b160cc0774..cb96ab3d50 100644 --- a/macros/latex-dev/base/usrguide-historic.pdf +++ b/macros/latex-dev/base/usrguide-historic.pdf diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf Binary files differindex 4f4a8b4e28..d61fe208e5 100644 --- a/macros/latex-dev/base/usrguide.pdf +++ b/macros/latex-dev/base/usrguide.pdf diff --git a/macros/latex-dev/base/usrguide.tex b/macros/latex-dev/base/usrguide.tex index b1039a3595..5577be9f03 100644 --- a/macros/latex-dev/base/usrguide.tex +++ b/macros/latex-dev/base/usrguide.tex @@ -142,7 +142,7 @@ arguments. The mandatory types is read between two identical characters, which cannot be any of |%|, |\|, |#|, |{|, |}| or \verb*| |. The verbatim argument can also be enclosed between braces, |{| and |}|. A command with a verbatim argument will - produce an error when it appears within an argument of another function. + produce an error when it appears within an argument of another command. \item[\texttt{b}] Only suitable in the argument specification of an environment, it denotes the body of the environment, between |\begin|\marg{environment} and |\end|\marg{environment}. See @@ -244,7 +244,7 @@ defined. \item \cs{RenewDocumentCommand} will issue an error if \meta{cmd} has not previously been defined. \item \cs{ProvideDocumentCommand} creates a new definition for - \meta{function} only if one has not already been given. + \meta{cmd} only if one has not already been given. \item \cs{DeclareDocumentCommand} will always create the new definition, irrespective of any existing \meta{cmd} with the same name. This should be used sparingly. @@ -619,7 +619,8 @@ Spaces are trimmed at each end of each item parsed. The \texttt{E} argument type is somewhat special, because with a single \texttt{E} in the command declaration you may end up with several arguments in a command (one formal argument per embellishment token). -Therefore, when an argument processor is applied to an \texttt{E}-type +Therefore, when an argument processor is applied to an +\texttt{e}/\texttt{E}-type argument, all the arguments pass through that processor before being fed to the \meta{code}. For example, this command \begin{verbatim} @@ -640,9 +641,9 @@ processed argument can be further processed using a mapping function \NewDocumentCommand \foo {>{\SplitList{;}} m} {\MappingFunction#1} \end{verbatim} -If only a single character \meta{token} is used for the split, any -category code $13$ (active) character matching the \meta{token} will -be replaced before the split takes place. +If only a single character \meta{token} is used for the split, it will +take account of the possibility that the \meta{token} has been made active +(category code~$13$) and will split at such tokens. Spaces are trimmed at each end of each item parsed. Exactly one set of braces will be stripped if an entire item is surrounded by them, i.e.~the following inputs and outputs result (each separte item as @@ -658,11 +659,11 @@ a,{b}c ==> {a}{{b}c} \end{verbatim} \begin{decl} - |\ProcessList| \arg{list} \arg{function} + |\ProcessList| \arg{list} \arg{cmd} \end{decl} To support \cs{SplitList}, the function \cs{ProcessList} is available -to apply a \meta{function} to every entry in a \meta{list}. The -\meta{function} should absorb one argument: the list entry. For example +to apply a \meta{cmd} to every entry in a \meta{list}. The +\meta{cmd} should absorb one argument: the list entry. For example \begin{verbatim} \NewDocumentCommand \foo {>{\SplitList{;}} m} {\ProcessList{#1}{\SomeDocumentCommand}} @@ -751,10 +752,10 @@ This facility should only be used when \emph{necessary}. |\ProvideExpandableDocumentCommand| \arg{cmd} \arg{arg spec} \arg{code} \\ |\DeclareExpandableDocumentCommand| \arg{cmd} \arg{arg spec} \arg{code} \end{decl} -This family of commands is used to create a document-level \meta{function}, +This family of commands is used to create a document-level \meta{cmd}, which will grab its arguments in a fully-expandable manner. The argument specification for the function is given by \meta{arg spec}, -and the function will execute \meta{code}. In general, \meta{code} will +and the \meta{cmd} will execute \meta{code}. In general, \meta{code} will also be fully expandable, although it is possible that this will not be the case (for example, a function for use in a table might expand so that \cs{omit} is the first non-expandable non-space token). @@ -832,7 +833,7 @@ and the command call is aborted. \subsubsection{Control sequence tokens} -A control sequence (or control character) token is characterized by is +A control sequence (or control character) token is characterized by its name, and its meaning is its definition. A token cannot have two different meanings at the same time. When a control sequence is defined as delimiter in a command, @@ -885,7 +886,7 @@ available for examination and use. |\GetDocumentCommandArgSpec| \arg{cmd} \\ |\GetDocumentEnvironmentArgSpec| \arg{environment} \end{decl} -These functions transfer the current argument specification for the +These commands transfer the current argument specification for the requested \meta{cmd} or \meta{environment} into the token list variable \cs{ArgumentSpecification}. If the \meta{cmd} or \meta{environment} has no known argument specification then an error @@ -896,7 +897,7 @@ the current \TeX{} group. |\ShowDocumentCommandArgSpec| \arg{cmd} \\ |\ShowDocumentEnvironmentArgSpec| \arg{environment} \end{decl} -These functions show the current argument specification for the +These commands show the current argument specification for the requested \meta{cmd} or \meta{environment} at the terminal. If the \meta{cmd} or \meta{environment} has no known argument specification then an error is issued. @@ -1279,10 +1280,10 @@ the engine does not support Unicode natively. Similarly, to set a locale \texttt{xx} to behave in the same way as Turkish and retain the difference between dotted- and dotless-i, one could use for example \begin{quotation} - |\DeclareLowercaseMapping{xx}{"0049}{\i}|\\ - |\DeclareLowercaseMapping{xx}{"0130}{i}|\\ - |\DeclareUppercaseMapping{xx}{"0069}{\.{I}}|\\ - |\DeclareUppercaseMapping{xx}{"0131}{I}| + |\DeclareLowercaseMapping[xx]{"0049}{\i}|\\ + |\DeclareLowercaseMapping[xx]{"0130}{i}|\\ + |\DeclareUppercaseMapping[xx]{"0069}{\.{I}}|\\ + |\DeclareUppercaseMapping[xx]{"0131}{I}| \end{quotation} \end{document} diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf Binary files differindex d8b84af1b4..d008d97030 100644 --- a/macros/latex-dev/base/utf8ienc.pdf +++ b/macros/latex-dev/base/utf8ienc.pdf diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf Binary files differindex 86adc3d75f..735f72c3b8 100644 --- a/macros/latex-dev/base/webcomp.pdf +++ b/macros/latex-dev/base/webcomp.pdf |