From 79e9e48f9496fe82b7e76b2b318d24e9aab1ca8a Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 28 Mar 2024 03:01:34 +0000 Subject: CTAN sync 202403280301 --- macros/latex-dev/base/README.md | 2 +- macros/latex-dev/base/alltt.pdf | Bin 223861 -> 223861 bytes macros/latex-dev/base/cfgguide.pdf | Bin 264168 -> 264168 bytes macros/latex-dev/base/changes.txt | 29 ++++++++ macros/latex-dev/base/classes.pdf | Bin 560294 -> 560294 bytes macros/latex-dev/base/clsguide-historic.pdf | Bin 415956 -> 415956 bytes macros/latex-dev/base/clsguide.pdf | Bin 489795 -> 490200 bytes macros/latex-dev/base/clsguide.tex | 34 +++++----- macros/latex-dev/base/cmfonts.pdf | Bin 292600 -> 292600 bytes macros/latex-dev/base/cyrguide.pdf | Bin 257359 -> 257359 bytes macros/latex-dev/base/doc-code.pdf | Bin 1078428 -> 1078116 bytes macros/latex-dev/base/doc.pdf | Bin 757049 -> 756736 bytes macros/latex-dev/base/docstrip.pdf | Bin 506365 -> 506341 bytes macros/latex-dev/base/encguide.pdf | Bin 1318576 -> 1318576 bytes macros/latex-dev/base/exscale.pdf | Bin 204708 -> 204708 bytes macros/latex-dev/base/fix-cm.pdf | Bin 287727 -> 287727 bytes macros/latex-dev/base/fntguide.pdf | Bin 517708 -> 522678 bytes macros/latex-dev/base/fntguide.tex | 81 +++++++++++++++++++++- macros/latex-dev/base/graphpap.pdf | Bin 161722 -> 161722 bytes macros/latex-dev/base/ifthen.dtx | 29 +++++++- macros/latex-dev/base/ifthen.pdf | Bin 221219 -> 222460 bytes macros/latex-dev/base/inputenc.pdf | Bin 318372 -> 318372 bytes macros/latex-dev/base/lamport-manual.pdf | Bin 170876 -> 170876 bytes macros/latex-dev/base/latexrelease.pdf | Bin 282095 -> 282095 bytes macros/latex-dev/base/latexsym.pdf | Bin 200759 -> 200759 bytes macros/latex-dev/base/lb2.pdf | Bin 253116 -> 253116 bytes macros/latex-dev/base/letter.pdf | Bin 337772 -> 337375 bytes macros/latex-dev/base/lgc2.pdf | Bin 217659 -> 217659 bytes macros/latex-dev/base/lppl.pdf | Bin 132370 -> 132370 bytes macros/latex-dev/base/ltclass.dtx | 24 ++++--- macros/latex-dev/base/ltcmd.dtx | 26 ++++++- macros/latex-dev/base/ltcmdhooks-code.pdf | Bin 752365 -> 753293 bytes macros/latex-dev/base/ltcmdhooks-doc.pdf | Bin 497334 -> 498577 bytes macros/latex-dev/base/ltcmdhooks.dtx | 14 +++- macros/latex-dev/base/ltdefns.dtx | 6 +- macros/latex-dev/base/ltfilehook-code.pdf | Bin 803049 -> 806388 bytes macros/latex-dev/base/ltfilehook-doc.pdf | Bin 548011 -> 551737 bytes macros/latex-dev/base/ltfilehook.dtx | 12 ++-- macros/latex-dev/base/lthooks-code.pdf | Bin 1248644 -> 1248786 bytes macros/latex-dev/base/lthooks-doc.pdf | Bin 758273 -> 758584 bytes macros/latex-dev/base/lthooks.dtx | 4 +- macros/latex-dev/base/ltluatex.pdf | Bin 325142 -> 325142 bytes macros/latex-dev/base/ltmarks-code.pdf | Bin 711767 -> 711363 bytes macros/latex-dev/base/ltmarks-doc.pdf | Bin 575242 -> 574839 bytes macros/latex-dev/base/ltnews.pdf | Bin 1390205 -> 1394343 bytes macros/latex-dev/base/ltnews01.pdf | Bin 169553 -> 169553 bytes macros/latex-dev/base/ltnews02.pdf | Bin 151773 -> 151773 bytes macros/latex-dev/base/ltnews03.pdf | Bin 151324 -> 151324 bytes macros/latex-dev/base/ltnews04.pdf | Bin 152551 -> 152551 bytes macros/latex-dev/base/ltnews05.pdf | Bin 175211 -> 175211 bytes macros/latex-dev/base/ltnews06.pdf | Bin 142867 -> 142867 bytes macros/latex-dev/base/ltnews07.pdf | Bin 138214 -> 138214 bytes macros/latex-dev/base/ltnews08.pdf | Bin 155442 -> 155442 bytes macros/latex-dev/base/ltnews09.pdf | Bin 130028 -> 130028 bytes macros/latex-dev/base/ltnews10.pdf | Bin 169433 -> 169433 bytes macros/latex-dev/base/ltnews11.pdf | Bin 112208 -> 112208 bytes macros/latex-dev/base/ltnews12.pdf | Bin 156764 -> 156764 bytes macros/latex-dev/base/ltnews13.pdf | Bin 182483 -> 182483 bytes macros/latex-dev/base/ltnews14.pdf | Bin 170722 -> 170722 bytes macros/latex-dev/base/ltnews15.pdf | Bin 130328 -> 130328 bytes macros/latex-dev/base/ltnews16.pdf | Bin 138107 -> 138107 bytes macros/latex-dev/base/ltnews17.pdf | Bin 166269 -> 166269 bytes macros/latex-dev/base/ltnews18.pdf | Bin 39839 -> 39839 bytes macros/latex-dev/base/ltnews19.pdf | Bin 225936 -> 225936 bytes macros/latex-dev/base/ltnews20.pdf | Bin 318193 -> 318193 bytes macros/latex-dev/base/ltnews21.pdf | Bin 245228 -> 245228 bytes macros/latex-dev/base/ltnews22.pdf | Bin 318026 -> 318026 bytes macros/latex-dev/base/ltnews23.pdf | Bin 286824 -> 286824 bytes macros/latex-dev/base/ltnews24.pdf | Bin 265497 -> 265497 bytes macros/latex-dev/base/ltnews25.pdf | Bin 205100 -> 205100 bytes macros/latex-dev/base/ltnews26.pdf | Bin 379733 -> 379733 bytes macros/latex-dev/base/ltnews27.pdf | Bin 251283 -> 251283 bytes macros/latex-dev/base/ltnews28.pdf | Bin 376933 -> 376933 bytes macros/latex-dev/base/ltnews29.pdf | Bin 455437 -> 455437 bytes macros/latex-dev/base/ltnews30.pdf | Bin 512240 -> 512240 bytes macros/latex-dev/base/ltnews31.pdf | Bin 526688 -> 526681 bytes macros/latex-dev/base/ltnews31.tex | 4 +- macros/latex-dev/base/ltnews32.pdf | Bin 546540 -> 546540 bytes macros/latex-dev/base/ltnews33.pdf | Bin 522757 -> 522757 bytes macros/latex-dev/base/ltnews34.pdf | Bin 508345 -> 508345 bytes macros/latex-dev/base/ltnews35.pdf | Bin 563307 -> 563307 bytes macros/latex-dev/base/ltnews36.pdf | Bin 517934 -> 517934 bytes macros/latex-dev/base/ltnews37.pdf | Bin 456933 -> 456933 bytes macros/latex-dev/base/ltnews38.pdf | Bin 523675 -> 523675 bytes macros/latex-dev/base/ltnews39.pdf | Bin 473345 -> 502104 bytes macros/latex-dev/base/ltnews39.tex | 73 +++++++++++++++++++- macros/latex-dev/base/ltoutput.dtx | 4 +- macros/latex-dev/base/ltpara-code.pdf | Bin 672114 -> 671774 bytes macros/latex-dev/base/ltpara-doc.pdf | Bin 560037 -> 559700 bytes macros/latex-dev/base/ltproperties-code.pdf | Bin 557051 -> 556519 bytes macros/latex-dev/base/ltproperties-doc.pdf | Bin 432129 -> 431622 bytes macros/latex-dev/base/ltsect.dtx | 10 +-- macros/latex-dev/base/ltshipout-code.pdf | Bin 821580 -> 821264 bytes macros/latex-dev/base/ltshipout-doc.pdf | Bin 567728 -> 567426 bytes macros/latex-dev/base/ltsockets-code.pdf | Bin 598937 -> 598619 bytes macros/latex-dev/base/ltsockets-doc.pdf | Bin 481774 -> 481459 bytes macros/latex-dev/base/lttemplates.dtx | 15 ++++- macros/latex-dev/base/ltthm.dtx | 38 +++++++++-- macros/latex-dev/base/ltvers.dtx | 2 +- macros/latex-dev/base/ltx3info.pdf | Bin 219358 -> 219358 bytes macros/latex-dev/base/ltxdoc.pdf | Bin 244141 -> 244141 bytes macros/latex-dev/base/makeindx.pdf | Bin 165816 -> 165816 bytes macros/latex-dev/base/modguide.pdf | Bin 257825 -> 257825 bytes macros/latex-dev/base/nfssfont.pdf | Bin 211314 -> 211314 bytes macros/latex-dev/base/proc.pdf | Bin 227065 -> 227065 bytes macros/latex-dev/base/slides.pdf | Bin 375493 -> 375493 bytes macros/latex-dev/base/slifonts.pdf | Bin 233905 -> 233905 bytes macros/latex-dev/base/source2e.pdf | Bin 6239225 -> 6245204 bytes macros/latex-dev/base/syntonly.pdf | Bin 189440 -> 189054 bytes macros/latex-dev/base/tlc2.pdf | Bin 291143 -> 291143 bytes macros/latex-dev/base/tlc3.err | 94 ++++++++++++++++++++------ macros/latex-dev/base/tlc3.pdf | Bin 345764 -> 367886 bytes macros/latex-dev/base/tulm.pdf | Bin 162773 -> 162773 bytes macros/latex-dev/base/usrguide-historic.pdf | Bin 439393 -> 439393 bytes macros/latex-dev/base/usrguide.pdf | Bin 483354 -> 487820 bytes macros/latex-dev/base/usrguide.tex | 101 ++++++++++++++++++++++------ macros/latex-dev/base/utf8ienc.pdf | Bin 353399 -> 353274 bytes macros/latex-dev/base/webcomp.pdf | Bin 146197 -> 146197 bytes 118 files changed, 502 insertions(+), 100 deletions(-) (limited to 'macros/latex-dev/base') diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md index ed14347e98..528675aaa8 100644 --- a/macros/latex-dev/base/README.md +++ b/macros/latex-dev/base/README.md @@ -1,7 +1,7 @@ The LaTeX kernel ================ -Release 2024-06-01 pre-release 1 +Release 2024-06-01 pre-release 2 Overview -------- diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf index 54c606fcf2..6bee508aa6 100644 Binary files a/macros/latex-dev/base/alltt.pdf and b/macros/latex-dev/base/alltt.pdf differ diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf index 2456f57219..6ade9c5f60 100644 Binary files a/macros/latex-dev/base/cfgguide.pdf and b/macros/latex-dev/base/cfgguide.pdf differ diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt index dec230e890..52fbd04f08 100644 --- a/macros/latex-dev/base/changes.txt +++ b/macros/latex-dev/base/changes.txt @@ -6,6 +6,35 @@ to completeness or accuracy and it contains some references to files that are not part of the distribution. ================================================================================ + +2024-03-22 Yukai Chou + * ltfilehook.dtx + Apply one-step expansion to raw option list, when a package + providing key-value options is loaded the second time. The same + expansion for first-time loading was requested in gh/580. (gh/1298) + +2024-03-21 Joseph Wright + + * ltcmd.dtx + Collect \endlinechar as \obeyedline + * usrguide.tex + Document use of \obeyedline in +v arguments + +2024-03-16 David Carlisle + * ifthen.dtx guard against active <=> (gh/756) + +2024-03-15 Ulrike Fischer + * ltthm.dtx: add link targets to begintheorem commands (hyperref/332) + +2024-03-13 Frank Mittelbach + * ltfilehook.dtx (subsection{Kernel, class, and package interfaces for \LaTeX{}}): + Clarify that the commands in this section are meant to be usable + by the kernel and in classes or packages (gh/1292) + +2024-02-15 Joseph Wright + * lttemplates.dtx + Re-introduce \IfInstanceExist(TF) + 2024-01-30 David Carlisle * ltclass.dtx: check that \RequirePackage, \documentclass, \usepackage and related commands are at top level (gh/1185) diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf index c45fd63ac0..83b67d7f5e 100644 Binary files a/macros/latex-dev/base/classes.pdf and b/macros/latex-dev/base/classes.pdf differ diff --git a/macros/latex-dev/base/clsguide-historic.pdf b/macros/latex-dev/base/clsguide-historic.pdf index 89df4cf17e..60b5051e6a 100644 Binary files a/macros/latex-dev/base/clsguide-historic.pdf and b/macros/latex-dev/base/clsguide-historic.pdf differ diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf index b6146de10e..08cc5b5a17 100644 Binary files a/macros/latex-dev/base/clsguide.pdf and b/macros/latex-dev/base/clsguide.pdf differ diff --git a/macros/latex-dev/base/clsguide.tex b/macros/latex-dev/base/clsguide.tex index c23f0a55e9..0e1927827f 100644 --- a/macros/latex-dev/base/clsguide.tex +++ b/macros/latex-dev/base/clsguide.tex @@ -33,8 +33,8 @@ \usepackage[T1]{fontenc} % needed for \textbackslash in tt \usepackage{csquotes} -\title{\LaTeX\ for package and class authors --- current version} -\author{\copyright~Copyright 2023, \LaTeX\ Project Team.\\ +\title{\LaTeX\ for package and class authors\\current version} +\author{\copyright~Copyright 2023--2024, \LaTeX\ Project Team.\\ All rights reserved.% \footnote{This file may distributed and/or modified under the conditions of the \LaTeX{} Project Public License, either version 1.3c @@ -42,7 +42,7 @@ \texttt{clsguide.tex} for full details.}% } -\date{2023-12-02} +\date{2024-03-17} \NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}} \NewDocumentCommand\marg{m}{\arg{#1}} @@ -64,7 +64,7 @@ \section{Introduction} \LaTeXe{} was released in 1994 and added a number of then-new concepts to -\LaTeX{}. For package and class authors, these are described in +\LaTeX{}. For package and class authors, these are described in the document \texttt{clsguide-historic}, which has largely remained unchanged. Since then, the \LaTeX{} team have worked on a number of ideas, firstly a programming language for \LaTeX{} (L3 programming layer) and then a range of tools for @@ -1104,11 +1104,13 @@ team strongly suggest using the L3 programming layer commands in the Suppose that you want to define an environment for displaying text that is numbered as an equation. A straightforward way to do this is as follows: \begin{verbatim} - \newenvironment{texteqn} - {\begin{equation} - \begin{minipage}{0.9\linewidth}} - {\end{minipage} - \end{equation}} + \newenvironment{texteqn}{% + \begin{equation}% + \begin{minipage}{0.9\linewidth}% + }{% + \end{minipage}% + \end{equation}% + } \end{verbatim} However, if you have tried this then you will probably have noticed that it does not work perfectly when used in the middle of a paragraph because an @@ -1118,12 +1120,14 @@ environment. You can avoid this problem using |\ignorespacesafterend|; it should be inserted as shown here: \begin{verbatim} - \newenvironment{texteqn} - {\begin{equation} - \begin{minipage}{0.9\linewidth}} - {\end{minipage} - \end{equation} - \ignorespacesafterend} + \newenvironment{texteqn}{% + \begin{equation}% + \begin{minipage}{0.9\linewidth}% + }{% + \end{minipage}% + \end{equation}% + \ignorespacesafterend + } \end{verbatim} This command may also have other uses. diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf index e417fb5389..0d48147368 100644 Binary files a/macros/latex-dev/base/cmfonts.pdf and b/macros/latex-dev/base/cmfonts.pdf differ diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf index f9f6644c9a..33e984bd52 100644 Binary files a/macros/latex-dev/base/cyrguide.pdf and b/macros/latex-dev/base/cyrguide.pdf differ diff --git a/macros/latex-dev/base/doc-code.pdf b/macros/latex-dev/base/doc-code.pdf index 67ab8bf64d..dcf4ace4b3 100644 Binary files a/macros/latex-dev/base/doc-code.pdf and b/macros/latex-dev/base/doc-code.pdf differ diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf index 1783af35f6..caebfcc016 100644 Binary files a/macros/latex-dev/base/doc.pdf and b/macros/latex-dev/base/doc.pdf differ diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf index 55e029485c..3a2b6c1130 100644 Binary files a/macros/latex-dev/base/docstrip.pdf and b/macros/latex-dev/base/docstrip.pdf differ diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf index 3653bc1dbf..c0703dda34 100644 Binary files a/macros/latex-dev/base/encguide.pdf and b/macros/latex-dev/base/encguide.pdf differ diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf index 9fe9e195db..3f8d43d81b 100644 Binary files a/macros/latex-dev/base/exscale.pdf and b/macros/latex-dev/base/exscale.pdf differ diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf index d1eaa48bd0..94dad320aa 100644 Binary files a/macros/latex-dev/base/fix-cm.pdf and b/macros/latex-dev/base/fix-cm.pdf differ diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf index d6dda9e8e2..0a6e2d8a0f 100644 Binary files a/macros/latex-dev/base/fntguide.pdf and b/macros/latex-dev/base/fntguide.pdf differ diff --git a/macros/latex-dev/base/fntguide.tex b/macros/latex-dev/base/fntguide.tex index 7cf5d23981..6106204a55 100644 --- a/macros/latex-dev/base/fntguide.tex +++ b/macros/latex-dev/base/fntguide.tex @@ -42,7 +42,7 @@ \title{\LaTeXe{} font selection} -\author{\copyright~Copyright 1995--2023, \LaTeX\ Project +\author{\copyright~Copyright 1995--2024, \LaTeX\ Project Team.\thanks{Thanks to Arash Esbati for documenting the newer NFSS features of 2020}\\ All rights reserved.% @@ -52,7 +52,7 @@ \texttt{fntguide.tex} for full details.}% } -\date{October 2023} +\date{March 2024} \begin{document} @@ -1997,6 +1997,83 @@ For example, would use |sb| (semi-bold) when |\rmfamily\bfseries| is requested in document. +\subsection{Handling of current and requested font series and shape} + +In the original NFSS implementation, the series was a single attribute +stored in |\f@series| and so one always had to specify both weight and +width together. Hence, it was impossible to typeset a paragraph in a +condensed font and inside have a few words in bold weight (but still +condensed) without doing this manually by requesting +|\fontseries{bc}\selectfont|. + +\NEWfeature{2020/02/02} +The new implementation now works differently by looking both at the +current value of |\f@series| and the requested new series and out of +that combination selects a resulting series value. Thus, if the current +series is |c| and we ask for |b|, we now get |bc|. This is done by +consulting a simple lookup table where entries can be added or changed +with |\DeclareFontSeriesChangeRule|: +\begin{decl} + |\DeclareFontSeriesChangeRule| % + \arg{current series} \arg{requested series} \\ + \leavevmode\hfill \arg{result} \arg{alternative result} +\end{decl} + +The \m{current series} is the value currently stored in |\f@series|, +\m{requested series} is the new series requested, \m{result} is the +combined value if it exists for the given font family, and +\m{alternative result} is a fallback in case \m{result} doesn't exist. +The example above now looks like this: +\begin{verbatim} + \DeclareFontSeriesChangeRule{c}{b}{bc}{} +\end{verbatim} +which means: switch to the |bc| series if |c| is current and |b| is +(additionally) requested, and if the current font doesn't have the +combination, start the normal font substitution, i.e., switch back shape +to |n| and if this combination doesn't succeed, switch back series to +|m| as well, ending up with |m/n|. + +Another example is: +\begin{verbatim} + \DeclareFontSeriesChangeRule{bc}{sc}{bsc}{bc} +\end{verbatim} +which means: if the current series is bold condensed (|bc|) and +semi-condensed (|sc|) is requested (additionally), try bold +semi-condensed (|bsc|) if available but stay with bold condensed if not. + +A special value is |m| which is used to reset both weight and width. In +order to reset only one of them, the special values |?m| (reset width) +and |m?| (reset weight) are provided, e.g.: +\begin{verbatim} + \DeclareFontSeriesChangeRule{bc}{m?}{c}{} +\end{verbatim} + +The corresponding macro |\DeclareFontShapeChangeRule| is also provided +for setting database entries for font shapes: +\begin{decl} + |\DeclareFontShapeChangeRule| % + \arg{current shape} \arg{requested shape} \\ + \leavevmode\hfill \arg{result} \arg{alternative result} +\end{decl} + +An example would be: +\begin{verbatim} + \DeclareFontShapeChangeRule{it}{sc}{scit}{scsl} +\end{verbatim} +If italics is the current shape and small caps is requested, switch to +|scit| (small caps italics) and if that doesn't exist, try |scsl| (small +caps slanted). + +Finally, it is also possible to overrule the entries in the lookup +tables and forcibly select a series or shape with: +\begin{decl} + |\fontseriesforce| \arg{series} \qquad |\fontshapeforce| \arg{shape} +\end{decl} + +With the example above for the |c| series, issuing |\fontseriesforce{b}| +means that the series switches to |b| and not to |bc|. Same applies to +|\fontshapeforce|. + \subsection{Handling of nested emphasis} \begin{decl} diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf index 2f422e2a84..cdf8b6c113 100644 Binary files a/macros/latex-dev/base/graphpap.pdf and b/macros/latex-dev/base/graphpap.pdf differ diff --git a/macros/latex-dev/base/ifthen.dtx b/macros/latex-dev/base/ifthen.dtx index ef7d8ab398..0bbe361211 100644 --- a/macros/latex-dev/base/ifthen.dtx +++ b/macros/latex-dev/base/ifthen.dtx @@ -30,7 +30,7 @@ %% %% File `ifthen.dtx'. %% Copyright (C) 1991 by Leslie Lamport -%% Copyright (C) 1994-2001 LaTeX project, David Carlisle +%% Copyright (C) 1994-2024 LaTeX project, David Carlisle %% all rights reserved. %% % @@ -42,7 +42,7 @@ %\ProvidesFile{ifthen.drv} % \fi % \ProvidesFile{ifthen.dtx} - [2022/04/13 v1.1d Standard LaTeX ifthen package (DPC)] + [2024/03/16 v1.1e Standard LaTeX ifthen package (DPC)] % % \iffalse %<*driver> @@ -273,15 +273,35 @@ \ifx##1\relax\z@\else\expandafter##2##1\fi}}} % \end{macrocode} % \begin{macrocode} +\begingroup +\lccode`\~`\> % +\catcode`\+\active +\lccode`\+`\< % +\catcode`\!\active +\lccode`\!`\= % +\lowercase{\endgroup +% \end{macrocode} +% \begin{macrocode} +\def\TE@repl@active{% + \TE@repl~>% + \TE@repl+<% + \TE@repl!=% +} +% \end{macrocode} +% \begin{macrocode} \long\def\ifthenelse#1{% % \end{macrocode} % \changes{v1.0h}{1994/05/14}{Use \cs{TE@repl}} +% \changes{v1.1e}{2024/03/16}{replace active \cs{ifnum} syntax} % \begin{macrocode} \toks@{#1}% \TE@repl\or\TE@or \TE@repl\and\TE@and \TE@repl\not\TE@neg % \end{macrocode} +% \begin{macrocode} + \TE@repl@active +% \end{macrocode} % % \changes{v1.1c}{2001/05/25}{Added \cs{AND}, \cs{OR} and \cs{NOT} as % boolean operators as alternative to the lower case versions @@ -353,7 +373,10 @@ \expandafter\@firstoftwo \else \expandafter\@secondoftwo - \fi} + \fi}% +% \end{macrocode} +% \begin{macrocode} +} % \end{macrocode} % \end{macro} % diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf index d5d09c8f6a..8d9001b8e9 100644 Binary files a/macros/latex-dev/base/ifthen.pdf and b/macros/latex-dev/base/ifthen.pdf differ diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf index bfa0203fdc..a873c7cfac 100644 Binary files a/macros/latex-dev/base/inputenc.pdf and b/macros/latex-dev/base/inputenc.pdf differ diff --git a/macros/latex-dev/base/lamport-manual.pdf b/macros/latex-dev/base/lamport-manual.pdf index ae4146963f..7e4062040b 100644 Binary files a/macros/latex-dev/base/lamport-manual.pdf and b/macros/latex-dev/base/lamport-manual.pdf differ diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf index 34a4481bc3..ac46e18d57 100644 Binary files a/macros/latex-dev/base/latexrelease.pdf and b/macros/latex-dev/base/latexrelease.pdf differ diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf index 444ae58d37..c50846584c 100644 Binary files a/macros/latex-dev/base/latexsym.pdf and b/macros/latex-dev/base/latexsym.pdf differ diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf index 91a6b37f7d..3e49e79622 100644 Binary files a/macros/latex-dev/base/lb2.pdf and b/macros/latex-dev/base/lb2.pdf differ diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf index 8eeb8e9c2e..c4f2404bce 100644 Binary files a/macros/latex-dev/base/letter.pdf and b/macros/latex-dev/base/letter.pdf differ diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf index 9abfbe67df..9febd117bb 100644 Binary files a/macros/latex-dev/base/lgc2.pdf and b/macros/latex-dev/base/lgc2.pdf differ diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf index 880331d70f..00092d1c3b 100644 Binary files a/macros/latex-dev/base/lppl.pdf and b/macros/latex-dev/base/lppl.pdf differ diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx index c6c0495fca..1948db2c6b 100644 --- a/macros/latex-dev/base/ltclass.dtx +++ b/macros/latex-dev/base/ltclass.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltclass.dtx} - [2024/02/14 v1.5i LaTeX Kernel (Class & Package Interface)] + [2024/03/22 v1.5j LaTeX Kernel (Class & Package Interface)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltclass.dtx} @@ -1327,11 +1327,11 @@ % \changes{v1.4c}{2021/06/06} % {apply \cs{expandafter} to raw options for gh/580} % \begin{macrocode} - \@ifundefined{@raw@opt@#3.#1}% - {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname - \expandafter{#2}}% - {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname - \expandafter{\expandafter,#2}}% + \@ifundefined{@raw@opt@#3.#1}% + {\expandafter\gdef\csname @raw@opt@#3.#1\expandafter\endcsname + \expandafter{#2}}% + {\expandafter\g@addto@macro\csname @raw@opt@#3.#1\expandafter\endcsname + \expandafter{\expandafter,#2}}% } % %\EndIncludeInRelease @@ -2243,9 +2243,17 @@ % \end{macrocode} % \changes{v1.5d}{2022/10/10}{Use \cs{protected@edef}.} % \begin{macrocode} - \expandafter\protected@edef\csname opt@\@currname.\@currext\endcsname + \expandafter\protected@edef + \csname opt@\@currname.\@currext\endcsname {\zap@space#2 \@empty}% - \@namedef{@raw@opt@\@currname.\@currext}{#2}% +% \end{macrocode} +% \changes{v1.5j}{2024/03/22} +% {Apply one-step expansion to raw option list, +% to be consistent with change for gh/580 (gh/1298).} +% \begin{macrocode} + \expandafter\def + \csname @raw@opt@\@currname.\@currext\expandafter\endcsname + \expandafter{#2}% \@nameuse{opt@handler@\@currname.\@currext}% }% }% diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx index 1733af5416..f57ceeedff 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.2c} -\def\ltcmddate{2024-02-08} +\def\ltcmdversion{v1.2d} +\def\ltcmddate{2024-03-21} % \end{macrocode} % %<*driver> @@ -3681,18 +3681,38 @@ % \end{macro} % % \begin{macro}{\@@_grab_v_aux_put:N} +% \changes{v1.2d}{2024/03/21}{Collect \cs{endlinechar} as \cs{obeyedline}} % Storing one token in the collected argument. Most tokens are % converted to category code $12$, with the exception of active % characters, and spaces (not sure what should be done for those). % \begin{macrocode} +%\IncludeInRelease{2024/06/01}{\@@_grab_v_aux_put:N}% +% {Endlines~as~\obeyedline} \cs_new_protected:Npn \@@_grab_v_aux_put:N #1 { \tl_put_right:Nx \l_@@_v_arg_tl { \token_if_active:NTF #1 - { \exp_not:N #1 } { \token_to_str:N #1 } + { \exp_not:N #1 } + { + \int_compare:nNnTF {`#1} = \tex_endlinechar:D + { \exp_not:N \obeyedline } + { \token_to_str:N #1 } + } } } +%\EndIncludeInRelease +%\IncludeInRelease{2020/10/01}{\@@_grab_v_aux_put:N}% +% {Endlines~as~\obeyedline} +%\cs_new_protected:Npn \@@_grab_v_aux_put:N #1 +% { +% \tl_put_right:Nx \l_@@_v_arg_tl +% { +% \token_if_active:NTF #1 +% { \exp_not:N #1 } { \token_to_str:N #1 } +% } +% } +%\EndIncludeInRelease % \end{macrocode} % \end{macro} % diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf index 8abe240bae..1429b2063c 100644 Binary files a/macros/latex-dev/base/ltcmdhooks-code.pdf and b/macros/latex-dev/base/ltcmdhooks-code.pdf differ diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf index 6424ad0033..cd9af57523 100644 Binary files a/macros/latex-dev/base/ltcmdhooks-doc.pdf and b/macros/latex-dev/base/ltcmdhooks-doc.pdf differ diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx index bb071e629c..a3c89b48a9 100644 --- a/macros/latex-dev/base/ltcmdhooks.dtx +++ b/macros/latex-dev/base/ltcmdhooks.dtx @@ -20,7 +20,7 @@ %<*driver> % \fi \ProvidesFile{ltcmdhooks.dtx} - [2024/02/11 v1.0i LaTeX Kernel (Command hooks)] + [2024/03/09 v1.0i LaTeX Kernel (Command hooks)] % \iffalse % \documentclass{l3doc} @@ -129,8 +129,8 @@ % \item % % that code can be prepended or appended (i.e., added to the -% hooks) even if the command itself is not defined, because the -% defining package has not yet been loaded; +% hooks) even if the command itself is not (yet) defined, because the +% defining package has not been loaded at this point; % % \item % @@ -218,6 +218,14 @@ % optional and mandatory arguments. By adding code to the % \hook{cmd/section/after} hook, you get in the way of that scanning. % +% In such a case, where it is known that a specific generic command +% hook does not work if code is added to it, the package author can +% add a \cs{DisableGenericHook}\footnote{Please use +% \cs{DisableGenericHook} if at all, only on hooks that you +% \enquote{own}, i.e., for commands your package or class defines and +% not second guess whether or not hooks of other packages should get +% disabled!} declaration to prevent this from happening in user +% documents and thereby avoiding obscure errors. % % % \section{Package Author Interface} diff --git a/macros/latex-dev/base/ltdefns.dtx b/macros/latex-dev/base/ltdefns.dtx index 4d8368e2c0..db05962505 100644 --- a/macros/latex-dev/base/ltdefns.dtx +++ b/macros/latex-dev/base/ltdefns.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltdefns.dtx} - [2024/02/08 v1.5s LaTeX Kernel (definition commands)] + [2024/02/29 v1.5s LaTeX Kernel (definition commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltdefns.dtx} @@ -215,12 +215,12 @@ % This section defines the following commands: % % \DescribeMacro -% {\@namedef}\marg{NAME}\\ Expands to |\def\|\marg{NAME}, +% {\@namedef}\marg{NAME}\\ Expands to |\def\|\meta{NAME}, % except name can contain any characters. % % \DescribeMacro % {\@nameuse}\marg{NAME}\\ -% Expands to |\|\marg{NAME}. +% Expands to |\|\meta{NAME}. % % \DescribeMacro % {\@ifnextchar} X\marg{YES}\marg{NO}\\ diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf index 7bfb51e947..8b4b2d52c7 100644 Binary files a/macros/latex-dev/base/ltfilehook-code.pdf and b/macros/latex-dev/base/ltfilehook-code.pdf differ diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf index 3e561cdf3a..5dc31034ee 100644 Binary files a/macros/latex-dev/base/ltfilehook-doc.pdf and b/macros/latex-dev/base/ltfilehook-doc.pdf differ diff --git a/macros/latex-dev/base/ltfilehook.dtx b/macros/latex-dev/base/ltfilehook.dtx index 831d633eef..02e95d0f8f 100644 --- a/macros/latex-dev/base/ltfilehook.dtx +++ b/macros/latex-dev/base/ltfilehook.dtx @@ -34,7 +34,7 @@ %\iffalse %<*driver,structuredlog> %\fi -\def\ltfilehookdate{2024/02/11} +\def\ltfilehookdate{2024/03/13} \def\ltfilehookversion{v1.0o} %\iffalse % @@ -381,7 +381,7 @@ % % % -% \subsection{Internal interfaces for \LaTeX{}} +% \subsection{Kernel, class, and package interfaces for \LaTeX{}} % % \begin{function}{\declare@file@substitution,\undeclare@file@substitution} % \begin{syntax} @@ -399,6 +399,8 @@ % example, or to provide a version that makes use of new kernel % functionality while the original package remains available for % use with older releases. +% As such it is mainly meant for use in the \LaTeX{} kernel but +% other use cases are conceivable. % % The \cs{undeclare@file@substitution} declaration undoes a % substitution made earlier. @@ -416,7 +418,7 @@ % \cs{disable@package@load} \Arg{package} \Arg{alternate-code} % \cs{reenable@package@load} \Arg{package} % \end{syntax} -% If \meta{package} is requested do not load it but instead run +% If \meta{package} is requested, do not load it but instead run % \meta{alternate-code} which could issue a warning, error or any % other code. % @@ -427,7 +429,9 @@ % are not available. % % The function is only implemented for packages not for arbitrary -% files. +% files and again it should only be applied if there are good +% reasons for doing this.\footnote{Just to be sure: \enquote{I don't +% like this package by somebody else} is not a good one :-)} % \end{function} % % diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf index 1ebe678058..2dd40dd859 100644 Binary files a/macros/latex-dev/base/lthooks-code.pdf and b/macros/latex-dev/base/lthooks-code.pdf differ diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf index 8dc6df576d..0a32eabd53 100644 Binary files a/macros/latex-dev/base/lthooks-doc.pdf and b/macros/latex-dev/base/lthooks-doc.pdf differ diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx index ea337d306d..7e02aa4fd5 100644 --- a/macros/latex-dev/base/lthooks.dtx +++ b/macros/latex-dev/base/lthooks.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{lthooks.dtx} - [2024/02/11 v1.1h LaTeX Kernel (hooks)] + [2024/03/09 v1.1h LaTeX Kernel (hooks)] % \iffalse % \documentclass{l3doc} @@ -233,9 +233,9 @@ % (e.g., one used in code with \cs{UseHook} or % \cs{UseOneTimeHook}) without it being explicitly declared with % \cs{NewHook}). -% This command undoes the effect of \cs{DisableGenericHook}. % If the hook is already activated, this command does nothing. % +% Note that this command does not undo the effect of \cs{DisableGenericHook}. % See section~\ref{sec:generic-hooks} for a discussion of when this % declaration is appropriate. % \end{function} diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf index 230cb6527a..1a44905749 100644 Binary files a/macros/latex-dev/base/ltluatex.pdf and b/macros/latex-dev/base/ltluatex.pdf differ diff --git a/macros/latex-dev/base/ltmarks-code.pdf b/macros/latex-dev/base/ltmarks-code.pdf index 2bbd5ea3a0..50f1b1e0f8 100644 Binary files a/macros/latex-dev/base/ltmarks-code.pdf and b/macros/latex-dev/base/ltmarks-code.pdf differ diff --git a/macros/latex-dev/base/ltmarks-doc.pdf b/macros/latex-dev/base/ltmarks-doc.pdf index e580cd3319..7ae166d8a2 100644 Binary files a/macros/latex-dev/base/ltmarks-doc.pdf and b/macros/latex-dev/base/ltmarks-doc.pdf differ diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf index d35b824b96..0cbcc8a6ef 100644 Binary files a/macros/latex-dev/base/ltnews.pdf and b/macros/latex-dev/base/ltnews.pdf differ diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf index 119150dcf2..5b14c49d10 100644 Binary files a/macros/latex-dev/base/ltnews01.pdf and b/macros/latex-dev/base/ltnews01.pdf differ diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf index c549274162..9151907387 100644 Binary files a/macros/latex-dev/base/ltnews02.pdf and b/macros/latex-dev/base/ltnews02.pdf differ diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf index 525e896caa..ceb51fe57f 100644 Binary files a/macros/latex-dev/base/ltnews03.pdf and b/macros/latex-dev/base/ltnews03.pdf differ diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf index 759e78dec7..843ee94355 100644 Binary files a/macros/latex-dev/base/ltnews04.pdf and b/macros/latex-dev/base/ltnews04.pdf differ diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf index 63b9af2498..e06b1c07e1 100644 Binary files a/macros/latex-dev/base/ltnews05.pdf and b/macros/latex-dev/base/ltnews05.pdf differ diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf index c3a5d736c7..ebdc860ae9 100644 Binary files a/macros/latex-dev/base/ltnews06.pdf and b/macros/latex-dev/base/ltnews06.pdf differ diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf index 5906a1d278..7f45fffff7 100644 Binary files a/macros/latex-dev/base/ltnews07.pdf and b/macros/latex-dev/base/ltnews07.pdf differ diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf index 093798a6eb..9be1cdc574 100644 Binary files a/macros/latex-dev/base/ltnews08.pdf and b/macros/latex-dev/base/ltnews08.pdf differ diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf index 18344161cc..a887abd373 100644 Binary files a/macros/latex-dev/base/ltnews09.pdf and b/macros/latex-dev/base/ltnews09.pdf differ diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf index d993b06982..39c76574ff 100644 Binary files a/macros/latex-dev/base/ltnews10.pdf and b/macros/latex-dev/base/ltnews10.pdf differ diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf index 4bd344ad0c..96f41e1033 100644 Binary files a/macros/latex-dev/base/ltnews11.pdf and b/macros/latex-dev/base/ltnews11.pdf differ diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf index 8b19a4a371..7e84f22d41 100644 Binary files a/macros/latex-dev/base/ltnews12.pdf and b/macros/latex-dev/base/ltnews12.pdf differ diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf index 15fd4203d8..a253cbc7c9 100644 Binary files a/macros/latex-dev/base/ltnews13.pdf and b/macros/latex-dev/base/ltnews13.pdf differ diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf index 8d615e493d..1d9507d396 100644 Binary files a/macros/latex-dev/base/ltnews14.pdf and b/macros/latex-dev/base/ltnews14.pdf differ diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf index 7c3c35bdc7..8c3a9c7638 100644 Binary files a/macros/latex-dev/base/ltnews15.pdf and b/macros/latex-dev/base/ltnews15.pdf differ diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf index 01c228be83..73126e3b26 100644 Binary files a/macros/latex-dev/base/ltnews16.pdf and b/macros/latex-dev/base/ltnews16.pdf differ diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf index 3dcf8679dc..674fb17950 100644 Binary files a/macros/latex-dev/base/ltnews17.pdf and b/macros/latex-dev/base/ltnews17.pdf differ diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf index f2533985c9..00d2aae9f1 100644 Binary files a/macros/latex-dev/base/ltnews18.pdf and b/macros/latex-dev/base/ltnews18.pdf differ diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf index 0d73b8b4dd..b764b6d09e 100644 Binary files a/macros/latex-dev/base/ltnews19.pdf and b/macros/latex-dev/base/ltnews19.pdf differ diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf index dd9fe8fb37..40ad72b2f9 100644 Binary files a/macros/latex-dev/base/ltnews20.pdf and b/macros/latex-dev/base/ltnews20.pdf differ diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf index 4e58f50dd4..88a1328927 100644 Binary files a/macros/latex-dev/base/ltnews21.pdf and b/macros/latex-dev/base/ltnews21.pdf differ diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf index 013d7190fa..a525ff66ad 100644 Binary files a/macros/latex-dev/base/ltnews22.pdf and b/macros/latex-dev/base/ltnews22.pdf differ diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf index 5a149714d3..e249261e27 100644 Binary files a/macros/latex-dev/base/ltnews23.pdf and b/macros/latex-dev/base/ltnews23.pdf differ diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf index 8a065321dc..0b598eb978 100644 Binary files a/macros/latex-dev/base/ltnews24.pdf and b/macros/latex-dev/base/ltnews24.pdf differ diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf index 818b9b84c8..aa7a3d909d 100644 Binary files a/macros/latex-dev/base/ltnews25.pdf and b/macros/latex-dev/base/ltnews25.pdf differ diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf index 1f5e0d6eee..82e773c79f 100644 Binary files a/macros/latex-dev/base/ltnews26.pdf and b/macros/latex-dev/base/ltnews26.pdf differ diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf index 5e5115fab5..c9f6df0909 100644 Binary files a/macros/latex-dev/base/ltnews27.pdf and b/macros/latex-dev/base/ltnews27.pdf differ diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf index 173d27b6f6..6a32f26cc1 100644 Binary files a/macros/latex-dev/base/ltnews28.pdf and b/macros/latex-dev/base/ltnews28.pdf differ diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf index 306556f994..da2d15bafd 100644 Binary files a/macros/latex-dev/base/ltnews29.pdf and b/macros/latex-dev/base/ltnews29.pdf differ diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf index 815eaf3072..54e32d8e22 100644 Binary files a/macros/latex-dev/base/ltnews30.pdf and b/macros/latex-dev/base/ltnews30.pdf differ diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf index dff2439d12..c4fe803b90 100644 Binary files a/macros/latex-dev/base/ltnews31.pdf and b/macros/latex-dev/base/ltnews31.pdf differ diff --git a/macros/latex-dev/base/ltnews31.tex b/macros/latex-dev/base/ltnews31.tex index 194791cff5..c1b81e52be 100644 --- a/macros/latex-dev/base/ltnews31.tex +++ b/macros/latex-dev/base/ltnews31.tex @@ -552,8 +552,8 @@ This was corrected. \subsection{Ensure that \cs{textbackslash} remains robust} In the last release we made most document-level commands robust, but -\cs{textbackslash} became fragile again\\ -whenever \cs{raggedright} or similar typesetting\\ +\cs{textbackslash} became fragile again +whenever \cs{raggedright} or similar typesetting was used. This has been fixed. % \githubissue{203} diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf index f2e80722ec..a2bb20351b 100644 Binary files a/macros/latex-dev/base/ltnews32.pdf and b/macros/latex-dev/base/ltnews32.pdf differ diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf index 0bc0b4a0fc..126ec75937 100644 Binary files a/macros/latex-dev/base/ltnews33.pdf and b/macros/latex-dev/base/ltnews33.pdf differ diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf index fa2a374667..7bf3d48b15 100644 Binary files a/macros/latex-dev/base/ltnews34.pdf and b/macros/latex-dev/base/ltnews34.pdf differ diff --git a/macros/latex-dev/base/ltnews35.pdf b/macros/latex-dev/base/ltnews35.pdf index 83e8307de1..35f0be31c7 100644 Binary files a/macros/latex-dev/base/ltnews35.pdf and b/macros/latex-dev/base/ltnews35.pdf differ diff --git a/macros/latex-dev/base/ltnews36.pdf b/macros/latex-dev/base/ltnews36.pdf index 35e707fe85..fb7b4cc348 100644 Binary files a/macros/latex-dev/base/ltnews36.pdf and b/macros/latex-dev/base/ltnews36.pdf differ diff --git a/macros/latex-dev/base/ltnews37.pdf b/macros/latex-dev/base/ltnews37.pdf index c63805f098..e1d1be67d0 100644 Binary files a/macros/latex-dev/base/ltnews37.pdf and b/macros/latex-dev/base/ltnews37.pdf differ diff --git a/macros/latex-dev/base/ltnews38.pdf b/macros/latex-dev/base/ltnews38.pdf index 9693e62fef..2940e7cb04 100644 Binary files a/macros/latex-dev/base/ltnews38.pdf and b/macros/latex-dev/base/ltnews38.pdf differ diff --git a/macros/latex-dev/base/ltnews39.pdf b/macros/latex-dev/base/ltnews39.pdf index f43f43a067..9303ba97ea 100644 Binary files a/macros/latex-dev/base/ltnews39.pdf and b/macros/latex-dev/base/ltnews39.pdf differ diff --git a/macros/latex-dev/base/ltnews39.tex b/macros/latex-dev/base/ltnews39.tex index b4b93d3504..92c835926f 100644 --- a/macros/latex-dev/base/ltnews39.tex +++ b/macros/latex-dev/base/ltnews39.tex @@ -236,6 +236,11 @@ avoid that an error is written to the log file, but to make it clear that this error is harmless and should be ignored we have arranged the code so that the error message, if it is issued, takes the following format: +\begingroup +\makeatletter +\def\verbatim@font{% + \small\ttfamily} +\makeatletter \begin{verbatim} ! Infinite glue shrinkage found in box being split. Infinite shrink error above ignored ! @@ -245,6 +250,8 @@ Not perfect (especially the somewhat unmotivated \texttt{}), but you can only do so much if error messages and their texts are hard-wired in the engine. +\endgroup + So why all this? There are two reasons: we do not lose marks in edge cases any longer and perhaps more importantly we are now also reliably able to extract marks from arbitrarily boxed data, something that @@ -280,6 +287,14 @@ well. % \githubissue{1230} +\subsection{\pkg{ifthen}: guard against active characters in comparisons} +The \cs{ifthenelse} command now ensures that \verb|<|, \verb|=| and +\verb|>| are safe +in numeric tests, even if they have been made active +(typically by \pkg{babel} language shorthands.) +% +\githubissue{756} + \section{Providing \pkg{xtemplate} in the format} In \LaTeX{} News~32, we described the move of one long-term experimental idea @@ -412,6 +427,19 @@ the direct equivalent to \cs{newcommand} is \cs{NewExpandableDocumentCommand}. % \githubissue{1189} +\subsection{Handling of end-of-lines in \cs{NewDocumentCommand} \texttt{+v} arguments} + +The \texttt{+v} argument type provided by \cs{NewDocumentCommand}, etc., allows +grabbing of multiple lines of text in a verbatim-like argument. Almost always, +the result of this grabbing will be used in a typesetting context. Previously, +the end-of-line characters were stored literally as category code~12 +(\enquote{other}) \verb|^^M| tokens. However, these are difficult to work with +in general. We have now revised this behavior, such that end-of-line characters +are converted to the \cs{obeyedline} command when parsed by \texttt{+v}-type +arguments. This may require adjustment in the source of some documents, but the +enhanced ability of users and programmers to exploit the \texttt{+v}-type +argument means we believe it is necessary. + \subsection{Declaring appropriate sub-encodings for \texttt{TS1} symbol fonts} In 2020 we incorporated support for the \texttt{TS1} symbol encoding @@ -513,11 +541,48 @@ missing and sub-encoding 5 as declared in the kernel is correct. % \githubissue{1257} +\section{Documentation improvements} + +\subsection{Further updates to the guides} + +We reported about the updated versions of \texttt{usrguide} and +\texttt{clsguide} in \LaTeX{} News~37~\cite{39:ltnews37}. We have now +revised \texttt{fntguide} as well to reflect the changes and macros +added to the kernel over the last years of development. Note that the +file name hasn't changed and there is no \texttt{fntguide-historic}. +\section{Bug fixes} + +\subsection{Fix inconsistent expansion on package option list} + +\LaTeX{} applies one-step expansion to raw option list of packages and +classes so constructions like +\begin{verbatim} + \def\myoptions{opt1,opt2} + \usepackage[\myoptions]{foo} +\end{verbatim} +are supported. But when a package declares its options with the new +key/value approach~\cite{39:ltnews35} and was loaded a second time, +its raw option list was not expanded and an error might be raised. +This has now been corrected. +% +\githubissue{1298} + +\section{Changes to packages in the \pkg{amsmath} category} + +\subsection{\pkg{amsmath}: correct equation tag placement} + +If there is not enough space to place an equation tag on the same line +as the equation \pkg{amsmath} calculates a suitable offset and then +places the tag above (or below) the equation. In the case of the +\env{gather} environment this offset was not reset at the end, with +the result that it applied to a following environment as well +resulting in incorrect spacing in certain situations. This has now +been corrected. +% +\githubissue{1289} -%\section{Bug fixes} -%\section{Changes to packages in the \pkg{amsmath} category} %\section{Changes to packages in the \pkg{graphics} category} @@ -623,6 +688,10 @@ didn't get this treatment. This oversight has now been corrected. \emph{\LaTeXe{} news 33}. June 2021.\\ \url{https://latex-project.org/news/latex2e-news/ltnews33.pdf} +\bibitem{39:ltnews35} \LaTeX{} Project Team. + \emph{\LaTeXe{} news 35}. June 2022.\\ + \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf} + \bibitem{39:ltnews37} \LaTeX{} Project Team. \emph{\LaTeXe{} news 37}. June 2023.\\ \url{https://latex-project.org/news/latex2e-news/ltnews37.pdf} diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx index b067ef5ecb..f0c1bf830b 100644 --- a/macros/latex-dev/base/ltoutput.dtx +++ b/macros/latex-dev/base/ltoutput.dtx @@ -37,7 +37,7 @@ %<*driver> % \fi \ProvidesFile{ltoutput.dtx} - [2023/05/26 v1.4j LaTeX Kernel (Output Routine)] + [2024/03/16 v1.4j LaTeX Kernel (Output Routine)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutput.dtx} @@ -847,7 +847,7 @@ % \begin{macro}{\if@firstcolumn} % \begin{macro}{\if@twocolumn} % \begin{macro}{\if@twoside} -% \begin{macro}{\if@reversemarginpar} +% \begin{macro}{\if@reversemargin} % \begin{macro}{\if@mparswitch} % \begin{macro}{\col@number} % \changes{v1.0n}{1994/04/30}{Added \cs{col@number}} diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf index 37c0dd52df..4c47bd85e4 100644 Binary files a/macros/latex-dev/base/ltpara-code.pdf and b/macros/latex-dev/base/ltpara-code.pdf differ diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf index 7d23332d28..7dc5eab3f5 100644 Binary files a/macros/latex-dev/base/ltpara-doc.pdf and b/macros/latex-dev/base/ltpara-doc.pdf differ diff --git a/macros/latex-dev/base/ltproperties-code.pdf b/macros/latex-dev/base/ltproperties-code.pdf index 85f4ba4e45..056f6e328d 100644 Binary files a/macros/latex-dev/base/ltproperties-code.pdf and b/macros/latex-dev/base/ltproperties-code.pdf differ diff --git a/macros/latex-dev/base/ltproperties-doc.pdf b/macros/latex-dev/base/ltproperties-doc.pdf index 1dc54d6ea6..16e7530e2e 100644 Binary files a/macros/latex-dev/base/ltproperties-doc.pdf and b/macros/latex-dev/base/ltproperties-doc.pdf differ diff --git a/macros/latex-dev/base/ltsect.dtx b/macros/latex-dev/base/ltsect.dtx index 4560704463..21aeda32e0 100644 --- a/macros/latex-dev/base/ltsect.dtx +++ b/macros/latex-dev/base/ltsect.dtx @@ -31,7 +31,7 @@ %%% From File: ltsect.dtx %<*driver> % \fi -\ProvidesFile{ltsect.dtx}[2021/07/28 v1.1f LaTeX Kernel (Sectioning)] +\ProvidesFile{ltsect.dtx}[2024/03/25 v1.1f LaTeX Kernel (Sectioning)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltsect.dtx} @@ -835,13 +835,13 @@ % \begin{macro}{\contentsline} % The |\contentsline{|\meta{type}|}{|\meta{entry}|}{|\meta{page}|}{}| % macro produces a \meta{type} entry in a table of contents, etc. -% It will appear in the |.toc| or other file. For example, -% The entry for subsection 1.4.3 in the table of contents for -% example, might be produced by: +% It will appear in the |.toc| or other file. +% For example, the entry for subsection 1.4.3 in the table of contents, +% might be produced by: % % \begin{verbatim} % \contentsline{subsection} -% {\makebox{30pt}[r]{1.4.3} Gnats and Gnus}{22} +% {\numberline{1.4.3}Gnats and Gnus}{22}{} % \end{verbatim} % % The |\protect| command causes command sequences to be written diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf index 0fee02853e..9c7fe80c98 100644 Binary files a/macros/latex-dev/base/ltshipout-code.pdf and b/macros/latex-dev/base/ltshipout-code.pdf differ diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf index 3051341818..142fa00cb7 100644 Binary files a/macros/latex-dev/base/ltshipout-doc.pdf and b/macros/latex-dev/base/ltshipout-doc.pdf differ diff --git a/macros/latex-dev/base/ltsockets-code.pdf b/macros/latex-dev/base/ltsockets-code.pdf index 6301f60a3c..8c920d6715 100644 Binary files a/macros/latex-dev/base/ltsockets-code.pdf and b/macros/latex-dev/base/ltsockets-code.pdf differ diff --git a/macros/latex-dev/base/ltsockets-doc.pdf b/macros/latex-dev/base/ltsockets-doc.pdf index a50aad4998..c3d42ecbaf 100644 Binary files a/macros/latex-dev/base/ltsockets-doc.pdf and b/macros/latex-dev/base/ltsockets-doc.pdf differ diff --git a/macros/latex-dev/base/lttemplates.dtx b/macros/latex-dev/base/lttemplates.dtx index 844fb6fd34..d27c232fe0 100644 --- a/macros/latex-dev/base/lttemplates.dtx +++ b/macros/latex-dev/base/lttemplates.dtx @@ -36,7 +36,7 @@ %<*driver> % \fi \ProvidesFile{lttemplates.dtx} - [2024-02-11 v1.0a LaTeX Kernel (Prototype document functions)] + [2024-02-15 v1.0b LaTeX Kernel (Prototype document functions)] % \iffalse \documentclass{l3doc} \GetFileInfo{lttemplates.dtx} @@ -2653,6 +2653,19 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\IfInstanceExistT, \IfInstanceExistF, \IfInstanceExistTF} +% \changes{2024-02-15}{v1.0b}{New macros} +% More direct translation. +% \begin{macrocode} +\cs_new:Npn \IfInstanceExistTF #1#2 + { \@@_if_instance_exist:nnTF {#1} {#2} } +\cs_new:Npn \IfInstanceExistT #1#2 + { \@@_if_instance_exist:nnT {#1} {#2} } +\cs_new:Npn \IfInstanceExistF #1#2 + { \@@_if_instance_exist:nnF {#1} {#2} } +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\KeyValue} % Simply dump the argument when executed: this should not happen. % \begin{macrocode} diff --git a/macros/latex-dev/base/ltthm.dtx b/macros/latex-dev/base/ltthm.dtx index 180b8accfe..c900f519dd 100644 --- a/macros/latex-dev/base/ltthm.dtx +++ b/macros/latex-dev/base/ltthm.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltthm.dtx} - [2014/09/29 v1.0f LaTeX Kernel (Theorems)] + [2024/03/18 v1.0g LaTeX Kernel (Theorems)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltthm.dtx} @@ -237,16 +237,31 @@ % \end{macro} % % \begin{macro}{\@thm} +% \changes{v1.0c}{1994/04/17}{Use new std counter error message (FMi)} +% \changes{v1.0g}{2024/03/18}{Use \cs{@kernel@refstepcounter} to avoid an unwanted target (UFi)} % \begin{macrocode} +% +%<*2ekernel|latexrelease> +%\IncludeInRelease{2024/03/18}% +% {\@thm}{no link target}% \def\@thm#1#2{% - \refstepcounter{#1}% + \@kernel@refstepcounter{#1}% \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}} +%\EndIncludeInRelease +%\IncludeInRelease{0000/00/00}% +% {\@thm}{no link target}% +%\def\@thm#1#2{% +% \refstepcounter{#1}% +% \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}} +%\EndIncludeInRelease +% % \end{macrocode} % \end{macro} % % \begin{macro}{\@xthm} % \begin{macro}{\@ythm} % \begin{macrocode} +%<*2ekernel> \def\@xthm#1#2{% \@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces} \def\@ythm#1#2[#3]{% @@ -273,11 +288,26 @@ % NFSS} % Providing theorem defaults. % \task{???}{add `reset@font?} +% % \changes{v1.0g}{2024/03/18}{Insert link target in the label (UFi)} % \begin{macrocode} +% +%<*2ekernel|latexrelease> +%\IncludeInRelease{2024/03/18}% +% {\@begintheorem}{add link targets}% \def\@begintheorem#1#2{\trivlist - \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape} + \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2}]\itshape} \def\@opargbegintheorem#1#2#3{\trivlist - \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape} + \item[\MakeLinkTarget{\@currentcounter}\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape} +%\EndIncludeInRelease +%\IncludeInRelease{0000/00/00}% +% {\@begintheorem}{add link targets}% +%\def\@begintheorem#1#2{\trivlist +% \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape} +%\def\@opargbegintheorem#1#2#3{\trivlist +% \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape} +%\EndIncludeInRelease +% +%<*2ekernel> \def\@endtheorem{\endtrivlist} % % \end{macrocode} diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx index 3896935525..be7011a537 100644 --- a/macros/latex-dev/base/ltvers.dtx +++ b/macros/latex-dev/base/ltvers.dtx @@ -115,7 +115,7 @@ {2024-06-01} % %<*2ekernel> -\def\patch@level{-1} +\def\patch@level{-2} % \end{macrocode} % % \begin{macro}{\development@branch@name} diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf index 4abf1f8a46..6e419ab172 100644 Binary files a/macros/latex-dev/base/ltx3info.pdf and b/macros/latex-dev/base/ltx3info.pdf differ diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf index 61a0b18e68..0a1ddb4a7f 100644 Binary files a/macros/latex-dev/base/ltxdoc.pdf and b/macros/latex-dev/base/ltxdoc.pdf differ diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf index a2ab245043..18ca3f9247 100644 Binary files a/macros/latex-dev/base/makeindx.pdf and b/macros/latex-dev/base/makeindx.pdf differ diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf index 5006d07168..2069363ee3 100644 Binary files a/macros/latex-dev/base/modguide.pdf and b/macros/latex-dev/base/modguide.pdf differ diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf index 44aba54c32..8b45e7770c 100644 Binary files a/macros/latex-dev/base/nfssfont.pdf and b/macros/latex-dev/base/nfssfont.pdf differ diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf index 84fbeb3470..5973decadb 100644 Binary files a/macros/latex-dev/base/proc.pdf and b/macros/latex-dev/base/proc.pdf differ diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf index 072806917b..767e52d533 100644 Binary files a/macros/latex-dev/base/slides.pdf and b/macros/latex-dev/base/slides.pdf differ diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf index 140e317b47..972afa5d75 100644 Binary files a/macros/latex-dev/base/slifonts.pdf and b/macros/latex-dev/base/slifonts.pdf differ diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf index 5fbc7e1c0c..0db61ba189 100644 Binary files a/macros/latex-dev/base/source2e.pdf and b/macros/latex-dev/base/source2e.pdf differ diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf index 6beca59509..41ff62b0de 100644 Binary files a/macros/latex-dev/base/syntonly.pdf and b/macros/latex-dev/base/syntonly.pdf differ diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf index 4945823cda..ca468e2797 100644 Binary files a/macros/latex-dev/base/tlc2.pdf and b/macros/latex-dev/base/tlc2.pdf differ diff --git a/macros/latex-dev/base/tlc3.err b/macros/latex-dev/base/tlc3.err index cb33dd01e4..7c2c732568 100644 --- a/macros/latex-dev/base/tlc3.err +++ b/macros/latex-dev/base/tlc3.err @@ -1,4 +1,4 @@ -\newcommand\erratafiledate{2024/01/29} % needs / and not - +\newcommand\erratafiledate{2024/03/17} % needs / and not - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % To produce a printed version of this errata file run this file through @@ -325,7 +325,7 @@ \erratatitle{The \LaTeX{} Companion, Third Edition, Parts I \& II}{\erratafiledate} - +\begin{small} \begin{verbatim} @book(A-W:MF:2023, author = {Frank Mittelbach and Ulrike Fischer}, @@ -339,10 +339,9 @@ pagenums = {976 (Part I) and 1008 (Part II)}, bibliography = {yes}, index = {yes}, - isbn = {978-0-13-816648-9}, -) + isbn = {978-0-13-816648-9}) \end{verbatim} - +\end{small} \begin{list}{}{\setlength\leftmargin{0cm}% \setlength\rightmargin{3cm}% @@ -372,7 +371,7 @@ or digital edition you own by changing the configuration in the file \texttt{\jobname.cfg}. \begin{center} - \Large \bfseries To Err is Human --- Bug Contest + \large \bfseries To Err is Human --- Bug Contest \end{center} Any mistake found and reported is a gain for all readers of our book. @@ -398,7 +397,7 @@ Good luck! \begin{center} \begin{tabular}{clr} Contest period ends & Winner \\[4pt] -2023/?? & & ??? suggestions\\ +2024/03 & Bernd Burkhardt & 52 suggestions\\ \end{tabular} \end{center} @@ -441,7 +440,7 @@ digital differing only in that respect. \erroronpage{}{}{FMi}{2023/07/30}{} -Text or graphics typeset in the the spot color (blue) are not always +Text or graphics typeset in the spot color (blue) are not always perfectly aligned. This is a side-effect of the printing technology. On most pages everything is fine, but occasionally blue text in a paragraph seems to be slightly above or below the baseline or blue @@ -606,6 +605,10 @@ not least \> \u{but} not least \CHAPTER{Chapter 2 --- The Structure of a \LaTeX{} Document} +\erroronpage{I-31}{para-1,l.-1}{BeB}{2024/03/17}{s} +would have resulted in ``\verb+# .+'' in the output. \> \\ +would have resulted in ``\verb+#+\u{\texttt{\&}}\verb+ .+'' in the output. + \erroronpage{I-34}{l.-1}{FMi}{2023/04/04}{s} Moved first line of page 35 to 34. @@ -624,6 +627,10 @@ Situation is the same in the 2023 distributions; listing output updated. \CHAPTER{Chapter 3 --- Basic Formatting Tools -- Paragraph \ldots} +\erroronpage{I-143}{exa 3-1-18}{BeB}{2024/03/17}{s} +Replace in source: \verb+{ peine+ \> \verb+{peine+ + + \erroronpage{I-160}{para -2, l.1}{BeB}{2023/07/14}{s} Repeated word: keys \u{keys} \> keys @@ -636,8 +643,25 @@ Add a marginal note: \u{No warning if another \LaTeX{} run is necessary!} \erroronpage{I-163}{example 3-3-14}{BeB}{2023/07/25}{s} Output of example misses the page numbers in acronym list \> Run example 3 times (not only twice---there is no warning) +\erroronpage{I-174}{para3,l. -2}{BeB}{2024/03/17}{s} +the exponent is always a \u{power} of 3 \> the exponent is always a +\u{multiple} of 3 + +\seriouserroronpage{I-177}{exa 3-3-39}{BeB/FMi}{2024/03/17}{s} + +The example doesn't really show what the paragraph above discusses +because it was shortend to fit the available space on the page. +Use +\begin{verbatim} +\newcommand\sample[1]{\textnormal{\noindent #1:} + The limit is \qty{30}{\kmh} not $\qty{50}{\kmh}$.\par}} +\end{verbatim} +so that both text and math usage of \verb=\pty= are compared in the example. +\erroronpage{I-182}{para 4}{BeB}{2024/03/17}{s} +Add sentence: The command \verb+\textcquote+ is used in Example 16-5-50 on page II-535. + \CHAPTER{Chapter 4 --- Basic Formatting Tools -- Larger \ldots} \erroronpage{I-253}{para 2, l.-3}{YEi}{2023/11/27}{s} @@ -698,6 +722,10 @@ text can be interpreted as a value, a somewhat ``random'' number and the rest is dropped. For example, \texttt{31 December 2022} would result in ``31.00'', which is probably not desired. +\erroronpage{I-494}{para -2, l.3}{MRu}{2024/03/16}{s} + +Use plural: The allowed key\u{s} are \ldots + \CHAPTER{Chapter 7 --- Mastering Floats} @@ -745,6 +773,9 @@ in the range of 0000 to \u{00FF} \> in the range of 0000 to \u{007F} \CHAPTER{Chapter 10 --- Text and Symbol Fonts} +\erroronpage{II-3}{para-1, l.-2}{BeB}{2024/03/17}{s} +line first \> first line + \erroronpage{II-5}{table 10.1, l. 5}{BeB/FMi}{2023/08/13}{s} official \u{companion} family name \> \u{related} official \u{font} family name @@ -951,37 +982,37 @@ not showing in the example. \erroronpage{II-114}{table 10.89}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-117}{table 10.92}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-121}{table 10.96}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-122}{table 10.98}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-122}{table 10.99}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-123}{table 10.100}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. \erroronpage{II-124}{table 10.103}{FMi}{2023/04/04}{s} Added missing \texttt{U+00Fx} line. -There was a bug in code generating it. +There was a bug in the code generating it. @@ -1325,7 +1356,7 @@ is created only if the entry \u{contains} a shorttitle \u{field} and the title a is created only if the entry \u{has been referenced (prior to typesetting}\\ \u{the bibliography), contains} a shorttitle \u{field,} and the title and shorttitle fields differ. -\erroronpage{II-535}{footnote}{FMi}{2024/01/07}{} +\erroronpage{II-535}{footnote}{FMi}{2024/01/07}{s} Extend the explanation:\\ \u{you can} use \cs{mancite} \u{in front of any citation command} to avoid this. @@ -1346,7 +1377,8 @@ Jane Doe.\ \textit{A\u{n} second book.}\ 2020.\> Jane Doe.\ \textit{A second boo \CHAPTER{Appendix A --- \LaTeX{} Overview for Preamble, \ldots} \erroronpage{II-624--629}{}{BeB/FMi}{2023/08/31}{s} -Replace for consistency with section 1.4: \u{command definition} \> \u{code} +Replace for consistency with section 1.4: \u{command definition} \> \u{code} \\ +(in the various syntax boxes) \erroronpage{II-629}{para 1, l.3}{FMi}{2023/08/31}{s} \u{An} warning \> \u{A} warning @@ -1356,9 +1388,31 @@ Replace for consistency with section 1.4: \u{command definition} \> \u{code} Add at the end: A maximum of nine ``argument'' letters is supported. -\erroronpage{II-682}{para -2, l.3}{FMi}{2023/04/28}{s} +\erroronpage{II-657}{par -2, l. -2}{BeB}{2024/03/17}{s} +a few that \> a few \u{commands} that + + +\erroronpage{II-658}{first item in the list}{BeB}{2024/03/17}{s} +square root $\sqrt{x}$ \> square root \texttt{sqrt} $x$ + +\erroronpage{II-682}{para -2, l .3}{FMi}{2023/04/28}{s} \texttt{Harf\u{b}uzz} \> \texttt{Harf\u{B}uzz} +\erroronpage{II-678}{para -1, l. -1}{BeB}{2024/03/17}{s} +it is better use\> it is better \u{to} use + + +\erroronpage{II-687}{l .1}{BeB}{2024/03/17}{s} +Two further tests should be listed in the syntax box: \verb+\ifVTeX+ \verb+\ifAlephTeX+ + + +\seriouserroronpage{II-701}{l. 6}{BeB}{2024/03/17}{s} +Name changed after the book was typeset: \verb+.notif+\>\verb+.ifnot+ + +\erroronpage{II-701}{para 3, l. 4; para -2, l. 1; and margin}{BeB}{2024/03/17}{s} +\verb+.notif+\>\verb+.ifnot+ + + \CHAPTER{Appendix B --- Tracing and Resolving Problems} @@ -1376,9 +1430,10 @@ Appendix title not properly capitalized. \end{erratalist} +\newpage -\section*{Notes on this errata document} +\section{Notes on this errata document} \setcounter{collectmore}{3} @@ -1392,6 +1447,7 @@ Appendix title not properly capitalized. \contributor{EOl}{Edgar Olthof} \contributor{FMi}{Frank Mittelbach} \contributor{MJo}{Maciej Jończyk} +\contributor{MRu}{Mark Rudolph} \contributor{YFu}{FUJIMURA Yukitoshi} \contributor{YvH}{Yvon Henel} \contributor{YEi}{Yaakov Eisenberg} diff --git a/macros/latex-dev/base/tlc3.pdf b/macros/latex-dev/base/tlc3.pdf index 00936f6e57..5b9f0237a8 100644 Binary files a/macros/latex-dev/base/tlc3.pdf and b/macros/latex-dev/base/tlc3.pdf differ diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf index 29c84ca59b..283b4eedad 100644 Binary files a/macros/latex-dev/base/tulm.pdf and b/macros/latex-dev/base/tulm.pdf differ diff --git a/macros/latex-dev/base/usrguide-historic.pdf b/macros/latex-dev/base/usrguide-historic.pdf index 0001be0aae..1013a34434 100644 Binary files a/macros/latex-dev/base/usrguide-historic.pdf and b/macros/latex-dev/base/usrguide-historic.pdf differ diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf index c9f3496f57..a447d9547b 100644 Binary files a/macros/latex-dev/base/usrguide.pdf and b/macros/latex-dev/base/usrguide.pdf differ diff --git a/macros/latex-dev/base/usrguide.tex b/macros/latex-dev/base/usrguide.tex index 9f5cfb181a..cf0a01e836 100644 --- a/macros/latex-dev/base/usrguide.tex +++ b/macros/latex-dev/base/usrguide.tex @@ -34,8 +34,8 @@ \usepackage{csquotes} \usepackage{url} -\title{\LaTeX\ for authors --- current version} -\author{\copyright~Copyright 2020-2023, \LaTeX\ Project Team.\\ +\title{\LaTeX\ for authors\\ current version} +\author{\copyright~Copyright 2020--2024, \LaTeX\ Project Team.\\ All rights reserved.% \footnote{This file may be distributed and/or modified under the conditions of the \LaTeX{} Project Public License, either version 1.3c @@ -43,7 +43,7 @@ \texttt{usrguide.tex} for full details.}% } -\date{2023-12-02} +\date{2024-03-17} \NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}} \NewDocumentCommand\marg{m}{\arg{#1}} @@ -794,6 +794,61 @@ a & b & c \\ \end{tabular} \end{verbatim} +\subsection{Using the verbatim argument types} + +As described above, the \texttt{v}-type argument may be viewed as similar to +\cs{verb}. Before looking at exactly what that means, it is important to +highlight some key differences. Most notably, \emph{grabbing} a verbatim-like +argument is separate from \emph{typesetting} it: the latter is covered in the +next section. + +When grabbing a \texttt{v}-type argument, \LaTeX{} first uses the kernel +command \cs{dospecials} to turn off the \enquote{special} nature of characters. +It then makes both spaces and tabs \enquote{active}, so that they can be given +a custom definition. Any other characters are grabbed as-is: this means that if +any characters have been made \enquote{special} and are not listed in +\cs{dospecials}, an error will arise (see below). + +The characters that are grabbed as the argument are all those between two +identical: in contrast to \cs{verb}, the characters \texttt{\textbackslash}, +|{|, |}| and |%| \emph{cannot} be used as the delimiter character. If any of +the grabbed tokens have \enquote{special} meaning, an error will be issued. + +For the \texttt{+v}-type argument, which allows line breaks within the +argument, newline characters are converted into \cs{obeyedline} commands. The +standard definition of \cs{obeyedline} is simple |\par|, thus allowing the +grabbed tokens to be used directly in typesetting. A local redefinition of +\cs{obeyedline} can be used to achieve other outputs. For example, to retain +blank lines whilst typesetting, one could use +\begin{verbatim} +\renewcommand*\obeyedline{\mbox{}\par} +\end{verbatim} +More information about using these arguments in typesetting is in the following +subsection. + +Some additional details that may be useful for those with more \TeX{} +knowledge: do not worry if this does not make sense to you! Spaces and tabs are +stored as active characters. In Unicode engines, all other characters are of +type \enquote{other}. In $8$-bit engines, the ASCII characters other than tab +and space are of type \enquote{other}, and non-ASCII characters are active. As +such, token-based comparisons are likely to fail unless set up properly. + +\subsection{Typesetting verbatim-like material} + +In contrast to \cs{verb}, the \texttt{(+)v}-type argument is only about +\emph{grabbing} the argument, not \emph{typesetting} it. As such, features that +users often associate with \enquote{verbatim} are not automatically activated, +e.g., selecting a monospaced font. Material grabbed by the \texttt{v}-type +argument does not automatically suppress ligatures: with modern \TeX{} engines, +this largely can be done without the token manipulation which \cs{verb} uses. +(In \cs{verb}, ligatures are suppressed by making characters active and +inserting a zero-width kern before the character itself.) + +The \cs{verb} command also selects a monospaced font: this is not intrinsic to +verbatim material, so will need to be set up using for example \cs{ttfamily}. +Similarly, the \texttt{verbatim} environment sets up the meaning of \cs{par} +suitable for breaking lines. + \subsection{Performance} For document commands where the argument specification is entirely @@ -801,7 +856,7 @@ comprised of |m| or |+m| entries (or is entirely empty), the internal structure created by \cs{NewDocumentCommand} is essentially as efficient as provided by |\newcommand(*)|. As such, document commands may replace constructs arising from \cs{newcommand}, etc., without a need to be concerned -about performance. Note that \cs{newcommand(*)} produces expandable +about performance. It should be noted that \cs{newcommand(*)} produces expandable results, so the direct replacement is \cs{NewExpandableDocumentCommand}; in most cases, however, it is better to use \cs{NewDocumentCommand} to give more robust structures. @@ -1064,11 +1119,17 @@ to give a purely numerical result. Briefly, the floating point expressions may comprise: \begin{itemize} \item Basic arithmetic: addition $x\fpbin{+}y$, subtraction $x\fpbin{-}y$, - multiplication $x\fpbin{*}y$, division $x\fpbin{/}y$, square root~$\sqrt{x}$, + multiplication $x\fpbin{*}y$, division $x\fpbin{/}y$, square root~$\fpop{sqrt}{x}$, and parentheses. \item Comparison operators: $x\fprel{<}y$, $x\fprel{<=}y$, $x\fprel{>?}y$, $x\fprel{!=}y$ \emph{etc.} + + The relation $x\fprel{?}y$ is true exactly if one or both operands is~\nan{} or is + a tuple, unless they are equal tuples. Each \meta{relation} + can be any (non-empty) combination of |<|, |=|, |>|, and~|?|, plus + an optional leading~|!| (which negates the \meta{relation}), with + the restriction that the negated \meta{relation} may not start with~|?|. \item Boolean logic: sign $\fpop{sign} x$, negation $\fpop{!}x$, conjunction $x\fprel{\&\&}y$, disjunction $x\fprel{\string|\string|}y$, ternary @@ -1198,13 +1259,13 @@ Titlecasing here follows the definition given by the Unicode Consortium: the first character of the input will be converted to (broadly) uppercase, and the rest of the input to lowercase. The full range of Unicode UTF-8 input can be supported. -\begin{quote} - \begin{tabular}{rl} +\begin{flushleft} + \begin{tabular}{@{}ll} |\MakeUppercase{hello WORLD ßüé}| & \MakeUppercase{hello WORLD ßüé} \\ |\MakeLowercase{hello WORLD ßüé}| & \MakeLowercase{hello WORLD ßüé} \\ |\MakeTitlecase{hello WORLD ßüé}| & \MakeTitlecase{hello WORLD ßüé} \\ \end{tabular} -\end{quote} +\end{flushleft} The case-changing commands take an optional argument which can be used to tailor the output. This optional argument accepts the key \texttt{locale}, @@ -1220,14 +1281,14 @@ are the arguments to the commands \cs{label}, \cs{ref}, \cs{cite}, \cs{begin} and \cs{end}. Additional exclusions can be added using the command \cs{AddToNoCaseChangeList}. Input can be excluded from case changing using the command \cs{NoCaseChange}. -\begin{quote} - \begin{tabular}{rl} +\begin{flushleft} + \begin{tabular}{@{}ll} |\MakeUppercase{Some text $y = mx + c$}| & \MakeUppercase{Some text $y = mx + c$} \\ |\MakeUppercase{\NoCaseChange{iPhone}}| & \MakeLowercase{\NoCaseChange{iPhone}} \\ \end{tabular} -\end{quote} +\end{flushleft} To allow robust commands to be used within case changing \emph{and} to produce the expected output, two additional control commands are available. @@ -1256,19 +1317,19 @@ apply to a specific one: this is given in BCP-47 format (\url{https://en.wikipedia.org/wiki/IETF_language_tag}). For example, the kernel customises the mapping for U+01F0 (\v{j}) when uppercasing in 8-bit engines: -\begin{quote} - |\DeclareUppercaseMapping{"01F0}{\v{J}}| -\end{quote} +\begin{verbatim} +\DeclareUppercaseMapping{"01F0}{\v{J}} +\end{verbatim} as there is no pre-composed \v{J} character, and this is problematic if 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{quote} - |\DeclareLowercaseMapping[xx]{"0049}{\i}|\\ - |\DeclareLowercaseMapping[xx]{"0130}{i}|\\ - |\DeclareUppercaseMapping[xx]{"0069}{\.{I}}|\\ - |\DeclareUppercaseMapping[xx]{"0131}{I}| -\end{quote} +\begin{verbatim} +\DeclareLowercaseMapping[xx]{"0049}{\i} +\DeclareLowercaseMapping[xx]{"0130}{i} +\DeclareUppercaseMapping[xx]{"0069}{\.{I}} +\DeclareUppercaseMapping[xx]{"0131}{I} +\end{verbatim} \section{Support for problem solving} diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf index a7e369b6eb..bfa803c7da 100644 Binary files a/macros/latex-dev/base/utf8ienc.pdf and b/macros/latex-dev/base/utf8ienc.pdf differ diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf index c9664c681f..b1b6d41562 100644 Binary files a/macros/latex-dev/base/webcomp.pdf and b/macros/latex-dev/base/webcomp.pdf differ -- cgit v1.2.3