summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/base
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/base')
-rw-r--r--Master/texmf-dist/doc/latex/base/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/base/alltt.pdfbin223831 -> 223861 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cfgguide.pdfbin264168 -> 264168 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/changes.txt266
-rw-r--r--Master/texmf-dist/doc/latex/base/classes.pdfbin560998 -> 560294 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide-historic.pdfbin415615 -> 415956 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide-historic.tex10
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide.pdfbin489925 -> 490149 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide.tex42
-rw-r--r--Master/texmf-dist/doc/latex/base/cmfonts.pdfbin292600 -> 292600 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cyrguide.pdfbin257359 -> 257359 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/doc-code.pdfbin1075672 -> 1078956 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/doc.pdfbin756052 -> 757905 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/docstrip.pdfbin506163 -> 506408 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/encguide.pdfbin1312106 -> 1318576 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/exscale.pdfbin204708 -> 204708 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fix-cm.pdfbin287727 -> 287727 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fntguide.pdfbin517708 -> 522678 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fntguide.tex81
-rw-r--r--Master/texmf-dist/doc/latex/base/graphpap.pdfbin161722 -> 161722 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ifthen.pdfbin221219 -> 222460 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/inputenc.pdfbin318199 -> 318372 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lamport-manual.pdfbin170876 -> 170876 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/latexrelease.pdfbin282095 -> 282095 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/latexsym.pdfbin200759 -> 200759 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lb2.err11
-rw-r--r--Master/texmf-dist/doc/latex/base/lb2.pdfbin252497 -> 252519 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/letter.pdfbin337934 -> 337721 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lgc2.pdfbin217659 -> 217663 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lppl.pdfbin132370 -> 132370 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdfbin755274 -> 753699 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdfbin498750 -> 498721 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltfilehook-code.pdfbin803860 -> 806772 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdfbin548528 -> 552119 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lthooks-code.pdfbin1258252 -> 1248734 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lthooks-doc.pdfbin754740 -> 758404 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltluatex.pdfbin325191 -> 325142 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-code.pdfbin716422 -> 718032 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-doc.pdfbin586554 -> 576014 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews.pdfbin1360066 -> 1405418 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews01.pdfbin169553 -> 169553 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews02.pdfbin151773 -> 151773 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews03.pdfbin151324 -> 151324 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews04.pdfbin152551 -> 152551 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews05.pdfbin175211 -> 175211 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews06.pdfbin142867 -> 142867 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews07.pdfbin138214 -> 138214 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews08.pdfbin155442 -> 155442 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews09.pdfbin130028 -> 130028 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews10.pdfbin169433 -> 169433 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews11.pdfbin112208 -> 112208 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews12.pdfbin156764 -> 156764 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews13.pdfbin182483 -> 182483 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews14.pdfbin170722 -> 170722 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews15.pdfbin130328 -> 130328 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews16.pdfbin138107 -> 138107 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews17.pdfbin166269 -> 166269 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews18.pdfbin39839 -> 39839 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews19.pdfbin225936 -> 225936 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews20.pdfbin318193 -> 318193 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews21.pdfbin245228 -> 245228 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews22.pdfbin318026 -> 318026 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews23.pdfbin286824 -> 286824 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews24.pdfbin265497 -> 265497 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews25.pdfbin205100 -> 205100 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews26.pdfbin379733 -> 379733 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews27.pdfbin251283 -> 251283 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews28.pdfbin376933 -> 376950 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews28.tex4
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews29.pdfbin455437 -> 455437 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews30.pdfbin512240 -> 512240 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews31.pdfbin526688 -> 526681 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews31.tex4
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews32.pdfbin546540 -> 546540 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews33.pdfbin522757 -> 522757 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews34.pdfbin508345 -> 508345 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews35.pdfbin563307 -> 563305 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews35.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews36.pdfbin517934 -> 517934 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews37.pdfbin456933 -> 456933 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews38.pdfbin523672 -> 523675 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews38.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews39.pdfbin0 -> 541755 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews39.tex905
-rw-r--r--Master/texmf-dist/doc/latex/base/ltpara-code.pdfbin672266 -> 672893 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltpara-doc.pdfbin560158 -> 560591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltproperties-code.pdfbin558691 -> 557456 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltproperties-doc.pdfbin433172 -> 431981 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltshipout-code.pdfbin821688 -> 821651 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltshipout-doc.pdfbin566586 -> 567793 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltsockets-code.pdfbin606104 -> 599023 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltsockets-doc.pdfbin488968 -> 481860 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltx3info.pdfbin219358 -> 219358 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltxdoc.pdfbin244215 -> 244141 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/makeindx.pdfbin165816 -> 165816 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/modguide.pdfbin257825 -> 257825 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/nfssfont.pdfbin211171 -> 211314 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/proc.pdfbin227065 -> 227065 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/slides.pdfbin375493 -> 375493 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/slifonts.pdfbin234171 -> 233905 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/source2e.pdfbin6149921 -> 6266944 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/source2e.tex4
-rw-r--r--Master/texmf-dist/doc/latex/base/syntonly.pdfbin190015 -> 189398 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/tlc2.pdfbin291143 -> 290257 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/tlc3.err186
-rw-r--r--Master/texmf-dist/doc/latex/base/tlc3.pdfbin326462 -> 368933 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/tulm.pdfbin162773 -> 162773 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide-historic.pdfbin438602 -> 439393 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide-historic.tex6
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide.pdfbin477695 -> 487553 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide.tex153
-rw-r--r--Master/texmf-dist/doc/latex/base/utf8ienc.pdfbin353563 -> 353555 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/webcomp.err2
-rw-r--r--Master/texmf-dist/doc/latex/base/webcomp.pdfbin146199 -> 146205 bytes
115 files changed, 1584 insertions, 98 deletions
diff --git a/Master/texmf-dist/doc/latex/base/README.md b/Master/texmf-dist/doc/latex/base/README.md
index ef0e530d4b4..ca90c13852e 100644
--- a/Master/texmf-dist/doc/latex/base/README.md
+++ b/Master/texmf-dist/doc/latex/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2023-11-01 patch level 1
+Release 2024-06-01 patch level 2
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/base/alltt.pdf b/Master/texmf-dist/doc/latex/base/alltt.pdf
index f54983cb0ee..13525909faf 100644
--- a/Master/texmf-dist/doc/latex/base/alltt.pdf
+++ b/Master/texmf-dist/doc/latex/base/alltt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/cfgguide.pdf b/Master/texmf-dist/doc/latex/base/cfgguide.pdf
index ffd36d55580..a36395f1d8d 100644
--- a/Master/texmf-dist/doc/latex/base/cfgguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/cfgguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/changes.txt b/Master/texmf-dist/doc/latex/base/changes.txt
index 6543d553c58..4e378a6a5bb 100644
--- a/Master/texmf-dist/doc/latex/base/changes.txt
+++ b/Master/texmf-dist/doc/latex/base/changes.txt
@@ -1,16 +1,256 @@
-================================================================================
-This file lists changes to the LaTeX2e files in reverse chronological order
-of publication (therefore the dates might be out of sequence if there are
-hotfixes). It is provided for convenience only. It therefore makes no claims
-to completeness or accuracy and it contains some references to files that are
-not part of the distribution.
-================================================================================
+================================================================================
+This file lists changes to the LaTeX2e files in reverse chronological order
+of publication (therefore the dates might be out of sequence if there are
+hotfixes). It is provided for convenience only. It therefore makes no claims
+to completeness or accuracy and it contains some references to files that are
+not part of the distribution.
+================================================================================
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
#########################
+# 2024-06-01 PL2 Release
+#########################
+
+2024-06-23 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltpara.dtx
+ Append \everypar toks to \g__parar_standard_everypar_tl, rollback
+ 2023/06/01 (gh/1386)
+
+#########################
+# 2024-06-01 PL1 Release
+#########################
+
+2024-06-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltboxes.dtx (section{\LaTeX\ Box commands}):
+ Always use a \vrule strut after all, but back up by a baseline
+ if already in vertical mode. Otherwise empty table p-cells will
+ not get the correct width (bug seen first with colortbl)
+
+2024-06-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttagging.dtx (subsection{Interface commands}):
+ Always issue a \crcr even if we are at the start of a
+ row to avoid problems with tabulary and similar code
+
+#########################
+# 2024-06-01 Release
+#########################
+
+2024-05-31 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx (subsection{Allocating new mark classes}):
+ Initialize all marks with an id, use 0 when a new class is made (gh/1359)
+ (subsection{Placing and retrieving marks}):
+ Remove the id when returning the mark value (gh/1359)
+
+2024-05-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx (subsection{Placing and retrieving marks}):
+ Use sequence marker to make all marks unique on nearby
+ regions (gh/1359)
+
+2024-05-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx (subsection{Core \LaTeXe{} integration}):
+ Correct logic for first mark in page region if first column contains
+ no marks (gh/1359)
+
+2024-05-16 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltmarks.dtx, ltmeta.dtx, ltpara.dtx:
+ Drop temp fixing for footnotes in function and variable envs.
+ Supported by l3doc since l3kernel 2023-10-10 (latex3 gh/1266)
+
+2024-04-26 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx:
+ Do not error with "suspicous date" when rolling back to
+ early years of LaTeX2e (gh/1336)
+
+2024-04-24 Yukai Chou <muzimuzhi@gmail.com>
+
+* lttextcomp.dtx
+ Load the 2018 version when rolling back prior to 2018-08-11 (gh/1333)
+ Clean up \providecommand lines
+
+2024-04-22 Yukai Chou <muzimuzhi@gmail.com>
+
+ * lttextcomp.dtx (section{The \texttt{textcomp} package})
+ Drop default package option "info" which changes kernel info to
+ package info (gh/1333)
+
+2024-04-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltboxes.dtx (section{\LaTeX\ Box commands}):
+ Use a \hrule strut not a \vrule if already in vertical mode
+ (bug seen first with footmisc/14)
+
+2024-04-17 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltproperties.dtx:
+ Renamed \IfLabelExistTF to \IfLabelExistsTF
+ Renamed \IfPropertyExistTF to \IfPropertyExistsTF
+ Provided T and F variants for both conditionals (gh/1262)
+
+2024-04-17 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltexpl.dtx, ltdefns.dtx
+ Rename \@expl@cs@argument@spec@@N to \@expl@cs@parameter@spec@@N (gh/1014)
+ * ltexpl.dtx, ltcmd.dtx, ltcmdhooks.dtx
+ Use \cs_parameter_spec:N in place of \cs_argument_spec:N (gh/1014)
+
+2024-04-17 Joseph Wright <Joseph.Wright@latex-project.org>
+ * lttemplates.dtx
+ Use \IfInstanceExistsTF with an 's'
+
+2024-04-15 Joseph Wright <Joseph.Wright@latex-project.org>
+ * lttemplates.dtx
+ Re-factor internals
+
+2024-04-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltclass.dtx (section{Implementation}):
+ Provide \IfFileLoadedTF and variants (gh/1222)
+
+ Provide T and F conditionals not just TF for \IfPackageLoaded...
+ and friends (gh/1262)
+
+2024-03-22 Yukai Chou <muzimuzhi@gmail.com>
+ * 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 <Joseph.Wright@latex-project.org>
+
+ * ltcmd.dtx
+ Collect \endlinechar as \obeyedline
+ * usrguide.tex
+ Document use of \obeyedline in +v arguments
+
+2024-03-16 David Carlisle <David.Carlisle@latex-project.org>
+ * ifthen.dtx guard against active <=> (gh/756)
+
+2024-03-15 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * ltthm.dtx: add link targets to begintheorem commands (hyperref/332)
+
+2024-03-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * 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 <Joseph.Wright@latex-project.org>
+ * lttemplates.dtx
+ Re-introduce \IfInstanceExist(TF)
+
+2024-01-30 David Carlisle <David.Carlisle@latex-project.org>
+ * ltclass.dtx: check that \RequirePackage, \documentclass, \usepackage
+ and related commands are at top level (gh/1185)
+
+2023-11-12 Joseph Wright <Joseph.Wright@latex-project.org>
+ * lttemplates.dtx
+ New file to replace loading xtemplate
+
+2024-01-30 Jérôme Laurens <jerome.laurens@u-bourgogn.fr>
+ * lthooks.dtx:
+ Fix rollback to 2020-10-01.
+
+2024-01-29 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx:
+ Generalized the support for extracting marks to cover cases like multicols.
+
+ Some internal commands renamed and extended.
+ Renamed \__mark_update_structure:nn to \__mark_update_structure_from_material:nn
+ Added \__mark_get_marks_for_reinsertion:nNN
+ Added \ShowMarksAt for debugging (might not stay this way)
+
+2024-01-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttextcomp.dtx (section{Font family sub-encodings setup}):
+ Adjusted/corrected TS1 sub-encoding declarations for various families.
+ Some families have changed their names (due to licensing issues),
+ some got new glyphs added, and some were simply incorrectly categorized
+ (gh/1257)
+
+ * lttextcomp.dtx (section{The \texttt{checkencodingsubset.tex} file}):
+ Added check file for encoding subset
+
+2024-01-03 Phelype Oleinik <phelype.oleinik@latex-project.org>
+ * lthooks.dtx:
+ Correct expansion of \@@_print_args:nn argument (gh/1221).
+
+2023-12-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * doc.dtx (subsection{Macros surrounding the `definition parts'}):
+ Use \@noligs from the LaTeX kernel, so that the upquote
+ package can add its patch (gh/1230)
+
+2023-12-26 Yukai Chou <muzimuzhi@gmai.com>
+ * ltproperties.dtx:
+ Correct typo (gh/1223)
+ * doc.dtx, ltfntcmd.dtx, lthooks.dtx
+ Correct similar typos of missing backslashes
+ * ltfilehook.dtx
+ Change flag markup in macro env
+
+2023-12-22 Yukai Chou <muzimuzhi@gmail.com>
+ * ltcmd.dtx (subsection{Normalizing the argument specifications})
+ Clarify error message when an argument prefix `!' is applied to
+ a non-trailing optional argument. (gh/1198)
+
+2023-12-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * lttagging.dtx:
+ First version of lttagging module added
+
+2023-12-07 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * ltproperties.dtx: use \protected@write, (gh1200)
+
+2023-12-02 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * doc.dtx (subsection{API creation}):
+ Provide \ProvideDocElement for use cases where files are processed
+ individually as well as together, e.g., the LaTeX kernel documentation.
+
+2023-12-01 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltcmd.dtx (subsection{Declaring commands and environments}):
+ Optimize creation of simple document commands (gh/1189)
+ * usrguide.tex (subsection{Performance}):
+ Document efficiency of ltcmd definitions
+
+2023-11-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * ltpara.dtx (subsection{Providing hooks for paragraphs}):
+ Correct error message: hook left horizontal not vertical mode (gh/1182)
+
+2023-11-15 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltfiles.dtx (subsection{Listing files}):
+ Extend \listfiles to optionally include file sizes and hashes
+ * usrguide.tex
+ Re-introduce \listfiles (extended) description
+
+2023-11-09 Yukai Chou <muzimuzhi@gmail.com>
+ * clsguide-historic.tex, usrguide.tex:
+ Replace quotation with quote envs for zero para indent
+
+ * clsguide-historic.tex, usrguide-historic.tex
+ Mention correct source file names in license footnotes
+
+2023-11-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+ * ltoutenc.dtx (subsection{The fontenc package}):
+ Add more explanation to error message about missing encoding (gh/1102)
+
+ * nfssfont.dtx (section{The code}):
+ Corrected spelling in error message.
+
+ * ltcounts.dtx (subsection{Environment Counter Macros}):
+ In \newcounter do not change \the... if already defined (gh/823)
+
+ * ltplain.dtx (section{Plain \TeX}):
+ Set \tracinglostchars to 2 in \tracingnone (gh/549)
+
+#########################
# 2023-11-01 PL1 Release
#########################
@@ -22,9 +262,9 @@ All changes above are only part of the development branch for the next release.
# 2023-11-01 Release
#########################
-2023-10-15 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * ltproperties.dtx:
- Add support for pagetarget property.
+2023-10-15 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * ltproperties.dtx:
+ Add support for pagetarget property.
2023-10-26 David Carlisle <David.Carlisle@latex-project.org>
* ltboxes.dtx:
@@ -56,9 +296,9 @@ All changes above are only part of the development branch for the next release.
Explain the steps carried out by the replacement algorithm for @@.
2023-09-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * ltproperties.dtx:
+ * ltproperties.dtx:
Use \protected@edef for expansion in the LaTeX2e commands.
-
+
2023-09-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* ltproperties.dtx:
Expand consistently the label/property names in the LaTeX2e commands.
@@ -143,7 +383,7 @@ All changes above are only part of the development branch for the next release.
* ltfiles.dtx
Allow for pipes in \input, etc.
-2023-06-16 Phelype Oleinik <Joseph.Wright@latex-project.org>
+2023-06-16 Phelype Oleinik <phelype.oleinik@latex-project.org>
* lthooks.dtx, ltcmdhooks.dtx
Correct some rollback labels and dates.
diff --git a/Master/texmf-dist/doc/latex/base/classes.pdf b/Master/texmf-dist/doc/latex/base/classes.pdf
index 88da3b9f596..e9df921fdb0 100644
--- a/Master/texmf-dist/doc/latex/base/classes.pdf
+++ b/Master/texmf-dist/doc/latex/base/classes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/clsguide-historic.pdf b/Master/texmf-dist/doc/latex/base/clsguide-historic.pdf
index 60236a7d265..1bfa17001d5 100644
--- a/Master/texmf-dist/doc/latex/base/clsguide-historic.pdf
+++ b/Master/texmf-dist/doc/latex/base/clsguide-historic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/clsguide-historic.tex b/Master/texmf-dist/doc/latex/base/clsguide-historic.tex
index 9cdb41cb480..bb5e4b5e961 100644
--- a/Master/texmf-dist/doc/latex/base/clsguide-historic.tex
+++ b/Master/texmf-dist/doc/latex/base/clsguide-historic.tex
@@ -34,15 +34,15 @@
\title{\LaTeXe~for class and package writers --- historic version}
-\author{Copyright \copyright~1995--2006 The \LaTeX\ Project\\
+\author{Copyright \copyright~1995--2023 The \LaTeX\ Project\\
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
of this license or (at your option) any later version. See the source
- \texttt{clsguide.tex} for full details.}%
+ \texttt{clsguide-historic.tex} for full details.}%
}
-\date{11 January 2023}
+\date{09 November 2023}
\begin{document}
@@ -1481,7 +1481,7 @@ problem, \LaTeX{} provides two new commands |\MakeUppercase| and
|\MakeLowercase| to do this.
For example:
-\begin{quotation}
+\begin{quote}
\begin{tabular}{rl}
|\uppercase{aBcD\ae\AA\ss\OE}| & \uppercase{aBcD\ae\AA\ss\OE}\\
|\lowercase{aBcD\ae\AA\ss\OE}| & \lowercase{aBcD\ae\AA\ss\OE}\\
@@ -1489,7 +1489,7 @@ For example:
\MakeUppercase{aBcD\ae\AA\ss\OE}\\
|\MakeLowercase{aBcD\ae\AA\ss\OE}| & \MakeLowercase{aBcD\ae\AA\ss\OE}
\end{tabular}
-\end{quotation}
+\end{quote}
The commands |\MakeUppercase| and |\MakeLowercase| themselves are
robust, but they have moving arguments.
diff --git a/Master/texmf-dist/doc/latex/base/clsguide.pdf b/Master/texmf-dist/doc/latex/base/clsguide.pdf
index 084d6047c99..7bc4b5505c4 100644
--- a/Master/texmf-dist/doc/latex/base/clsguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/clsguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/clsguide.tex b/Master/texmf-dist/doc/latex/base/clsguide.tex
index d6675c4b277..6b9e49c4e83 100644
--- a/Master/texmf-dist/doc/latex/base/clsguide.tex
+++ b/Master/texmf-dist/doc/latex/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-10-24}
+\date{2024-05-24}
\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
@@ -347,7 +347,7 @@ out by using hooks. As a document author, you will likely be familiar with
|\AtBeginDocument|, a wrapper around the more powerful command |\AddToHook|.
The \LaTeX{} kernel provides a large number of dedicated hooks (applying in
a pre-defined location) and generic hooks (applying to arbitrary commands):
-the interface for using these is described in \texttt{lthooks} . There are
+the interface for using these is described in \texttt{lthooks}. There are
also hooks to apply to files, described in \texttt{ltfilehooks}.
\section{The structure of a class or package}
@@ -891,7 +891,7 @@ unknown option on to a non-keyval class such as \pkg{article}:
The |\ProcessKeyOptions| function is used to check the current option list
against the keys defined for \m{family}. Global (class) options and local
(package) options are checked when this function is called in a package.
-The command will process \emph{all} options given the the current
+The command will process \emph{all} options given the current
package or class: there is no need to also apply \cs{ProcessOptions}.
\begin{decl}
@@ -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.
@@ -1216,7 +1220,7 @@ The arguments \meta{label} and \meta{list of properties} can contain
commands that are expanded. \meta{label} can expand to an arbitrary
string (as long as it can safely be written to the \texttt{aux}-file)
but note that the label names of \cs{label} and \cs{RecordProperties}
-share a singe namespace. This means that you get a \texttt{Label `A'
+share a single namespace. This means that you get a \texttt{Label `A'
multiply defined} warning with the following code:
\begin{verbatim}
\label{A}\RecordProperties{A}{abspage}
@@ -1268,7 +1272,7 @@ immediately when \cs{RecordProperties} is used but during the next
the standard \cs{label}/\cs{pageref}.
\item[\texttt{pagenum} (default: \texttt{0}, at shipout)] The current page as arabic number. This is
- suitable for integer operations and comparisions.
+ suitable for integer operations and comparisons.
\item[\texttt{label} (default: \texttt{??})] The content of \cs{@currentlabel}. This is the value
that you get also with the standard \cs{label}/\cs{ref}.
diff --git a/Master/texmf-dist/doc/latex/base/cmfonts.pdf b/Master/texmf-dist/doc/latex/base/cmfonts.pdf
index 2ac532150ee..c867f041b17 100644
--- a/Master/texmf-dist/doc/latex/base/cmfonts.pdf
+++ b/Master/texmf-dist/doc/latex/base/cmfonts.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/cyrguide.pdf b/Master/texmf-dist/doc/latex/base/cyrguide.pdf
index 6ac55d8d2c3..95382503754 100644
--- a/Master/texmf-dist/doc/latex/base/cyrguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/cyrguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/doc-code.pdf b/Master/texmf-dist/doc/latex/base/doc-code.pdf
index d2d707ee733..572bfc8d2ff 100644
--- a/Master/texmf-dist/doc/latex/base/doc-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/doc-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/doc.pdf b/Master/texmf-dist/doc/latex/base/doc.pdf
index 0c8fa0e4a2f..3b5313c6ec1 100644
--- a/Master/texmf-dist/doc/latex/base/doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/docstrip.pdf b/Master/texmf-dist/doc/latex/base/docstrip.pdf
index 09f9f4d0bb0..6b7ab759be0 100644
--- a/Master/texmf-dist/doc/latex/base/docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/base/docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/encguide.pdf b/Master/texmf-dist/doc/latex/base/encguide.pdf
index 515a8824792..e6c1cc3bac3 100644
--- a/Master/texmf-dist/doc/latex/base/encguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/encguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/exscale.pdf b/Master/texmf-dist/doc/latex/base/exscale.pdf
index 754af95023c..bb2df52c845 100644
--- a/Master/texmf-dist/doc/latex/base/exscale.pdf
+++ b/Master/texmf-dist/doc/latex/base/exscale.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/fix-cm.pdf b/Master/texmf-dist/doc/latex/base/fix-cm.pdf
index 2bb6951bb57..ae1980ea649 100644
--- a/Master/texmf-dist/doc/latex/base/fix-cm.pdf
+++ b/Master/texmf-dist/doc/latex/base/fix-cm.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/fntguide.pdf b/Master/texmf-dist/doc/latex/base/fntguide.pdf
index 244cfc1374a..941435118e6 100644
--- a/Master/texmf-dist/doc/latex/base/fntguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/fntguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/fntguide.tex b/Master/texmf-dist/doc/latex/base/fntguide.tex
index 7cf5d239817..6106204a550 100644
--- a/Master/texmf-dist/doc/latex/base/fntguide.tex
+++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/base/graphpap.pdf b/Master/texmf-dist/doc/latex/base/graphpap.pdf
index f4ac3ec438f..9367e9459f3 100644
--- a/Master/texmf-dist/doc/latex/base/graphpap.pdf
+++ b/Master/texmf-dist/doc/latex/base/graphpap.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ifthen.pdf b/Master/texmf-dist/doc/latex/base/ifthen.pdf
index 349bf582fca..6da60f51ecd 100644
--- a/Master/texmf-dist/doc/latex/base/ifthen.pdf
+++ b/Master/texmf-dist/doc/latex/base/ifthen.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/inputenc.pdf b/Master/texmf-dist/doc/latex/base/inputenc.pdf
index e6ec0400f21..4d6d01b5187 100644
--- a/Master/texmf-dist/doc/latex/base/inputenc.pdf
+++ b/Master/texmf-dist/doc/latex/base/inputenc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lamport-manual.pdf b/Master/texmf-dist/doc/latex/base/lamport-manual.pdf
index 9cb7e4a508a..113cc4942a6 100644
--- a/Master/texmf-dist/doc/latex/base/lamport-manual.pdf
+++ b/Master/texmf-dist/doc/latex/base/lamport-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/latexrelease.pdf b/Master/texmf-dist/doc/latex/base/latexrelease.pdf
index 3408be40037..f77b3e4645f 100644
--- a/Master/texmf-dist/doc/latex/base/latexrelease.pdf
+++ b/Master/texmf-dist/doc/latex/base/latexrelease.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/latexsym.pdf b/Master/texmf-dist/doc/latex/base/latexsym.pdf
index d7e20ae3057..c0c0cd38bd4 100644
--- a/Master/texmf-dist/doc/latex/base/latexsym.pdf
+++ b/Master/texmf-dist/doc/latex/base/latexsym.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lb2.err b/Master/texmf-dist/doc/latex/base/lb2.err
index 74c0e222b6d..7d22f498140 100644
--- a/Master/texmf-dist/doc/latex/base/lb2.err
+++ b/Master/texmf-dist/doc/latex/base/lb2.err
@@ -1,4 +1,4 @@
-\newcommand\erratafiledate{2014/09/30}
+\newcommand\erratafiledate{2024/01/03}
\def\comando#1{\texttt{\string#1}}
@@ -1203,6 +1203,14 @@ Streiche den letzten Buchstaben von ausf"uhrliche\u{n}.
\erroronpage{647}{Abs.4, Z.1}{JMa}{2006/03/23}{2}
Streiche den letzten Buchstaben von vertikale\u{r}.
+\erroronpage{649}{Beispiel 10-3-9}{WOs}{2024/01/03}{}
+Das Beispiel verwendet \verb=\frame=, was seinen Inhalt immer auf der
+Zeile positioniert und nicht \verb=\fbox=, was je nach Drehung auch
+unter die Zeile dreht (siehe Beispiel 10.3.10).
+Die Ausgabe ist korrekt aber eher überraschend,
+da der nachfolgende Absatz dann \verb=\fbox= diskutiert und die
+Besonderheit von \verb=\frame= hier nicht erwähnt wird.
+
\erroronpage{649}{Abs.2, Z.8}{FMi/HjG}{2006/10/22}{2}
Ersetze: "`\u{Dieser Punkt} ist in \ldots"' \>
"`\u{Dies} ist in \ldots"'
@@ -1605,6 +1613,7 @@ Die Abkürzung NFSS sollte \textsf{NFSS} geschrieben werden.
\contributor{SZi}{Stefan Ziesemer}
\contributor{TNdz}{Timo Niedenzu}
\contributor{VVo}{Vladimir Volovich}
+\contributor{WOs}{Wolfgang Ostmann}
\contributor{YiL}{Yiannis Lazarides}
\end{multicols}
diff --git a/Master/texmf-dist/doc/latex/base/lb2.pdf b/Master/texmf-dist/doc/latex/base/lb2.pdf
index 83194744f53..88a06a235bb 100644
--- a/Master/texmf-dist/doc/latex/base/lb2.pdf
+++ b/Master/texmf-dist/doc/latex/base/lb2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/letter.pdf b/Master/texmf-dist/doc/latex/base/letter.pdf
index 09b933a0228..fed4ff1ed22 100644
--- a/Master/texmf-dist/doc/latex/base/letter.pdf
+++ b/Master/texmf-dist/doc/latex/base/letter.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lgc2.pdf b/Master/texmf-dist/doc/latex/base/lgc2.pdf
index fe532c61804..0873032eaa8 100644
--- a/Master/texmf-dist/doc/latex/base/lgc2.pdf
+++ b/Master/texmf-dist/doc/latex/base/lgc2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lppl.pdf b/Master/texmf-dist/doc/latex/base/lppl.pdf
index 89639171727..a1e823b35ff 100644
--- a/Master/texmf-dist/doc/latex/base/lppl.pdf
+++ b/Master/texmf-dist/doc/latex/base/lppl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf b/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf
index 46df7576fd5..1f8c95187ad 100644
--- a/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf b/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf
index 2c0060bde68..82d51be74bf 100644
--- a/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf b/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
index e4516f1f927..a1e2630cc3f 100644
--- a/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf b/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf
index 2dc00a337d3..f01fd3243f9 100644
--- a/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lthooks-code.pdf b/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
index 66ed34cff6d..896073a7fd2 100644
--- a/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf b/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf
index 6a62d5fef3a..2e9f05bdb7c 100644
--- a/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/lthooks-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltluatex.pdf b/Master/texmf-dist/doc/latex/base/ltluatex.pdf
index 9955fcf749a..5617092af6a 100644
--- a/Master/texmf-dist/doc/latex/base/ltluatex.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltluatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf b/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
index 4aecd33f1ef..39cb08500c1 100644
--- a/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf b/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
index 141e3acdab1..595e7d0cf68 100644
--- a/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews.pdf b/Master/texmf-dist/doc/latex/base/ltnews.pdf
index d9318b5c303..3f5b51ca6f0 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews.tex b/Master/texmf-dist/doc/latex/base/ltnews.tex
index 05e37223e2e..d4a6d274aea 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews.tex
@@ -40,7 +40,7 @@
\ProvidesFile{ltnews.tex}%
[2022/06/10 v1.4e Master file for ltnews*.tex (LaTeX Project)]
-\providecommand*{\lastissue}{38}
+\providecommand*{\lastissue}{39}
\InputIfFileExists{ltnews-lastissue.cfg}{}{}
diff --git a/Master/texmf-dist/doc/latex/base/ltnews01.pdf b/Master/texmf-dist/doc/latex/base/ltnews01.pdf
index bb1c3479ae4..91841e1b47b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews01.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews02.pdf b/Master/texmf-dist/doc/latex/base/ltnews02.pdf
index fceaba3de6a..474a6f4c068 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews02.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews03.pdf b/Master/texmf-dist/doc/latex/base/ltnews03.pdf
index 5b15e3eb7c5..60f053d90c4 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews03.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews04.pdf b/Master/texmf-dist/doc/latex/base/ltnews04.pdf
index 366704a89d3..77dac1a0810 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews04.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews05.pdf b/Master/texmf-dist/doc/latex/base/ltnews05.pdf
index 85bee898cec..93db703e8c7 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews05.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews06.pdf b/Master/texmf-dist/doc/latex/base/ltnews06.pdf
index f3aec4acdf4..236c2404087 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews06.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews07.pdf b/Master/texmf-dist/doc/latex/base/ltnews07.pdf
index d30e8d184e0..163ec550cd6 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews07.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews08.pdf b/Master/texmf-dist/doc/latex/base/ltnews08.pdf
index b1c0c2b5228..06993859b79 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews08.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews09.pdf b/Master/texmf-dist/doc/latex/base/ltnews09.pdf
index 0050844b8ca..66fb48b3afd 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews09.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews10.pdf b/Master/texmf-dist/doc/latex/base/ltnews10.pdf
index 2adda73502f..a06f34778a2 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews10.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews11.pdf b/Master/texmf-dist/doc/latex/base/ltnews11.pdf
index 23fcd19b299..681035cad23 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews11.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews12.pdf b/Master/texmf-dist/doc/latex/base/ltnews12.pdf
index d0c4c1f1924..3eba711f518 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews12.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews13.pdf b/Master/texmf-dist/doc/latex/base/ltnews13.pdf
index bdeb853315f..5180a3655b7 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews13.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews13.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews14.pdf b/Master/texmf-dist/doc/latex/base/ltnews14.pdf
index 78bd35261a1..1fcf453074a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews14.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews14.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews15.pdf b/Master/texmf-dist/doc/latex/base/ltnews15.pdf
index 532518b8493..a1e7b44229b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews15.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews15.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews16.pdf b/Master/texmf-dist/doc/latex/base/ltnews16.pdf
index 283472da946..193c55f53b4 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews16.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews16.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews17.pdf b/Master/texmf-dist/doc/latex/base/ltnews17.pdf
index 4407a451db3..d1d952fb156 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews17.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews17.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews18.pdf b/Master/texmf-dist/doc/latex/base/ltnews18.pdf
index f03865e0551..14acb207f0f 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews18.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews18.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews19.pdf b/Master/texmf-dist/doc/latex/base/ltnews19.pdf
index 82fb6044094..1a73bc6a808 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews19.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews19.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews20.pdf b/Master/texmf-dist/doc/latex/base/ltnews20.pdf
index d0cf9a25b2c..9fa7545968a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews20.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews20.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews21.pdf b/Master/texmf-dist/doc/latex/base/ltnews21.pdf
index cb04e771a5c..6893765e9f2 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews21.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews21.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews22.pdf b/Master/texmf-dist/doc/latex/base/ltnews22.pdf
index 574c6a7e90c..30f755b1f4a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews22.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews22.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews23.pdf b/Master/texmf-dist/doc/latex/base/ltnews23.pdf
index 302f42d7dec..233e35b4592 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews23.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews23.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews24.pdf b/Master/texmf-dist/doc/latex/base/ltnews24.pdf
index 3880b4f29a7..c8d8af26e00 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews24.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews24.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews25.pdf b/Master/texmf-dist/doc/latex/base/ltnews25.pdf
index a3fbc572ab4..e0753c8c720 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews25.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews25.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews26.pdf b/Master/texmf-dist/doc/latex/base/ltnews26.pdf
index d11dcd2b701..8ce8e93db6a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews26.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews26.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews27.pdf b/Master/texmf-dist/doc/latex/base/ltnews27.pdf
index 3012fa054b1..feeb71e8fe3 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews27.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews27.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews28.pdf b/Master/texmf-dist/doc/latex/base/ltnews28.pdf
index 15691688047..cc8ec92af39 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews28.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews28.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews28.tex b/Master/texmf-dist/doc/latex/base/ltnews28.tex
index fec5c5c6c91..de4ecfa00ab 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews28.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews28.tex
@@ -126,7 +126,7 @@ happened. For example, the German word ``Gr\"o\ss e'' (height) entered on a
German keyboard could show up as ``Gr\v T\`ae'' on a different
computer using a different encoding by default.
-So in summmary the situation wasn't at all good and it was clear in
+So in summary the situation wasn't at all good and it was clear in
the early nineties that \LaTeXe{} (that was being developed to provide
a \LaTeX{} version usable across the world) had to provide a solution
to this issue.
@@ -318,7 +318,7 @@ As a result some parts of the columns did overprint each other.
The fix required a redesign of the output routines used by
\pkg{multicol} and while it ``should'' be transparent in other cases
-(and all tests in the regession test suite came out fine) there is the
+(and all tests in the regression test suite came out fine) there is the
off-chance that code that hooked into internals of \pkg{multicol}
needs adjustment.
diff --git a/Master/texmf-dist/doc/latex/base/ltnews29.pdf b/Master/texmf-dist/doc/latex/base/ltnews29.pdf
index 61b0c8dfcf8..e29df22f874 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews29.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews29.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews30.pdf b/Master/texmf-dist/doc/latex/base/ltnews30.pdf
index dd58858990b..358d60cf966 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews30.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews30.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews31.pdf b/Master/texmf-dist/doc/latex/base/ltnews31.pdf
index cf7f4529587..e769963401d 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews31.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews31.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews31.tex b/Master/texmf-dist/doc/latex/base/ltnews31.tex
index 194791cff56..c1b81e52bec 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews31.tex
+++ b/Master/texmf-dist/doc/latex/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/Master/texmf-dist/doc/latex/base/ltnews32.pdf b/Master/texmf-dist/doc/latex/base/ltnews32.pdf
index f52cd244441..ce4d2ab9865 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews32.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews32.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews33.pdf b/Master/texmf-dist/doc/latex/base/ltnews33.pdf
index 795e30a1149..a2491f25763 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews33.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews33.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews34.pdf b/Master/texmf-dist/doc/latex/base/ltnews34.pdf
index e431c49cf7a..5eb6d70276c 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews34.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews34.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews35.pdf b/Master/texmf-dist/doc/latex/base/ltnews35.pdf
index a5ff443519f..0c7fa0bbdcd 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews35.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews35.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews35.tex b/Master/texmf-dist/doc/latex/base/ltnews35.tex
index 8f0c9d6ae31..d8c985b8131 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews35.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews35.tex
@@ -547,7 +547,7 @@ enabling \cs{obeyspaces} within a %
quote environment.
\end{quote}
Thus, if you are keen to use the plain \TeX{} trick, you need to say
-\cs{let}\cs{obeyedlines}\texttt{=}\cs{cr} now.
+\cs{let}\cs{obeyedline}\texttt{=}\cs{cr} now.
%
\githubissue{367}
diff --git a/Master/texmf-dist/doc/latex/base/ltnews36.pdf b/Master/texmf-dist/doc/latex/base/ltnews36.pdf
index 7ec209184d0..4d971aeaa0b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews36.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews36.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews37.pdf b/Master/texmf-dist/doc/latex/base/ltnews37.pdf
index 3d0f317f934..71347c4bd3a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews37.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews37.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews38.pdf b/Master/texmf-dist/doc/latex/base/ltnews38.pdf
index 699f3130490..2c00b0de746 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews38.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltnews38.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews38.tex b/Master/texmf-dist/doc/latex/base/ltnews38.tex
index 04ffe1a0ed2..bf485de239e 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews38.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews38.tex
@@ -177,7 +177,7 @@ and \pkg{biblatex}.
For now activation is done through the line
\begin{verbatim}
\DocumentMetadata
- {testphase={phase-III,math,tabular}}
+ {testphase={phase-III,math,table}}
\end{verbatim}
The math and the tabular support are not yet incorporated into
\texttt{phase-III} but need their own activation, so that we can
diff --git a/Master/texmf-dist/doc/latex/base/ltnews39.pdf b/Master/texmf-dist/doc/latex/base/ltnews39.pdf
new file mode 100644
index 00000000000..cdbbe0d23bc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltnews39.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltnews39.tex b/Master/texmf-dist/doc/latex/base/ltnews39.tex
new file mode 100644
index 00000000000..7d2b039439f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltnews39.tex
@@ -0,0 +1,905 @@
+% \iffalse meta-comment
+%
+% Copyright 2024
+% The LaTeX Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -——————————————
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews39.tex
+%
+% This is issue 39 of LaTeX News.
+
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+
+\documentclass{ltnews}
+
+%% Maybe needed only for Chris' inadequate system:
+\providecommand\Dash {\unskip \textemdash}
+
+%% NOTE: Chris' preferred hyphens!
+%% \showhyphens{parameters}
+%% \hyphenation{because}
+
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\usepackage{csquotes}
+\usepackage{multicol}
+\usepackage{color}
+
+\providecommand\hook[1]{\texttt{#1}}
+
+\providecommand\meta[1]{$\langle$\textrm{\itshape#1}$\rangle$}
+\providecommand\option[1]{\texttt{#1}}
+\providecommand\env[1]{\texttt{#1}}
+\providecommand\Arg[1]{\texttt\{\meta{#1}\texttt\}}
+
+
+\providecommand\eTeX{\hologo{eTeX}}
+\providecommand\XeTeX{\hologo{XeTeX}}
+\providecommand\LuaTeX{\hologo{LuaTeX}}
+\providecommand\pdfTeX{\hologo{pdfTeX}}
+\providecommand\MiKTeX{\hologo{MiKTeX}}
+\providecommand\CTAN{\textsc{ctan}}
+\providecommand\TL{\TeX\,Live}
+
+
+\providecommand\githubissue[2][]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}%
+ {github issue#1 #2}%
+ )}%
+ \par\smallskip}
+%% But Chris has to mostly disable \href for his TEXPAD app:
+%% \def\href #1#2{#2} % Only For Chris' deficient TeX engine
+
+% simple solution right now (just link to the first issue if there are more)
+\def\getfirstgithubissue#1 #2\relax{#1}
+
+\providecommand\sxissue[1]{\ifhmode\unskip
+ \else
+ % githubissue preceding
+ \vskip-\smallskipamount
+ \vskip-\parskip
+ \fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
+
+\providecommand\gnatsissue[2]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F\getfirstgithubissue#2 \relax}%
+ {gnats issue #1/#2}%
+ )}%
+ \par}
+
+\let\cls\pkg
+\providecommand\env[1]{\texttt{#1}}
+\providecommand\acro[1]{\textsc{#1}}
+
+\vbadness=1400 % accept slightly empty columns
+
+
+\let\finalpagebreak\pagebreak % for TUB (if they use it)
+\let\finalvspace\vspace % for document layout fixes
+
+\makeatletter
+% maybe not the greatest design but normally we wouldn't have subsubsections
+\renewcommand{\subsubsection}{%
+ \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}%
+ {-1em}{\@subheadingfont\colonize}%
+}
+\providecommand\colonize[1]{#1:}
+\makeatother
+
+
+% Undo ltnews's \verbatim@font with active < and >
+\makeatletter
+\def\verbatim@font{\normalsize\ttfamily}
+\makeatother
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\tubcommand[1]{}
+\tubcommand{\input{tubltmac}}
+
+\publicationmonth{June}
+%\publicationyear{2024 --- DRAFT version for upcoming release}
+\publicationyear{2024}
+
+\publicationissue{39}
+
+\begin{document}
+
+\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB
+
+\maketitle
+{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000
+\tableofcontents}
+
+\setlength\rightskip{0pt plus 3em}
+
+\medskip
+
+\section{Introduction}
+
+The \LaTeX{} Project team remains strongly focused on producing
+automatically tagged PDF output for accessibility and reuse. At the
+beginning of 2024 the ISO PDF/UA-2 and the WTPDF (well-tagged PDF)
+standards were released and we are glad to be able to report that it
+is now possible to use \LaTeX{} to automatically produce documents
+that conform to these new standards.\footnote{At the present time we
+are still in a trial/prototype phase in which only a limited set of
+document classes and packages are supported. Over the next releases
+we expect to gradually lift these restrictions and eventually provide
+the full functionality as part of the core distribution, rather than
+through \texttt{latex-lab} modules.} A sample collection of such
+documents ranging from classical texts, such as the Bible, to recent
+technical papers submitted to arXiv.org can be found at
+\url{https://github.com/latex3/tagging-project/discussions/72}.
+
+In February Ulrike and Frank presented the current project status
+during the 5th International Workshop on \enquote{Digitization and
+ E-Inclusion in Mathematics and Science 2024} (DEIMS 2024) at Nihon
+University, Tokyo, Japan; see~\cite{39:deims}.
+
+
+\section{News from the \enquote{\LaTeX{} Tagged PDF} project}
+
+In the previous \LaTeX{} News~\cite{39:ltnews38} we announced some prototype
+support for tagged tabulars. Some of the necessary code has
+now been moved from \texttt{latex-lab} to the corresponding packages
+(using sockets and plugs) and to the \LaTeX{} kernel (for those parts
+that are also necessary for other aspects of tagging).
+
+The kernel code specific to tagging is implemented in the file
+\texttt{lttagging.dtx}. For now it contains \cs{UseTaggingSocket}, a
+special invocation command for sockets that are specific to
+tagging. This enables us to also provide \cs{SuspendTagging} and
+\cs{ResumeTagging}, i.e., a very efficient way to temporarily disable
+the whole tagging process. This is, for example, necessary if some
+code is doing trial typesetting. In that case the trials should not
+generate tagging structures\Dash only the finally-chosen version
+should. Thus, \pkg{tabularx}, for example, stops the tagging while
+doing its trials to figure out the correct column widths to use, and
+then re-enables tagging when the table is finally typeset.
+
+Over time, \texttt{lttagging.dtx} will hold more general tagging code
+as appropriate. For now it is only documented as part of
+\texttt{source2e.pdf} but long term we will provide a separate guide
+for tagging, which will then also include the information currently
+found in various other places, e.g., \texttt{tagpdf.pdf}.
+
+We also added support for a few missing commands
+described in Leslie Lamport's \emph{\LaTeX{}
+Manual}~\cite{39:Lamport}: If \texttt{phase-III} is used
+the \cs{marginpar} command will be properly tagged (depending on
+the PDF version) as an \texttt{Aside} or a \texttt{Note} structure.
+In the standard classes \cs{maketitle} will be tagged if the additional
+testphase module \texttt{title} is used.
+
+The \texttt{math} module has been extended and now includes
+options to attach MathML files to the structures.
+First tests with a PDF reader and screen reader that support
+associated files look very promising. Examples of PDF files tagged with the
+new method can be found at
+\url{https://github.com/latex3/tagging-project/discussions/72}.
+
+At last various small bugs and problems reported at
+\url{https://github.com/latex3/tagging-project}
+have been fixed.
+Such feedback is very valuable,
+so we hope to see you there and thank you for
+any contribution, whether it is an issue or a post on a discussion
+thread.
+
+
+
+\section{Enhancements to the new mark mechanism}
+
+In June 2022 we introduced a new mark mechanism~\cite[p.~76]{39:ltnews} that allows keeping track of multiple
+independent marks. It also properly supports top marks, something that wasn't
+reliably possible with \LaTeX{} before.
+
+There was, however, one limitation: to retrieve the marks from the
+page data it was necessary to \cs{vsplit} that data artificially so
+that \TeX{} would produce split marks that the mechanism could then
+use. Unfortunately, \TeX{} gets very upset if it finds infinite
+negative glue (e.g., from \cs{vss}) within this data. This is not
+totally surprising because such glue would allow splitting off any
+amount of material as such glue would hide its size. \TeX{}
+therefore responds with an error message if it find such glue while
+doing a \cs{vsplit} operation (and it does so even if a later glue
+item cancels the infinite glue).
+
+To account for this, the code in 2022 attempted to detect this
+situation beforehand and if so did not do any splitting but, of
+course, it would then also not extract any mark information.
+
+In this release the approach has been changed and we always do a
+\cs{vsplit} operation and thus always get the right mark data
+extracted. While it is not possible to avoid upsetting \TeX{} in case
+we have infinite negative glue present, it is possible to hide this
+(more or less) from the user.\footnote{A note to \pkg{l3build} users
+that make use of its testing capabilities: the new mechanism
+temporarily changes \cs{interactionmode} and, for implementation
+reasons in \TeX{}, that results in extra newlines in the \texttt{.log}
+file, so instead of seeing \texttt{[1] [2]} you will see each on
+separate lines. This means that test files might show differences of
+that nature, once the code is active, and must therefore be
+regenerated as necessary.} With the new code \TeX{} will neither stop
+nor show anything on the terminal. What we can't do, though, is
+avoid an error being 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}
+\makeatother
+\begin{verbatim}
+! Infinite glue shrinkage found in box being split.
+<argument> Infinite shrink error above ignored !
+l. ... }
+\end{verbatim}
+Not perfect (especially the somewhat unmotivated \texttt{<argument>}),
+but you can only do so much when 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 more, and perhaps more importantly we are now also reliably
+able to extract marks from arbitrarily boxed data, something that
+wasn't possible at all before. This is necessary, for example, to
+support extended marks in \env{multicols} environments or extract them
+from floats, marginpars, etc.\tubcommand{\looseness-1}
+
+Details about the implementation can be found in \texttt{texdoc
+ ltmarks-code} or in the shorter \texttt{texdoc ltmarks-doc} (which
+only describes the general concepts and the command interfaces).
+
+
+\section{Providing \pkg{xtemplate} in the format}
+
+In \LaTeX{} News~32, we described the move of one long-term experimental idea
+into the kernel: the package \pkg{xparse}, which was integrated as \pkg{ltcmd}.
+With this edition, we move another long-term development idea to stable status:
+\emph{templates}.
+
+In this context, templates are a mechanism to abstract out various elements
+of a document (such as \enquote{sectioning}) in such a way that different
+implementations can be interchanged,
+%% CAR added text: --- FMi: but it is wrong
+%% variations of the document markup can be accommodated,
+and design decisions can be implemented efficiently and controllably.
+
+In contrast to \pkg{ltcmd}, which provides a mechanism that many document
+authors will exploit routinely, templates are a more specialised tool. We
+anticipate that they will be used by a small number of programmers, providing
+generic ideas that will then be used within document classes. Most document
+authors will therefore likely directly encounter templates only rarely.
+We anticipate though that they will be \emph{using} templates provided
+by the team or others.
+
+%% CAR added this paragraph: FMi: doesn't belong in ltnews
+%We shall continue to develop these generic ideas and interfaces in various ways: for example, to support the varied document markup possibilities
+%provided in \pkg{ltcmd} and elsewhere.
+
+The template system requires three separate ideas
+\begin{itemize}
+ \item Template \emph{type}: the \enquote{thing} we are using templates
+ for, such as \enquote{sectioning} or \enquote{enumerated-list}
+ \item A template: a combination of code and keys that can be used
+ to implement a type. Here for example we might have
+ \enquote{standard-\LaTeX{}-sectioning} as a template for
+ \enquote{sectioning}
+ \item One or more \emph{instances}: a specific use case of a template
+ where (some) keys are set to known values. We might for example see
+ \enquote{\LaTeX{}-section}, \enquote{\LaTeX{}-subsection}, etc.
+\end{itemize}
+
+As part of the move from the experimental \pkg{xtemplate} to kernel integration,
+the team have revisited the commands provided. The stable set now comprises
+\begin{itemize}
+\item \cs{NewTemplateType}
+\item \cs{DeclareTemplateInterface}
+\item \cs{DeclareTemplateCode}
+\item \cs{DeclareTemplateCopy}
+\item \cs{EditTemplateDefault}
+\item \cs{UseTemplate}
+\item \cs{DeclareInstance}
+\item \cs{DeclareInstanceCopy}
+\item \cs{EditInstance}
+\item \cs{UseInstance}
+\item \cs{IfInstanceExistsTF} and variants
+\end{itemize}
+
+To support existing package authors, we have released an updated version of
+\pkg{xtemplate} which will work smoothly with the new kernel-level code. The
+existing commands provided in \pkg{xtemplate} will continue to work, but
+we encourage programmers to move to the set above.
+
+
+\section{New or improved commands}
+
+\subsection{\pkg{doc}:\ Provide \cs{ProvideDocElement}}
+
+In addition to
+\cs{NewDocElement} and \cs{RenewDocElement} we now also offer a
+\cs{ProvideDocElement} declaration that does nothing unless the doc
+element could be declared with \cs{NewDocElement}. This can be useful
+if documentation files are processed both individually and
+combined.
+
+
+\subsection{\pkg{doc}:\ Better support for \pkg{upquote}}
+
+In \LaTeX{} News~37~\cite{39:ltnews37} we wrote that support for the
+\pkg{upquote} package was added to the \pkg{doc} package, but back
+then this was added only for \cs{verb} and the \env{verbatim}
+environments. However,
+in a typical \texttt{.dtx} file, most of the code will be in the body
+of some \env{macrocode} or \env{macrocode*} environments, and neither
+of these was affected by adding \pkg{upquote}.
+We have now updated \pkg{doc} so that
+\pkg{upquote} alters the quote characters in these environments as
+well.
+%
+\githubissue{1230}
+
+\subsection[\pkg{ifthen}:\ Allow active characters in comparisons]
+ {\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}
+
+\subsection%[New conditionals: \cs{IfClassAtLeastT}, etc.]
+ {New conditionals:\ \cs{IfClassAtLeastT} and friends}
+
+Around 2020 we added a number of conditionals with CamelCase names, i.e.,
+%
+\cs{IfClassAtLeastTF},
+\cs{IfClassLoadedTF},
+\cs{IfClassLoadedWithOptionsFF},
+\cs{IfFormatAtLeastTF},
+\cs{IfPackageAtLeastTF},
+\cs{IfPackageLoadedTF}, and
+\cs{IfPackageLoadedWithOptionsTF}
+%
+to help arranging conditional code that depends on the release of a
+particular class, package or format. However, we only provided the
+\texttt{TF} commands and not also the \texttt{T} and \texttt{F}
+variants. This has now been changed.
+
+In 2023 we introduced \cs{IfFileAtLeastTF} but we did not also provide
+\cs{IfFileLoadedTF} at the same time. This conditional and its
+\texttt{T} and \texttt{F} variants have now also been added. Remember
+that one can only test for files that contain a \cs{ProvidesFile}
+line.
+%
+We did the same for the conditionals \cs{IfLabelExistsTF} and
+\cs{IfPropertyExistsTF}, also introduced in 2023.\footnote{By mistake they
+were initially introduced under the names \cs{IfLabelExistTF} and
+\cs{IfPropertyExistTF}; we corrected that at the same time. This is a
+breaking change, but the commands have been used so far only in
+kernel code.}
+%
+\githubissue[s]{1222 1262}
+
+
+\section{Code improvements}
+
+\subsection{Load packages only at the top level}
+
+Classes and packages must be loaded only by using the commands
+\cs{documentclass} and \cs{usepackage} or the class interface commands
+such as \cs{LoadClass} or \cs{RequirePackageWithOptions}; moreover,
+all of these must always be used at the top level, and not inside a
+group of any type (for example, within an environment).
+Previously \LaTeX\ did not check this,
+which would often lead to low level errors later on if package declarations
+were reverted when a group ended.
+\LaTeX\ now checks the group level and an error is thrown
+if the class or package is loaded in a group.
+%
+\githubissue{1185}
+
+\subsection{Keep track of lost glyphs}
+
+A while ago we changed the \LaTeX{} default value for
+\cs{tracinglostchars} from \texttt{1} to \texttt{2} so that missing
+glyphs generate at least a warning, but we forgot to make the same
+change to \cs{tracingnone}. Thus, when issuing that command \LaTeX{}
+stopped generating warnings about missing glyphs. This has now been
+corrected.
+%
+\githubissue{549}
+
+\subsection{Improve \pkg{fontenc} error message}
+
+If the \pkg{fontenc} package is asked to load a font encoding for which it
+doesn't find a suitable \texttt{.def} file then it generates an error
+message indicating that the encoding name might be misspelled. That
+is, of course, one of the possible causes, but another one is that the
+installation is missing a necessary support package, e.g., that no
+support for Cyrillic fonts has been installed. The error message text
+has therefore been extended to explain the issue more generally.
+%
+\githubissue{1102}
+
+
+\subsection{Warn if counter names are problematic}
+
+In the past it was possible to declare, for example,
+\verb/\newcounter{index}/ with the side-effect that this defines
+\cs{theindex}, even though \LaTeX{} has a \env{theindex} environment
+that then got clobbered by the declaration.
+%
+This has now been changed: if \cs{the}\meta{counter} is already
+defined it is not altered, but instead a warning message is displayed.
+%
+\githubissue{823}
+
+\subsection{Extended information in \cs{listfiles}}
+
+The \cs{listfiles} command provides useful information when finding issues
+related to variation in package versions. However, this has to date relied on
+the information in the \cs{ProvidesPackage} line, or similar: that can be
+misleading if for example a file has been edited locally. We have now extended
+\cs{listfiles} to take an optional argument which can include the MD5
+hash and size of each file in the \texttt{.log}. Thus for
+example you can use
+\begin{verbatim}
+\listfiles[hashes,sizes]
+\end{verbatim}
+to get both the file sizes and file hashes in the \texttt{.log} as well as
+the standard release information.
+%
+\githubissue{945}
+
+\subsection{Optimize creation of simple document commands}
+
+Creating document commands using declarations such as \cs{NewDocumentCommand}, etc., provides a very
+flexible way of grabbing arguments. When the document command only takes simple
+mandatory arguments, this has to-date added an overhead that could be avoided.
+We have now refined the internal code path such that \enquote{simple} document
+commands avoid almost any overhead at point-of-use, making the results
+essentially as efficient as using \cs{newcommand} for low-level \TeX{}
+constructs. Note that as \cs{NewDocumentCommand} makes engine-robust commands,
+the direct equivalent to \cs{newcommand} is \cs{NewExpandableDocumentCommand}.
+%
+\githubissue{1189}
+
+\subsection{\texorpdfstring{\raggedright}{}Handling of end-of-lines in \texttt{+v} arguments of \cs{NewDocumentCommand} and friends}
+
+The \texttt{+v} argument type provided by declarations such as \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 change may require adjustments to 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
+directly into the kernel and in this way removed the need to load the
+\pkg{textcomp} package~\cite{39:ltnews31} to make commands such as
+\cs{texteuro} available.
+
+There is, however, a big problem with this \texttt{TS1} symbol
+encoding: only very few fonts provide every glyph that is supposed
+to be part of \texttt{TS1}. This means that changing font families
+might result in certain symbols becoming unavailable. This can be a
+major disaster if, for example,
+the symbol \cs{texteuro} (\texteuro) or \cs{textohm} (\textohm)
+no longer gets printed in your document, just because you altered the
+text font family.
+
+To mitigate this problem, in 2020 we also introduced the declaration
+\cs{DeclareEncodingSubset}. This declaration is supposed to be used in
+font definition files for the \texttt{TS1} encoding to specify which
+subset (we have defined 10 common ones) a specific font implements. If
+such a declaration is used then missing symbols are automatically
+taken from a fallback font.
+
+%% CAR -- this paragraph maybe needs more substantial rewording ??
+While this is not perfect, it is the best
+you can do other than painstakingly checking that your document
+%% CAR: was "painstrickenly" -- should be a word, but!!
+uses only glyphs that the font supports
+and, if necessary, switching to a different font or avoiding the
+missing symbols. See also the discussion in \cite{39:ltnews33}.
+
+To jumpstart the process we also added declarations to the \LaTeX{}
+kernel for most of the fonts found in \TL{} at the time\Dash with
+the assumption that such declarations would over time be superseded by
+declarations in the \texttt{.fd} files. Unfortunately, this hasn't
+happened yet (or not often) and so many of the initial declarations
+went stale: several fonts got new glyphs added to them (so their
+sub-encoding should have been changed but didn't); others (mainly due
+to license issues) changed the family name and thus our declarations
+became useless and the renamed fonts (now without a declaration) ended
+up in the default sub-encoding that offers only a few glyphs;
+yet others such as CharisSIL (which triggered the GitHub issue) were
+simply not around at the time.
+
+We have, therefore, again attempted to provide the (currently) correct
+declarations, but it is obvious that this is not a workable
+process. As we do not maintain the fonts we do not have the
+information that something has changed, and to regularly check the
+ever growing font support bundles is simply not possible. It is
+therefore very important that maintainers of font packages not only
+provide \texttt{.fd} files but also add such a declaration to every
+\texttt{TS1...fd} font definition file that they distribute.
+
+To simplify this process, we now provide a simple \LaTeX{} file
+(\texttt{checkencodingsubset.tex}) for determining the correct (safe)
+sub-encoding. If run, it asks for a font family and then outputs its
+findings, for example, for \texttt{AlgolRevived-TLF} you will get:
+\tubcommand{\begin{small}}
+\begin{verbatim}
+-----------------------------------------
+Testing font family AlgolRevived-TLF
+(currently TS1-sub-encoding 9)
+-----------------------------------------
+Some glyphs are missing from sub-encoding 8:
+ ==> \textcelsius (137) is missing
+ ==> \texttwosuperior (178) is missing
+ ==> \textthreesuperior (179) is missing
+ ==> \textonesuperior (185) is missing
+Some glyphs are missing from sub-encoding 7:
+ ==> \texteuro (191) is missing
+All glyphs between sub-encoding 6 and 7 exist
+All glyphs between sub-encoding 5 and 6 exist
+All glyphs between sub-encoding 4 and 5 exist
+Some glyphs are missing from sub-encoding 3:
+ ==> \textwon (142) is missing
+All glyphs between sub-encoding 2 and 3 exist
+Some glyphs are missing from sub-encoding 1:
+ ==> \textmho (77) is missing
+ ==> \textpertenthousand (152) is missing
+All glyphs between sub-encoding 0 and 1 exist
+All glyphs in core exist
+-----------------------------------------
+TS1 encoding subset for AlgolRevived-TLF (ok)
+Use sub-encoding 9
+-----------------------------------------
+\end{verbatim}
+\tubcommand{\end{small}\noindent}%
+This output is meant for human consumption, e.g., you see which glyphs
+are missing and why a certain sub-encoding is suggested, but it is not
+that hard to use it in a script and extract the suggested sub-encoding
+by grepping for the line starting with \texttt{Use sub-encoding}.
+
+Of course, this check will only work if the missing glyphs are really
+missing: some fonts placed \enquote{tofu}\footnote{Little squares to
+indicate a missing symbol.} into such slots and in this case it looks
+to \TeX{} as if the glyph is provided. For example, for the old
+Palatino fonts (family \texttt{ppl}) it would report
+\begin{verbatim}
+-----------------------------------------
+TS1 encoding subset for ppl (bad)
+Use sub-encoding 0 (not 5)
+-----------------------------------------
+\end{verbatim}
+thus it claims that
+all glyphs are provided, while in reality more than twenty are missing
+and sub-encoding 5, as declared in the kernel, is in fact correct.
+%
+\githubissue{1257}
+
+
+\subsection{Behavior when loading \pkg{textcomp} without options}
+
+When incorporating the \pkg{textcomp} package into the \LaTeX{} kernel, in
+the February 2020 release~\cite{39:ltnews31}, the default type of its package messages was changed from package info (\texttt{Package textcomp Info})
+to \LaTeX{} kernel info (\texttt{LaTeX Info}). But if \pkg{textcomp}
+was loaded without options, the message type got restored to package info.
+This restoration has now been canceled.
+
+Note that loading \pkg{textcomp} with one of the options \option{error},
+\option{warn}, or \option{info} still changes the message
+type to an error, warning, or info message from the \pkg{textcomp} package.
+%
+\githubissue{1333}
+
+
+\subsection{Rollback improvements}
+
+When requesting a rollback of the \LaTeX{} kernel and/or packages,
+several packages produced the error \enquote{Suspicious rollback date}
+because their rollback section contained only data about recent
+releases even if the package, such as \pkg{array}, was available since
+the first release of \LaTeXe{} in 1994. We now suppress this error and
+load the first release that is still part of the distribution (and
+hope for the best). This change was implemented for the packages
+\pkg{amsmath},
+\pkg{array},
+\pkg{doc},
+\pkg{graphics},
+\pkg{longtable},
+\pkg{multicol},
+\pkg{showkeys},
+\pkg{textcomp}, and
+\pkg{varioref}.
+%
+\githubissue{1333}
+
+
+
+\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 of the package option list}
+
+\LaTeX{} applies one-step expansion to the raw option list of packages
+and classes, so that constructions such as
+\begin{verbatim}
+ \def\myoptions{opt1,opt2}
+ \usepackage[\myoptions]{foo}
+\end{verbatim}
+are supported.
+%% CAR Rewritten sentence:
+But if a package declares its options using the new
+key/value approach~\cite{39:ltnews35} and it gets loaded a second time,
+then its raw option list will not be expanded and so an error might be raised.
+This has now been corrected.
+%
+\githubissue{1298}
+
+\subsection{Fix logic for first mark (page region)}
+
+In the new mark mechanism introduced in June 2022~\cite{39:ltnews35} the result of
+\cs{FirstMark} on a two-column page was incorrect if the first column
+contained no marks. In that case it should have returned the first
+mark of the second column but didn't.
+This has now been corrected.
+
+Documents using \cs{leftmark} are not affected, because that command is still
+using the old mechanism for now.
+%
+\githubissue{1359}
+
+
+\subsection{Struts at the end of footnotes or \texttt{p} columns}
+
+To produce consistent spacing in footnotes and tabular
+\texttt{p}-cells \LaTeX{} adds a strut at the beginning and end of
+the content.
+%% CAR Rewritten sentences:
+%% It assumed, however, that the footnote or tabular cell ended in
+%% horizontal mode and until now added the struts unconditionally. As a
+%% result, with vertical material at the end of the material this strut
+%% started a new paragraph consisting of a single line with just the
+%% strut inside.
+This assumed, however, that the content of the footnote or tabular cell ended in
+horizontal mode and so, until now, these struts were unconditionally added;
+as a result, if this content ended with vertical material then this strut
+started a new paragraph consisting of a single line with just the
+strut in it. This has finally been corrected and now the placement
+logic for the strut changes when vertical mode is detected.
+
+\emph{(First seen in a bug report for \pkg{footmisc} in combination with
+\pkg{bigfoot})}
+
+
+\subsection{Fix a ``missing \cs{item}'' rollback error}
+
+If \LaTeX{} is rolled back to a date between 2023/06/01 (inclusive) and
+2024/06/01 (exclusive), any list-based environment would raise an error
+\begin{verbatim}
+! LaTeX Error: Something's wrong--perhaps a missing \item.
+\end{verbatim}
+This has now been corrected as a hotfix in patch level 2, by enhancing
+a 2023/06/01 version rollback code of new paragraph mechanism.
+%
+\githubissue{1386}
+
+
+
+\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 then \pkg{amsmath} calculates a suitable offset and it
+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 also got applied to any following environment,
+resulting in incorrect spacing in certain situations. This has now
+been corrected.
+%
+\githubissue{1289}
+
+
+
+%\section{Changes to packages in the \pkg{graphics} category}
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\subsection{\pkg{array}, \pkg{longtable}, \pkg{tabularx}:\ Support tagging}
+
+%% CAR Rewritten sentences
+These three packages have been extended so they can now, on request,
+produce tagged tabular. This is done by adding a number of sockets (see
+\cite{39:ltnews38}) that, by default, do nothing; but when tagged PDF
+is requested they get equipped with appropriate plugs.
+
+In the previous \LaTeX{} release this was handled in \texttt{latex-lab}, by
+patching the packages when tagging was requested.
+
+
+\subsection{\pkg{array}:\ No \cs{unskip} in math cells}
+
+Math cells in the standard \env{array} environment of the kernel are
+not subject to space removal at the right end of the cell, i.e., explicit
+spaces from \cs{hspace} or \verb*|\ |, etc.\ are honored
+(normal spaces are automatically ignored in math). In the \pkg{array}
+package all spaces got removed by calling \cs{unskip} unconditionally,
+regardless of the type of cell.
+This difference in behavior has now been removed by correcting the processing of
+math cells in \pkg{array}.
+%
+\githubissue{1323}
+
+
+\subsection{\pkg{verbatim}:\ \cs{verb} showed visible spaces}
+
+A recent change in the kernel was not reflected in the \pkg{verbatim}
+package, with the result that \cs{verb} showed visible spaces
+(\verb*/ /) after the package was loaded. This has already been corrected
+in a hotfix for the November 2023 release.
+%
+\githubissue{1160}
+
+\subsection{\pkg{verbatim}:\ Support tabs in \cs{verbatiminput*}}
+
+Mimicking the November 2023 kernel update that allowed \cs{verb*}
+to mark tabs as spaces, the \pkg{verbatim} package
+has now been updated so that \cs{verbatiminput*} also marks tabs as spaces.
+\githubissue{1245}
+
+
+\subsection{\pkg{multicol}:\ \cs{columnbreak} interferes with mark mechanism}
+
+The \pkg{multicol} package has to keep track of marks (from
+\cs{markright} or \cs{markboth}) as part of its output routine code
+and can't rely on \LaTeX{} handling that automatically. It does so by
+artificially splitting page data with \cs{vsplit} to extract the mark
+data. With the introduction of \cs{columnbreak} that code failed
+sometimes, because it was not seeing any mark that followed such a
+forced column break.
+
+This has now been corrected, but there is further work to do, because
+as of now \pkg{multicol} does not yet handle marks using the new mark
+mechanism\Dash see the discussion at the beginning of the newsletter.
+%
+\githubissue{1130}
+
+\subsection{\pkg{showkeys}:\ Allow \cs{newline} in \pkg{amsthm} to work}
+%
+Previously \pkg{showkeys} added an extra box layer which disabled the \cs{newline}
+of \pkg{amsthm} theorem styles. This extra box has now been avoided.
+%
+\githubissue{1123}
+
+\subsection{\pkg{xr}:\ Support links and properties}
+%
+The \pkg{xr} package implements a system for eXternal References.
+The \pkg{xr-hyper} package (in the \pkg{hyperref} bundle)
+extended this to also support links to external documents.
+%% CAR: Rewritten sentences:
+Using last year's extension of the \cs{label} command, which unified
+the label syntax of \LaTeX{} and \pkg{hyperref},
+it became possible to merge the two packages and thus make
+\pkg{xr-hyper} obsolete.
+With this change it is also possible to refer to properties
+that are stored in external documents using \cs{RecordProperties}.
+%
+\githubissue{1180}
+
+\section{Changes to files in the \pkg{cyrillic} category}
+
+\subsection{Correct definition of \cs{k}}
+
+Ages ago, the encoding-specific definitions for various accent
+commands were changed to guard against altering some parameter values
+non-locally by mistake. For some reason the definition for \cs{k} in
+the Cyrillic encodings \texttt{T2A}, \texttt{T2B}, and \texttt{T2C}
+didn't get this treatment. This oversight has now been corrected.
+%
+\githubissue{1148}
+
+
+\begin{thebibliography}{9}\frenchspacing
+
+%\fontsize{9.3}{11.3}\selectfont
+
+
+\bibitem{39:Lamport}
+Leslie Lamport.
+\newblock \emph{{\LaTeX}: {A} Document Preparation System: User's Guide and Reference
+ Manual}.
+\newblock \mbox{Addison}-Wesley, Reading, MA, USA, 2nd edition, 1994.
+\newblock ISBN 0-201-52983-1.
+\newblock Reprinted with corrections in 1996.
+
+\bibitem{39:ltnews} \LaTeX{} Project Team.
+ \emph{\LaTeXe{} news 1--39}. June, 2024.
+ \url{https://latex-project.org/news/latex2e-news/ltnews.pdf}
+
+\bibitem{39:ltnews31} \LaTeX{} Project Team.
+ \emph{\LaTeXe{} news 31}. February, 2020.
+ \url{https://latex-project.org/news/latex2e-news/ltnews31.pdf}
+
+\bibitem{39:ltnews33} \LaTeX{} Project Team.
+ \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}
+
+\bibitem{39:ltnews38} \LaTeX{} Project Team.
+ \emph{\LaTeXe{} news 38}. November 2023.
+ \url{https://latex-project.org/news/latex2e-news/ltnews38.pdf}
+
+\bibitem{39:deims} Frank Mittelbach and Ulrike Fischer.
+ \emph{Enhancing \LaTeX{} to automatically produce
+ tagged and accessible PDF}. \textsl{TUGboat} 45:1, 2024.
+ \url{https://latex-project.org/publications/indexbyyear/2024/}
+
+ %\bibitem{39:blueprint} Frank Mittelbach and Chris Rowley.
+% \emph{\LaTeX{} Tagged PDF \Dash A blueprint for a large project}.\\
+% \url{https://latex-project.org/publications/indexbyyear/2020/}
+
+\end{thebibliography}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/base/ltpara-code.pdf b/Master/texmf-dist/doc/latex/base/ltpara-code.pdf
index 645fb8f851a..c686d41abcc 100644
--- a/Master/texmf-dist/doc/latex/base/ltpara-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltpara-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf b/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf
index 7895499693d..fb611f28ca5 100644
--- a/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltpara-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltproperties-code.pdf b/Master/texmf-dist/doc/latex/base/ltproperties-code.pdf
index 58b2001964d..98bacb9ebb0 100644
--- a/Master/texmf-dist/doc/latex/base/ltproperties-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltproperties-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltproperties-doc.pdf b/Master/texmf-dist/doc/latex/base/ltproperties-doc.pdf
index 7fff51f06af..b9112dff495 100644
--- a/Master/texmf-dist/doc/latex/base/ltproperties-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltproperties-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf b/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
index 1a2a6592f3f..6d39fbb36de 100644
--- a/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf b/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf
index cef55100daf..939bcbabb7b 100644
--- a/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltshipout-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltsockets-code.pdf b/Master/texmf-dist/doc/latex/base/ltsockets-code.pdf
index 922adb45cd3..8d7fc7e9526 100644
--- a/Master/texmf-dist/doc/latex/base/ltsockets-code.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltsockets-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltsockets-doc.pdf b/Master/texmf-dist/doc/latex/base/ltsockets-doc.pdf
index 9b0dcfe6013..c55707242aa 100644
--- a/Master/texmf-dist/doc/latex/base/ltsockets-doc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltsockets-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltx3info.pdf b/Master/texmf-dist/doc/latex/base/ltx3info.pdf
index 9de607772db..aa6a8811cb1 100644
--- a/Master/texmf-dist/doc/latex/base/ltx3info.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltx3info.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltxdoc.pdf b/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
index 96b37050144..a6a6d37d0f8 100644
--- a/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
+++ b/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/makeindx.pdf b/Master/texmf-dist/doc/latex/base/makeindx.pdf
index 3ff3c51adf9..c2be4c35d31 100644
--- a/Master/texmf-dist/doc/latex/base/makeindx.pdf
+++ b/Master/texmf-dist/doc/latex/base/makeindx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/modguide.pdf b/Master/texmf-dist/doc/latex/base/modguide.pdf
index fc7923303ef..f54d380d3e1 100644
--- a/Master/texmf-dist/doc/latex/base/modguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/modguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/nfssfont.pdf b/Master/texmf-dist/doc/latex/base/nfssfont.pdf
index cb60d134645..194a851e490 100644
--- a/Master/texmf-dist/doc/latex/base/nfssfont.pdf
+++ b/Master/texmf-dist/doc/latex/base/nfssfont.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/proc.pdf b/Master/texmf-dist/doc/latex/base/proc.pdf
index f271e71d3fa..8d7b5ec43e1 100644
--- a/Master/texmf-dist/doc/latex/base/proc.pdf
+++ b/Master/texmf-dist/doc/latex/base/proc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/slides.pdf b/Master/texmf-dist/doc/latex/base/slides.pdf
index 844914de88c..b372bbba234 100644
--- a/Master/texmf-dist/doc/latex/base/slides.pdf
+++ b/Master/texmf-dist/doc/latex/base/slides.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/slifonts.pdf b/Master/texmf-dist/doc/latex/base/slifonts.pdf
index cce5a2fbd71..1bbfdf9ed1f 100644
--- a/Master/texmf-dist/doc/latex/base/slifonts.pdf
+++ b/Master/texmf-dist/doc/latex/base/slifonts.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/source2e.pdf b/Master/texmf-dist/doc/latex/base/source2e.pdf
index 2f086fe61b0..c7c8afd1dd3 100644
--- a/Master/texmf-dist/doc/latex/base/source2e.pdf
+++ b/Master/texmf-dist/doc/latex/base/source2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/source2e.tex b/Master/texmf-dist/doc/latex/base/source2e.tex
index 302c76822de..6ff2928a427 100644
--- a/Master/texmf-dist/doc/latex/base/source2e.tex
+++ b/Master/texmf-dist/doc/latex/base/source2e.tex
@@ -342,6 +342,8 @@ page_precedence "rnaA"
\DocInclude{ltoutput} % Output routine
+ \DocInclude{lttagging}% Tagging support
+
\DocInclude{lthyphen} % Hyphenation (hyphen.ltx).
\DocInclude{ltfinal} % Last minute initialisations and dump
@@ -378,7 +380,7 @@ page_precedence "rnaA"
\def\endash{--}
\catcode`\-\active
\def-{\futurelet\temp\indexdash}
-\def\indexdash{\ifx\temp-\endash\fi}
+\def\indexdash{\ifx\temp-\endash\else:\fi}
\PrintIndex
\endgroup
diff --git a/Master/texmf-dist/doc/latex/base/syntonly.pdf b/Master/texmf-dist/doc/latex/base/syntonly.pdf
index 42fd93bdff2..7702a6d7c48 100644
--- a/Master/texmf-dist/doc/latex/base/syntonly.pdf
+++ b/Master/texmf-dist/doc/latex/base/syntonly.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/tlc2.pdf b/Master/texmf-dist/doc/latex/base/tlc2.pdf
index 20aa9c1ac3f..6491a2990a0 100644
--- a/Master/texmf-dist/doc/latex/base/tlc2.pdf
+++ b/Master/texmf-dist/doc/latex/base/tlc2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/tlc3.err b/Master/texmf-dist/doc/latex/base/tlc3.err
index d4f94705d7e..6700a6b9627 100644
--- a/Master/texmf-dist/doc/latex/base/tlc3.err
+++ b/Master/texmf-dist/doc/latex/base/tlc3.err
@@ -1,4 +1,4 @@
-\newcommand\erratafiledate{2023/10/30} % needs / and not -
+\newcommand\erratafiledate{2024/05/31} % needs / and not -
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% To produce a printed version of this errata file run this file through
@@ -320,12 +320,15 @@
\let\u\underline % needs resetting after hyperref
+\usepackage{hologo}
+\providecommand\XeTeX{\hologo{XeTeX}}
+
\begin{document}
\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 +342,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 +374,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 +400,7 @@ Good luck!
\begin{center}
\begin{tabular}{clr}
Contest period ends & Winner \\[4pt]
-2023/?? & & ??? suggestions\\
+2024/03 & Bernd Burghardt & 52 suggestions\\
\end{tabular}
\end{center}
@@ -441,7 +443,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
@@ -592,6 +594,13 @@ the index is always fully regenerated for new printings.
English. Personally, I prefer the version with accent (as does Don
Knuth) so it is deliberate and will not change.
+
+\CHAPTER{Preface}
+
+\erroronpage{I-xlii}{para 1, l.3}{FMi}{2024/04/01}{s}
+\u{the designer} of the Lato fonts \> \u{a co-designer} of the Lato fonts
+
+
\CHAPTER{Chapter 1 --- Introduction}
\erroronpage{I-5}{para 4, l.4}{kb}{2023/04/04}{s}
@@ -606,6 +615,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 +637,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,18 +653,58 @@ 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=\qty= 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}
+Move comma:\\
+and \textsf{thmtools} packages and \textsf{typed-checklist}\u{,} helps you write \> \\
+and \textsf{thmtools} packages\u{,} and \textsf{typed-checklist} helps you write
+
+
\erroronpage{I-323}{Table 4.4, left column}{BeB}{2023/07/25}{s}
Typo: Assembler (\u{N}otorola68k, x86masm) \> \\ Assembler (\u{M}otorola68k, x86masm)
% Matlab \> Matlab \u{(empty, 5.1)}
% könnte auch aktualisiert werden, steht aber in Version 1.8d nicht drin
+\erroronpage{I-344}{exa 4-3-16}{CAR/FMi}{2024/01/29}{s}
+Use \cs{NewDocumentEnvironment} instead of
+\cs{DeclareDocumentEnvironment} because it is always better to check
+that the declaration is not accidentally overwriting an existing
+environment.
\CHAPTER{Chapter 5 --- The Layout of the Page}
+\erroronpage{I-365}{paras -3 to -2}{YEi}{2023/11/28}{s}
+
+Add/replace:\\
+\ldots package and others. \cs{par} The \u{fifth} section then \> \\
+\ldots package and others.
+\u{In the fifth section we cover ``static'' page} \\
+\u{decorations such as watermarks.} \cs{par} The \u{sixth} section then
+
+\erroronpage{I-368}{table 5.1}{YEi}{2023/11/29}{s}
+A better approximation for \texttt{b5paper} is \u{$6\frac{7}{8}$}${}\times 9 \frac{7}{8}$
+
+
\erroronpage{I-386}{exa 5-3-1, l.7}{EOl}{2023/09/09}{s}
Change:
paragraph over \u{two} pages. \> paragraph over \u{three} pages.
@@ -660,6 +717,14 @@ is not shown.}
\u{\cs{right}} \> \u{\cs{rightmark}}
+\erroronpage{I-393}{Documentation of \rlap{\cs{IfMarksEqualTF}}}{FMi}{2024/05/31}{s}
+
+Add paragraph:
+Note that two retrieved mark values are only considered equal if they
+originated from the same \cs{InsertMark} command — it is not enough
+that they contain the same data, as that may be conincidental.
+
+
\CHAPTER{Chapter 6 --- Tabular Material}
@@ -675,13 +740,27 @@ 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-491}{exa 6-7-22, Booklet 114}{EOl}{2024/05/13}{s}
+ Change: remove `0,00' in `actual' column for item `loss'. (This
+is not really an error, but it looks better---and is consistent with the
+`actual' item of `profit' for Booklet 113.)
+
+
+\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}
-\erroronpage{I-520}{paragraph 4, l.3}{EOl}{2023/09/09}{s}
+\erroronpage{I-520}{para 4, l.3}{EOl}{2023/09/09}{s}
Change:
For \u{a} example \> For example
+\erroronpage{I-612}{para -2, l.1}{EOl}{2024/05/13}{s}
+Change: up \u{do} several \> up to several
+
+
\CHAPTER{Chapter 8 --- Graphics Generation and Manipulation}
\erroronpage{I-619}{para -2, l.2}{FMi}{2023/05/30}{s}
@@ -698,6 +777,9 @@ start from full red, i.e., \> \verb*/left color=red/ instead.
\erroronpage{I-644}{syntaxbox for \cs{foreach}}{BeB}{2023/07/14}{s}
superfluous ``in'': \ldots\{\textsl{commands}\} \u{in} \> \ldots\{\textsl{commands}\}
+\erroronpage{I-645}{para 3, l.4}{EOl}{2024/05/13}{s}
+Correct hyphenation: stan-dalone \> stand-alone
+
\CHAPTER{Chapter 9 --- Font Selection and Encodings}
@@ -716,12 +798,34 @@ Missing space: Theproblem \> The problem
\erroronpage{I-708}{listing}{FMi}{2023/05/14}{s}
Situation is the same in the 2023 distributions; listing output updated.
+\erroronpage{I-726}{para 4, l.5}{MRu}{2024/04/07}{s}
+Add word: more than hundred \> more than \u{one} hundred
+
\erroronpage{I-759}{l.1}{BeB}{2023/08/20}{s}
in the range of 0000 to \u{00FF} \> in the range of 0000 to \u{007F}
+\erroronpage{I-797}{exa 9-6-3}{BYu/FMi}{2024/04/08}{s}
+
+This example may fail with \XeTeX{} because of a deficiency in
+older versions of \pkg{fontspec}. With versions prior 2.9e one has to
+use the \texttt{Extension} key and omit the extension on the other
+lines:
+\begin{verbatim}
+\setmainfont{Alegreya}[
+ Extension = .otf,
+ UprightFont = *-Medium,
+ ItalicFont = *-MediumItalic,
+ BoldFont = *-ExtraBold,
+ BoldItalicFont = *-ExtraBoldItalic
+]
+\end{verbatim}
+
\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
@@ -732,7 +836,7 @@ then this structure is repeated \u{for the related font families} as often as ne
\erroronpage{II-24}{para 3, l. -2}{BeB}{2023/08/13}{s}
-There is no slanted shape in Grande Mono: \\
+There is no slanted shape in Grande Mono (so it should be in blue): \\
\u{\textsl{naïve}} \> \u{\textsl{\bl naïve}}
@@ -741,8 +845,8 @@ Open Type font is available: \\
\u{— no Open Type —} \> \u{Lucida Handwriting OT}
\erroronpage{II-25}{para -2, l.-2}{BeB}{2023/08/13}{s}
-There are no italic blackletters: \\
-\textit{phœnix's official rôle}\> \textit{\bl phœnix's official rôle}
+There are no italic blackletters (so it should be in blue): \\
+\textit{phœnix's official rôle} \> \textit{\bl phœnix's official rôle}
\erroronpage{II-28}{table 10.14, l. 3}{BeB}{2023/08/13}{s}
Inconsistent order: sl, l \> l, sl
@@ -773,6 +877,8 @@ bold) or in some families for \textttu{ub} (ultra bold).}
\erroronpage{II-40}{table 10.24}{FMi}{2023/08/15}{s}
In table note: \textit{Unfortunately, \u{\texttt{sco}}} \> \textit{Unfortunately, \u{\textttu{sco}}}
+\erroronpage{II-42}{para 3, l.4}{MRu}{2024/04/12}{s}
+rudimentary \> rudimentarily
\erroronpage{II-50}{font sample Cambria}{FMi}{2023/08/14}{s}
@@ -786,7 +892,7 @@ Because of problems with the font names, the Cambria family currently requires a
BoldItalicFont = cambriaz.ttf}
\end{verbatim}
Without it, the bold fonts are not correctly set up, which is why
-\textbf{almost anything} is not in bold and \textbf{Fields} is not typeset in
+\textbf{almost anything} was not in bold and \textbf{Fields} was not typeset in
bold small caps in the sample even though Cambria supports these typefaces.
@@ -928,37 +1034,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.
@@ -1302,6 +1408,10 @@ 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}{s}
+Extend the explanation:\\
+\u{you can} use \cs{mancite} \u{in front of any citation command} to avoid this.
+
\erroronpage{II-560}{exa 16-7-31}{FMi}{2023/08/31}{s}
Jane Doe.\ \textit{A\u{n} second book.}\ 2020.\> Jane Doe.\ \textit{A second book.}\ 2020.
@@ -1319,7 +1429,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
@@ -1328,10 +1439,34 @@ Replace for consistency with section 1.4: \u{command definition} \> \u{code}
\erroronpage{II-633}{para 2}{BeB/FMi}{2023/08/31}{s}
Add at the end: A maximum of nine ``argument'' letters is supported.
+\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}
+\erroronpage{II-663}{A-3-7}{MRu}{2024/05/01}{}
+In the code, text should read either ``This is the content'' or ``These are the contents''.
+
+\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}
@@ -1349,9 +1484,10 @@ Appendix title not properly capitalized.
\end{erratalist}
+\newpage
-\section*{Notes on this errata document}
+\section{Notes on this errata document}
\setcounter{collectmore}{3}
@@ -1359,19 +1495,23 @@ Appendix title not properly capitalized.
\begin{multicols}{3}[Thanks to all who have found errors or
omissions. Listed are the people who found an errata entry first.]
\contributor{BeB}{Bernd Burghardt}
+\contributor{BYu}{Boshi Yuan}
\contributor{CAR}{Chris Rowley}
\contributor{DC}{Davide Campagnari}
\contributor{DFl}{Daniel Flipo}
\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}
\contributor{bb}{Barbara Beeton}
\contributor{kb}{Karl Berry}
\end{multicols}
+
Other people have sent us corrections for errors already found.
Thanks to all of you!
diff --git a/Master/texmf-dist/doc/latex/base/tlc3.pdf b/Master/texmf-dist/doc/latex/base/tlc3.pdf
index 1eea1e9857e..198cbb16360 100644
--- a/Master/texmf-dist/doc/latex/base/tlc3.pdf
+++ b/Master/texmf-dist/doc/latex/base/tlc3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/tulm.pdf b/Master/texmf-dist/doc/latex/base/tulm.pdf
index 19d49a63034..0a64636e3a2 100644
--- a/Master/texmf-dist/doc/latex/base/tulm.pdf
+++ b/Master/texmf-dist/doc/latex/base/tulm.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/usrguide-historic.pdf b/Master/texmf-dist/doc/latex/base/usrguide-historic.pdf
index 5084e9eee8f..e532c7d8a76 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide-historic.pdf
+++ b/Master/texmf-dist/doc/latex/base/usrguide-historic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/usrguide-historic.tex b/Master/texmf-dist/doc/latex/base/usrguide-historic.tex
index 4888361160d..228a253abba 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide-historic.tex
+++ b/Master/texmf-dist/doc/latex/base/usrguide-historic.tex
@@ -34,15 +34,15 @@
\title{\LaTeX\ for authors --- historic version}
-\author{\copyright~Copyright 1995--2022, \LaTeX\ Project Team.\\
+\author{\copyright~Copyright 1995--2023, \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
of this license or (at your option) any later version. See the source
- \texttt{usrguide.tex} for full details.}%
+ \texttt{usrguide-historic.tex} for full details.}%
}
-\date{30 August 2022}
+\date{09 November 2023}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/base/usrguide.pdf b/Master/texmf-dist/doc/latex/base/usrguide.pdf
index 3704f7e7ff9..10b446a2949 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide.pdf
+++ b/Master/texmf-dist/doc/latex/base/usrguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/usrguide.tex b/Master/texmf-dist/doc/latex/base/usrguide.tex
index d3ccb2161e5..2b9e959627b 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide.tex
+++ b/Master/texmf-dist/doc/latex/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-05-23}
+\date{2024-05-24}
\NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}}
\NewDocumentCommand\marg{m}{\arg{#1}}
@@ -646,7 +646,7 @@ 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
+i.e.~the following inputs and outputs result (each separate item as
a brace group).
\begin{verbatim}
a ==> {a}
@@ -794,6 +794,73 @@ 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
+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. 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.
+
\subsection{Details about argument delimiters}
In normal (non-expandable) commands, the delimited types look for the
@@ -951,7 +1018,7 @@ The differences between \cs{New...}, \cs{Renew...}, and
\begin{decl}
|\ShowEnvironment| \arg{env}
\end{decl}
-This displays the meaning of the begin end end code for environment \meta{env}.
+This displays the meaning of the begin and end code for environment \meta{env}.
@@ -1052,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
@@ -1161,7 +1234,7 @@ therefore shows the same syntax peculiars as discussed
above. Nevertheless, in practice they are usually sufficient. For
example
\begin{verbatim}
-\newcommand\calculateheight[1]{%
+\NewDocumentCommand\calculateheight{m}{%
\setlength\textheight{\dimeval{\topskip+\baselineskip*\inteval{#1-1}}}}
\end{verbatim}
sets the \cs{textheight} to the appropriate value if a page should
@@ -1186,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{quotation}
- \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{quotation}
+\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},
@@ -1208,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{quotation}
- \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{quotation}
+\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.
@@ -1244,18 +1317,54 @@ 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{quotation}
- |\DeclareUppercaseMapping{"01F0}{\v{J}}|
-\end{quotation}
+\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{quotation}
- |\DeclareLowercaseMapping[xx]{"0049}{\i}|\\
- |\DeclareLowercaseMapping[xx]{"0130}{i}|\\
- |\DeclareUppercaseMapping[xx]{"0069}{\.{I}}|\\
- |\DeclareUppercaseMapping[xx]{"0131}{I}|
-\end{quotation}
+\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}
+
+\begin{decl}
+ |\listfiles| \oarg{options}
+\end{decl}
+
+If this command is placed in the preamble then a list of the files
+read in (as a result of processing the document) will be displayed
+on the terminal (and in the log file) at the end of the run. Where
+possible, a short description will also be produced. These descriptions
+will (hopefully) include the descriptions, dates and version numbers
+for package and class files.
+
+Sometimes, it may be that a local edit has been made to a package or
+class file (or rather a copy of such a file). To allow these cases to
+be identified, \cs{listfiles} takes an optional argument which allows
+adjustment of the information printed using a key--value approach
+\begin{description}
+ \item[\texttt{hashes}] Adds the MD5 hash for each file to the
+ information printed
+ \item[\texttt{sizes}] Adds the file size for each file to the
+ information printed
+\end{description}
+Note that as Windows and Unix use different line endings (LF \emph{versus} LF
+CR), the hashes and file sizes from the two systems will not be the same. As
+such, you should compare these values between operating systems of the same
+type.
+
+\emph{Warning}: this command will list only files which were read
+using \LaTeX{} commands such as |\input|\arg{file} or
+|\include|\arg{file}. If the file was read using the primitive \TeX{}
+syntax |\input |\emph{file} (without |{ }| braces around the file name)
+then it will not be listed; failure to use the \LaTeX{} form with the
+braces can cause more severe problems, possibly leading to overwriting
+important files, so \textbf{always put in the braces}.
\end{document}
diff --git a/Master/texmf-dist/doc/latex/base/utf8ienc.pdf b/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
index 27d6973f5d7..3fea56f8275 100644
--- a/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
+++ b/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/webcomp.err b/Master/texmf-dist/doc/latex/base/webcomp.err
index 1b3b7a24751..aabef281879 100644
--- a/Master/texmf-dist/doc/latex/base/webcomp.err
+++ b/Master/texmf-dist/doc/latex/base/webcomp.err
@@ -373,7 +373,7 @@ preferable in a form usable for this file, i.e.,
\begin{flushleft}
|\erroronpage{|\textit{page-number}|}{|\textit{line-identification}|}{|%
\textit{your-initials}|}{|\textit{date}|}{}| \\
- \hspace*{2em}\textit{description of the the errata}
+ \hspace*{2em}\textit{description of the errata}
\end{flushleft}
Here is an example:
\begin{verbatim}
diff --git a/Master/texmf-dist/doc/latex/base/webcomp.pdf b/Master/texmf-dist/doc/latex/base/webcomp.pdf
index d923e8ecc58..0f4a1d8f761 100644
--- a/Master/texmf-dist/doc/latex/base/webcomp.pdf
+++ b/Master/texmf-dist/doc/latex/base/webcomp.pdf
Binary files differ