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.md13
-rw-r--r--Master/texmf-dist/doc/latex/base/alltt.pdfbin214860 -> 223831 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cfgguide.pdfbin242895 -> 242888 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cfgguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/changes.txt333
-rw-r--r--Master/texmf-dist/doc/latex/base/classes.pdfbin550870 -> 560350 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide.pdfbin402787 -> 402780 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/clsguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/cmfonts.pdfbin292376 -> 292376 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cyrguide.pdfbin239688 -> 239689 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/cyrguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/doc-code.pdfbin0 -> 1081719 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/doc-code.tex4
-rw-r--r--Master/texmf-dist/doc/latex/base/doc.pdfbin677451 -> 755165 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/docstrip.pdfbin503607 -> 503620 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/encguide.pdfbin1309999 -> 1318126 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/encguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/exscale.pdfbin204716 -> 204711 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fix-cm.pdfbin287729 -> 288328 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fntguide.pdfbin493966 -> 502880 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/fntguide.tex510
-rw-r--r--Master/texmf-dist/doc/latex/base/graphpap.pdfbin161721 -> 161713 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ifthen.pdfbin220540 -> 221211 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/inputenc.pdfbin318171 -> 318204 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lamport-manual.pdfbin170882 -> 170878 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/latexchanges.pdfbin469973 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/latexchanges.tex1025
-rw-r--r--Master/texmf-dist/doc/latex/base/latexrelease.pdfbin281880 -> 281906 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/latexsym.pdfbin200762 -> 200760 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lb2.err2
-rw-r--r--Master/texmf-dist/doc/latex/base/lb2.pdfbin252163 -> 252140 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/letter.pdfbin328903 -> 337544 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lgc2.err10
-rw-r--r--Master/texmf-dist/doc/latex/base/lgc2.pdfbin215099 -> 215684 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lppl.pdfbin132380 -> 132382 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltcmdhooks-code.pdfbin717887 -> 720048 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.pdfbin479214 -> 478890 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.tex1
-rw-r--r--Master/texmf-dist/doc/latex/base/ltfilehook-code.pdfbin795179 -> 802835 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltfilehook-doc.pdfbin547018 -> 548523 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltfilehook-doc.tex1
-rw-r--r--Master/texmf-dist/doc/latex/base/lthooks-code.pdfbin1083186 -> 1096906 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lthooks-doc.pdfbin703644 -> 703813 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/lthooks-doc.tex1
-rw-r--r--Master/texmf-dist/doc/latex/base/ltluatex.pdfbin317601 -> 317700 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-code.pdfbin0 -> 715490 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-code.tex5
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-doc.pdfbin0 -> 586925 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltmarks-doc.tex8
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews.pdfbin1120381 -> 1180993 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews.tex10
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews01.pdfbin161527 -> 161518 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews01.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews02.pdfbin159800 -> 159792 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews02.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews03.pdfbin159341 -> 159332 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews03.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews04.pdfbin152535 -> 152525 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews04.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews05.pdfbin174508 -> 174494 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews05.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews06.pdfbin142860 -> 142849 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews06.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews07.pdfbin137821 -> 137811 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews07.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews08.pdfbin155062 -> 155053 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews08.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews09.pdfbin129581 -> 129570 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews09.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews10.pdfbin169419 -> 169416 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews10.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews11.pdfbin111963 -> 111948 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews11.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews12.pdfbin156565 -> 156551 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews12.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews13.pdfbin182229 -> 182225 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews13.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews14.pdfbin170481 -> 170473 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews14.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews15.pdfbin130318 -> 130309 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews15.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews16.pdfbin138088 -> 138073 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews16.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews17.pdfbin166242 -> 166228 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews17.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews18.pdfbin38039 -> 38033 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews18.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews19.pdfbin230035 -> 230028 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews19.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews20.pdfbin318554 -> 318548 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews21.pdfbin244869 -> 244867 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews22.pdfbin317774 -> 317773 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews22.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews23.pdfbin286599 -> 286591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews23.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews24.pdfbin265291 -> 265279 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews24.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews25.pdfbin204941 -> 204935 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews25.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews26.pdfbin379468 -> 379462 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews26.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews27.pdfbin250601 -> 250592 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews27.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews28.pdfbin376655 -> 376643 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews28.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews29.pdfbin455108 -> 455107 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews29.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews30.pdfbin511909 -> 511909 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews31.pdfbin526324 -> 526323 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews32.pdfbin546175 -> 546160 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews32.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews33.pdfbin522421 -> 522412 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews34.pdfbin507763 -> 508044 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews34.tex9
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews35.pdfbin0 -> 563513 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltnews35.tex987
-rw-r--r--Master/texmf-dist/doc/latex/base/ltpara-code.pdfbin666698 -> 666944 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltpara-doc.pdfbin560208 -> 560439 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltpara-doc.tex1
-rw-r--r--Master/texmf-dist/doc/latex/base/ltshipout-code.pdfbin817756 -> 820689 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltshipout-doc.pdfbin564767 -> 564986 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltshipout-doc.tex1
-rw-r--r--Master/texmf-dist/doc/latex/base/ltx3info.pdfbin219360 -> 219349 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/ltx3info.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/ltxdoc.pdfbin230966 -> 242822 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/makeindx.pdfbin165836 -> 165821 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/manifest.txt14
-rw-r--r--Master/texmf-dist/doc/latex/base/modguide.pdfbin243610 -> 243605 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/modguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/nfssfont.pdfbin211186 -> 211180 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/proc.pdfbin226371 -> 227059 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/slides.pdfbin374232 -> 375518 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/slifonts.pdfbin234186 -> 234191 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/source2e.pdfbin5461272 -> 5761047 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/source2e.tex8
-rw-r--r--Master/texmf-dist/doc/latex/base/syntonly.pdfbin189946 -> 189644 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/tex2.txt83
-rw-r--r--Master/texmf-dist/doc/latex/base/texpert.txt210
-rw-r--r--Master/texmf-dist/doc/latex/base/tlc2.err22
-rw-r--r--Master/texmf-dist/doc/latex/base/tlc2.pdfbin289525 -> 290615 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/tulm.pdfbin162776 -> 162772 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide.pdfbin431002 -> 430994 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide3.pdfbin325735 -> 403394 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/usrguide3.tex370
-rw-r--r--Master/texmf-dist/doc/latex/base/utf8ienc.pdfbin352793 -> 353574 bytes
-rw-r--r--Master/texmf-dist/doc/latex/base/webcomp.pdfbin146209 -> 146198 bytes
147 files changed, 2245 insertions, 1453 deletions
diff --git a/Master/texmf-dist/doc/latex/base/README.md b/Master/texmf-dist/doc/latex/base/README.md
index 9155151888c..436bffdd5ee 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 2021-11-15 patch level 1
+Release 2022-06-01
Overview
--------
@@ -10,10 +10,15 @@ This bundle provides the core LaTeX kernel. In addition to this bundle,
a minimal LaTeX system also needs the files contained in the
- LaTeX team documentation (`doc`)
+- L3 programming layer (`l3kernel`)
+- L3 backend interfaces (`l3backend`)
+- L3 unicode support (`unicode-data`)
+
- Packages which must be available (`required`). These are
- Essential tools (`tools`)
- Core graphics and color support (`graphics`)
- Key mathematics support (`amsmath`)
+ - First aid for external packages (`firstaid`)
This file contains a small set of pointers to other more complete
documentation on installing and using a LaTeX system.
@@ -36,10 +41,6 @@ the most significant of these files are
with one line of information about the contents
- `legal.txt` and `lppl.txt` (LaTeX Project Public License) describe the
LaTeX copyright, warranty and copying restrictions.
-- `texpert.txt` contains information about the system that may still be
- useful for TeX experts
-- `tex2.txt` contains important information for users of extremely
- old versions of TeX (pre 1990)
- `bugs.txt` describes how to submit a bug report for LaTeX
Other documentation files include files with names of the form:
@@ -93,6 +94,6 @@ version 1.3c or later.
-----
-<p>Copyright (C) 1989-2021 The LaTeX Project <br />
+<p>Copyright (C) 1989-2022 The LaTeX Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/Master/texmf-dist/doc/latex/base/alltt.pdf b/Master/texmf-dist/doc/latex/base/alltt.pdf
index 63530059b0a..7f53e4ee127 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 30ca13ff990..d018177ecb1 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/cfgguide.tex b/Master/texmf-dist/doc/latex/base/cfgguide.tex
index 66c02e4c33e..7694ef9b637 100644
--- a/Master/texmf-dist/doc/latex/base/cfgguide.tex
+++ b/Master/texmf-dist/doc/latex/base/cfgguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/changes.txt b/Master/texmf-dist/doc/latex/base/changes.txt
index 1b8b0fc5d4a..f880f43d679 100644
--- a/Master/texmf-dist/doc/latex/base/changes.txt
+++ b/Master/texmf-dist/doc/latex/base/changes.txt
@@ -11,6 +11,329 @@ All changes above are only part of the development branch for the next release.
================================================================================
#########################
+# 2022-06-01 Release
+#########################
+
+2022-06-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * utf8ienc.dtx (subsection{The mapping table}):
+ Fix \guillemetleft and \guillemetright also in dfu files (gh/65)
+
+2022-06-03 David Carlisle <David.Carlisle@latex-project.org>
+
+ * doc.dtx: adjust ltxdoc.cls and doc.dtx to process existing
+ use of L3 names and \pkg in base dtx files
+
+2022-06-02 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfinal.dtx: add \NoCaseChange (previously available in the
+ textcase package)
+
+2022-06-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx (subsection{Updating mark structures}):
+ Be more careful when unpackage a \vbox for mark detection, it might
+ contain infinite shrink glue (gh/836)
+
+2022-05-27 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfiles.dtx, ltoutenc.dtx:
+ save the original version string in \ver@@...
+ Usable by \listfiles if the standard \ver@... command has been set to \relax
+ (as in fontenc.sty) gh/825
+
+2022-05-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{Customisation}):
+ Added option doc2 so that old doc version can be requested (gh/822)
+
+2022-05-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection{Processing the package keys}):
+ Adjusted doc to use \ProcessKeyOptions (not the older l3keys2e variant)
+
+2022-05-17 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx (subsection{Setting rules for hooks code}):
+ Refuse sorting one-time hooks (gh/818).
+
+2022-05-17 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * ltmeta.dtx:
+ Added dummy definitions for target commands.
+
+2022-05-13 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx (subsection{Using the hook}):
+ Avoid l3debug error on an undeclared variable in \hook_use_once:nnn.
+
+2022-05-08 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * utf8ienc.dtx:
+ Declare Unicode codepoints U+3008 and U+3009 to be equivalent
+ to their canonical equivalent codepoints 2329/232A (corresponding
+ to \textlangle/\textrangle)
+
+2022-05-08 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * ltmath.dtx: Use more consistent default math styles on LuaLaTeX
+
+2022-04-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * ltxref.dtx:
+ Added starred versions of \ref, \pageref and \Ref
+ Added expandable version for \pageref and \ref
+ * ifthen.dtx:
+ use new expandable version for \pageref and \ref
+
+2022-05-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltshipout.dtx (subsection{Handling the end of job hook}):
+ Handle case where shipout/lastpage is run too early and issue
+ a warning (gh/813)
+
+2022-04-21 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltfinal.dtx (subsection{Lccodes and uccodes}):
+ Support \noexpand in arg. to \MakeUppercase and
+ \MakeLowercase
+
+2022-04-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmath.dtx (subsubsection{The UNSORTED Rest}):
+ Make \openup robust (gh/123)
+
+2022-04-03 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmarks.dtx: New module to implement new marks mechanism
+
+ * ltpage.dtx (section| command.):
+ Updates to \markboth and \markright to interface with new mark mechanism
+
+ * ltoutput.dtx (subsection{Floats}):
+ Interface with new mark mechanism
+
+ * ltfinal.dtx (subsection{Typesetting parameters}):
+ Integration of new mark management interface
+
+2022-04-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfiles.dtx (section{File Handling}):
+ Process include/excluded hook(s) if an include file is bypassed
+
+ * lthooks.dtx (subsection{Adding or removing hook code}):
+ Add support for generic include/.../excluded hooks
+
+ * ltfilehook.dtx: document include/excluded hooks
+
+2022-03-18 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltcmd.dtx (subsection{Utilities}):
+ Fix \@@_cmd_type_cases:NnnnnF prematurely expanding macros (gh/795).
+
+2022-03-18 Joseph Wright <joseph.wright@latex-project.org>
+
+ * ltkeys.dtx:
+ Remove \ProcessKeyPackageOptions
+
+2022-03-10 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltfilehook.dtx (subsection{Selecting a file (\cs{set@curr@file})}):
+ Add \set@curr@file@nosearch, to ignore \input@path and \l_file_search_path_seq.
+
+2022-03-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltbibl.dtx (section{Bibliography Generation}):
+ Ensure that an empty argument given to \cite generates
+ a warning (gh/790)
+
+2022-02-28 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltvers.dtx (subsection{Declaring an all-new module}):
+ Detect a missing \IncludeInRelease{0000/00/00} in a new module.
+
+2022-02-28 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * latexrelease.dtx, ltexpl.dtx, ltcmd.dtx:
+ Move most make-harmless redefinitions right after ltexpl.dtx.
+
+2022-02-21 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltkeys.dtx:
+ More efficient module expansion
+
+2022-02-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltcmd.dtx (subsection{User functions}):
+ Added \IfBlankTF and friends to test if a received argument
+ is empty or contains only normal space characters.
+
+2022-02-19 David Carlisle <David.Carlisle@latex-project.org>
+
+ * utf8ienc.dtx: use \protected definitions.
+ also avoid global definitions for gh/762
+
+2022-02-16 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltkeys.dtx:
+ Allow for active characters in module argument
+ \DeclareUnknownKeyHandler better than with the "s"
+
+2022-02-15 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltkeys.dtx:
+ Expand optional module argument in design-level commands
+ Add \DeclareUnknownKeysHandler
+
+2022-02-07 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltkeys.dtx:
+ Correct definition of .code property
+
+2022-02-05 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltkeys.dtx:
+ Create key properties at the 2e layer
+ Add .code property
+
+2022-01-25 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltplain.dtx (section{Plain \TeX}):
+ Alter \obeyspaces and \obeylines to use a redirection for special
+ use cases (gh/367)}
+
+2022-01-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection{Keys supported by doc):
+ Fixed key handling for nohyperref and nomulticol (gh/750).
+
+2022-01-15 Joseph Wright <Joseph.Wright-project.org>
+
+ * ltkeys.dtx:
+ Clear option data in \AtEndOfPackage hook
+
+2022-01-06 Joseph Wright <Joseph.Wright-project.org>
+
+ * ltexpl.dtx (section{Document-level command names for expl3 functions}):
+ Adjust document-level names for \exp_args:Nc and the like
+
+2021-12-30 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * ltmeta.dtx:
+ Adapted bundle name to new name `LaTeX-lab'
+
+2021-12-31 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltcmd.dtx (subsubsection{Showing the definition of a command}):
+ Make \ShowCommand stop for interaction with ltcmd (gh/739)
+
+2021-12-28 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltexpl.dtx (section{Document-level command names for expl3 functions}):
+ Added document-level names for \exp_args:Nc and the like
+ for use with \NewDocumentCommand, etc. (gh/735)
+
+2021-12-27 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * ltluatex.dtx:
+ Added \newluacmd and \newprotectedluacmd for easy allocation of Lua command ids.
+
+2021-12-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmeta.dtx:
+ First version of this module added implementing an interface to
+ \DocumentMetadata. At the moment the actual code is outside the
+ format and only loaded if the command is called.
+
+2021-12-13 David Carlisle <David.Carlisle@latex-project.org>
+
+ * utf8ienc.dtx: Use hex 80 not A0 to test for single byte UTF-8 github/730
+
+2021-12-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltoutenc.dtx (subsection{Definitions for the TU encoding}):
+ \DeclareUnicodeAccent now makes the encoding argument implicit
+ as it is already done for other Unicode encoding commands.
+ Also added \DeclareUnicodeCommand and \DeclareUnicodeSymbol (gh/253).
+
+2021-12-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx (subsection[Dealing with the change history]):
+ Implement option recordchangedates to show dates in the change log
+ if that option is used (gh/531).
+
+2021-12-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltdirchk.dtx (section{Initialization}):
+ Add comment lines into latex.ltx to indicate temp definitions that
+ are later overwritten (gh/725).
+
+2021-12-10 David Carlisle <David.Carlisle@latex-project.org>
+
+ * utf8ienc.dtx: Add inputenc UTF-8 support for Digraphs U+01C4-U+01CC
+
+2021-12-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * proc.dtx (subsection{The page style}):
+ Support twoside by providing an appropriate footer line (gh/704).
+
+2021-12-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttextcomp.dtx (section{Sub-encodings}):
+ Describe correctly (I hope) how sub-encodings work for TS1.
+
+2021-11-30 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltexpl.dtx:
+ Added \fpeval, \inteval, \dimeval, and \skipeval (gh711)
+
+2021-11-18 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * All *.dtx: Replaced \StopEventually by \MaybeStop
+
+2021-11-30 Joseph Wright <joseph.wright@latex-project.org>
+
+ * ltclasses.dtx
+ New option handling routine using ltkeys
+
+2021-11-26 Joseph Wright <joseph.wright@latex-project.org>
+
+ * ltkeys.dtx
+ New file to integrate keyval option processing into the kernel
+
+2021-11-17 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * ltluatex.dtx:
+ Classify [hv]pack_quality callbacks as exclusive
+ Never pass true to the engine for LuaTeX list callbacks
+
+2021-11-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * build.lua (textfiles):
+ Dropped a few obsolete documentation files (nobody installs manually these
+ days and the advice given was no longer current).
+
+ * latexchanges.tex:
+ We no longer maintain this file; instead everything is documented in ltnewsXX
+ and in the changes.txt files so we zap this file too because the double book
+ keeping always means one or the other is out of date.
+
+2021-11-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * doc.dtx: Replaced doc.dtx with V3 version.
+ The old doc can be reactivated with \usepackage{doc}[=v2].
+ Hyperref usage (on by default) can be turned off with
+ \usepackage[hyperref=false]{doc}.
+ New options etc are documented: use texdoc doc
+ (code documentation only partly done).
+
+2021-11-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{Configuration file}):
+ Added our default .cfg for extraction.
+ Added option "nocfg" to bypass a system cfg.
+
+#########################
# 2021-11-15 PL1 Release
#########################
@@ -24,7 +347,7 @@ All changes above are only part of the development branch for the next release.
# 2021-11-15 Release
#########################
-2021-10-20 Phelype Oleinik <phelype.oleinik@latex-project.org>
+2021-10-20 Phelype Oleinik <phelype.oleinik@latex-project.org>
* ltcmdhooks.dtx (subsubsection{Patching by expansion and redefinition}):
Fix patching of commands that contain parameter tokens (gh/697)
@@ -62,7 +385,7 @@ All changes above are only part of the development branch for the next release.
* classes.dtx, doc.dtx, makeindx.dtx, preload.dtx, slides.dtx, array.dtx
Removed old references to latex.tex or latex.dtx (gh/685)
-2021-09-28 Phelype Oleinik <phelype.oleinik@latex-project.org>
+2021-09-28 Phelype Oleinik <phelype.oleinik@latex-project.org>
* ltcmdhooks.dtx (subsection{Patching commands}):
Make patching of commands with generic cmd hooks a global operation (gh/674)
@@ -1435,8 +1758,8 @@ All changes above are only part of the development branch for the next release.
* fontdef.dtx (subsection{Defaults}): Set
\shapedefault explicitly to "n" not \updefault
- \bfdefault set to to "b" not "bx" (but bx for CM fonts)
- \updefault set to to "up" not "n".
+ \bfdefault set to "b" not "bx" (but bx for CM fonts)
+ \updefault set to "up" not "n".
Part of extending the series and shape handling, see ltnews31.
2019-12-17 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
@@ -12007,7 +12330,7 @@ All changes above are only part of the development branch for the next release.
* unpack2e.ins:
Removed unnecessary .drv generation (some are still there)
- Added the the WITHOUT ANY WARRANTY message to some preambles.
+ Added the WITHOUT ANY WARRANTY message to some preambles.
* oldgerm.dtx:
Moved the driver code in front so that the documentation can be
diff --git a/Master/texmf-dist/doc/latex/base/classes.pdf b/Master/texmf-dist/doc/latex/base/classes.pdf
index 3dfd203f5a8..20fbdaf242e 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.pdf b/Master/texmf-dist/doc/latex/base/clsguide.pdf
index 5d18a12d965..11d0c9e47ae 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 3667210e5f3..6f4d1cf027d 100644
--- a/Master/texmf-dist/doc/latex/base/clsguide.tex
+++ b/Master/texmf-dist/doc/latex/base/clsguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/cmfonts.pdf b/Master/texmf-dist/doc/latex/base/cmfonts.pdf
index 1fce33a17b5..5c254840246 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 9100b0a809c..e9fa3363798 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/cyrguide.tex b/Master/texmf-dist/doc/latex/base/cyrguide.tex
index 07d4bc0b3fb..3b16687f39e 100644
--- a/Master/texmf-dist/doc/latex/base/cyrguide.tex
+++ b/Master/texmf-dist/doc/latex/base/cyrguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/doc-code.pdf b/Master/texmf-dist/doc/latex/base/doc-code.pdf
new file mode 100644
index 00000000000..9d52323c414
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/doc-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/doc-code.tex b/Master/texmf-dist/doc/latex/base/doc-code.tex
new file mode 100644
index 00000000000..6457d22e032
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/doc-code.tex
@@ -0,0 +1,4 @@
+% this will typeset documentation + code
+
+\AtBeginDocument{\AlsoImplementation}
+\input{doc.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/doc.pdf b/Master/texmf-dist/doc/latex/base/doc.pdf
index 0c04b70a25e..c649645b07a 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 e7384661969..07457cea0d9 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 34db11a39ed..fca0d5c6117 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/encguide.tex b/Master/texmf-dist/doc/latex/base/encguide.tex
index d70233eab4a..3c95cf30cce 100644
--- a/Master/texmf-dist/doc/latex/base/encguide.tex
+++ b/Master/texmf-dist/doc/latex/base/encguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/exscale.pdf b/Master/texmf-dist/doc/latex/base/exscale.pdf
index 59ff05aa276..ac3162238a5 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 1d0a7e432b6..ffe0337c9b7 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 04f2a069c07..34bae59beac 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 a4b872a261d..62d35383042 100644
--- a/Master/texmf-dist/doc/latex/base/fntguide.tex
+++ b/Master/texmf-dist/doc/latex/base/fntguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
%
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
@@ -12,7 +12,7 @@
% 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
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2008 or later.
%
@@ -33,16 +33,21 @@
\documentclass{ltxguide}[1995/11/28]
-\usepackage{varioref}
+
+\setcounter{totalnumber}{8}
+\setcounter{topnumber}{8}
+
+\usepackage[trace]{fewerfloatpages}
+\usepackage{booktabs,varioref}
\title{\LaTeXe{} font selection}
\author{\copyright~Copyright 1995--2021, \LaTeX\ Project
Team.\thanks{Thanks to Arash Esbati for documenting the
newer NFSS features of 2020}\\
- All rights reserved.}
+ All rights reserved.}
-\date{March 2021}
+\date{December 2021}
\begin{document}
@@ -160,7 +165,7 @@ For more information about \TeX{} and \LaTeX{}, please contact your
local \TeX{} Users Group, or the international \TeX{} Users Group.
Addresses and other details can be found at:
\begin{quote}\small\label{addrs}
- \texttt{http://www.tug.org/lugs.html}
+ \texttt{https://www.tug.org/lugs.html}
\end{quote}
@@ -288,6 +293,9 @@ naming scheme to allow for sensible default substitutions if necessary,
e.g., ``demi-bold'' is normally just another name for ``semi-bold'', so
should get |sb| assigned, etc.
+
+\newpage
+
\NEWdescription{2020/02/02}
The most common values for the font shape are:
\begin{center}
@@ -343,27 +351,29 @@ box warning, for example:
Overfull \hbox (3.80855pt too wide) in paragraph at lines 314--318
[]\OT1/cmr/m/n/10 Normally [] and [] will be iden-ti-cal,
\end{verbatim}
-The author commands for fonts set the five attributes:
-\begin{center}
- \hspace*{-1em}%
- \begin{tabular}{rcl}
- \emph{Author command} & \emph{Attribute}
+The author commands for fonts set the five attributes as shown in table~\vref{tab:attributes}.
+\begin{table}[!tbp]
+ \centering
+ \begin{tabular}{@{}r@{\hspace{3pt}}c@{\hspace{1pt}}c@{}}
+ \toprule
+ \multicolumn{1}{c}{\emph{Author command}} & \emph{Attribute}
& \emph{Value in} |article| \emph{class} \\
+ \midrule
|\textnormal{..}| or |\normalfont| & family & |cmr| \\
& series & |m| \\
- & shape & |n| \\[1pt]
+ & shape & |n| \\ \midrule%[2pt]
|\textrm{..}| or |\rmfamily| & family & |cmr| \\
|\textsf{..}| or |\sffamily| & family & |cmss| \\
|\texttt{..}| or |\ttfamily| & family & |cmtt| \\
|\textmd{..}| or |\mdseries| & series & |m| \\
- |\textbf{..}| or |\bfseries| & series & |bx| \\[1pt]
+ |\textbf{..}| or |\bfseries| & series & |bx| \\ \midrule%[2pt]
|\textit{..}| or |\itshape| & shape & |it| \\
|\textsl{..}| or |\slshape| & shape & |sl| \\
|\textsc{..}| or |\scshape| & shape & |sc| \\
|\textssc{..}| or |\sscshape| & shape & |ssc| \\
|\textsw{..}| or |\swshape| & shape & |sw| \\
- |\textulc{..}| or |\ulcshape| & shape & |ulc| (virtual) $\to$ |n|, |it|, |sl| or |ssc| \\
- |\textup{..}| or |\upshape| & shape & |up| (virtual) $\to$ |n| or |sc| \\[1pt]
+ |\textulc{..}| or |\ulcshape| & shape & |ulc| (virtual) $\to$ |n|, |it|, |sl| or |ssc| \\
+ |\textup{..}| or |\upshape| & shape & | up| (virtual) $\to$ |n| or |sc |\phantom{, , } \\\midrule%[2pt]
|\tiny| & size & |5pt| \\
|\scriptsize| & size & |7pt| \\
|\footnotesize| & size & |8pt| \\
@@ -373,9 +383,11 @@ The author commands for fonts set the five attributes:
|\Large| & size & |14.4pt| \\
|\LARGE| & size & |17.28pt| \\
|\huge| & size & |20.74pt| \\
- |\Huge| & size & |24.88pt|
+ |\Huge| & size & |24.88pt| \\
+ \bottomrule
\end{tabular}
-\end{center}
+ \caption{Author font commands and their effects (article class)}\label{tab:attributes}
+\end{table}
The values used by these commands are determined by the document class,
using the parameters defined in Section~\ref{Sec:text.param}.
@@ -386,16 +398,20 @@ This section does not explain how \LaTeX{} font specifications are
turned into \TeX{} font names. This is described in
Section~\ref{Sec:install}.
+
+\newpage
+
+
\subsection{Selection commands}
The low-level commands used to select a text font are as follows.
\begin{decl}
|\fontencoding| \arg{encoding} \\
- |\fontfamily| \arg{family} \\
- |\fontseries| \arg{series} \\
+ |\fontfamily| \arg{family} \qquad
+ |\fontseries| \arg{series} \qquad
|\fontshape| \arg{shape} \\
- |\fontsize| \arg{size} \arg{baselineskip} \\
+ |\fontsize| \arg{size} \arg{baselineskip} \qquad
|\linespread| \arg{factor}
\end{decl}
@@ -439,14 +455,14 @@ to |\selectfont|.
The current values of the font attributes are held in internal macros.
\begin{decl}
- |\f@encoding| \\
- |\f@family| \\
- |\f@series| \\
- |\f@shape| \\
- |\f@size| \\
+ |\f@encoding| \quad
+ |\f@family| \quad
+ |\f@series| \quad
+ |\f@shape| \quad
+ |\f@size| \quad
|\f@baselineskip| \\
- |\tf@size| \\
- |\sf@size| \\
+ |\tf@size| \quad
+ |\sf@size| \quad
|\ssf@size|
\end{decl}
@@ -482,9 +498,9 @@ specifies:
\end{verbatim}
\begin{decl}
- |\encodingdefault| \\
- |\familydefault| \\
- |\seriesdefault| \\
+ |\encodingdefault| \qquad
+ |\familydefault| \qquad
+ |\seriesdefault| \qquad
|\shapedefault|
\end{decl}
The encoding, family, series and shape of the main body font. By
@@ -493,8 +509,8 @@ default family is |\rmdefault|, this means that changing |\rmdefault|
will change the main body font of the document.
\begin{decl}
- |\rmdefault| \\
- |\sfdefault| \\
+ |\rmdefault| \qquad
+ |\sfdefault| \qquad
|\ttdefault|
\end{decl}
The families selected by |\textrm|, |\rmfamily|, |\textsf|, |\sffamily|,
@@ -502,7 +518,7 @@ The families selected by |\textrm|, |\rmfamily|, |\textsf|, |\sffamily|,
|cmtt|.
\begin{decl}
- |\bfdefault| \\
+ |\bfdefault| \qquad
|\mddefault|
\end{decl}
The series selected by |\textbf|, |\bfseries|, |\textmd| and
@@ -516,12 +532,12 @@ the fonts provided by |psnfss|) is to define silent substitutions from
and the |ssub| size function, see Section~\ref{sec:sizefunct}.
\begin{decl}
- |\itdefault| \\
- |\sldefault| \\
- |\scdefault| \\
- |\sscdefault| \\
+ |\itdefault| \qquad
+ |\sldefault| \qquad
+ |\scdefault| \qquad
+ |\sscdefault| \qquad
|\swdefault| \\
- |\ulcdefault| \\
+ |\ulcdefault| \qquad
|\updefault|
\end{decl}
\NEWfeature{2020/02/02}
@@ -611,6 +627,8 @@ This declaration is useful for setting up commands like |\rm| to behave
as they did in \LaTeX~2.09. We strongly urge you \emph{not} to misuse
this declaration to invent new font commands.
+\newpage
+
The following example defines |\it| to produce the italic shape of the
main document font if used in text and to switch to the font that would
normally be produced by the math alphabet |\mathit| if used in a
@@ -714,13 +732,13 @@ selected indirectly through symbol commands like |\oplus|.
Section~\ref{Sec:math.commands} explains how to define symbol commands.
\begin{decl}
- |\mathnormal{<math>}| \\
- |\mathcal{<math>}| \\
- |\mathrm{<math>}| \\
- |\mathbf{<math>}| \\
- |\mathsf{<math>}| \\
+ |\mathnormal{<math>}| \quad
+ |\mathcal{<math>}| \quad
+ |\mathbf{<math>}| \quad
|\mathit{<math>}| \\
- |\mathtt{<math>}|
+ |\mathrm{<math>}| \qquad
+ |\mathsf{<math>}| \qquad
+ |\mathtt{<math>}|
\end{decl}
Each math alphabet is a command which can only be used inside math mode.
For example, |$x + \mathsf{y} + \mathcal{Z}$| produces
@@ -799,6 +817,8 @@ Checks that \m{math-alph} has been declared as a math alphabet,
\m{version} is a known math version and \m{encoding} is a known encoding
scheme.
+\newpage
+
This example defines |\baz| for the `normal' math version only:
\begin{verbatim}
\SetMathAlphabet{\baz}{normal}{OT1}{cmss}{m}{n}
@@ -868,6 +888,8 @@ alphabet with command \m{math-alph} in \emph{all} math versions.
Checks that the command \m{math-alph} is either already a math alphabet
command or is undefined; and that \m{sym-font} is a symbol font.
+\newpage
+
Example:
\begin{verbatim}
\DeclareSymbolFontAlphabet{\mathrm}{operators}
@@ -928,6 +950,8 @@ Example:
\DeclareMathSymbol{\alphld}{\mathalpha}{AMSb}{"0C}
\end{verbatim}
+\newpage
+
\begin{decl}
|\DeclareMathDelimiter| \arg{cmd} \arg{type}
\arg{sym-font-1} \arg{slot-1}\\
@@ -1021,6 +1045,7 @@ Example:
This section explains how \LaTeX's font attributes are turned into
\TeX{} font specifications.
+
\subsection{Font definition files}
\NEWdescription{1997/12/01}
@@ -1043,6 +1068,8 @@ and font substitutions are made.
The declarations in the font definition file are responsible for telling
\LaTeX{} how to load fonts for that encoding/family combination.
+
+
\subsection{Font definition file commands}
\emph{Note}: A font definition file should contain only commands from
@@ -1056,7 +1083,11 @@ of a document.
|\ProvidesFile{<file-name>}[<release-info>]|
\end{decl}
The file should announce itself with a |\ProvidesFile| command, as
-described in \emph{\clsguide}. For example:
+described in \emph{\clsguide}.
+
+\newpage
+
+For example:
\begin{verbatim}
\ProvidesFile{t1ptm.fd}[1994/06/01 Adobe Times font definitions]
\end{verbatim}
@@ -2017,12 +2048,17 @@ glyphs from the math fonts instead of the current text font (this means
they always keep the same shape and do not nicely blend in with the text
font).
+\newpage
+
The following tables show the macros available. The next commands are
`constructed' accents and are built via \TeX{} macros:
\begin{center}
\begin{tabular}[t]{@{}ll}
\verb*|\capitalcedilla A| & \capitalcedilla A \\
\verb*|\capitalogonek A| & \capitalogonek A \\
+ \end{tabular}
+ \quad
+ \begin{tabular}[t]{@{}ll}
\verb*|\textcircled a| & \textcircled a
\end{tabular}
\end{center}
@@ -2052,12 +2088,21 @@ show the slot number:
\end{tabular}
\end{center}
-Table~\vref{tab:textcomp} contains macros to access text symbols. Again,
+Table~\vref{tab:textcomp}
+contains the full list of commands to access the text symbols.
+%
+% Tables~\vrefrange{tab:ts1-subset-always}{tab:ts1-subset-9-disable}
+% contain the commands to access the text symbols.
+%
+Again,
the numbers are the slots in the encoding.
-\begin{table}
-\centering\footnotesize
+\iftrue
+\begin{table}[!tp]
+ \centering\footnotesize
+ \renewcommand\arraystretch{1.07}
\begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
\verb|\textcapitalcompwordmark| & \textcapitalcompwordmark & 23 \\
\verb|\textascendercompwordmark| & \textascendercompwordmark & 31 \\
\verb|\textquotestraightbase| & \textquotestraightbase & 13 \\
@@ -2112,9 +2157,11 @@ the numbers are the slots in the encoding.
\verb|\textbullet| & \textbullet & 136 \\
\verb|\textcelsius| & \textcelsius & 137 \\
\verb|\textdollaroldstyle| & \textdollaroldstyle & 138 \\
- \verb|\textcentoldstyle| & \textcentoldstyle & 139
+ \verb|\textcentoldstyle| & \textcentoldstyle & 139 \\
+ \bottomrule
\end{tabular}\qquad
\begin{tabular}[t]{lp{1.5em}l}
+ \toprule
\verb|\textflorin| & \textflorin & 140 \\
\verb|\textcolonmonetary| & \textcolonmonetary & 141 \\
\verb|\textwon| & \textwon & 142 \\
@@ -2168,12 +2215,371 @@ the numbers are the slots in the encoding.
\verb|\textthreequarters| & \textthreequarters & 190 \\
\verb|\texteuro| & \texteuro & 191 \\
\verb|\texttimes| & \texttimes & 214 \\
- \verb|\textdiv| & \textdiv & 246
+ \verb|\textdiv| & \textdiv & 246 \\
+ \null \\
+ \bottomrule
+ \end{tabular}
+ \caption{Text symbols formerly from the \textsf{textcomp} package}
+ \label{tab:textcomp}
+\end{table}
+
+\fi
+
+The |TS1| encoding contains a rich set of symbols which means that
+several symbols are only available in a few \TeX{} fonts and some, such
+as the capital accents, not available at all but developed as part of
+the reference font implementation. In reality, many existing fonts
+don't provide a full set of glyphs defined in |TS1| encoding and the
+question arises: ``Which glyphs of the |TS1| encoding are implemented by
+which font?''
+
+\NEWfeature{2021/06/01}
+Fonts can be ordered in sub-encodings with the |\DeclareEncodingSubset|
+macro:
+\begin{decl}
+ |\DeclareEncodingSubset| \arg{encoding}
+ \arg{font family}
+ \arg{subset number}
+\end{decl}
+The macro takes 3 mandatory arguments: An \m{encoding} for which a
+subsetting is wanted (currently only |TS1|), the \m{font family} for
+which we declare the subset and finally the \m{subset number} between
+|0| (all of the encoding is supported) and |9| (many glyphs are
+missing). Hence, it is assumed that some symbols are always available
+by all fonts and each sub-encoding defines macros which become
+unavailable (i.e., they are not provided in the sub-encoding with that
+number and all sub-encodings with higher numbers.)
+
+\begin{table}[tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textquotestraightbase| & \textquotestraightbase & 13 \\
+ \verb|\textquotestraightdblbase| & \textquotestraightdblbase & 18 \\
+ \verb|\textcapitalcompwordmark| & \textcapitalcompwordmark & 23 \\
+ \verb|\textascendercompwordmark| & \textascendercompwordmark & 31 \\
+ \verb|\textdollar| & \textdollar & 36 \\
+ \verb|\textquotesingle| & \textquotesingle & 39 \\
+ \verb|\textasteriskcentered| & \textasteriskcentered & 42 \\
+ \verb|\textdagger| & \textdagger & 132 \\
+ \verb|\textdaggerdbl| & \textdaggerdbl & 133 \\
+ \verb|\textperthousand| & \textperthousand & 135 \\
+ \verb|\textbullet| & \textbullet & 136 \\
+ \verb|\texttrademark| & \texttrademark & 151 \\
+ \verb|\textcent| & \textcent & 162 \\
+ \verb|\textsterling| & \textsterling & 163 \\
+ \verb|\textyen| & \textyen & 165 \\
+ \verb|\textbrokenbar| & \textbrokenbar & 166 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textsection| & \textsection & 167 \\
+ \verb|\textcopyright| & \textcopyright & 169 \\
+ \verb|\textordfeminine| & \textordfeminine & 170 \\
+ \verb|\textlnot| & \textlnot & 172 \\
+ \verb|\textregistered| & \textregistered & 174 \\
+ \verb|\textdegree| & \textdegree & 176 \\
+ \verb|\textpm| & \textpm & 177 \\
+ \verb|\textparagraph| & \textparagraph & 182 \\
+ \verb|\textperiodcentered| & \textperiodcentered & 183 \\
+ \verb|\textordmasculine| & \textordmasculine & 186 \\
+ \verb|\textonequarter| & \textonequarter & 188 \\
+ \verb|\textonehalf| & \textonehalf & 189 \\
+ \verb|\textthreequarters| & \textthreequarters & 190 \\
+ \verb|\texttimes| & \texttimes & 214 \\
+ \verb|\textdiv| & \textdiv & 246 \\
+ \null \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols available in all \texttt{TS1} sub-encodings}
+ \label{tab:ts1-subset-always}
+\end{table}
+
+
+
+\begin{table}[!tbp]
+ \centering
+ \begin{tabular}[t]{@{}lll@{}}
+ \toprule
+ \verb*|\textcircled| & \textcircled{} & acc \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbol unavailable in \texttt{TS1} sub-encoding \texttt{1}
+ and higher}
+ \label{tab:ts1-subset-1-disable}
+\end{table}
+
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\capitalcedilla| & \capitalcedilla{} & acc \\
+ \verb|\capitalogonek| & \capitalogonek{} & acc \\
+ \verb|\capitalgrave| & \capitalgrave{} & 0 \\
+ \verb|\capitalacute| & \capitalacute{} & 1 \\
+ \verb|\capitalcircumflex| & \capitalcircumflex{} & 2 \\
+ \verb|\capitaltilde| & \capitaltilde{} & 3 \\
+ \verb|\capitaldieresis| & \capitaldieresis{} & 4 \\
+ \verb|\capitalhungarumlaut| & \capitalhungarumlaut{} & 5 \\
+ \verb|\capitalring| & \capitalring{} & 6 \\
+ \verb|\capitalcaron| & \capitalcaron{} & 7 \\
+ \verb|\capitalbreve| & \capitalbreve{} & 8 \\
+ \verb|\capitalmacron| & \capitalmacron{} & 9 \\
+ \verb|\capitaldotaccent| & \capitaldotaccent{} & 10 \\
+ \verb|\capitaltie| & \capitaltie{} & 27 \\
+ \verb|\newtie| & \newtie{} & 28 \\
+ \verb|\capitalnewtie{}| & \capitalnewtie{} & 29 \\
+ \verb|\textdblhyphen| & \textdblhyphen & 45 \\
+ \verb|\textzerooldstyle| & \textzerooldstyle & 48 \\
+ \verb|\textoneoldstyle| & \textoneoldstyle & 49 \\
+ \verb|\texttwooldstyle| & \texttwooldstyle & 50 \\
+ \verb|\textthreeoldstyle| & \textthreeoldstyle & 51 \\
+ \verb|\textfouroldstyle| & \textfouroldstyle & 52 \\
+ \verb|\textfiveoldstyle| & \textfiveoldstyle & 53 \\
+ \verb|\textsixoldstyle| & \textsixoldstyle & 54 \\
+ \verb|\textsevenoldstyle| & \textsevenoldstyle & 55 \\
+ \verb|\texteightoldstyle| & \texteightoldstyle & 56 \\
+ \verb|\textnineoldstyle| & \textnineoldstyle & 57 \\
+ \verb|\textmho| & \textmho & 77 \\
+ \verb|\textbigcircle| & \textbigcircle & 79 \\
+ \verb|\textlbrackdbl| & \textlbrackdbl & 91 \\
+ \verb|\textrbrackdbl| & \textrbrackdbl & 93 \\
+ \verb|\textasciigrave| & \textasciigrave & 96 \\
+ \verb|\textborn| & \textborn & 98 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textdivorced| & \textdivorced & 99 \\
+ \verb|\textdied| & \textdied & 100 \\
+ \verb|\textleaf| & \textleaf & 108 \\
+ \verb|\textmarried| & \textmarried & 109 \\
+ \verb|\textmusicalnote| & \textmusicalnote & 110 \\
+ \verb|\texttildelow| & \texttildelow & 126 \\
+ \verb|\textdblhyphenchar| & \textdblhyphenchar & 127 \\
+ \verb|\textasciibreve| & \textasciibreve & 128 \\
+ \verb|\textasciicaron| & \textasciicaron & 129 \\
+ \verb|\textacutedbl| & \textacutedbl & 130 \\
+ \verb|\textgravedbl| & \textgravedbl & 131 \\
+ \verb|\textdollaroldstyle| & \textdollaroldstyle & 138 \\
+ \verb|\textcentoldstyle| & \textcentoldstyle & 139 \\
+ \verb|\textnaira| & \textnaira & 143 \\
+ \verb|\textguarani| & \textguarani & 144 \\
+ \verb|\textpeso| & \textpeso & 145 \\
+ \verb|\textrecipe| & \textrecipe & 147 \\
+ \verb|\textpertenthousand| & \textpertenthousand & 152 \\
+ \verb|\textpilcrow| & \textpilcrow & 153 \\
+ \verb|\textbaht| & \textbaht & 154 \\
+ \verb|\textdiscount| & \textdiscount & 156 \\
+ \verb|\textopenbullet| & \textopenbullet & 158 \\
+ \verb|\textservicemark| & \textservicemark & 159 \\
+ \verb|\textlquill| & \textlquill & 160 \\
+ \verb|\textrquill| & \textrquill & 161 \\
+ \verb|\textasciidieresis| & \textasciidieresis & 168 \\
+ \verb|\textcopyleft| & \textcopyleft & 171 \\
+ \verb|\textcircledP| & \textcircledP & 173 \\
+ \verb|\textasciimacron| & \textasciimacron & 175 \\
+ \verb|\textasciiacute| & \textasciiacute & 180 \\
+ \verb|\textreferencemark| & \textreferencemark & 184 \\
+ \verb|\textsurd| & \textsurd & 187 \\
+ \null \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{2}
+ and higher}
+ \label{tab:ts1-subset-2-disable}
+\end{table}
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|textlangle| & \textlangle & 60 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textrangle| & \textrangle & 62 \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{3}
+ and higher}
+ \label{tab:ts1-subset-3-disable}
+\end{table}
+
+
+Thus, the symbols that are available in sub-encoding $x$ are the symbols
+in table~\ref{tab:ts1-subset-always} (always available) and the symbols
+that only become unavailable in sub-encodings $> x$. The tables
+\vrefrange{tab:ts1-subset-1-disable}{tab:ts1-subset-9-disable} show the symbols that
+become unavailable in the different sub-encodings. Again, the numbers
+are the slots in the |TS1| encoding, |acc| indicates a `constructed'
+accent.
+
+\newpage
+
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textleftarrow| & \textleftarrow & 24 \\
+ \verb|\textrightarrow| & \textrightarrow & 25 \\
+ \verb|\textuparrow| & \textuparrow & 94 \\
+ \verb|\textdownarrow| & \textdownarrow & 95 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textcolonmonetary| & \textcolonmonetary & 141 \\
+ \verb|\textwon| & \textwon & 142 \\
+ \verb|\textlira| & \textlira & 146 \\
+ \verb|\textdong| & \textdong & 150 \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{4}
+ and higher}
+ \label{tab:ts1-subset-4-disable}
+\end{table}
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textnumero| & \textnumero & 155 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textestimated| & \textestimated & 157 \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{5}
+ and higher}
+ \label{tab:ts1-subset-5-disable}
+\end{table}
+
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textflorin| & \textflorin & 140 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textcurrency| & \textcurrency & 164 \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{6}
+ and higher}
+ \label{tab:ts1-subset-6-disable}
+\end{table}
+
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textfractionsolidus| & \textfractionsolidus & 47 \\
+ \verb|\textminus| & \textminus & 61 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textohm| & \textohm & 87 \\
+ \verb|\textmu| & \textmu & 181 \\
+ \bottomrule
\end{tabular}
-\caption{Text symbols formerly from the \textsf{textcomp} package}
-\label{tab:textcomp}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{7}
+ and higher}
+ \label{tab:ts1-subset-7-disable}
\end{table}
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textblank| & \textblank & 32 \\
+ \verb|\textinterrobang| & \textinterrobang & 148 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\textinterrobangdown| & \textinterrobangdown & 149 \\
+ \null \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{8}
+ and higher}
+ \label{tab:ts1-subset-8-disable}
+\end{table}
+
+
+\begin{table}[!tbp]
+ \centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\texttwelveudash| & \texttwelveudash & 21 \\
+ \verb|\textthreequartersemdash| & \textthreequartersemdash & 22 \\
+ \verb|\textbardbl| & \textbardbl & 134 \\
+ \verb|\textcelsius| & \textcelsius & 137 \\
+ \bottomrule
+ \end{tabular}\qquad
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \toprule
+ \verb|\texttwosuperior| & \texttwosuperior & 178 \\
+ \verb|\textthreesuperior| & \textthreesuperior & 179 \\
+ \verb|\textonesuperior| & \textonesuperior & 185 \\
+ \null \\
+ \bottomrule
+ \end{tabular}
+ \caption{Symbols unavailable in \texttt{TS1} sub-encoding \texttt{9}}
+ \label{tab:ts1-subset-9-disable}
+\end{table}
+
+
+
+As an example,
+%\begin{verbatim}
+ \verb=\DeclareEncodingSubset{TS1}{foo}{5}=
+%\end{verbatim}
+indicates that the font family |foo| contains the always available
+symbols (table~\vref{tab:ts1-subset-always}) and the ones disabled
+in sub-encodings 6--9, i.e.,
+tables~\vrefrange{tab:ts1-subset-6-disable}{tab:ts1-subset-9-disable}.
+
+As these days many font families are set up to end in |-LF| (lining
+figures), |-OsF| (oldstyle figures), etc. the declaration supports a
+shortcut: if the \m{font family} name ends in |-*| then the star gets
+replaced by these common ending, e.g.,
+\begin{verbatim}
+ \DeclareEncodingSubset{TS1}{Alegreya-*}{2}
+\end{verbatim}
+is the same as writing
+\begin{verbatim}
+ \DeclareEncodingSubset{TS1}{Alegreya-LF} {2}
+ \DeclareEncodingSubset{TS1}{Alegreya-OsF} {2}
+ \DeclareEncodingSubset{TS1}{Alegreya-TLF} {2}
+ \DeclareEncodingSubset{TS1}{Alegreya-TOsF}{2}
+\end{verbatim}
+If only some are needed then one can define them individually but in
+many cases all four are wanted, hence the shortcut.
+
+
+
+
\section{If you need to know more \ldots}
\NEWdescription{1996/06/01}
diff --git a/Master/texmf-dist/doc/latex/base/graphpap.pdf b/Master/texmf-dist/doc/latex/base/graphpap.pdf
index fe611d36d69..2caa28232fe 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 d080e4da130..fe7349820d5 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 af91c17d2a6..274e06fbc02 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 2cbc7f31f4f..a39bb10333a 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/latexchanges.pdf b/Master/texmf-dist/doc/latex/base/latexchanges.pdf
deleted file mode 100644
index f606f9abb53..00000000000
--- a/Master/texmf-dist/doc/latex/base/latexchanges.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/latexchanges.tex b/Master/texmf-dist/doc/latex/base/latexchanges.tex
deleted file mode 100644
index 933ea48ddb9..00000000000
--- a/Master/texmf-dist/doc/latex/base/latexchanges.tex
+++ /dev/null
@@ -1,1025 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2015-2021
-% 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
-% http://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: latexchanges.tex
-
-\NeedsTeXFormat{LaTeX2e}
-
-\documentclass{ltxguide}
-
-\usepackage[T1]{fontenc}
-
-\usepackage{url}
-
-\title{Changes to the \LaTeXe{} format}
-
-\author{\copyright~Copyright 2015--2021, \LaTeX\ Project Team.\\
- All rights reserved.}
-
-\date{2021-06-08}
-
-% a few commands from doc
-\newcommand\Lpack[1]{\mbox{\textsf{#1}}}
-\newcommand\DescribeMacro[1]{\texttt{\string#1}}
-
-\newcommand\pkg[1]{\texttt{#1}}
-\newcommand\cs[1]{\texttt{\textbackslash #1}}
-
-\makeatletter % -- provide command introduced in new release
- % so this typesets with an old format
-
-\DeclareTextCommandDefault\textcommabelow[1]
- {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
- \hbox{\check@mathfonts\fontsize\ssf@size\z@
- \math@fontsfalse\selectfont,}\hidewidth}\egroup}
-
-\makeatother
-
-
-
-\ifx\href\undefined
- \newcommand\ghissue[1]{github #1}
- \newcommand\gnatsissue[1]{gnats #1}
- \newcommand\ltnewsissue[1]{\LaTeX\ News~#1}
- \newcommand\sxanswer[1]{\url{https://tex.stackexchange.com\slash a\slash #1}}
- \newcommand\sxquestion[1]{\url{https://tex.stackexchange.com\slash q\slash #1}}
-\else
- \newcommand\ghissue[1]{%
- \href{https://github.com/latex3/latex2e/issues/#1}{github #1}}
- \newcommand\gnatsissue[1]{%
- \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/#1}{gnats #1}}
- \newcommand\ltnewsissue[1]{%
- \href{https://www.latex-project.org/news/latex2e-news/ltnews#1.pdf}{\LaTeX\ News~#1}}
- \newcommand\sxanswer[1]{%
- \url{https://tex.stackexchange.com/a/#1}}
- \newcommand\sxquestion[1]{%
- \url{https://tex.stackexchange.com/q/#1}}
-\fi
-
-
-\setcounter{tocdepth}{1} % don't show subsections
-
-
-\begin{document}
-
-\maketitle
-
-\begin{abstract}
-This document describes changes that were made to the
-\LaTeX\ format since the 2014-05-01 \LaTeX\ releases.
-
-
-As announced in \ltnewsissue{22}, the 2015 \LaTeX{} release adopts a new
-policy. Improvements and bug fixes will be made to the format sources,
-with the \Lpack{latexrelease} package being available to revert
-changes to use definitions from an earlier format.
-
-As a summary of changes for a main release will always be available in
-\LaTeX\ News, detailed changes are not repeated in this document,
-but changes in any patch releases will be listed in more
-detail here.
-
-More detailed change logs are available as
-\texttt{changes.txt} in the base distribution, and full code
- differences may be browsed via the code repository on GitHub
-see for example
-\url{https://github.com/latex3/latex2e/commits/master}.
-\end{abstract}
-
-\tableofcontents
-
-\newpage
-
-%\section{Introduction}
-
-\section{Changes introduced in 2021-06-01 patch~1}
-
-A further refinement to the handling of ``raw'' option lists added
-in the last release, see \ghissue{508}.
-
-Fixes an issue with rollback when \pkg{latexrelease} is loaded by some
-other package (as done for \texttt{platex} (\ghissue{577}).
-
-First aid for \pkg{ulem} and \pkg{varwidth} got added to help them
-along until they get corrected. \pkg{ulem} has a problem with the
-improved definition of \cs{hspace} and \pkg{varwidth} chokes on a
-newly introduced glue item in vertical lists, which is needed for
-paragraph hook handling (\ghissue{583}).
-
-
-\section{Changes introduced in 2021-06-01}
-
-The focus of this release is to provide further important building
-blocks for the future production of reliable tagged PDF output. Many
-other improvements have been made. Please see \ltnewsissue{33} for an
-overview of the new features and the change log in
-\texttt{changes.txt} for a more detailed list of individual changes.
-
-\section{Changes introduced in 2020-10-01 patch~4}
-
-This patch fixed two bugs in the hook management: if debugging for the
-L3 programming layer was turned on it reported inconsistent use of
-local/global variables. This was a spurious warning but nevertheless
-disconcerting (\ghissue{463}). The other bug was more serious, in some
-situations a wrong value of \verb=\CurrentFile= inside of file-related hooks
-could lead to errors (\ghissue{464}).
-
-We also added the documentation file \texttt{usrguide3.pdf} which
-will become the main home for documenting new features of \LaTeX. At
-this point in time it covers the \Lpack{xparse} functionality that has
-been added to the kernel.
-
-\section{Changes introduced in 2020-10-01 patch~3}
-
-This patch fixed some rollback issues that prevented successful
-rollback to other release levels in some cases. It also fixed an issue
-with file hooks involving files with explicit paths (\ghissue{422}).
-
-One important change was to handle hook declarations done in the
-document preamble in a special way, e.g., those done with
-\verb=\AtBeginDocument=. They are now always executed last and are not
-subject to the normal code sorting for hooks, because they are nearly always
-needed to overwrite earlier settings made in packages.
-
-Finally, the NFSS series handling was slightly changed to
-automatically drop surplus ``\texttt{m}''s from series specifications
-when needed (and warn about them when encountered), e.g.,
-``\texttt{mc}'' automatically becomes ``\texttt{c}'' which is the
-official NFSS name for a \emph{medium compact} series (\ghissue{453}).
-This was done to improve the fix in 2020-02-02 PL~5.
-
-\section{Changes introduced in 2020-10-01 patch~2}
-
-This patch fixed the passing of options to packages and classes when
-they are stored in a special place (denoted by \verb=\input@path=)
-instead of their normal location (\ghissue{414}). In that case the
-options got lost.
-
-\section{Changes introduced in 2020-10-01 patch~1}
-
-This patch fixed a file handling issue: to allow for spaces in file
-names quotes were used but this upsets Bib\TeX{} (\ghissue{400}). In
-addition, two rollback issues got corrected.
-
-\section{Changes introduced in 2020-10-01}
-
-Major enhancements in this release include pre-loading of the
-\Lpack{xparse} package for producing document-level commands with more
-complicated argument signatures and the new hook management system for
-\LaTeX{} documented in \texttt{lthooks-doc.pdf},
-\texttt{ltfilehook-doc.pdf} and \texttt{ltshipout-doc.pdf}.
-
-In addition there have been many smaller fixes and enhancements.
-Please see \ltnewsissue{32} for an overview of the new features and
-the change log in \texttt{changes.txt} for a more detailed list of
-individual changes.
-
-\section{Changes introduced in 2020-02-02 patch~5}
-
-The patch~4 dropped a bit too much in certain situations, e.g., it
-changed a series value of \texttt{semibold} (as used by
-\texttt{autoinst}) to \texttt{seibold}, rendering it useless. So we
-now only correct series values if they are a member of the
-following list: \texttt{ulm}, \texttt{elm}, \texttt{lm}, \texttt{slm},
-\texttt{mm}, \texttt{sbm}, \texttt{bm}, \texttt{ebm}, \texttt{ubm},
-\texttt{muc}, \texttt{mec}, \texttt{mc}, \texttt{msc}, \texttt{msx},
-\texttt{mx}, \texttt{mex} or \texttt{mux}. Here we assume that people
-intended to follow the NFSS convention but somehow got it wrong. So we
-drop one ``m'' and also add a warning that the
-\verb=\DeclareFontShape= declaration in question should be updated
-(\ghissue{293}).
-
-
-\section{Changes introduced in 2020-02-02 patch~4}
-
-In some cases the \texttt{filecontents} environment was opening the
-file for writing without quoting it, so that files with spaces failed
-(\ghissue{284}).
-
-Ensure that \verb=\DeclareFontShape= drops surplus ``m'' in situations
-where an \texttt{.fd} incorrectly specifies \texttt{mc} instead of
-\texttt{c}, etc.\ (\ghissue{289}).
-
-\section{Changes introduced in 2020-02-02 patch~3}
-
-Support the following scenario:
-\begin{verbatim}
-\fontfamily{ptm}\selectfont text \textbf{\sffamily bold sans text}
-\end{verbatim}
-The default bold series for \texttt{ptm} is \texttt{b} so
-\verb=\textbf= switches to that. The \verb=\sffamily= then tried to
-find \texttt{OT1/cmss/b/n} which doesn't exist instead of first
-altering the series default to use \texttt{bx} as needed for Computer
-Modern Sans Serif. This has now been corrected (\ghissue{277}).
-
-
-\section{Changes introduced in 2020-02-02 patch~2}
-
-Correct \verb=\capitalacute=, etc.\ so that they work in
-\texttt{tabbing} (\ghissue{271}). Provide \verb=\@defaultfamilyhook= to
-support CJK packages (\ghissue{269}). Provide a list of \texttt{fontenc}
-loads with their options in \verb=\@fontenc@load@list= so that Babel
-can determine the right \verb=\latinencoding= value (\ghissue{273}).
-
-
-\section{Changes introduced in 2020-02-02 patch~1}
-
-Fixed a misspelled command name that caused trouble (\ghissue{264}). Make
-\texttt{textcomp} package issue only info messages about glyph
-substitutions (\ghissue{262}) and warn if it attempts to run in an old format (\ghissue{260}).
-
-\section{Changes introduced in 2020-02-02}
-
-Major enhancements in this release include pre-loading \Lpack{expl3}
-to improve startup times, especially with Lua\TeX\ and Xe\TeX, and
-extra features in the font selection mechanism. Please see
-\ltnewsissue{31} for an overview of the new features and the change
-log in \texttt{changes.txt} for a more detailed list of individual
-changes.
-
-
-\section{Changes introduced in 2019-10-01 patch~3}
-
-Further fixes to the handling of filenames, expand macros (and
-\verb|\jobname| \emph{before} removing \verb|"|, not after.
-
-\section{Changes introduced in 2019-10-01 patch~2}
-
-Further fixes to the handling of filenames, \ghissue{204}: non-ascii
-filenames and filenames with spaces and multiple dots should now work
-in \verb|\includegraphics|.
-
-Reclassify some luatex callbacks. Other fixes for Issues raised:
-\ghissue{198}, \ghissue{201}, \ghissue{202}, \ghissue{205}.
-
-\section{Changes introduced in 2019-10-01 patch~1}
-
-Adjustments to \verb|\set@curr@file|, and \verb|\@extracolsep|.
-
-Added missing \verb=\else= branch in \texttt{nfssfont} so that
-\verb=\action= is executed if provided.
-
-\section{Changes introduced in 2019-10-01}
-
-Introduced \LaTeX\texttt{-dev} formats for pre testing future \LaTeX{}
-releases. Now there's a \texttt{latex-base-dev} package on CTAN which
-contains a pre-release of the \LaTeXe{} kernel and both \TeX Live and
-MiK\TeX{} include the standard \LaTeX{} executables (\texttt{pdflatex},
-\texttt{lualatex}, etc.) with \texttt{-dev} appended, which use the
-pre-release format.
-
-The handling of Unicode characters was improved by making them safe
-inside \verb|\ref|s and \verb|\label|s, by using \verb|\ifincsname|
-to make these characters safe in these contexts (\ghissue{95}).
-
-In line with the better handling of Unicode characters, file names
-can now contain any Unicode character plus spaces, as these cases
-are now correctly handled by the kernel.
-
-An optional argument was added to the \texttt{filecontents} environment,
-to which a comma-separated list of options can be given. The options
-include \texttt{overwrite} (or \texttt{force}), \texttt{nosearch}, and
-\texttt{noheader} (which has the same effect as the starred form of the
-environment). The environment is now allowed anywhere in the document.
-
-A plethora of \LaTeX{} commands was made robust so that fewer
-\verb|\protect| are needed when using some commands in moving arguments.
-There are a few border cases where it's tricker to make the command
-robust or where it's not worth it to do so, but most reasonable use
-cases are covered. The most notable change was \verb|\begin| and
-\verb|\end|, which are now robust and won't break when used in moving
-arguments.
-
-An extra \verb|\hskip 1sp| was added to \verb|c|-column table cells to
-protect against the presence of an \verb|\unskip| in the table cell
-(\ghissue{102}).
-
-\texttt{U+012F} which is ``i with ogonek'' should produce an
-``i'' and not a ``dotless i''. This has been corrected
-(\ghissue{122}).
-
-The Unicode slots \texttt{27E8} and \texttt{27E9} have been mapped to
-\verb|textlangle| and \verb|textrangle| which is the recommended mapping
-(\ghissue{110}).
-
-Basic ligatures (ff, fi, fl, ffi, ffl, ft, st) can now be input as a
-single unicode character in pdf\TeX, which is useful when copy-pasting
-(\ghissue{154}).
-
-\verb|\InputIfFileExists{foo}{\input{bar}}{}|
-did not load the files \texttt{foo.tex} and \texttt{bar.tex} but
-would load \texttt{bar.tex} twice. This has been corrected (\ghissue{109}).
-
-The \textsf{fncylab} and \textsf{varioref} packages changed \LaTeX's internal
-counter prefix commands \verb|p@...| so that they would take the counter
-value as an argument instead of just acting as a prefix to them. These
-packages also provided the \verb|\labelformat| macro to change the prefix
-macro and \verb|\Ref| so that using counters defined that way in the
-beginning of sentences would have the proper capitalization. These features
-were added to the \LaTeXe{} kernel.
-
-The kernel now says ``Trying to load\ldots''
-instead of ``Try loading \ldots'' in one of its informal
-messages to match style of similar messages (\ghissue{107}).
-
-\verb|\DeclareErrorFont| would change the font size to 10\,pt which, when
-used in the wrong place, would make incorrect font settings in the document.
-This has now been fixed (\gnatsissue{4399}).
-
-The default action of the file \texttt{nfssfont.tex} was set to produce a
-font table, so that one can simply hit enter instead of having to write
-\verb=\table\bye=.
-
-The \LaTeX{} kernel now provides dummy (empty) definitions for the two
-commands \verb|\conditionally@traceoff| and
-\verb|\conditionally@traceon| from the \texttt{trace} package so they
-can be used by package developers without worrying about them being
-defined or not (\ghissue{164}).
-
-
-
-
-
-\section{Changes introduced in 2018-12-01}
-
-Further additions to the characters supported by default in UTF-8.
-The commands \verb|\guillemetleft| and \verb|\guillemetright| are
-provided as alias for the names based on the Adobe font names
-(\ghissue{65}).
-
-The use of potrusion in tables of contents is suppressed by default,
-see \sxquestion{172785}.
-
-The handling of visible space in verbatim was adjusted for
-\ghissue{69} and \ghissue{70}.
-
-Spaces are removed from the argument passed to BiBTeX, \ghissue{88}.
-
-New commands \verb|\Hwithstroke| and \verb|\hwithstroke| added to T1 encoding support.
-
-The internal box structure for floats is adjusted to preserve box
-levels of split hyperlinks, avoiding a fatal pdftex error. \ghissue{94}.
-
-
-\section{Changes introduced in 2018-04-01 patch~5}
-Improved support for non ASCII filenames on the command line on
-filesystems using legacy encodings.
-
-Adjusted the new package rollback code so that some edge cases where rollback
-can not be guaranteed become a warning not an error.
-
-\section{Changes introduced in 2018-04-01 patch~4}
-No changes to the format, but \texttt{docstrip} adjusted so that non-ASCII
-\texttt{.ins} files work with the new UTF-8 defaults.
-
-\section{Changes introduced in 2018-04-01 patch~3}
-Additional adjustments for GitHub issues \ghissue{34} and \ghissue{38}, adjustment to the
-location of some documentation files, such as \texttt{source2e.tex} to
-be installed in the documentation sources not the default \TeX\ input
-tree.
-
-
-\section{Changes introduced in 2018-04-01 patch~2}
-Additional adjustments for GitHub issues \ghissue{32} and \ghissue{33}.
-
-\section{Changes introduced in 2018-04-01 patch~1}
-Make \verb|\UseRawInputEncoding| and \Lpack{latexrelease} reset \verb|\inputencodingname|
-when disabling the UTF-8 input handling.
-
-\section{Changes introduced in 2018-04-01}
-Further details of changes at this release are given in \ltnewsissue{28}, but in brief
-the main changes are as listed below.
-
-The default encoding for files has been changed to UTF-8.
-
-A new possibility to refer to older versions of packages has been added.
-
-New commands previously available in \Lpack{remreset} and
-\Lpack{chngcntr} packages for controlling counters have been added.
-
-The definition of \verb|\@ifundefined| has been refined to use the e-\TeX \verb|\ifcsname|
-primitive when available, and to avoid defining the command being tested to be \verb|\relax|
-in the case that it was previously undefined.
-
-\section{Changes introduced in 2017-04-15}
-Optionally, \LaTeX{} format and package dates may use ISO style dates with
-\texttt{-} rather than \texttt{/}.
-
-For Unicode \TeX{}s, made further adjustments to the composite accent
-code in \texttt{tuenc.def}, and further updates tracking changes in
-Lua\TeX, now at 1.04.
-
-Previously defining an encoding-specific composite with an undeclared
-accent (or an accent declared later) gave no error, but did nothing useful.
-\LaTeX\ will now detect this and give the accent command a default definition
-as an error, allowing the declared composite to work as intended.
-
-The definition of \verb|\-| is adjusted to match the comments in
-\gnatsissue{3855} to accommodate non standard settings of \verb|\hyphenchar|.
-
-In parboxes and similar settings, \verb|\lineskiplimit| is now
-reset (to the existing default value, \verb|\normallineskiplimit|).
-See \sxanswer{359934}.
-
- The code for \verb|\newpage| has been adjusted to add a test on the value of
-\verb|\prevdepth| so that the depth of the last line is preserved in
-forced page breaks.
-
-\section{Changes introduced in 2017/01/01 patch~3}
-Emergency patch to correct a typo in a change introduced in patch~2.
-
-\section{Changes introduced in 2017/01/01 patch~2}
-More adjustments for TU encoding, allowing for characters missing in
-common system fonts. Additional \texttt{fd} files
-for Latin Modern variants are included in the documented sources.
-
-\section{Changes introduced in 2017/01/01 patch~1}
-Fixes to TU encoding definitions for Lua\TeX\ and Xe\TeX.
-
-\section{Changes introduced in 2017/01/01}
-
-A new test is added during format making that e\TeX\ extensions are
-available. As noted in \LaTeX\ news, e\TeX\ will now be required to
-build \LaTeX.
-
-Further updates tracking changes for Lua\TeX~1.0.
-
-The definition of \verb|\showhyphens| is changed in formats built
-with Xe\TeX, as the original version, inherited from plain \TeX\ does
-not work with Xe-\TeX.
-
-Changes to the default encoding used by Lua\TeX\ and Xe\TeX\ formats to
-be TU (Unicode) rather than OT1 (7 bit legacy \TeX\ encoding).
-
-\section{Changes introduced in 2016/03/31 patch~3}
-Fixes to \verb|\newinsert| and \verb|\extrafloats|.
-
-\section{Changes introduced in 2016/03/31 patch~2}
-Adjustments to \verb|\c{g}| in OT1 encoding.
-
-\section{Changes introduced in 2016/03/31 patch~1}
-Adjust the upper limit for Character Class allocation in Xe-\TeX\ to
-4096 to match a change in Xe-\TeX.
-
-\section{Changes introduced in 2016/03/31}
-Modify picture mode as suggested in latex/4452 to avoid leaders of
-almost zero length.
-
-Modify the checks in \verb|\DeclareMathSymbol| and related commands
-so that they do not give errors with new Lua\TeX\ releases.
-
-\section{Changes introduced in 2016/02/01}
-Adjustments to Lua\TeX\ support to match changes to the Lua\TeX\ engine,
-and to the character class allocation in Xe\TeX.
-
-Load Unicode data from new generic \texttt{unicode-data} distribution.
-
-\section{Changes introduced in 2015/10/01 patch~2}
-
-This release fixes the behavior of the allocation mechanism if the switch
-from the standard to extended pool takes place within a group.
-
-\section{Changes introduced in 2015/10/01 patch~1}
-This release allows \Lpack{latexrelease} to revert the
-Lua\TeX{}-specific
-changes, in particular fixing an incorrect date in part of the mechanism and
-adding a method to disable callback management entirely.
-
-\section{Changes introduced in \LaTeX\ 2015/10/01}
-
-\subsection{LuaTeX allocation}
-Almost all changes at this release relate to incorporating allocation macros for luatex into the format
-as done for etex and xetex in 2015/01/01. For details see |ltluatex.dtx| or \ltnewsissue{22}.
-|ltluatex.dtx| now forms a new chapter (N) in the documented sources, |source2e.tex|.
-
-
-\subsection{Increased number of floats}
-The default float list has been increased from 18 to 52 registers if
-e\TeX\ is available.
-The list can be increased further using |\extrafloats| however this
-default allocation uses classic registers below 256 so the registers are
-also available for |\newinsert| as described below.
-
-\subsection{Improved \texttt{\textbackslash newinsert}}
-The command |\newinsert| has been extended to take registers from the lists of free float
-registers once the classic register allocation is used up. This should make it highly unlikely
-to get ``no room'' errors on register allocation assuming the format is used with
-an e-\TeX\ based \TeX\ engine.
-
-\subsection{New accent, \texttt{\textbackslash textcommabelow} (pr/4414)}
-The command |\textcommabelow| has been added. This is mainly intended for Romanian letters
-\textcommabelow{S}\,\textcommabelow{s}\,\textcommabelow{T}\,\textcommabelow{t}.
-
-\subsection{Unicode 8}
-The file |unicode-letters.def| used to initialize character data in
-Unicode \TeX\ variants has been regenerated from data files updated
-to Unicode~8.
-
-\section{Changes introduced in 2015/01/01 patch~2}
-There were no changes to the format at this release, but the sources were fixed to fix bug latex/4434
-affecting bottom float positioning if the \Lpack{latexrelease} package was used.
-
-\section{Changes introduced in 2015/01/01 patch~1}
-This release re-introduces the ``Patch Level'' scheme for identifying
-releases between main ``dated'' releases. Early \LaTeXe\ releases
-included a mechanism whereby updates could be provided by a
-\emph{patch
- file}. This was mainly intended to allow updates to be made without
-downloading the full sources again, which was an important
-consideration with download speeds and costs at the time.
-
-The new mechanism incorporates any changes directly into the sources,
-but having the patch level identified in the banner allows the
-\LaTeX\ release to be identified, even if (as in this case) most of the
-changes do not affect the format but affect other base packages such
-as \Lpack{latexrelease} and \Lpack{inputenc}. The patch level is shown
-in the banner at the start of the job, but does not affect the date
-handling of the |\IncludeInRelease| mechanism.
-
-Apart from re-arranging the version banner, the only change in the
-format is that |\newtoks| was accidentally defined twice, using the
-old and new allocation scheme described in Section \ref{e@alloc}.
-The old definition is now only in the \Lpack{latexrelease} package,
-for use when emulating old formats.
-
-
-
-
-\section
-[Changes between \LaTeX\ releases 2014/05/01 and 2015/01/01]
-{Changes between \LaTeX\ releases 2014/05/01 and 2015/01/01\footnote{Much of this text
-is taken from \Lpack{fixltx2e} package which was formerly used to make such changes available separately.}}
-
-\subsection{Support for \LaTeX\ version changes}
-\DescribeMacro{\includeInRelease}\arg{date}\oarg{date}\arg{label}\arg{message}\arg{code}
-
-\smallskip
-
-The |\includeInRelease| command has been added to support backward and
-forward compatibility for the \LaTeX\ format. It supports the
-declaration of conditional code that can be loaded based on options
-given to the \Lpack{latexrelease} package. Its use is described in
-detail in the \Lpack{latexrelease} package documentation.
-
-\subsection{New Allocation Code\label{e@alloc}}
-Previously |\newcount| and related commands were based on classic TeX
-and only allocated in the range 0--255. This was extended (in
-different ways) for e-\TeX\ in the |etex| package and in the
-|xelatex.ini| and |lualatex.ini| files used in those formats. Related
-to this the number of boxes allocated to store floats was
-limited. This was extended to a certain extent in the |morefloats|
-package (by Don Hosek and H.-Martin Muench) but the new allocation
-incorporates float allocation directly and supports much larger float
-lists using the extended registers.
-
-The new code allocates registers in the full extended range (
-$2^{15}-1$ for etex and xelatex, $2^{16}-1$ for lualatex.
-In addition a new command |\extrafloats| is provided.
-
-\DescribeMacro{\extrafloats}\arg{number}
-\smallskip
-
-This allocates additional registers for the \LaTeX\ float system to
-hold figures and tables etc. Similar functionality has been
-available via the \Lpack{morefloats} package but this is a different
-implementation using extended e-\TeX\ registers when available so
-allows many more registers to be reserved for floats as they are
-allocated from a pool of 32 or 64 thousand rather than 256 registers,
-depending on the engine in use.
-
-\DescribeMacro{\newmarks}\arg{command}
-\smallskip
-
-e-\TeX\ only, previously available via the \Lpack{etex} package.
-Allocates commands to use the extended e-\TeX\ mark mechanism.
-
-\DescribeMacro{\newXeTeXintercharclass}\arg{command}
-\smallskip
-
-Xe-\TeX\ only, previously in the Xe-\LaTeX\ format, but added via
-|xelatex.ini| not part of the core release.
-Allocates commands to use the Xe-\TeX\ character class mechanism.
-
-
-\subsection{e-\TeX\ tracing if available}
-|\loggingall| (Usually used via |\tracingall|) is extended to enable
-additional e-\TeX\ tracing if e-\TeX\ is available. (|\tracingall|
-extension has been available as part of the |etex| package previously).
-
-Also based on code from the |etex| package, a command |\tracingnone|
-is added to reverse the effects of |\tracingall| and turn off all primitive
-\TeX\ tracing. A new command |\hideoutput| has been added which resets the
-tracing parameters set by |\showoutput|.
-
-
-
-
-\subsection{\texttt{\textbackslash textsubscript} not defined in
- latex.ltx (pr/3492)}
-
-\begin{verbatim}
->>Number: 3492
->>Category: latex
->>Synopsis: \textsubscript not defined in latex.ltx
->>Arrival-Date: Tue Jan 14 23:01:00 CET 2003
->>Originator: Ionel Mugurel Ciobica
-
-I use \textsubscript much more often than \textsuperscript, and
-\textsubscript it is not defined in latex.ltx. Could you please
-consider including the definition of \textsubscript in the latex.ltx
-for the next versions of LaTeX. Thank you.
-\end{verbatim}
-
-\subsection{\texttt{\textbackslash @} discards spaces when moving
- (pr/3039)}
-
-\begin{verbatim}
->>Number: 3039
->>Category: latex
->>Synopsis: \@ discards spaces when moving
->>Arrival-Date: Sat May 22 09:01:06 1999
->>Originator: Donald Arseneau
->>Description:
-The \@ command expands to \spacefactor\@m in auxiliary files,
-which then ignores following spaces when it is reprocessed.
-\end{verbatim}
-
-\subsection{1-col fig can come before earlier 2-col fig
- (pr/2346)}
-
-\begin{verbatim}
->>Number: 2346
->>Category: latex
->>Synopsis: 2-col: 1-col fig can come before earlier 2-col fig
->>Arrival-Date: Wed Dec 18 15:41:07 1996
->>Originator: bil kleb
->>Description:
-as documented in Lamport's book, p. 198, concerning figure
-placement, "a figure will not be printed before an earlier
-figure, and a table will not be printed before an earlier
-table." however, there is a footnote stating, "However,
-in two-column page style, a single-column figure can come before
-an earlier double-column figure, and vice versa."
-
-This twocolumn behavior is undesirable---at least by me and
-most professional organizations i publish in. ed snyzter developed
-a hack fix for 2.09 several years ago which links the two
-counters, but i have not run across a similar "fix" for 2e...
-\end{verbatim}
-
-Originally fixed in package \Lpack{fix2col} which was merged into
-this package. Documentation and code from this package have been
-merged into this file.
-
-\subsubsection{Notes on the Implementation Strategy}
-
-The standard output routine maintains two lists of floats that have
-been `deferred' for later consideration. One list for single column
-floats, and one for double column floats (which are always
-immediately put onto their deferred list). This mechanism means
-that \LaTeX\ `knows' which type of float is contained in each box
-by the list that it is processing, but having two lists means
-that there is no mechanism for preserving the order between the
-floats in each list.
-
-The solution to this problem consists of two small changes to
-the output routine.
-
-Firstly, abandon the `double column float list' |\@dbldeferlist|
-and change every command where it is used so that instead the
-same |\@deferlist| is used as for single column floats.
-That one change ensures that double and single column floats
-stay in the same sequence, but as \LaTeX\ no longer `knows'
-whether a float is double or single column, it will happily
-insert a double float into a single column, overprinting the
-other column, or the margin.
-
-The second change is to provide an alternative mechanism for
-recording the two column floats. \LaTeX\ already has a compact
-mechanism for recording float information, an integer count register
-assigned to each float records information about the `type' of float
-`figure', `table' and the position information `htp' etc.
-
-The type information is stored in the `high' bits, one bit position
-(above `32') allocated to each float type. The `low' bits store
-information about the allowed positions, one bit each allocated for
-|h t b p|. In the \LaTeX2.09 system, the bit corresponding to `16'
-formed a `boundary' between these two sets of information, and it
-was never actually used by the system. Ed Sznyter's
-\Lpack{fixfloats} package not unreasonably used this position to
-store the double column information, setting the bit for double
-column floats. Then at each point in the output routine at which a
-float is committed to a certain region, an additional check must be
-made to check that the float is (or is not) double column. If it
-spans the wrong number of columns it is deferred rather than being
-added.
-
-Unfortunately the bit `16' is not available in \LaTeXe. It is used
-to encode the extra float position possibility `|!|' that was added
-in that system. It would be possible to use position `32' and to
-move the flags for `table', `figure',\ldots\ up one position, to
-start at 64, but this would mean that in principle one less float
-type would be supported, and more importantly is likely to break
-any other packages that assume anything about the output routine
-internals. So here I instead use another mechanism for flagging
-double column floats: By default all floats have depth 0pt.
-This package arranges that double column ones have depth 1sp.
-This information may then be used in the same manner as in
-the \Lpack{fixfloats} package, to defer any floats that are not of
-the correct column spanning type.
-
-
-
-\subsection{Infinite glue found (pr/4023 and pr/2346)}
-
-The fix for pr/2346 did not work as intended when used in conjunction
-with |\enlargethispage| as the latter introduced an infinite negative
-glue at the bottom of the page. That in turn make a |\vsplit|
-operation to get at the column marks invalid.
-
-\subsection{Wrong header for twocolumn (pr/2613)}
-
-\begin{verbatim}
->>Number: 2613
->>Category: latex
->>Synopsis: wrong headline for twocolumn
->>Arrival-Date: Mon Sep 22 16:41:09 1997
->>Originator: Daniel Reischert
->>Description:
-When setting the document in two columns
-the headline shows the top mark of the second column,
-but it should show the top mark of the first column.
-\end{verbatim}
-
-Originally fixed in package \Lpack{fix2col} which was merged into
-this package. Documentation and code from this package have been
-merged into this file.
-
-\subsubsection{Notes on the Implementation Strategy}
-
-The standard \LaTeX\ twocolumn system works internally by making
-each column a separate `page' that is passed independently to \TeX's
-page breaker. (Unlike say the \Lpack{multicol} package, where all
-columns are gathered together and then split into columns later,
-using |\vsplit|.) This means that the primitive \TeX\ marks that are
-normally used for header information, are globally reset after the
-first column. By default \LaTeX\ does nothing about this.
-A good solution is provided by Piet van Oostrum (building on earlier
-work of Joe Pallas) in his \Lpack{fixmarks} package.
-
-After the first column box has been collected the mark information
-for that box is saved, so that any |\firstmark| can be
-`artificially' used to set the page-level marks after the second
-column has been collected. (The second column |\firstmark| is not
-normally required.) Unfortunately \TeX\ does not provide a direct
-way of knowing if any marks are in the page, |\firstmark| always has a
-value from previous pages, even if there is no mark in this page.
-The solution is to make a copy of the box and then |\vsplit| it
-so that any marks show up as |\splitfirstmark|.
-
-The use of |\vsplit| does mean that the output routine will globally
-change the value of |\splitfirstmark| and
-|\splitbotmark|. The \Lpack{fixmarks} package goes to some trouble
-to save and restore these values so that the output routine does
-\emph{not} change the values. This part of \Lpack{fixmarks} is not
-copied here as it is quite costly (having to be run on every page) and
-there is no reason why anyone writing code using |\vsplit| should
-allow the output routine to be triggered before the split marks have
-been accessed.
-
-
-
-\subsection{\texttt{\textbackslash setlength} produces error if
- used with registers like \texttt{\textbackslash dimen0} (pr/3066)}
-
-\begin{verbatim}
->>Number: 3066
->>Category: latex
->>Synopsis: \setlength{\dimen0}{10pt}
->>Arrival-Date: Tue Jul 6 15:01:06 1999
->>Originator: Heiko Oberdiek
->>Description:
-The current implementation of \setlength causes an error,
-because the length specification isn't terminated properly.
-More safe:
-\def\setlength#1#2{#1=#2\relax}
-\end{verbatim}
-
-\subsection{Fewer fragile commands}
-
-\begin{verbatim}
->>Number: 3816
->>Category: latex
->>Synopsis: Argument of \@sect has an extra }.
->>Arrival-Date: Sat Oct 22 23:11:01 +0200 2005
->>Originator: Susanne Wunsch
-
-Use of a \raisebox in \section{} produces the error message
-mentioned in the subject.
-
-PR latex/1738 described a similar problem, which has been solved
-10 years ago. Protecting the \raisebox with \protect solved my
-problem as well, but wouldn't it make sense to have a similar fix
-as in the PR?
-
-It is particularly confusing, that an unprotected \raisebox in a
-\section*-environment works fine, while in a \section-environment
-produces error.
-\end{verbatim}
-
-While not technically a bug, in this day and age there are few
-reasons why commands taking optional arguments should not be robust.
-
-\subsubsection{Notes on the implementation strategy}
-
-Rather than changing the kernel macros to be robust, we have decided
-to add the macro \DescribeMacro{\MakeRobust}|\MakeRobust| in
-\Lpack{fixltx2e} so that users can easily turn fragile macros into
-robust ones. A macro |\foo| is made robust by doing the simple
-|\MakeRobust{\foo}|. \Lpack{fixltx2e} makes the following kernel
-macros robust: |\(|, |\)|, |\[|, |\]|,
- |\makebox|, |\savebox|,
-|\framebox|, |\parbox|, |\rule| and |\raisebox|.
-
-\ldots TODO \ldots fleqn vesion of |\[\]|
-
-\subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom (pr/3073)}
-
-\begin{verbatim}
->>Number: 3073
->>Category: latex
->>Synopsis: \addpenalty ruins flush-bottom
->>Arrival-Date: Sat Jul 17 05:11:05 1999
->>Originator: Donald Arseneau
->>Description:
-Just to keep in mind for further development eh?
-A page break at an \addpenalty after \vspace does *not*
-give a flush-bottom page. (The intent of \addpenalty is
-apparently just to preserve the flush bottom by putting
-the breakpoint `above' the skip.)
-\end{verbatim}
-
-\subsection{Within counters only reset next level down (pr4393)}
-
-This is actually implicitly documented behavior in the \LaTeX{}
-Manual that states that |\stepcounter| resets all counters marked
-``within''. However it means that if, for example, theorems are
-numbered within sections and you start a new chapter in a book, the
-section counter is reset to zero but the theorem counter is not
-until the first section appears. Thus a theorem directly within the
-chapter body (without a new section) would show an incremented
-number relative to the last theorem of the previous chapter.
-
-
-For this reason we are now resetting all levels of within in one go
-even if that means that some of these resets may happen several times
-unnecessarily.
-
-
-\subsection{Check the optional arguments of floats}
-
-By default LaTeX silently ignores unknown letters in the optional
-arguments of floats. |\begin{figure}[tB]| the |B| is ignored so it
-acts like |\begin{figure}[t]| However |\begin{figure}[B]| does
-\emph{not} act like |\begin{figure}[]| as the check for an empty
-argument, or unsupplied argument, is earlier. |[]| causes the
-default float placement to be used, but |[B]| means that \emph{no}
-float area is allowed and so the float will not be placed until the
-next |\clearpage| or end of document, no warning is given.
-
-This package adds a check on each letter, and if it not one of
-|!tbhp| then an error is given and the code acts as if |p| had been
-used, so that the float may be placed somewhere.
-
-\subsection{\texttt{\textbackslash DeclareMathSizes} only take pts.
- (pr/3693)}
-
-\begin{verbatim}
->>Number: 3693
->>Category: latex
->>Synopsis: \DeclareMathSizes only take pts.
->>Arrival-Date: Fri Jun 11 16:21:00 CEST 2004
->>Originator: Morten Hoegholm
-
-The last three arguments of \@DeclareMathSizes cannot take a dimension
-as argument, making it inconsistent with the rest of the font changing
-commands and itself, as the second argument can take a dimension
-specification.
-\end{verbatim}
-
-\subsection{No hyphenation in first word after float environment (pr/3498)}
-
-\begin{verbatim}
->>Number: 3498
->>Category: latex
->>Synopsis: No hyphenation in first word after float environment
->>Arrival-Date: Thu Jan 30 13:21:00 CET 2003
->>Originator: Harald Harders
-
-If a float environment (figure, table) is written within a paragraph,
-the first word after the environment is not hyphenated.
-\end{verbatim}
-
-\subsection{\texttt{\textbackslash fnsymbol} should use text symbols
- (pr/3400)}
-
-\begin{verbatim}
->>Number: 3400
->>Category: latex
->>Synopsis: \fnsymbol should use text symbols if possible
->>Arrival-Date: Fri Jan 04 20:41:00 CET 2002
->>Originator: Walter Schmidt
-
-The \fnsymbol command can be used in both text and math
-mode. The symbols produced are, however, always taken from
-the math fonts. As a result, they may not match the text
-fonts, even if the symbols are actually available, for
-instance from the TS1 encoding. Since \fnsymbol is
-primarily used for footnotes in text, this should be fixed,
-IMO.
-\end{verbatim}
-
-
-
-
-
-\subsection{\texttt{\textbackslash footnotemark}[x] crashes with fixltx2e.sty
- (pr/3752)}
-
-\begin{verbatim}
->>Number: 3752
->>Category: tools
->>Synopsis: feature \footnotemark[x] crashes with fixltx2e.sty
->>Arrival-Date: Fri Dec 17 10:11:00 +0100 2004
->>Originator: Stefan Pofahl
-
- If I use /fnsymbol together with fixltx2e.sty I can not use
- optional parameter [num]
- \footnotemark[1] is not showing the mark number 1 but
- the mark \value{footnote}.
-\end{verbatim}
-This bug was related to pr/3400, where |\@fnsymbol| was made robust.
-
-\subsubsection{Notes on the implementation strategy}
-
-Pr/3400 made |\@fnsymbol| decide between text-mode and math-mode,
-which requires a certain level of robustness somewhere as the
-decision between text and math must be made at typesetting time and
-not when inside |\protected@edef| or similar commands. One way of
-dealing with this is to make sure the value seen by |\@fnsymbol| is
-a fully expanded number, which could be handled by code such as
-\begin{verbatim}
-\def\fnsymbol#1{\expandafter\@fnsymbol
- \expandafter{\the\csname c@#1\endcsname}}
-\end{verbatim}
-This would be a good solution if everybody used the high level
-commands only by writing code like |\fnsymbol{footnote}|. Unfortunately
-many classes (including the standard classes) and packages use the
-internal forms directly as in |\@fnsymbol\c@footnote| so the easy
-solution of changing |\fnsymbol| would break code that had worked for
-the past 20~years.
-
-Therefore the implementation here makes |\@fnsymbol| itself a
-non-robust command again and instead uses a new robust command
-\DescribeMacro{\TextOrMath}|\TextOrMath|, which will take care of
-typesetting either the math or the text symbol. In order to do so,
-we face an age old problem and unsolvable problem in \TeX: A
-reliable test for math mode that doesn't destroy
-kerning. Fortunately this problem can be solved when using e\TeX\ so
-if you use this as engine for your \LaTeX\ format, as recommended by
-the \LaTeX\ Project, you will get a fully functioning |\TextOrMath|
-command with no side effects. If you use regular \TeX\ as engine for
-your \LaTeX\ format then we have to choose between the lesser of two
-evils: 1)~breaking ligatures and preventing kerning or 2)~face the
-risk of choosing text-mode at the beginning of an alignment cell,
-which was supposed to be math-mode. We have decided upon 1) as is
-customary for regular robust commands in \LaTeX.
-
-
-
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/base/latexrelease.pdf b/Master/texmf-dist/doc/latex/base/latexrelease.pdf
index df5139abe0d..8724a65da4f 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 d9711ea51cc..91835c6c0a3 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 53148e28330..46958ae3a5f 100644
--- a/Master/texmf-dist/doc/latex/base/lb2.err
+++ b/Master/texmf-dist/doc/latex/base/lb2.err
@@ -419,7 +419,7 @@ Ende der Wettbewerbsperiode & Gewinner \\[4pt]
2006/04 & Jens Mandavid & 121 \\
2006/10 & Ralf Heckmann & 61 \\
2008/04 & --- \\
-\ldots & Termin einer weiteren Verlosung offen
+\ldots & keine weitere Verlosung
%2008/10 & \\
\end{tabular}
\end{center}
diff --git a/Master/texmf-dist/doc/latex/base/lb2.pdf b/Master/texmf-dist/doc/latex/base/lb2.pdf
index 695121e9937..b192987d573 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 8e9974e32f0..cc9cc990ffa 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.err b/Master/texmf-dist/doc/latex/base/lgc2.err
index 96fd378fe95..45b440a7f4f 100644
--- a/Master/texmf-dist/doc/latex/base/lgc2.err
+++ b/Master/texmf-dist/doc/latex/base/lgc2.err
@@ -10,7 +10,7 @@
%
% The current version of this file can be found at:
%
-% https://www.latex-project.org/guides/books.html
+% https://www.latex-project.org/help/books
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -351,12 +351,12 @@ You can customize this list to only show errata related to the printing
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 (no longer open)
\end{center}
Any mistake found and reported is a gain for all readers of our book.
-For this reason Addison-Wesley and the authors offer a prize (for 6
-periods) to the eligible person who finds the largest
+For this reason Addison-Wesley and the authors offer a prize to the
+eligible person who finds the largest
number of bugs during that period (in case of a draw a random choice
will be made between all those with the largest number of findings).
A person can receive at most one prize, ever; errors found by any of
@@ -378,7 +378,7 @@ Good luck!
Contest period ends & Winner \\[4pt]
2008/05 & Milan Vujtek & 16 suggestions\\
2010/05 & & \\
-\ldots
+\ldots & contest no longer open
\end{tabular}
\end{center}
\end{list}
diff --git a/Master/texmf-dist/doc/latex/base/lgc2.pdf b/Master/texmf-dist/doc/latex/base/lgc2.pdf
index aa4dfc4d157..885057e32bd 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 0ba46a391ab..1e9a4ce0815 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 b93038c6aca..70eeb7d4dd8 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 92c73d0ab15..9bb4f81784d 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/ltcmdhooks-doc.tex b/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.tex
index 1efae5f229e..acbb880e727 100644
--- a/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.tex
+++ b/Master/texmf-dist/doc/latex/base/ltcmdhooks-doc.tex
@@ -2,5 +2,6 @@
\AtBeginDocument{\OnlyDescription
\let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
}
\input{ltcmdhooks.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf b/Master/texmf-dist/doc/latex/base/ltfilehook-code.pdf
index 1f083a0c1dc..1c2731b68ba 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 70c1bd459cd..b41f8353792 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/ltfilehook-doc.tex b/Master/texmf-dist/doc/latex/base/ltfilehook-doc.tex
index 220de941888..c9287dfb2fa 100644
--- a/Master/texmf-dist/doc/latex/base/ltfilehook-doc.tex
+++ b/Master/texmf-dist/doc/latex/base/ltfilehook-doc.tex
@@ -3,5 +3,6 @@
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
}
\input{ltfilehook.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/lthooks-code.pdf b/Master/texmf-dist/doc/latex/base/lthooks-code.pdf
index 7bad3dd37f9..244eed91e21 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 fb7da9f5b26..266cd976ac9 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/lthooks-doc.tex b/Master/texmf-dist/doc/latex/base/lthooks-doc.tex
index a51e2cd6e04..b5f3622a179 100644
--- a/Master/texmf-dist/doc/latex/base/lthooks-doc.tex
+++ b/Master/texmf-dist/doc/latex/base/lthooks-doc.tex
@@ -3,5 +3,6 @@
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
}
\input{lthooks.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltluatex.pdf b/Master/texmf-dist/doc/latex/base/ltluatex.pdf
index d5d63450a3a..613b669f2f9 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
new file mode 100644
index 00000000000..719155ba027
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltmarks-code.tex b/Master/texmf-dist/doc/latex/base/ltmarks-code.tex
new file mode 100644
index 00000000000..7a3b9173bb6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-code.tex
@@ -0,0 +1,5 @@
+% This will typeset documentation + code
+%
+
+\AtBeginDocument{\AlsoImplementation}
+\input{ltmarks.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf b/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
new file mode 100644
index 00000000000..b329ad81df0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/ltmarks-doc.tex b/Master/texmf-dist/doc/latex/base/ltmarks-doc.tex
new file mode 100644
index 00000000000..8a62bb95c65
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltmarks-doc.tex
@@ -0,0 +1,8 @@
+% This will typeset only documentation but not the code
+%
+
+\AtBeginDocument{\OnlyDescription
+% \let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
+ }
+\input{ltmarks.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltnews.pdf b/Master/texmf-dist/doc/latex/base/ltnews.pdf
index af795b23d49..a55de7eb1c0 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 406787c5f0f..cba11c3ce31 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews.tex
@@ -38,9 +38,9 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltnews.tex}%
- [2021/06/07 v1.4d Master file for ltnews*.tex (LaTeX Project)]
+ [2021/11/12 v1.4d Master file for ltnews*.tex (LaTeX Project)]
-\providecommand*{\lastissue}{34}
+\providecommand*{\lastissue}{35}
\InputIfFileExists{ltnews-lastissue.cfg}{}{}
@@ -222,7 +222,11 @@
\def\y{|multicol}%
\ifx\x\y
\else
- \@latex@error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+ \def\y{|color}%
+ \ifx\x\y
+ \else
+ \@latex@error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+ \fi
\fi
\fi
\fi
diff --git a/Master/texmf-dist/doc/latex/base/ltnews01.pdf b/Master/texmf-dist/doc/latex/base/ltnews01.pdf
index 208069621e1..ed4420fac7e 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/ltnews01.tex b/Master/texmf-dist/doc/latex/base/ltnews01.tex
index 3703f23f611..08ac57d27d9 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews01.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews01.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews02.pdf b/Master/texmf-dist/doc/latex/base/ltnews02.pdf
index 611665a28dc..dced90a7bdf 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/ltnews02.tex b/Master/texmf-dist/doc/latex/base/ltnews02.tex
index dfc78e4843b..1d875dcd031 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews02.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews02.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews03.pdf b/Master/texmf-dist/doc/latex/base/ltnews03.pdf
index 4e98757b7ca..a6f83c70e35 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/ltnews03.tex b/Master/texmf-dist/doc/latex/base/ltnews03.tex
index e555e12df43..93f0963426c 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews03.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews03.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews04.pdf b/Master/texmf-dist/doc/latex/base/ltnews04.pdf
index 6bda1af53ee..d9eb536b867 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/ltnews04.tex b/Master/texmf-dist/doc/latex/base/ltnews04.tex
index 0a313664baf..527024fa18b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews04.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews04.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews05.pdf b/Master/texmf-dist/doc/latex/base/ltnews05.pdf
index 3b5590d158e..b24151feed5 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/ltnews05.tex b/Master/texmf-dist/doc/latex/base/ltnews05.tex
index 840f04fe721..d13f469dd6f 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews05.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews05.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews06.pdf b/Master/texmf-dist/doc/latex/base/ltnews06.pdf
index a601cc3e653..d6ff0c4ce86 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/ltnews06.tex b/Master/texmf-dist/doc/latex/base/ltnews06.tex
index 52ecba9918b..ac32eab8d1a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews06.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews06.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews07.pdf b/Master/texmf-dist/doc/latex/base/ltnews07.pdf
index e5781cbadd6..03172d6299f 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/ltnews07.tex b/Master/texmf-dist/doc/latex/base/ltnews07.tex
index db3812e3873..56cfd76661b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews07.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews07.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews08.pdf b/Master/texmf-dist/doc/latex/base/ltnews08.pdf
index b08f0bf8344..1500a3b4364 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/ltnews08.tex b/Master/texmf-dist/doc/latex/base/ltnews08.tex
index d79a1b1b74b..68cd1247e64 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews08.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews08.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews09.pdf b/Master/texmf-dist/doc/latex/base/ltnews09.pdf
index f5ae7d4cefa..46b251d25c7 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/ltnews09.tex b/Master/texmf-dist/doc/latex/base/ltnews09.tex
index 2d56515ca09..af14a53e34a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews09.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews09.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews10.pdf b/Master/texmf-dist/doc/latex/base/ltnews10.pdf
index 8607468376a..71203b94e15 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/ltnews10.tex b/Master/texmf-dist/doc/latex/base/ltnews10.tex
index 5ab159f0bb7..c6a77e6e364 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews10.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews10.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews11.pdf b/Master/texmf-dist/doc/latex/base/ltnews11.pdf
index 2e41c1b23eb..0b5e3aee42c 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/ltnews11.tex b/Master/texmf-dist/doc/latex/base/ltnews11.tex
index 6d27fee067e..b4f6d19910e 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews11.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews11.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews12.pdf b/Master/texmf-dist/doc/latex/base/ltnews12.pdf
index e25c52517d9..7ce5bc2138e 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/ltnews12.tex b/Master/texmf-dist/doc/latex/base/ltnews12.tex
index 62b08324b7f..b7a01bc208b 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews12.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews12.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews13.pdf b/Master/texmf-dist/doc/latex/base/ltnews13.pdf
index bedabe5c476..7cc92b75fbe 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/ltnews13.tex b/Master/texmf-dist/doc/latex/base/ltnews13.tex
index 08acf95df6b..0cbbe49a5da 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews13.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews13.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews14.pdf b/Master/texmf-dist/doc/latex/base/ltnews14.pdf
index 34874d53e5c..35ff9ebfd68 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/ltnews14.tex b/Master/texmf-dist/doc/latex/base/ltnews14.tex
index 61c96c81ae4..b5fa7cb019a 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews14.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews14.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews15.pdf b/Master/texmf-dist/doc/latex/base/ltnews15.pdf
index 54143d4d6d6..86e6f5112ea 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/ltnews15.tex b/Master/texmf-dist/doc/latex/base/ltnews15.tex
index e143d5f4dd5..3b1ea3f89cb 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews15.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews15.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews16.pdf b/Master/texmf-dist/doc/latex/base/ltnews16.pdf
index afe79463067..d1cff3c8083 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/ltnews16.tex b/Master/texmf-dist/doc/latex/base/ltnews16.tex
index 17f9cd094a6..7f7183ac0e9 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews16.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews16.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews17.pdf b/Master/texmf-dist/doc/latex/base/ltnews17.pdf
index 3b999d7051c..bb04d1aca62 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/ltnews17.tex b/Master/texmf-dist/doc/latex/base/ltnews17.tex
index 614c5c7d631..4dab20f53fb 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews17.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews17.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews18.pdf b/Master/texmf-dist/doc/latex/base/ltnews18.pdf
index ca6f7908034..21ef52e75df 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/ltnews18.tex b/Master/texmf-dist/doc/latex/base/ltnews18.tex
index 518aeda0672..04491760b2c 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews18.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews18.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews19.pdf b/Master/texmf-dist/doc/latex/base/ltnews19.pdf
index af489f48d07..6e0428dbf19 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/ltnews19.tex b/Master/texmf-dist/doc/latex/base/ltnews19.tex
index f733c41dd43..43d388b29b8 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews19.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews19.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews20.pdf b/Master/texmf-dist/doc/latex/base/ltnews20.pdf
index 4313b687b8f..464fd8b71b1 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 f2301aa1121..a0244199bdc 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 b49c30a43fc..271e7b55497 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/ltnews22.tex b/Master/texmf-dist/doc/latex/base/ltnews22.tex
index 7551616154d..8d1c91acfa6 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews22.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews22.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2015-2021
+% Copyright (C) 2015-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews23.pdf b/Master/texmf-dist/doc/latex/base/ltnews23.pdf
index d0a0829e7e6..1baa40823b2 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/ltnews23.tex b/Master/texmf-dist/doc/latex/base/ltnews23.tex
index 99e96150741..29241766caa 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews23.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews23.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2015-2021
+% Copyright (C) 2015-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews24.pdf b/Master/texmf-dist/doc/latex/base/ltnews24.pdf
index bbb1de7bdc3..2819e7ae608 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/ltnews24.tex b/Master/texmf-dist/doc/latex/base/ltnews24.tex
index 44cd76a0606..13d2fc8519f 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews24.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews24.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2015-2021
+% Copyright (C) 2015-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews25.pdf b/Master/texmf-dist/doc/latex/base/ltnews25.pdf
index d1207ea6089..b15213fa0a0 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/ltnews25.tex b/Master/texmf-dist/doc/latex/base/ltnews25.tex
index 735fda356e3..5a9f4807183 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews25.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews25.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2016-2021
+% Copyright (C) 2016-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews26.pdf b/Master/texmf-dist/doc/latex/base/ltnews26.pdf
index 36548c5b6cd..ef2f6476a52 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/ltnews26.tex b/Master/texmf-dist/doc/latex/base/ltnews26.tex
index f0e7578b706..94b4c4818bd 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews26.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews26.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2017-2021
+% Copyright (C) 2017-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews27.pdf b/Master/texmf-dist/doc/latex/base/ltnews27.pdf
index b407a060770..70a4b3298eb 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/ltnews27.tex b/Master/texmf-dist/doc/latex/base/ltnews27.tex
index ba17d26e5ee..03c8c042054 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews27.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews27.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2017-2021
+% Copyright (C) 2017-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews28.pdf b/Master/texmf-dist/doc/latex/base/ltnews28.pdf
index b43107672cb..267e85ea511 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 03d4a04ae1b..28bfe0577cb 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews28.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews28.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2017-2021
+% Copyright (C) 2017-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews29.pdf b/Master/texmf-dist/doc/latex/base/ltnews29.pdf
index 91dfa2d7f92..090fc4c6587 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/ltnews29.tex b/Master/texmf-dist/doc/latex/base/ltnews29.tex
index 749b9272183..c06d4de3478 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews29.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews29.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2018-2021
+% Copyright (C) 2018-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltnews30.pdf b/Master/texmf-dist/doc/latex/base/ltnews30.pdf
index 62408fe152e..849f406acb6 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 7d6614ea236..11880394de6 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/ltnews32.pdf b/Master/texmf-dist/doc/latex/base/ltnews32.pdf
index c5adbb165da..5850e93b187 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/ltnews32.tex b/Master/texmf-dist/doc/latex/base/ltnews32.tex
index 01bc515db50..28f3bf88b43 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews32.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews32.tex
@@ -307,7 +307,7 @@ line) could result in an unnecessary extra line in order to prevent a
hyphen in the second-last line of the paragraph. This is now avoided
by setting \cs{finalhyphendemerits} to zero in unjustified settings.
%
-\githubissue{274}
+\githubissue{247}
\subsection{Set a non-zero \cs{baselineskip} in text scripts}
diff --git a/Master/texmf-dist/doc/latex/base/ltnews33.pdf b/Master/texmf-dist/doc/latex/base/ltnews33.pdf
index 3230ff18250..45cc1a580dc 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 73864960354..87a85b05995 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/ltnews34.tex b/Master/texmf-dist/doc/latex/base/ltnews34.tex
index 11f1ce2bcea..04d1c25bc7d 100644
--- a/Master/texmf-dist/doc/latex/base/ltnews34.tex
+++ b/Master/texmf-dist/doc/latex/base/ltnews34.tex
@@ -493,7 +493,8 @@ for which these are now the preferred replacements.
This optional argument
specifies the format of the counter, such as \cs{roman};
the default value is \cs{arabic}.
-
+Alternatively, you can use a starred form, in which case the format of the
+counter is not altered at all.
\subsection{Tests for package and class loading}
@@ -548,7 +549,7 @@ version of the font instead of substituting the (T1-encoded) Type 1 version.
\subsection{Additional Extended Latin characters predefined}
-More characters, such as \'k (U+1E131), are now pre-defined and
+More characters, such as \'k (U+1E31), are now pre-defined and
do not need a \verb|\DeclareUnicodeCharacter| declaration.
%
\githubissue{593}
@@ -783,7 +784,7 @@ possibilities.
A \env{tabular} environment is typeset (internally) as an \env{array}
environment with special settings, and it therefore uses (hidden) math mode.
Since it is not in fact a math formula,
-no extra space from \cs{mathsuround} should be added
+no extra space from \cs{mathsurround} should be added
(the spacing around the \env{tabular} should not get changed).
%
Note that this bug has been present ``forever'', which shows that \cs{mathsurround}
@@ -830,7 +831,7 @@ brace groups inside \cs{r@}\meta{label}) However, if \pkg{nameref} or
arguments; this could cause low-level errors in some cases.
The code has therefore now been changed to avoid these errors.
%
-\sxissue{603948}
+\sxissue{q/603948}
\medskip
diff --git a/Master/texmf-dist/doc/latex/base/ltnews35.pdf b/Master/texmf-dist/doc/latex/base/ltnews35.pdf
new file mode 100644
index 00000000000..2e946fa6053
--- /dev/null
+++ 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
new file mode 100644
index 00000000000..0e0cda79b12
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/base/ltnews35.tex
@@ -0,0 +1,987 @@
+% \iffalse meta-comment
+%
+% Copyright 2021-2022
+% 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: ltnews35.tex
+%
+% This is issue 35 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 parameters parameter}
+
+\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{} % 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
+
+
+\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
+
+\let\finalvspace\vspace % for document layout fixes
+
+% Undo ltnews's \verbatim@font with active < and >
+\makeatletter
+\def\verbatim@font{%
+ \normalsize\ttfamily}
+\makeatletter
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\tubcommand[1]{}
+\tubcommand{\input{tubltmac}}
+
+\publicationmonth{June}
+\publicationyear{2022}
+
+\publicationissue{35}
+
+\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 2022 June release of \LaTeX{} is again focussing on improvements
+made for our multi-year project to automatically offer tagged PDF
+output~\cite{35:blueprint}. These are the new document metadata
+interface, the new mark mechanism for \LaTeX{}, a standard key/value
+approach for options, and the introduction of the \texttt{latex-lab}
+area for temporary code that can be optionally loaded by a document
+(when \cs{DocumentMetadata} is used with certain test keys). These
+additions are described in the first sections. Related to this effort
+there are updates to \pkg{hyperref} and \pkg{tagpdf}, both of which
+have their own distributions.
+
+As usual, we also added a number of smaller improvements and bug
+fixes in various components of core \LaTeX{}. Perhaps the most
+interesting ones (for some users) are direct support for floating
+point arithmetic (via \cs{fpeval}; see below) and the ability to
+properly color parts of math formulas without introducing spacing
+problems. For this we now offer the command \cs{mathcolor}; see the
+description near the end of the newsletter. There is also a new major
+release of the \pkg{doc} package that supports a more fine-grained
+classification of code elements and properly supports \pkg{hyperref}.
+
+
+\section{Document metadata interface}
+
+Until recently there was no dedicated location to declare
+settings that affect a document as a whole. Settings had to be placed
+somewhere in the preamble or as class options or sometimes even as
+package options. For some such settings this may cause issues, e.g.,
+setting the PDF version is only possible as long as the PDF output
+file has not yet been opened which can be caused by loading one or the
+other package.
+
+For the \enquote{\LaTeX{} Tagged PDF project}~\cite{35:blueprint}
+further metadata about the whole document (and its processing) need to
+be specified and again this data should be all placed in a single
+well-defined place.
+
+For this reason we introduce the new command \cs{DocumentMetadata} to
+unify all such settings in one place. The command expects a key/value
+list that describes all document metadata for the current document. It
+is only allowed to be used at the very beginning of the document,
+i.e., the declaration has to be placed \emph{before}
+\cs{documentclass} and will issue an error if found later.
+
+
+At this point in time we provide only the bare command in the format;
+the actual processing of the key/value is defined externally and the
+necessary code will be loaded if the command is used. This scheme is
+chosen for two reasons: by adding the command in the kernel it is
+available to everybody without the need to load a special package
+using \cs{RequirePackage}. The actual processing, though, is external
+so that we can easily extend the code (e.g., offering additional keys
+or changing the internal processing) while the above-mentioned project
+is progressing. Both together allows users to immediately benefit from
+intermediate results produced as part of the project, as well as
+offering the \LaTeX{} Project Team the flexibility to enable such
+intermediate results (for test purposes or even production use)
+in-between and independently of regular \LaTeX{} releases. Over time,
+tested and approved functionality can then seamlessly move into the
+kernel at a later stage without any alterations to documents already
+using it. At the same time, not using the new consolidated interface
+means that existing documents are in no way affected by the work that
+is carried out and is in a wider alpha or beta test phase.
+
+Documentation about the new command and
+already existing keys are in \file{l3meta.pdf} and \file{documentmetadata-support.pdf}
+and also in the documentation of the \pkg{pdfmanagement-testphase} package.
+
+Package and class authors can test if a user has used \cs{DocumentMetadata}
+with \cs{IfDocumentMetadataTF}.
+
+
+\section{The \pkg{latex-lab} bundle}
+
+We added a new \pkg{latex-lab}oratory bundle in which we place new
+code that is going to be available only through a
+\cs{DocumentMetadata} declaration and that is\Dash most
+importantly\Dash work under development and subject to
+change without further notice. This means that commands and interfaces provided there may
+get altered or removed again after some public testing. The code can
+be accessed through the \cs{DocumentMetadata} key \texttt{testphase}.
+Currently supported values are \texttt{phase-I} and \texttt{phase-II}
+that enable code of the tagged PDF project (phase~I is frozen, and
+phase~II is the phase we are currently working on). With
+\begin{verbatim}
+ \DocumentMetadata{testphase=phase-II}
+\end{verbatim}
+you currently enable tagging for paragraphs and footnotes; more
+document elements will follow soon.
+
+Eventually, code will move (once considered stable) from the
+testphase into the \LaTeX{} kernel itself. Tagging will continue to
+require a \cs{DocumentMetadata} declaration, but you will then be able
+to drop the \texttt{testphase} key setting.
+
+
+\section{A new mark mechanism for \LaTeX{}}
+
+The mark mechanism is \TeX{}'s way to pass information to the
+page-building process, which happens asynchronously, in order to
+communicate relevant data for running headers and footers to the
+latter, e.g., what is the first section on the page or the last
+subsection, etc. However, marks may also be
+used for other purposes. The new kernel module provides a generalized
+mechanism for marks of independent classes.
+
+The \TeX{} engines offer a low-level mark mechanism to
+communicate information about the content of the current page to
+the asynchronous operating output routine. It works by placing
+\cs{mark} commands into the source document.
+
+This mechanism works well for simple formats (such as plain \TeX)
+whose output routines are only called to generate pages. It
+fails, however, in \LaTeX{} (and other more complex formats),
+because here the output routine is sometimes called without
+producing a page, e.g., when encountering a float and placing it
+into one of the float regions.
+%
+When that happens \TeX{}'s \cs{topmark} no
+longer reflects the situation at the top of the next page when that
+page is finally boxed.
+
+Furthermore, \TeX{} only offered a single mark while \LaTeX{} wanted to
+keep track of more than one piece of information. For that reason,
+\LaTeX{} implemented its own mark mechanism where the marks always
+contained two parts with their own interfaces: \cs{markboth} and
+\cs{markright} to set marks and \cs{leftmark} and \cs{rightmark} to
+retrieve them.
+
+Unfortunately, this extended mechanism, while supporting scenarios such
+as chapter/section marks, was far from general. The mark
+situation at the top of a page (i.e., \cs{topmark}) remained
+unusable and the two marks offered were not really independent of
+each other because \cs{markboth} (as the name indicates) was
+always setting both.
+
+
+The new mechanism now available in \LaTeX{} starting with the 2022
+release overcomes both issues:
+\begin{itemize}
+\item
+ It provides arbitrary many, fully independent named marks, that
+ can be allocated and from that point onwards used.
+\item
+ It offers access for each such mark to retrieve its top,
+ first, and bottom value separately.
+\item
+ Furthermore, the mechanism is augmented to give access to marks
+ in different ``regions'', which may be other than full pages.
+\end{itemize}
+The legacy interfaces, e.g., \cs{markboth}, are kept. Thus classes and
+packages making use of them continue to work seamlessly. To make use
+of the extended possibility a new set of commands for the declaration of
+mark classes, setting their values and querying their state (in the
+output routine) is now available in addition.
+%
+You find the documentation for the new interfaces together with
+examples and further notes on the mechanism in the file
+\texttt{ltmarks-doc.pdf}. Just call \texttt{texdoc}
+\texttt{ltmarks-doc} to display it on your computer.
+
+
+\section{A key/value approach to option handling}
+
+The classical \LaTeXe{} method for handling options, using \cs{ProcessOptions},
+treats each entry in the list as a string. Many package authors have sought to
+extend this handling by treating each entry as a key--value pair (keyval)
+instead. To date, this has required the use of additional packages, for example
+\pkg{kvoptions}.
+
+The \LaTeX{} team have for some time offered the package \pkg{l3keys2e} to
+allow keyvals defined using the L3 programming layer module \pkg{l3keys} to act
+as package options. This ability has now been integrated directly into the
+kernel. As part of this integration, the syntax for processing keyval options
+has been refined, such that
+\begin{verbatim}
+\ProcessKeyOptions
+\end{verbatim}
+will now automatically pick up the package name as the key \emph{family},
+%unless explicitly given as an optional argument.
+unless explicitly given as an optional argument:
+\begin{verbatim}
+\ProcessKeyOptions[family]
+\end{verbatim}
+
+To support creating key options for this mechanism, the new command
+\cs{DeclareKeys} has been added. This works using the same general
+approach as \pkg{l3keys} or \pkg{pgfkeys}: each key has one or more
+\emph{properties} which define its behavior.
+
+Options for packages which use this new approach will not be checked for
+clashes by the kernel. Instead, each time a \cs{usepackage} or
+\cs{RequirePackage} line is encountered, the list of options given will be
+passed to \cs{ProcessKeyOptions}. Options which can only be given
+the first time a package is loaded can be marked using the property
+\texttt{.usage = load}, and will result in a warning if used in a subsequent
+package loading line.
+
+Package options defined in this way can also be set within a package using
+the new command \cs{SetKeys}, which again takes an optional argument
+to specify the \emph{family}, plus a mandatory one for the options themselves.
+
+
+
+\section{New or improved commands}
+
+
+\subsection{Floating point and integer calculations}
+
+The L3 programming layer offers expandable commands for calculating
+floating point and integer values, but so far these functions have
+only been available to programmers, because they require
+\cs{ExplSyntaxOn} to be in force. To make them easily available at the
+document level, the small package \pkg{xfp} defined \cs{fpeval} and
+\cs{inteval}.
+
+
+An example of use could be the following:
+\begin{verbatim}
+ \LaTeX{} can now compute:
+ \[ \frac{\sin (3.5)}{2} + 2\cdot 10^{-3}
+ = \fpeval{sin(3.5)/2 + 2e-3} \]
+\end{verbatim}
+which produces the following output:
+\begin{quote}
+\LaTeX{} can now compute:
+\[ \frac{\sin (3.5)}{2} + 2\cdot 10^{-3}
+ = \fpeval{sin(3.5)/2 + 2e-3} \]
+\end{quote}
+These two commands have now been moved into the kernel and in addition
+we also provide \cs{dimeval} and \cs{skipeval}. The details of their
+syntax are described in \file{usrguide3.pdf}. The command \cs{fpeval}
+offers a rich syntax allowing for extensive calculations, whereas the
+other three commands are essentially thin wrappers for \cs{numexpr},
+\cs{dimexpr}, and \cs{glueexpr} \Dash therefore inheriting some syntax
+%peculiars and limitations in expressiveness.
+peculiarities and limitations in expressiveness.
+% \newcommand\calulateheight[1]{%
+\begin{verbatim}
+ \newcommand\calculateheight[1]{%
+ \setlength\textheight{\dimeval{\topskip
+ + \baselineskip * \inteval{#1-1}}}}
+\end{verbatim}
+The above, for example, calculates the appropriate \cs{textheight} for
+a given number of text lines.
+%
+\githubissue{711}
+
+
+\subsection{CamelCase commands for changing arguments to csnames}
+
+It is sometimes helpful to \enquote{construct} a command name on the
+fly rather than providing it as a single \cs{...}\ token. For these
+kinds of tasks the \LaTeX3 programming layer offers a general mechanism
+(in the form of \cs{exp\_args:N...}\ and
+\cs{cs\_generate\_variant:Nn}). However, when declaring new
+document-level commands with \cs{NewDocumentCommand} or
+\cs{NewCommandCopy}, etc.\ the L3 programming layer may not be active,
+and even if it is, mixing CamelCase syntax with L3 programming syntax
+is not really a good approach. We have therefore added the commands
+\cs{UseName} and \cs{ExpandArgs} to assist in such
+situations, e.g.,
+\begin{verbatim}
+\NewDocumentCommand\newcopyedit{mO{red}}
+ {\newcounter{todo#1}%
+ \ExpandArgs{c}\NewDocumentCommand{#1}{s m}%
+ {\stepcounter{todo#1}%
+ \IfBooleanTF {##1}%
+ {\todo[color=#2!10]%
+ {\UseName{thetodo#1}: ##2}}%
+ {\todo[inline,color=#2!10]%
+ {\UseName{thetodo#1}: ##2}}%
+ }%
+ }
+\end{verbatim}
+which provides a declaration mechanism for copyedit commands, so that
+\verb=\newcopyedit{FMi}[blue]= then defines \cs{FMi} (and the
+necessary counter).
+
+The command \cs{ExpandArgs} can be useful with the argument \texttt{cc} or
+\texttt{Nc} in
+combination with \cs{NewCommandCopy} if the old or new command name
+or both need constructing. Finally, there is \cs{UseName} which
+takes its argument and turns it into a command (i.e., a CamelCase
+version of \cs{@nameuse} (\LaTeXe) or \cs{use:c} (L3 programming
+layer)) which was also used in the example above.
+%
+\githubissue{735}
+
+
+\subsection{Testing for (nearly) empty arguments}
+%
+In addition to \cs{IfNoValueTF} to test if an optional argument was
+provided or not, there is now also \cs{IfBlankTF}, which tests if the
+argument is empty or contains only blanks. Based on the result it
+selects a true or false code branch. As usual, the variants
+\cs{IfBlankT} and \cs{IfBlankF} are also provided for use when only one
+branch leads to some action. Further details and examples are given
+in \file{usrguide3.pdf}.
+
+This test can also be useful if you set up key/value options and want
+to test if a key was specified without giving a value, vs.\
+specifying \enquote{\textit{key}\texttt{ = ,}}.
+
+
+\subsection{Better allocator for Lua command ids}
+
+In \LuaTeX\ we already had the \cs{newluafunction} macro which allocates
+a Lua function identifier which can be used to define commands
+with \cs{luadef}. But this always required two steps: \cs{newluafunction}
+defines the passed control sequence as an integer, which then has to be used
+to define the actual Lua command with \cs{luadef}. After that, the integer is
+no longer needed. This was inconsistent with other allocators. Therefore we
+added two new allocators \cs{newluacmd} and \cs{newexpandableluacmd} which
+directly define a control sequences invoking the allocated Lua function.
+The former defines a non-expandable Lua command, the latter an expandable
+one. Of course, the associated Lua function still has to be defined by assigning
+a function to the \verb|lua.get_functions_table()| table. The required index is
+available in \cs{allocationnumber}.
+
+An example could be
+\begin{verbatim}
+\newluacmd \greeting
+\directlua {
+lua.get_functions_table()
+ [tex.count.allocationnumber]
+ = function()
+ local name = token.scan_argument()
+ tex.sprint('Hello ', name, '!')
+ end
+}
+
+\greeting{world}
+\end{verbatim}
+%
+\githubissue{536}
+
+\subsection{Starred command version for \cs{ref}, \cs{Ref} and \cs{pageref}}
+
+For a long time \pkg{hyperref} has provided starred versions for the reference commands
+which do not create active links. This syntax extension required users and
+package authors to check if \pkg{hyperref} was loaded and adjust the coding
+accordingly or take the starred forms out if text was copied to a document
+without \pkg{hyperref}. The commands have now been aligned with
+the \pkg{hyperref} usage and always allow an optional star. The \pkg{showkeys} package
+has been updated to handle the starred versions too, both with \pkg{hyperref} or \pkg{nameref}
+and without. The commands are defined with \cs{NewDocumentCommand} and so no longer expand when
+written to auxiliary files. This reduces the number of compilations needed to resolve references
+in captions and sectioning commands. The package \pkg{ifthen} has been updated to ensure that
+\cs{pageref} can still be used inside tests like \cs{isodd}.
+
+
+\subsection{Preparation for supporting PDF in backends}
+
+At the current point in time, basic support for PDF in
+backends is not part of \LaTeX{} core; it is provided by an external
+package like \pkg{hyperref}.
+At some time in the future that work will be placed
+into the kernel but for now it is separate and has to be
+explicitly loaded in the document. To enable class and package authors
+to support PDF-specific tasks like the creation of link targets without
+having to test first if \pkg{hyperref} has been loaded, dummy versions of
+the commands \cs{MakeLinkTarget}, \cs{LinkTargetOn}, \cs{LinkTargetOff} and
+\cs{NextLinkTarget} are provided.
+
+\section{Code improvements}
+
+\subsection{\cs{protected} UTF-8 character definitions}
+The characters defined via \file{utf8.def} are now defined as \cs{protected}
+macros. This makes them safe to use in expansion contexts where the
+classic \cs{protect} mechanism is not enabled, notably L3 programming
+layer \texttt{e} and \texttt{x} arguments.
+
+Related to this change \cs{MakeUppercase} and \cs{MakeLowercase} have
+been updated to use the Unicode-aware case changing functions
+\cs{text\string_lowercase:n} in place of the \TeX\ primitive \cs{lowercase}.
+The \cs{NoCaseChange} command from the \pkg{textcase} package has also been added.
+
+Note: for technical reasons these low-level character handling changes
+will not be rolled back if the format version is rolled back using the
+\pkg{latexrelease} package rollback mechanism.
+%
+\githubissue{780}
+
+\subsection{A small update to \cs{obeylines} and \cs{obeyspaces}}
+
+The plain \TeX{} versions of \cs{obeylines} and \cs{obeyspaces} make
+\verb=^^M= and \verb*= = active and force them to execute \cs{par} %*
+and \cs{space}, respectively. Don Knuth makes a remark in the \TeX{}book
+that one can then use a trick such as
+\begin{verbatim}
+ \let\par=\cr \obeylines \halign{...
+\end{verbatim}
+However, redefining \cs{par} like this
+may lead to all kinds of problems in \LaTeX. We have therefore changed
+the commands to use an indirection: the active characters now execute
+\cs{obeyedline} and \cs{obeyedspace}, which in turn do what the
+hardwired solution did before.
+
+\begin{quote}
+ \renewcommand\obeyedspace{\ \textbullet\ }
+ \footnotesize\obeyspaces%
+This means that it is now possible to %
+achieve special effects in a safe way. %
+This paragraph, for example, was produced by %
+making \cs{obeyedspace} generate %
+\texttt{\{\cs{\verbvisiblespace}\cs{textbullet}\cs{\verbvisiblespace}\}} and %
+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.
+%
+\githubissue{367}
+
+
+\subsection{\pkg{doc} upgraded to version~3}
+
+After roughly three decades the \pkg{doc} package received a cautious
+uplift, as already announced at the 2019 TUG conference\Dash changes
+to \pkg{doc} are obviously always done in a leisurely manner.
+
+Given that most documentation is nowadays viewed on screen,
+\pkg{hyperref} support is added and by default enabled (suppress it
+with option \option{nohyperref} or alternatively with
+\option{hyperref}\texttt{=false}) so the internal cross-references are
+properly resolved including those from the index back into the
+document.
+
+Furthermore, \pkg{doc} now has a general mechanism to define
+additional \enquote{doc} elements besides the two \texttt{Macro} and
+\texttt{Env} it has known in the past. This enables better
+documentation because you can now clearly mark different types of
+objects instead of simply calling them all \enquote{macros}.
+If desired, they can be collected together under a heading
+in the index so that you have a section just with your document
+interface commands, or with all parameters, or \ldots
+
+The code borrows ideas from Didier Verna's \pkg{dox} package (although
+the document level interface is different) and it makes use of Heiko
+Oberdiek's \pkg{hypdoc} package, which at some point in the future
+will be completely integrated, given that its whole purpose it to
+patch \pkg{doc}'s internal commands to make them \pkg{hyperref}-aware.
+
+All changes are expected to be upward compatible, but if you run into
+issues with older documentation using \pkg{doc} a simple and quick
+solution is to load the package as follows:
+\verb/\usepackage{doc}[=v2]/
+
+\subsection{\pkg{doc} can now show dates in change log}
+
+Up to now the change log was always sorted by version numbers
+(ignoring the date that was given in the \cs{changes} command). It
+can now be sorted by both version and date if you specify the option
+\option{reportchangedates} on package level and in that case the
+changes are displayed with
+\begin{quote}
+ \meta{version} -- \meta{date}
+\end{quote}
+as the heading (instead of just \meta{version}), when using
+\cs{PrintChanges}.
+%
+\githubissue{531}
+
+
+
+\subsection{\class{ltxdoc} gets options \option{nocfg} and \option{doc2}}
+
+The \LaTeX{} sources are formatted with the \class{ltxdoc} class,
+which supports loading a local config file \file{ltxdoc.cfg}. In the
+past the \LaTeX{} sources used such a file but it was not distributed.
+As a result reprocessing the \LaTeX{} sources elsewhere showed
+formatting changes. We now distribute this file which means that it
+is loaded by default. With the option \option{nocfg} this can be
+prevented.
+
+We also added a \option{doc2} option to the class so that it is
+possible to run old documentation with \pkg{doc} version~2, if
+necessary.
+
+
+
+\subsection{Lua\TeX\ callback improvements}
+
+The Lua\TeX\ callbacks \texttt{hpack\_quality} and \texttt{vpack\_quality} are
+now \texttt{exclusive} and therefore only allow a single handler.
+The previous type \texttt{list} resulted in incorrect parameters when multiple
+handlers were set; therefore, this only makes an existing restriction more
+explicit.
+
+Additionally the return value \texttt{true} for \texttt{list}
+callbacks is now handled internally and no longer passed on to the
+engine. This simplifies the handling of these callbacks and makes it
+easier to provide consistent interfaces for user-defined \texttt{list}
+callbacks.
+
+
+\subsection{Class \class{proc} supports \option{twoside}}
+
+The document class \class{proc}, which is a small variation on the
+\class{article} class, now supports the \option{twoside} option,
+displaying different data in the footer line on recto and verso pages.
+%
+\githubissue{704}
+
+
+\subsection{Croatian character support}
+
+The default \pkg{inputenc} support has been extended to support the 9 characters
+D\v Z, D\v z, d\v z, LJ, Lj, lj, NJ, Nj, nj, input as single UTF-8 code points
+in the range U+01C4 to U+01CC.
+%
+\githubissue{723}
+
+
+\subsection{Cleanup of the Unicode declaration interface}
+
+When declaring encoding specific commands for the Unicode (TU)
+encoding some declarations (e.g., \cs{DeclareUnicodeComposite}) do not
+have an explicit argument for the encoding name, but instead use
+the command \cs{UnicodeEncodingName} internally. There was one
+exception though: \cs{DeclareUnicodeAccent} required an explicit
+encoding argument. This inconsistency has now been removed and the
+encoding name is always implicit. To avoid a breaking change for a few
+packages on CTAN, \cs{DeclareUnicodeAccent} still accepts three
+arguments if the second argument is \texttt{TU} or
+\cs{UnicodeEncodingName}. Once all packages have been updated this
+code branch will get removed.
+
+At the same time we added \cs{DeclareUnicodeCommand} and
+\cs{DeclareUnicodeSymbol} for consistency. They also use
+\cs{UnicodeEncodingName} internally, instead of requiring an encoding
+argument as their general purpose counterparts do.
+%
+\githubissue{253}
+
+
+\subsection{New hook:\ \hook{include/excluded}}
+
+A few releases ago we introduced a number of file hooks for different
+types of files; see~\cite{35:ltnews32} and in
+particular~\cite{35:ltfilehook-doc}.
+%
+The hooks for \cs{include} files now have an addition: if such a file
+is not included (because \cs{includeonly} is used and its \meta{name}
+is not listed in the argument) then the hooks \hook{include/excluded}
+and \hook{include/\meta{name}/excluded} are executed in that
+order\Dash of course, only if they contain code. This happens after
+\LaTeX{} has loaded the \texttt{.aux} file for this include file,
+i.e., after \LaTeX{} has updated its counters to pretend that the file
+was seen.
+
+
+\subsection{Input support for normalized angle brackets}
+
+Source files containing \textlangle\ or \textrangle\ directly written
+as Unicode codepoints U+2329 and U+232A no longer break when the
+source file gets normalized under Unicode normalization rules.
+%
+\githubissue{gh/714}
+
+
+
+
+\section{Bug fixes}
+
+\subsection{Using \cs{DeclareUnicodeCharacter} with C1 control points}
+An error in the UTF-8 handling for non-Unicode \TeX\ has prevented
+\cs{DeclareUnicodeCharacter} being used with characters in the range
+hex 80 to 9F. This has been corrected in this release.
+%
+\githubissue{730}
+
+
+
+\subsection{Fix \cs{ShowCommand} when used with \pkg{ltcmd}}
+
+When \cs{ShowCommand} support was added for \pkg{ltcmd} in the previous
+release~\cite{35:ltnews34}, a blunder in the code made it so that
+when \cs{ShowCommand} was used on a command defined with \pkg{ltcmd}, it
+only printed the meaning of the command in the terminal, but didn't stop
+for interaction as it does elsewhere (mimicking \cs{show}). The issue
+is now fixed.
+%
+\githubissue{739}
+
+
+
+\subsection{Make \cs{cite}\texttt{\textbraceleft\textbraceright} produce a warning}
+
+When the \cs{cite} command can't resolve a citation label it issues a
+warning \enquote{Citation `\meta{label}' on page \meta{page}
+ undefined}. However, due to some implementation details a completely
+empty argument was always silently accepted. Given that there are probably
+people who write \verb=\cite{}= with the intention to fill in the
+correct label later it is rather unfortunate if that is not generating
+a warning that something in the document is still amiss.
+This has finally been corrected and a warning is now generated also in this case.
+%
+\githubissue{790}
+
+
+
+\subsection{Fix adding \hook{cmd} hooks to simple macros}
+
+A bug in how \LaTeX{} detected the type of a command caused a
+premature forced expansion of such commands, which, depending on their
+definition, could be harmless or could cause severe trouble. This has
+been fixed in the latest release.
+%
+\githubissue{795}
+\sxissue{q/637565}
+
+
+\subsection{Warn if \hook{shipout/lastpage} hook is executed too early}
+
+The hook \hook{shipout/lastpage} is intended to place \cs{special}s
+into the last page shipped out. This is needed for some use cases,
+e.g., tagging. If that hook is nonempty and the user has added additional
+pages since the last run, then \LaTeX{} executes this hook too early,
+but until now without giving any indication that the document needs
+rerunning. This has now been corrected and an appropriate warning is
+given.
+%
+\githubissue{813}
+
+
+\subsection{More consistent use of cramped math styles in \LuaTeX}
+
+Using \LuaTeX's \cs{Udelimiterover} to place a horizontally extensible glyph
+on top of a mathematical expression now causes the expression to be set in cramped
+style, as used in similar situations by traditional \TeX\ math rendering.
+Similarly, cramped style is now used for expressions set under such a delimiter
+using \cs{Uunderdelimiter}, but is no longer used when setting an expression on top
+of such extensible glyphs using \cs{Uoverdelimiter}.
+This new behavior follows \TeX's rule that cramped style is used whenever something
+else appears above the expression.
+Additionally the math style of these constructs can now be detected using \cs{mathstyle}.
+
+The old behavior can be restored by adding
+\begin{verbatim}
+ \mathdefaultsmode=0
+\end{verbatim}
+to a document.
+
+
+\subsection{Fixed bug when setting hook rules for one-time hooks}
+
+If a \cs{DeclareHookRule} command is set for a one-time hook, it has to
+come \emph{before} the hook gets used, because otherwise it never
+applies\Dash after all, the hook is used only once. There was a bug in
+the implementation in that the sorting mechanism was still applied if
+the \cs{DeclareHookRule} declaration appeared while the one-time hook was
+executed, causing the spurious typesetting of the code labels and the
+hook name. This bug is now fixed and an error is raised when a new
+sorting rule is added to an already-used one-time hook.
+
+A possible scenario in which this new error is raised is the following:
+package \pkg{AAA} declares a hook rule for \hook{begindocument} (i.e.,
+\cs{AtBeginDocument}) to sort out the behavior between itself and some
+other package. Package \pkg{BBB} wants to load package \pkg{AAA} but
+only if it hasn't been loaded in the preamble, so delays the loading to
+\hook{begindocument}. In that case the hook rule declared by \pkg{AAA}
+can no longer be applied and you get the error. If that happens the
+solution is to load the package in \hook{begindocument/before}, which
+is executed at the very end of the preamble but before
+\hook{begindocument} is processed.
+%
+\githubissue{818}
+
+
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+
+\subsection{\pkg{amsopn}:\ Do not reset \cs{operator@font}}
+
+The package \pkg{amsopn} used to define \cs{operator@font} but this
+command has been provided by the \LaTeX{} format for at least 14
+years. As a result the definition in \pkg{amsopn} is equivalent to a
+reset to the kernel definition, which is unnecessary and surprising if
+you alter the math setup (e.g., by loading a package) and at a later
+stage add \pkg{amsmath}, which then undoes part of your setup. For
+this reason the definition was taken out and
+\pkg{amsmath}/\pkg{amsopn} now relies on the format definition.
+
+In the unlikely event that you want the resetting to happen, use
+\begin{verbatim}
+ \makeatletter
+ \def\operator@font{\mathgroup\symoperators}
+ \makeatother
+\end{verbatim}
+after loading the package.
+%
+\githubissue{734}
+
+\subsection{\pkg{amsmath}:\ Error in \cs{shoveleft}}
+
+If \cs{shoveleft} started out with the words \enquote{plus} or
+\enquote{minus} it was misunderstood as part of a rubber length and
+led either to an error or was swallowed without trace. By adding a
+\cs{relax} this erroneous scanning into the argument of \cs{shoveleft}
+is now prevented.
+%
+\githubissue{714}
+
+
+\subsection{\pkg{amsmath} and \pkg{amsopn}:\ Robustify user commands}
+
+Most user-level commands have been made robust in the \LaTeX{} kernel
+during the last years, but variant definitions in \pkg{amsmath} turned
+them back into fragile beings. We have now made most commands in
+\pkg{amsmath} and \pkg{amsopn} robust as well to match the kernel
+behavior. This also resolves a bug recently discovered in the
+\pkg{mathtools} package, which was due to \cs{big} not being robust after
+\pkg{amsmath} was loaded.
+%
+\githubissue{123}
+
+
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+\subsection{Color in formulas}
+
+While it is possible to color parts of a formula using \cs{color}
+commands the approach is fairly cumbersome. For example, to color a
+summation sign, but not its limits, you need four \cs{color} commands and
+some seemingly unnecessary sets of braces to get coloring and spacing
+right:
+{\hfuzz=1pt
+\begin{verbatim}
+\[ X = \color{red} \sum
+% without {{ the superscript below is misplaced
+ _{{\color{black} i=1}}
+% without {{ the \sum is black
+ ^{{\color{black} n}}
+ \color{black} % without it the x_i is red
+ x_i \]
+\end{verbatim}
+}\noindent
+Leaving out any of the \cs{color} commands or any of the \verb={{...}}=
+will give you a wrong result instead of the desired
+\[ X = \color{red} \sum
+ _{{\color{black} i=1}} % without {{ the superscript is misplaced
+ ^{{\color{black} n}} % without {{ the \sum is black
+ \color{black} % without it the x_i is red
+ x_i
+\]
+So even if this is possible, it is not a very practical solution and
+furthermore there are a number of cases where it is impossible to
+color a certain part of a formula, for example, an opening symbol such
+as \verb=\left(= but not the corresponding \verb=\right)=.
+
+We have therefore added the command \cs{mathcolor} to the \pkg{color}
+and \pkg{xcolor} package, which has the same syntax as \cs{textcolor},
+but is specially designed for use in math and handles sub and
+superscripts and other aspects correctly and preserves correct
+spacing. Thus, the above example can now be written as
+\begin{verbatim}
+\[ X = \mathcolor{red}{\sum}_{i=1}^n x_i \]
+\end{verbatim}
+This command is \emph{only} allowed in formulas.
+For details and further examples, see \file{mathcolor.pdf}.
+
+
+\subsection{Fix locating files with \cs{graphicspath}}
+%
+
+If a call to \cs{includegraphics} asked for a file (say, \file{image})
+without extension, and if both \file{A/image.pdf} and \file{B/image.tex}
+existed (both \file{A/} and \file{B/} in \cs{graphicspath}, but neither
+in a folder searched by \TeX), then \file{A/image.pdf} would not be
+found, and a \enquote{file not found} error would be incorrectly thrown.
+The issue is now fixed and the graphics file is correctly found.
+%
+\githubissue{776}
+\sxissue{q/630167}
+
+
+
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\subsection{\pkg{multicol}:\ Fix \cs{newcolumn}}
+
+The recently added \cs{newcolumn} didn't work properly if used in
+vertical mode, where it behaved like \cs{columnbreak}, i.e., spreading
+the column material out instead of running the column short.
+%
+\sxissue{q/624940}
+
+
+\subsection{\pkg{bm}:\ Fix for \pkg{amsmath} operators}
+
+An internal command used in the definition of operator commands such
+as \cs{sin} in \pkg{amsmath} has been guarded in \cs{bm} to prevent
+internal syntax errors due to premature expansion.
+%
+\githubissue{744}
+
+
+
+\medskip
+
+\begin{thebibliography}{9}
+
+\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{35: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/}
+
+%\bibitem{35:source2e}
+% \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+% \url{https://latex-project.org/help/documentation/}
+
+%\bibitem{35:ltnews31} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} news 31}.\\
+% \url{https://latex-project.org/news/latex2e-news/ltnews31.pdf}
+
+\bibitem{35:ltnews32} \LaTeX{} Project Team:
+ \emph{\LaTeXe{} news 32}.\\
+ \url{https://latex-project.org/news/latex2e-news/ltnews32.pdf}
+
+%\bibitem{35:ltnews33} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} news 33}.\\
+% \url{https://latex-project.org/news/latex2e-news/ltnews33.pdf}
+
+\bibitem{35:ltnews34} \LaTeX{} Project Team:
+ \emph{\LaTeXe{} news 34}.\\
+ \url{https://latex-project.org/news/latex2e-news/ltnews34.pdf}
+
+\bibitem{35:ltfilehook-doc} Frank Mittelbach, Phelype Oleinik, \LaTeX{}~Project~Team:
+ \emph{The \texttt{\upshape ltfilehook} documentation}.\\
+ Run \texttt{texdoc} \texttt{ltfilehook-doc} to view.
+\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 19751686dfa..52bd980cb1c 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 f0947f199e6..5e05da53790 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/ltpara-doc.tex b/Master/texmf-dist/doc/latex/base/ltpara-doc.tex
index c3892b8180d..f3a51bbd2ea 100644
--- a/Master/texmf-dist/doc/latex/base/ltpara-doc.tex
+++ b/Master/texmf-dist/doc/latex/base/ltpara-doc.tex
@@ -2,5 +2,6 @@
\AtBeginDocument{\OnlyDescription
\let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
}
\input{ltpara.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf b/Master/texmf-dist/doc/latex/base/ltshipout-code.pdf
index 81c4fb666e8..f0b7e9d4e00 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 6da6e5b678f..5d1c35c96e3 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/ltshipout-doc.tex b/Master/texmf-dist/doc/latex/base/ltshipout-doc.tex
index 33f87d88621..4cca5e9cbe7 100644
--- a/Master/texmf-dist/doc/latex/base/ltshipout-doc.tex
+++ b/Master/texmf-dist/doc/latex/base/ltshipout-doc.tex
@@ -3,5 +3,6 @@
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
+ \RenewCommandCopy\MaybeStop\StopEventually
}
\input{ltshipout.dtx}
diff --git a/Master/texmf-dist/doc/latex/base/ltx3info.pdf b/Master/texmf-dist/doc/latex/base/ltx3info.pdf
index 4997791aa35..e06a073b966 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/ltx3info.tex b/Master/texmf-dist/doc/latex/base/ltx3info.tex
index 2a376f64311..13231da8180 100644
--- a/Master/texmf-dist/doc/latex/base/ltx3info.tex
+++ b/Master/texmf-dist/doc/latex/base/ltx3info.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/ltxdoc.pdf b/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
index 572d8a20016..9eae697fac1 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 265fb0877db..6ac94e0948e 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/manifest.txt b/Master/texmf-dist/doc/latex/base/manifest.txt
index f6afcccce78..daebefee06f 100644
--- a/Master/texmf-dist/doc/latex/base/manifest.txt
+++ b/Master/texmf-dist/doc/latex/base/manifest.txt
@@ -1,5 +1,5 @@
%
-% The following files form the LaTeX2e distribution of 2020-10-01
+% The following files form the LaTeX2e distribution
%
%
% CONTENTS OF THE LaTeX DISTRIBUTION
@@ -11,10 +11,6 @@
% README.md -- The distribution guide. START BY READING THIS FILE
% manifest.txt -- This file.
%
-% tex2.txt -- Extras for installing LaTeX on TeX2.
-%
-% texpert.txt -- Documentation for TeX experts.
-%
% legal.txt -- Copyright notice; warranty; copying conditions.
% lppl.txt -- The LaTeX Project Public License (current version).
% lppl-1-0.txt -- The LaTeX Project Public License (version 1.0).
@@ -72,6 +68,9 @@
% ltnews30.tex -- What was new in the release dated 2019/10.
% ltnews31.tex -- What was new in the release dated 2020/02.
% ltnews32.tex -- What was new in the release dated 2020/10.
+% ltnews33.tex -- What was new in the release dated 2021/06.
+% ltnews34.tex -- What was new in the release dated 2021/11.
+% ltnews35.tex -- What was new in the release dated 2022/06.
%
% ltx3info.tex -- Information about the LaTeX3 project.
@@ -139,6 +138,9 @@
% lthooks.dtx -- Hook management
% ltfilehook.dtx -- Hook management for file loading
% ltshipout.dtx -- Hook management for \shipout
+% ltcmdhooks.dtx -- Hook management (generic) for commands
+% ltpara.dtx -- Hook management for paragraphs
+% ltmarks.dtx -- Mark management
%
% Standard Classes:
% -----------------
@@ -186,7 +188,7 @@
% doc.dtx -- Package for self documenting code.
% docstrip.dtx -- Module for removing comments.
% ltxdoc.dtx -- Class file for printing documentation.
-% doc-v3beta.sty -- New version of doc, current for internal use only.
+% ltxdoc.cfg -- config file to format the LaTeX sources.
%
%
% Installation scripts for the various parts:
diff --git a/Master/texmf-dist/doc/latex/base/modguide.pdf b/Master/texmf-dist/doc/latex/base/modguide.pdf
index 915dbefc54d..d486116f311 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/modguide.tex b/Master/texmf-dist/doc/latex/base/modguide.tex
index 15aad3358f5..b0651da0a5b 100644
--- a/Master/texmf-dist/doc/latex/base/modguide.tex
+++ b/Master/texmf-dist/doc/latex/base/modguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/nfssfont.pdf b/Master/texmf-dist/doc/latex/base/nfssfont.pdf
index 386f26aa32c..75dc8427b6d 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 d7454a39410..a332696bedc 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 5af868f79ea..8493448c95a 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 64128ee15a6..094ac62cf10 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 bdf4a4b04b1..7bf5bb62712 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 abe8c1aac20..797304e8d65 100644
--- a/Master/texmf-dist/doc/latex/base/source2e.tex
+++ b/Master/texmf-dist/doc/latex/base/source2e.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -264,6 +264,8 @@ page_precedence "rnaA"
\DocInclude{ltpara} % Paragraph hooks (L3 module)
+ \DocInclude{ltmeta} % Document Metadara interface (L3 module)
+
\DocInclude{ltspace} % Spacing, line and page breaking.
\DocInclude{ltlogos} % Logos.
@@ -322,10 +324,14 @@ page_precedence "rnaA"
\DocInclude{ltbibl} % Bibliography
+ \DocInclude{ltmarks} % Output routine marks management (L3 module)
+
\DocInclude{ltpage} % \pagestyle \raggedbottom \sloppy
\DocInclude{ltclass} % Package & Class interface
+ \DocInclude{ltkeys} % Key-based option management (L3 module)
+
\DocInclude{ltfilehook} % Hook management for files (L3 module)
\DocInclude{ltshipout}% \shipout redefinition (L3 module)
diff --git a/Master/texmf-dist/doc/latex/base/syntonly.pdf b/Master/texmf-dist/doc/latex/base/syntonly.pdf
index c80e7d19c3b..e6ae0243f29 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/tex2.txt b/Master/texmf-dist/doc/latex/base/tex2.txt
deleted file mode 100644
index 09cd388cde5..00000000000
--- a/Master/texmf-dist/doc/latex/base/tex2.txt
+++ /dev/null
@@ -1,83 +0,0 @@
- LaTeX installation TeX2 information
-
- 16 September 1995
-
-
-In order to make a LaTeX format and use it you need, in addition to
-the LaTeX source files, a TeX implementation.
-
-If your TeX is very old, prior to version TeX3, then certain features
-will be missing from your system. In particular, you will probably
-have no support for `8-bit' input and hyphenation of words with
-accented characters.
-
-Most (perhaps all) TeX implementations are available in versions that
-are at least as recent as TeX3 (released in 1989) so the best course
-of action is to update your TeX installation before building LaTeX.
-
-However, if you must for some reason make the LaTeX format by running
-the old TeX2 then it is necessary to have a `configuration file' named
-fonttext.cfg. The existence of this file will prevent LaTeX trying to
-access 8-bit characters, which is not allowed in the old TeX2 version
-of TeX.
-
-If you fail to use such a configuration file, LaTeX will detect that it
-is running under TeX2 and stop with the following message (without
-making a format file):
-
-*************************************
-*
-* You MUST use a fonttext.cfg file!
-* As you are still using TeX2!!!!!!
-*
-* See the documentation file tex2.txt
-*
-*************************************
-
-
-There is more information about the file fonttext.cfg in the file
-cfgguide.tex; but for a minimal configuration that allows LaTeX to
-be built on TeX2, just do the following:
-
- * Copy the standard fonttext.ltx file to fonttext.cfg
- * Then edit the file fonttext.cfg as follows:
- -- Change the \ProvidesFile call (see below).
- -- Comment out all the lines referring to the `T1' encoding (but not
- those referring to the `OT1' encoding).
-
-Thus the resulting file will look something like the following.
-
-%%% File: fonttext.cfg
-\ProvidesFile{fonttext.cfg}
- [1995/06/05 v1.0 TeX2 text font setup]
-
-\input {OMLenc.def}
-%%%%% NOT FOR TeX2 \input {T1enc.def}
-\input {OT1enc.def} % <- should come after T1 for speed
-\input {OMSenc.def}
-\fontencoding{OT1}
-\DeclareFontEncodingDefaults{}{}
-%%%%% NOT FOR TeX2 \DeclareFontSubstitution{T1}{cmr}{m}{n}
-\DeclareFontSubstitution{OT1}{cmr}{m}{n}
-%%%%% NOT FOR TeX2 \input {T1cmr.fd}
-\input {OT1cmr.fd}
-\input {OT1cmss.fd}
-\input {OT1cmtt.fd}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
-\newcommand\rmdefault{cmr}
-\newcommand\sfdefault{cmss}
-\newcommand\ttdefault{cmtt}
-
-\newcommand\bfdefault{bx}
-\newcommand\mddefault{m}
-
-\newcommand\itdefault{it}
-\newcommand\sldefault{sl}
-\newcommand\scdefault{sc}
-\newcommand\updefault{n}
-
-\newcommand\encodingdefault{OT1}
-\newcommand\familydefault{\rmdefault}
-\newcommand\seriesdefault{\mddefault}
-\newcommand\shapedefault{\updefault}
-\endinput
diff --git a/Master/texmf-dist/doc/latex/base/texpert.txt b/Master/texmf-dist/doc/latex/base/texpert.txt
deleted file mode 100644
index 0eb1dd77845..00000000000
--- a/Master/texmf-dist/doc/latex/base/texpert.txt
+++ /dev/null
@@ -1,210 +0,0 @@
- LaTeX installation TeX expert information
-
- 1 June 1997
-
-
-SUMMARY
-=======
-
-This document contains information about the LaTeX installation for
-TeX experts. In particular it describes:
-
- * The checks performed by ltxcheck.tex
-
- * How to print the LaTeX source.
-
-For more general information, see install.txt.
-
-For information on configuring LaTeX see cfgguide.tex.
-
-
-THE LTXCHECK.TEX CHECKS
-=======================
-
-Here is a description of the checks run by ltxcheck.
-
-1) The \@currdir check.
-
- It is useful for LaTeX to know the syntax for the `current directory
- (or folder)', or `default directory', if the operating system has
- such a concept.
-
- For example, file abc.tex in this directory, or folder, is specified
- by:
- ./abc.tex on Unix and most DOS/OS2 TeX's,
- []abc.tex on VMS
- :abc.tex on a Macintosh.
- The above possibilities will be found automatically during the
- installation. However, if none of these syntaxes works on your
- system then the internal macro \@currdir will be set to be empty
- and ltxcheck will report this.
-
- If your system does have a notion of a current directory, you can
- define \@currdir in the file texsys.cfg.
-
- You could also report this to the latex-bug address, so that
- later releases can automatically cope with your system.
-
-2) The file name parser check.
- \filename@parse may be defined in texsys.cfg if the default
- installation does not define a suitable parser. (In fact no widely
- used TeX system should need such a re-definition as the standard
- installation should correctly define this command for unix, dos,
- atari, VMS, and Macintosh, at least.)
- Because of differences in directory syntax, most features of this
- command can not be checked in a portable way, however ltxcheck does
- check that at least {article.cls} is correctly parsed as base name
- article and extension cls.
-
-3) The \input@path check.
-
- On some systems TeX cannot check whether a file exists before
- trying to input it, unless the filename is expressed as a full path
- name, including the directory. On these systems LaTeX needs to be
- given a list of directories in which to look for files; the
- internal macro \input@path holds this information.
-
- When run, ltxcheck will try to locate the file article.cls.
- If it fails to find this file (and you have placed it in the
- `standard input directory') then you must define \input@path in
- the file texsys.cfg.
-
- The files texsys.cfg and ltdirchk.dtx contain examples of how to do
- this but only you know the directories and syntax that should be used
- for your installation.
-
- We hope to build up a better collection of examples in future
- releases of LaTeX, as it is tested on more TeX systems.
-
-4) TeX version check.
-
- The next check tests that you are running a recent version of TeX.
- If ltxcheck reports that you have TeX2, then you should try to
- upgrade TeX (and rebuild LaTeX) as soon as possible. LaTeX may be
- used with TeX2, but certain features will be missing and you will
- not be able to use the new (8-bit) font families that are now
- available. If you must stick with TeX2, please read the extra
- information in the file tex2.txt.
-
- If ltxcheck reports that your TeX version is older than 3.141, you
- will see some strange messages during the installation. This is
- because earlier versions of TeX printed certain line-breaks in
- messages on the terminal as `^^J' rather than starting a new line.
-
- LaTeX will work round this bug and thus avoid `^^J' appearing in
- error messages, but you should upgrade your TeX as soon as
- possible, as other bugs have been fixed, not just line breaks in
- messages.
-
- At the present time (2005) the current TeX version is 3.141592.
-
-5) Fonts check.
-
- Finally ltxcheck.tex tests to see if it can find a `representative
- sample' of the fonts used by LaTeX.
-
- Fonts that may cause problems are:
- a) The circle fonts. These were renamed some years ago from circle*
- to lcircle*, although some sites still have them under the old
- name. Also the names are longer than 8 letters which may cause
- some problems.
- b) The `extra Computer Modern' fonts. The American Mathematical
- Society has extended the range of sizes available in the
- Computer Modern fonts. LaTeX now assumes that these extra cm
- fonts are available.
- The fonts are available from a CTAN archive, in the directory
- ctan:macros/latex/fonts or alternatively as part of the
- AMS fonts collection, which also includes many useful
- mathematical fonts.
- c) The `T1 encoded Computer Modern' fonts. This is the ec or dc font
- collection. The new (1995) release 1.2 of the dc fonts changed
- most of the file names. For this reason the fd files such as
- t1cmr.fd cannot be written to work with the dc fonts of different
- releases. LaTeX by default unpacks the fd files for the ec
- dc fonts.
- If you have an older release of the dc fonts and do not wish to
- upgrade then you should unpack the necessary fd files by running
- LaTeX on the file olddc.ins (dc older than version 1.2) or
- newdc.ins (version 1.2 and 1.3).
- As the T1 fd files will have been used when making the format,
- you must re-run initex latex.ltx to remake the format if you
- update the fd files in this way.
- Running ltxcheck will produce a ! BAD LaTeX2e system!! error
- message if it detects that the `new' fd files are loaded into
- the format, but only the old dc fonts are available, and vice
- versa.
- If the old fonts are detected, and the `old' fd files are loaded
- then no error is generated, but a message suggesting that you
- upgrade is produced.
- The ec fonts are available from a CTAN archive, in the directory
- ctan:fonts/ec .
-
-
-6) Files check.
-
- Finally ltxcheck checks that the main TeX input files that LaTeX
- will use when running documents (such as the article class file,
- fd files, and main packages such as fontenc) are all available.
-
-
-DOCUMENTATION OF THE CODE
-=========================
-
-Most of the documentation is nowadays available as precomplied PDF
-files. This section describes how to produce typeset code
-documentation yourself from the source.
-
-To typeset a documented code file (a .dtx file) you simply run LaTeX
-on it. The file source2e.tex is a master file which produces the
-documented code for the whole LaTeX kernel (but not the standard
-packages, classes, or compatibility mode). You need to have LaTeX2e
-installed before doing this.
-
-To configure the appearance of this documentation, you can use a
-ltxdoc.cfg file. For example, putting the following line into this
-file will format the documentation for A4 paper:
-
- \PassOptionsToClass{a4paper}{article}
-
-The doc package, which is used by the documentation files, writes
-index files and change-history files that can be processed by the
-program MakeIndex. If this program is part of your TeX installation,
-you can get an index and history listing for a documentation file
-by running the .idx and .glo files through this program.
-
-For example, in Unix MakeIndex, you should say:
-
- makeindex -s gind.ist FILENAME
- makeindex -s gglo.ist -o FILENAME.gls FILENAME.glo
-
-source2e.tex needs a special source2e.ist file (in place of gind.ist).
-Running makeindex will produce some warning messages about ignored
-style specifiers; these can be safely ignored.
-
-See the comments at the end of source2e.tex for more information.
-
-
-CONFIGURING LaTeX
-=================
-
-In addition to the system-dependent customisation in texsys.cfg,
-various other parts of LaTeX can be configured to suit local needs.
-Further details can be found in the document cfgguide.tex. We
-recommend that you install the standard system before attempting any
-further customisation.
-
-If you are thinking of making other changes to LaTeX, please read the
-document modguide.tex as it describes the precautions you need to take
-when making modifications in order to ensure that standard LaTeX
-remains a stable, maintainable system.
-
-
-FURTHER INFORMATION
-===================
-
-You will find further information about various aspects of LaTeX in
-the distributed files with names <*>guide.tex. You will need
-to install the new version before you can typeset these files.
-
-
---- Copyright (C) 1995-2019 the LaTeX Project. All rights reserved ---
diff --git a/Master/texmf-dist/doc/latex/base/tlc2.err b/Master/texmf-dist/doc/latex/base/tlc2.err
index 46ba9ed8451..8925a8bee1e 100644
--- a/Master/texmf-dist/doc/latex/base/tlc2.err
+++ b/Master/texmf-dist/doc/latex/base/tlc2.err
@@ -1,4 +1,4 @@
-\newcommand\erratafiledate{2014-09-30}
+\newcommand\erratafiledate{2022-01-03}
\def\comando#1{\texttt{\string#1}}
@@ -852,6 +852,9 @@ highlighting color\u{ as demonstrated below}:
\erroronpage{116}{Footnote 1, line 1}{CBC}{2004/05/18}{2}
Replace: ``I managed to confuse'' with ``we managed to confuse''.
+\erroronpage{117}{para 1, l.1}{EOl}{2022/01/02}{}
+ Missing letter: ``to cho\u{o}se''
+
\erroronpage{117}{para 2, l.2}{HjG}{2004/05/25}{2}
Missing letter: ``It take\u{s} two \ldots''
@@ -2233,6 +2236,10 @@ Change: ``The unaccented ASCII Latin letters and Arabic
Various deviations from alphabetical sort order of the table
entries.
+\erroronpage{553}{para 3, l.1}{EOl}{2022/01/02}{}
+ Missing letter: ``sup\u{p}ressing''
+
+
\iffalse % more blue align stuff
\erroronpage{534}{page}{FMi}{2004/04/23}{}
Printing problem: blue color not properly aligned (horizontally).
@@ -2313,7 +2320,7 @@ Plural: ``Clearly, 8 bits \u{are} not sufficient\ldots''
\erroronpage{551}{tab 9.3}{CBe}{2004/07/27}{}
I am surprised that in Russian there is no word for ``Glossary''.
- Frank: It most certainly exits :-), but right now Babel doesn't
+ Frank: It most certainly exists :-), but right now Babel doesn't
know about it---so there is nothing we can do about it at the
moment. Actually the same problem exists with Polish, although here
I got a translation ``s\l{}ownik termin\'ow'' which will eventually
@@ -2715,6 +2722,9 @@ some of the listed drivers are only of historical interest.
\erroronpage{616}{boxed texts}{FMi}{2004/05/26}{2}
Corrections as outlined in summary entry above.
+\erroronpage{617}{Fig. 10-2-2}{EOl}{2021/11/17}{}
+ A ``|%|'' should follow the ending ``|}|'' of the two |\bluefbox|es.
+
\erroronpage{618}{boxed text}{CAR}{2004/05/26}{2}
Replace: ``\textit{key val list}'' \> ``\textit{key/val-list}''
(also in following text).
@@ -2740,6 +2750,9 @@ some of the listed drivers are only of historical interest.
%\erroronpage{621}{page}{FMi}{2004/04/23}{}
% Printing problem: blue color not properly aligned.
+\erroronpage{621}{Fig. 10-2-8}{EOl}{2021/11/17}{}
+ A ``|%|'' should follow the ending ``|}|'' of the first |\bluefbox|.
+
\erroronpage{623}{para 1, l.7}{HjG}{2004/06/07}{2}
Delete word: ``some \u{of} key combinations''
@@ -2752,7 +2765,7 @@ some of the listed drivers are only of historical interest.
\u{\texttt{tabular}} examples''
\erroronpage{631}{para.2, l.6}{FMi/HjG}{2006/10/22}{s}
- Ersetze: "`\u{This point} is shown \ldots"' \>
+ Replace: "`\u{This point} is shown \ldots"' \>
"`\u{This} is shown \ldots"'
\erroronpage{631}{para -1, l.-1}{JBr}{2004/08/02}{2}
@@ -4547,6 +4560,7 @@ and
\contributor{DHL}{Dan Luecking}
\contributor{DIs}{Daniel Isaacson}
\contributor{DSch}{Dirk Schlimm}
+\contributor{EOl}{Edgar Olthof}
\contributor{ERy}{Elizabeth Ryan}
\contributor{FHa}{Ferdy Hanssen}
\contributor{FMi}{Frank Mittelbach}
@@ -4621,7 +4635,7 @@ preferably in a form usable directly in 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 erratum}
+ \hspace*{2em}\textit{description of the erratum}
\end{flushleft}
Here is an example:
\begin{verbatim}
diff --git a/Master/texmf-dist/doc/latex/base/tlc2.pdf b/Master/texmf-dist/doc/latex/base/tlc2.pdf
index e8890a678a4..3380da78785 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/tulm.pdf b/Master/texmf-dist/doc/latex/base/tulm.pdf
index eb9b18dd272..2e2261a0ce5 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.pdf b/Master/texmf-dist/doc/latex/base/usrguide.pdf
index fe3cfa214f8..8af52cca0b0 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 a94d8a6a70c..dfdf9443e65 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide.tex
+++ b/Master/texmf-dist/doc/latex/base/usrguide.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/doc/latex/base/usrguide3.pdf b/Master/texmf-dist/doc/latex/base/usrguide3.pdf
index 39758373e49..e8048df8245 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide3.pdf
+++ b/Master/texmf-dist/doc/latex/base/usrguide3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/base/usrguide3.tex b/Master/texmf-dist/doc/latex/base/usrguide3.tex
index 82c1c068630..efec9ad2a2c 100644
--- a/Master/texmf-dist/doc/latex/base/usrguide3.tex
+++ b/Master/texmf-dist/doc/latex/base/usrguide3.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2020-2021
+% Copyright (C) 2020-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -31,12 +31,13 @@
\documentclass{ltxguide}
\usepackage[T1]{fontenc} % needed for \textbackslash in tt
+\usepackage{csquotes}
\title{New \LaTeX\ methods for authors (starting 2020)}
-\author{\copyright~Copyright 2020-2021, \LaTeX\ Project Team.\\
+\author{\copyright~Copyright 2020-2022, \LaTeX\ Project Team.\\
All rights reserved.}
-\date{2021-06-11}
+\date{2022-02-19}
\NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}}
\NewDocumentCommand\marg{m}{\arg{#1}}
@@ -48,6 +49,18 @@
\renewcommand \verbatim@font {\normalfont \ttfamily}
\makeatother
+
+% for fpeval documentation
+
+\providecommand\fpop[1]{\mathop{\texttt{#1}}}
+\providecommand\fpbin[1]{\mathbin{\texttt{#1}}}
+\providecommand\fprel[1]{\mathrel{\texttt{#1}}}
+\providecommand\nan{\texttt{NaN}}
+
+\ExplSyntaxOn
+\ProvideExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
+\ExplSyntaxOff
+
\begin{document}
\maketitle
@@ -227,6 +240,11 @@ defined.
same name. This should be used sparingly.
\end{itemize}
+If the \meta{cmd} can't be provided as a single token but needs
+\enquote{constructing}, you can use \cs{ExpandArgs} as explained in
+Section~\ref{sec:preconstructing-csnames} which also gives an example
+in which this is needed.
+
\begin{decl}
|\NewDocumentEnvironment| \arg{env} \arg{arg spec} \arg{beg-code} \arg{end-code} \\
|\RenewDocumentEnvironment| \arg{env} \arg{arg spec} \arg{beg-code} \arg{end-code} \\
@@ -288,7 +306,7 @@ must exist). So after
\end{verbatim}
the user input |\foo{arg1}[arg2]{arg3}| and \verb*|\foo{arg1} [arg2] {arg3}|
will both be parsed in the same way.
-
+
The behavior of optional arguments \emph{after} any mandatory arguments is
selectable. The standard settings will allow spaces here, and thus with
\begin{verbatim}
@@ -338,6 +356,8 @@ defaults with testing for missing values.
Optional arguments make use of dedicated variables to return information about
the nature of the argument received.
+
+
\begin{decl}
|\IfNoValueTF| \arg{arg} \arg{true code} \arg{false code} \\
|\IfNoValueT| \arg{arg} \arg{true code} \\
@@ -373,11 +393,12 @@ will be logically \texttt{false}.
When two optional arguments follow each other (a syntax we typically
discourage), it can make sense to allow users of the command to
specify only the second argument by providing an empty first
-argument. Rather than testing separately for emptiness and for
+argument.
+\NEWdescription{2022/06/01}
+Rather than testing separately for emptiness and for
|-NoValue-| it is then best to use the argument type~|O| with an
-empty default value, and simply test for emptiness using the
-\pkg{expl3} conditional \cs{tl_if_blank:nTF} or its \pkg{etoolbox}
-analogue \cs{ifblank}.
+empty default value, and then test for emptiness using the
+conditional \cs{IfBlankTF} (described below) instead.
\begin{decl}
|\IfValueTF| \arg{arg} \arg{true code} \arg{false code} \\
@@ -388,6 +409,51 @@ The reverse form of the \cs{IfNoValue(TF)} tests are also available
as \cs{IfValue(TF)}. The context will determine which logical
form makes the most sense for a given code scenario.
+
+
+
+
+\begin{decl}[2022/06/01]
+ |\IfBlankTF| \arg{arg} \arg{true code} \arg{false code} \\
+ |\IfBlankT| \arg{arg} \arg{true code} \\
+ |\IfBlankF| \arg{arg} \arg{false code}
+\end{decl}
+
+
+The \cs{IfNoValueTF} command chooses the \meta{true code} if the optional argument has not
+been used at all (and it returns the special \texttt{-NoValue-}
+marker), but not if it has been given an empty value. In contrast
+\cs{IfBlankTF} returns true if its argument is either truly empty or
+only contains one or more normal blanks.
+For example
+\begin{verbatim}
+\NewDocumentCommand\foo{m!o}{\par #1:
+ \IfNoValueTF{#2}{No optional}%
+ {\IfBlankTF{#2}{Blanks in or empty}%
+ {Real content in}}%
+ \space argument!}
+\foo{1}[bar] \foo{2}[ ] \foo{3}[] \foo{4}[\space] \foo{5} [x]
+\end{verbatim}
+results
+in the following output:
+\begin{quote}
+ \NewDocumentCommand\foo{m!o}{\par #1:
+ \IfNoValueTF{#2}{No optional}%
+ {\IfBlankTF{#2}{Blanks in or empty}%
+ {Real content in}}%
+ \space argument!}
+ \foo{1}[bar] \foo{2}[ ] \foo{3}[] \foo{4}[\space] \foo{5} [x]
+\end{quote}
+
+Note that the \cs{space} in (4) is considered real content---because it is
+a command and not a \enquote{space} character---even though it results
+in producing a space. You can also observe in (5) the effect of the
+\texttt{!} specifier, preventing the last \cs{foo}
+from interpreting \texttt{[x]} as its optional argument.
+
+
+
+
\begin{decl}
|\BooleanFalse| \\
|\BooleanTrue|
@@ -554,10 +620,12 @@ spaces are trimmed at both ends of the body: in the example there would
otherwise be spaces coming from the ends the lines after |[\itshape]| and
|world!|. Putting the prefix |!| before \texttt{b} suppresses space-trimming.
-When \texttt{b} is used in the argument specification, the last argument of the environment declaration (e.g., \cs{NewDocumentEnvironment}), which consists of an \meta{end code} to insert at
-|\end|\marg{environment}, is redundant since one can simply put that code at
-the end of the \meta{start code}. Nevertheless this (empty) \meta{end code}
-must be provided.
+When \texttt{b} is used in the argument specification, the last
+argument of the environment declaration (e.g.,
+\cs{NewDocumentEnvironment}), which consists of an \meta{end code} to
+insert at |\end|\marg{environment}, is redundant since one can simply
+put that code at the end of the \meta{start code}. Nevertheless this
+(empty) \meta{end code} must be provided.
Environments that use this feature can be nested.
@@ -665,7 +733,7 @@ with both calls to the command seeing the delimiter |\x|.
\subsection{Creating new argument processors}
\begin{decl}
- |\ProcessedArgument|
+ |\ProcessedArgument|
\end{decl}
Argument processors allow manipulation of a grabbed argument before it is
passed to the underlying code. New processor implementations may be created
@@ -710,4 +778,280 @@ requested \meta{function} or \meta{environment} at the terminal. If
the \meta{function} or \meta{environment} has no known argument
specification then an error is issued.
+
+
+\section{Copying and showing (robust) commands}
+
+If you want to (slightly) alter an existing command you may want to
+save the current definition under a new name and then use that in a
+new definition. If the existing command is robust, then the old trick of
+using the low-level \cs{let} for this doesn't work, because it only
+copies the top-level definition, but not the part that actually does
+the work. As most \LaTeX{} commands are nowadays robust, \LaTeX{}
+now offers some high-level declarations for this instead.
+
+However, please note that it is usually better to make use of
+available hooks (e.g., the generic command or environment hooks),
+instead of copying the current definition and thereby freezing it; see
+the hook management documentation \texttt{lthooks-doc.pdf} for
+details.
+
+\begin{decl}
+ |\NewCommandCopy| \arg{cmd} \arg{existing-cmd} \\
+ |\RenewCommandCopy| \arg{cmd} \arg{existing-cmd} \\
+ |\DeclareCommandCopy| \arg{cmd} \arg{existing-cmd}
+\end{decl}
+
+This copies the definition of \meta{existing-cmd} to \meta{cmd}. After
+this \meta{existing-cmd} can be redefined and \meta{cmd}
+still works! This allows you to then provide a new definition for
+\meta{existing-cmd} that makes use of \meta{cmd} (i.e., of its old
+definition). For example, after
+\begin{verbatim}
+ \NewCommandCopy\LaTeXorig\LaTeX
+ \RenewDocumentCommand\LaTeX{}{\textcolor{blue}{\LaTeXorig}}
+\end{verbatim}
+all \LaTeX{} logos generated with \cs{LaTeX} will come out in blue
+(assuming you have a color package loaded).
+
+The differences between \cs{New...} and \cs{Renew...} are as
+elsewhere: i.e., you get an error depending on whether or not
+\meta{cmd} already exists, or in case of \cs{Declare...} it is copied
+regardless. Note that there is no \cs{Provide...} declaration, because
+that would be of limited value.
+
+
+If the \meta{cmd} or \meta{existing-cmd} can't be provided as a single
+token but need \enquote{constructing}, you can use \cs{ExpandArgs}
+as explained in
+Section~\ref{sec:preconstructing-csnames}.
+
+
+
+
+\begin{decl}
+ |\ShowCommand| \arg{cmd}
+\end{decl}
+
+This displays the meaning of the \meta{cmd} on the terminal and then
+stops (just like the primitive \cs{show}). The difference is that it
+correctly shows the meaning of more complex commands, e.g., in case of
+robust commands it displays not only the top-level definition but
+also the actual payload code and in case of commands declared with
+\cs{NewDocumentCommand}, etc.\ it also gives you detailed information
+about the argument signature.
+
+
+\section[Preconstructing command names \\ (or otherwise expanding arguments)]
+ {Preconstructing command names (or otherwise expanding arguments)}
+\label{sec:preconstructing-csnames}
+
+When declaring new commands with \cs{NewDocumentCommand} or
+\cs{NewCommandCopy} or similar, it is sometimes necessary to
+``construct'' the csname. As a general mechanism the L3 programming
+layer has \cs{exp_args:N...} for this, but there is no mechanism for
+it if \cs{ExplSyntaxOn} is not active (and mixing programming and user
+interface level commands is not a good approach anyhow). We therefore
+offer a mechanism to access this ability using CamelCase naming.
+
+\begin{decl}
+ |\UseName| \arg{string} \\
+ |\ExpandArgs| \arg{spec} \arg{cmd} \arg{arg1} \dots
+\end{decl}
+
+\cs{UseName} turns the \meta{string} directly into a csname and
+then executes it: this is equivalent to the long-standing
+\LaTeXe{} internal command \cs{@nameuse}, or the L3 programming
+equivalent \cs{use:c}. \cs{ExpandArgs} takes a \meta{spec} which
+describes how to expand the \meta{arguments}, carries out these
+operations then executes the \meta{cmd}. The \meta{spec} uses
+the descriptions offered by the L3 programming layer, and the
+relevant \cs{exp_args:N...} function must exist. Common cases will
+have a \meta{spec} of \texttt{c}, \texttt{cc} or \texttt{Nc}: see below.
+
+As an example, the following declaration provides a method to generate
+copyedit commands:
+\begin{verbatim}
+\NewDocumentCommand\newcopyedit{mO{red}}
+ {\newcounter{todo#1}%
+ \ExpandArgs{c}\NewDocumentCommand{#1}{s m}%
+ {\stepcounter{todo#1}%
+ \IfBooleanTF {##1}%
+ {\todo[color=#2!10]{\UseName{thetodo#1}: ##2}}%
+ {\todo[inline,color=#2!10]{\UseName{thetodo#1}: ##2}}%
+ }%
+ }
+\end{verbatim}
+Given that declaration you can then write
+\verb/\newcopyedit{note}[blue]/ which defines the command \cs{note}
+and the corresponding counter for you.
+
+A second example is to copy a command by string name using
+\cs{NewCommandCopy}: here we might need to construct both command
+names.
+\begin{verbatim}
+\NewDocumentCommand\savebyname{m}
+ {\ExpandArgs{cc}\NewCommandCopy{saved#1}{#1}}
+\end{verbatim}
+
+In the \meta{spec} each \texttt{c} stands for one argument that is
+turned into a `\texttt{c}'ommand. An \texttt{n} represents a
+`\texttt{n}'ormal argument that is not altered and \texttt{N} stands for
+a `\texttt{N}'ormal argument which is also left unchanged, but one
+consisting only of a single token (and usually unbraced). Thus, to
+construct a command from a string only for the second argument of
+\cs{NewCommandCopy} you would write
+\begin{verbatim}
+\ExpandArgs{Nc}\NewCommandCopy\mysectionctr{c@section}
+\end{verbatim}
+There are several other single letters supported in the L3 programming
+layer that \emph{could} be used in the \meta{spec} to manipulate
+arguments in other ways. If you are interested, take a look at the
+\enquote{Argument expansion} section in the L3 programming layer
+documentation in \texttt{interface3.pdf}.
+
+
+
+\section{Expandable floating point (and other) calculations}
+
+The \LaTeX3 programming layer which is part of the format offers a
+rich interface to manipulate floating point variables and values. To
+allow for (simpler) applications to use this on document-level or in
+packages otherwise not making use of the L3 programming layer a few
+interface commands are made available.
+
+
+\begin{decl}
+ |\fpeval| \arg{floating point expression}
+\end{decl}
+
+The expandable command \cs{fpeval} takes as its argument a floating
+point expression and produces a result using the normal rules of
+mathematics. As this command is expandable it can be used where \TeX{}
+requires a number and for example within a low-level \cs{edef} operation
+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}$,
+ and parentheses.
+ \item Comparison operators: $x\fprel{<}y$,
+ $x\fprel{<=}y$, $x\fprel{>?}y$,
+ $x\fprel{!=}y$ \emph{etc.}
+ \item Boolean logic: sign $\fpop{sign} x$,
+ negation $\fpop{!}x$, conjunction
+ $x\fprel{\&\&}y$, disjunction $x\fprel{\string|\string|}y$, ternary
+ operator $x\fprel{?}y\fprel{:}z$.
+ \item Exponentials: $\fpop{exp} x$, $\fpop{ln} x$, $x\mathord{\texttt{\^{}}}y$.
+ \item Integer factorial: $\fpop{fact} x$.
+ \item Trigonometry: $\fpop{sin} x$, $\fpop{cos} x$, $\fpop{tan} x$, $\fpop{cot} x$, $\fpop{sec}
+ x$, $\fpop{csc} x$ expecting their arguments in radians, and
+ $\fpop{sind} x$, $\fpop{cosd} x$,
+ $\fpop{tand} x$, $\fpop{cotd} x$,
+ $\fpop{secd} x$, $\fpop{cscd} x$ expecting their
+ arguments in degrees.
+ \item Inverse trigonometric functions: $\fpop{asin} x$,
+ $\fpop{acos} x$, $\fpop{atan} x$,
+ $\fpop{acot} x$, $\fpop{asec} x$,
+ $\fpop{acsc} x$ giving a result in radians, and
+ $\fpop{asind} x$, $\fpop{acosd} x$,
+ $\fpop{atand} x$, $\fpop{acotd} x$,
+ $\fpop{asecd} x$, $\fpop{acscd} x$ giving a result
+ in degrees.
+ \item Extrema: $\fpop{max}(x_{1},x_{2},\ldots)$, $\fpop{min}(x_{1},x_{2},\ldots)$,
+ $\fpop{abs}(x)$.
+ \item Rounding functions, controlled by two optional
+ values, $n$ (number of places, $0$ by default) and
+ $t$ (behavior on a tie, $\nan$ by default):
+ \begin{itemize}
+ \item $\fpop{trunc}(x,n)$ rounds towards zero,
+ \item $\fpop{floor}(x,n)$ rounds towards~$-\infty$,
+ \item $\fpop{ceil}(x,n)$ rounds towards~$+\infty$,
+ \item $\fpop{round}(x,n,t)$ rounds to the closest value, with
+ ties rounded to an even value by default, towards zero if $t=0$,
+ towards $+\infty$ if $t>0$ and towards $-\infty$ if $t<0$.
+ \end{itemize}
+ \item Random numbers: $\fpop{rand}()$, $\fpop{randint}(m,n)$.
+ \item Constants: \texttt{pi}, \texttt{deg} (one degree in radians).
+ \item Dimensions, automatically expressed in points, \emph{e.g.},
+ \texttt{pc} is~$12$.
+ \item Automatic conversion (no need for \cs{number}) of
+ integer, dimension, and skip variables to floating points numbers,
+ expressing dimensions in points and ignoring the stretch and
+ shrink components of skips.
+ \item Tuples: $(x_1,\ldots{},x_n)$ that can be added together,
+ multiplied or divided by a floating point number, and nested.
+\end{itemize}
+
+An example of use could be the following:
+\begin{verbatim}
+ \LaTeX{} can now compute: $ \frac{\sin (3.5)}{2} + 2\cdot 10^{-3}
+ = \fpeval{sin(3.5)/2 + 2e-3} $.
+\end{verbatim}
+which produces the following output:
+\begin{quote}
+ \LaTeX{} can now compute: $ \frac{\sin (3.5)}{2} + 2\cdot 10^{-3}
+ = \fpeval{sin(3.5)/2 + 2e-3} $.
+\end{quote}
+
+\begin{decl}
+ |\inteval| \arg{integer expression}
+\end{decl}
+
+ The expandable command \cs{inteval} takes as its argument an integer
+ expression and produces a result using the normal rules of
+ mathematics with some restrictions, see below. The operations
+ recognized are |+|, |-|, |*| and |/| plus parentheses. As this
+ command is expandable it can be used where \TeX{} requires a number
+ and for example within a low-level \cs{edef} operation to give a
+ purely numerical result.
+
+ This is basically a thin wrapper for the primitive \cs{numexpr}
+ command and therefore has some syntax restrictions. These are:
+ \begin{itemize}
+ \item \texttt{/} denotes division rounded to the closest integer with
+ ties rounded away from zero;
+ \item there is an error and the overall expression evaluates to zero
+ whenever the absolute value of any intermediate result exceeds
+ $2^{31}-1$, except in the case of scaling operations
+ $a$\texttt{*}$b$\texttt{/}$c$, for which $a$\texttt{*}$b$ may be
+ arbitrarily large;
+ \item parentheses may not appear after unary \texttt{+} or
+ \texttt{-}, namely placing \texttt{+(} or \texttt{-(} at the start
+ of an expression or after \texttt{+}, \texttt{-}, \texttt{*},
+ \texttt{/} or~\texttt{(} leads to an error.
+ \end{itemize}
+
+An example of use could be the following.
+\begin{verbatim}
+\LaTeX{} can now compute: The sum of the numbers is $\inteval{1 + 2 + 3}$.
+\end{verbatim}
+which results in
+\enquote{\LaTeX{} can now compute: The sum of the numbers is $\inteval{1 + 2 + 3}$.}
+
+
+\begin{decl}
+ |\dimeval| \arg{dimen expression} \qquad
+ |\skipeval| \arg{skip expression}
+\end{decl}
+
+Similar to \cs{inteval} but computing a length (\texttt{dimen}) or a
+rubber length (\texttt{skip}) value. Both are thin wrappers around
+the corresponding engine primitives, which makes them fast, but
+therefore shows the same syntax peculiars as discussed
+above. Nevertheless, in practice they are usually sufficient. For
+example
+\begin{verbatim}
+\newcommand\calulateheight[1]{%
+ \setlength\textheight{\dimeval{\topskip+\baselineskip*\inteval{#1-1}}}}
+\end{verbatim}
+sets the \cs{textheight} to the appropriate value if a page should
+hold a specific number of text lines. Thus after |\calulateheight{40}|
+it is set to \dimeval{\topskip+\baselineskip*\inteval{40-1}}, given
+the values \cs{topskip} (\dimeval{\topskip}) and \cs{baselineskip}
+(\dimeval{\baselineskip}) in the current document.
+
\end{document}
diff --git a/Master/texmf-dist/doc/latex/base/utf8ienc.pdf b/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
index ced71edebe6..ca7dc00f2cb 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.pdf b/Master/texmf-dist/doc/latex/base/webcomp.pdf
index 0dc2c71e36c..f1f98e12a09 100644
--- a/Master/texmf-dist/doc/latex/base/webcomp.pdf
+++ b/Master/texmf-dist/doc/latex/base/webcomp.pdf
Binary files differ