texlive[65180] Master/texmf-dist: latex-base-dev (3dec22)
commits+karl at tug.org
commits+karl at tug.org
Sat Dec 3 21:59:29 CET 2022
Revision: 65180
http://tug.org/svn/texlive?view=revision&revision=65180
Author: karl
Date: 2022-12-03 21:59:29 +0100 (Sat, 03 Dec 2022)
Log Message:
-----------
latex-base-dev (3dec22)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex-dev/base/README.md
trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lppl.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex
trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/usrguide-historic.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty
trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/README.md 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/README.md 2022-12-03 20:59:29 UTC (rev 65180)
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2023-05-01 pre-release 0
+Release 2023-06-01 pre-release 1
Overview
--------
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt 2022-12-03 20:59:29 UTC (rev 65180)
@@ -8,9 +8,84 @@
================================================================================
All changes above are only part of the development branch for the next release.
-================================================================================
+================================================================================
+
+2022-11-24 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltdefns.dtx (subsubsection{Copying robust commands}):
+ Added \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy (gh/963)
+ Also added \ShowEnvironment.
+
+2022-11-16 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltclass.dtx:
+ Introduce key 'nowarn' on filecontents (gh/958)
+ Do not show "current dir" in message (gh/917)
+
+2022-11-14 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * latexrelease.dtx (subsection{Ignoring \texttt{\string_new} errors when rolling back}):
+ Silence \cs{NewMarkClass} in rollback (gh/955)
+
+2022-11-13 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * doc.dtx:
+ Redefinitions of \verb removed as no longer needed (gh/953)
+
+ Redefinitions of \@verbatim changed to match the kernel
+ definition (gh/953)
+
+2022-11-08 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltshipout.dtx:
+ Add a shipout hook to be executed just before we
+ actually do the shipout (gh/920)
+
+2022-11-07 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltvers.dtx (section{Version Identification}):
+ Store release data in \LaTeXReleaseInfo for reuse at the end of
+ the .log file (gh/944)
+
+ * ltmiscen.dtx (subsection{Environments}): Add to a hook in
+ \end{document} to (re)display the LaTeX release information (gh/944)
+
+2022-11-03 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * doc.dtx: correctly handle \<space> and allow it to be excluded
+ from the index (gh/943)
+
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
#########################
+# 2022-11-01 PL1 Release
+#########################
+
+2022-11-28 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltspace.dtx (subsection{Horizontal space (and breaks)}):
+ We use a private register instead of a group with \hspace in case it
+ starts the paragraph.
+ Otherwise \everypar and friends will be executed inside a group (gh/967)
+
+2022-11-28 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * ltxdoc.dtx:
+ Revert using \detokenize in \cs (gh/962)
+ Eventually we will need to sync with the code in l3doc but for now
+ we stay with the simpler definition from doc.sty.
+
+
+2022-11-30 Joseph Wright <Joseph.Wright at latex-project.org>
+
+ * ltfinal.dtx:
+ Set \oe and \OE equal in case changing to allow detection
+ by babel
+
+#########################
# 2022-11-01 Release
#########################
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lamport-manual.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lppl.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltcmdhooks-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltfilehook-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lthooks-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltmarks-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex 2022-12-03 20:59:29 UTC (rev 65180)
@@ -40,7 +40,7 @@
\ProvidesFile{ltnews.tex}%
[2022/06/10 v1.4e Master file for ltnews*.tex (LaTeX Project)]
-\providecommand*{\lastissue}{36}
+\providecommand*{\lastissue}{37}
\InputIfFileExists{ltnews-lastissue.cfg}{}{}
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews33.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews34.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews35.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews36.tex 2022-12-03 20:59:29 UTC (rev 65180)
@@ -262,10 +262,11 @@
\bfseries
\textsc{\textsl{Bold Slanted Small Caps}}; \textsc{\textit{Bold Italic Small Caps}}}.
-Given that the Computer Modern fonts in \texttt{T1} do not have real italic small caps but only
-slanted small caps, the latter is substituted for the former, which is
-why above both work but you see no difference between the two (and in the log you get a
-substitution warning for the \cs{textit}\cs{textsc} shape combination).
+Given that the Computer Modern fonts in \texttt{T1} do not have real
+italic small caps but only slanted small caps, the latter is
+substituted for the former. This is why both work in the above, but
+there is no difference between the two (and you get a substitution
+warning for the \cs{textit}\cs{textsc} shape combination).
%
\githubissue{782}
Added: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf 2022-12-03 20:59:29 UTC (rev 65180)
Property changes on: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex 2022-12-03 20:59:29 UTC (rev 65180)
@@ -0,0 +1,378 @@
+% \iffalse meta-comment
+%
+% Copyright 2021-2023
+% 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: ltnews37.tex
+%
+% This is issue 37 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 at font with active < and >
+\makeatletter
+\def\verbatim at font{%
+ \normalsize\ttfamily}
+\makeatletter
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\tubcommand[1]{}
+\tubcommand{\input{tubltmac}}
+
+\publicationmonth{June}
+\publicationyear{2023 --- DRAFT version for upcoming release}
+
+\publicationissue{37}
+
+\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}
+
+
+\section{New or improved commands}
+
+
+
+\subsection{Providing copy and show functions for environments}
+
+To copy a command definition we have introduced \cs{NewCommandCopy} in
+2022. This even allows you to copy commands that consist of several internal
+components, such as robust commands or those with a complex signature.
+To do the same with environments, e.g., to define the environment
+\env{myitemize} to be equivalent to \env{itemize}, you can now write
+\begin{verbatim}
+ \NewEnvironmentCopy{myitemize}{itemize}
+\end{verbatim}
+There are also \cs{Renew...}\ and \cs{Declare...}, which may be useful
+depending on the circumstances.
+
+In addition, we offer a \cs{ShowEnvironment} command, which displays the
+\cs{begin} and \cs{end} code of the environment passed as an
+argument. E.g., \verb=\ShowEnvironment{center}= results in the
+following output:
+\begin{verbatim}
+ > \begin{center}=environment:
+ > ->\trivlist \centering \item \relax .
+ <recently read> }
+ l. ...\ShowEnvironment{center}
+ > \end{center}:
+ > ->\endtrivlist .
+ <recently read> }
+ l. ...\ShowEnvironment{center}
+\end{verbatim}
+%
+\githubissue{963}
+
+
+
+
+\section{Code improvements}
+
+\subsection{\pkg{doc}: Index \texttt{\textbackslash\textvisiblespace} correctly}
+
+\emph{to write}
+%
+\githubissue{943}
+
+
+\subsection{\pkg{doc}: Support the \pkg{upquote} package}
+
+The default quote and backquote characters in typewriter fonts are
+typographical quotes, e.g., the input
+\begin{verbatim}
+ \verb*/`prog 'my input'`/
+\end{verbatim}
+ is rendered as \verb*/`prog 'my input'`/ and not as
+%
+\begingroup % code to mimic upquote.sty
+\catcode`'=\active
+\catcode``=\active
+\makeatletter
+\g at addto@macro\@noligs
+ {\let'\textquotesingle
+ \let`\textasciigrave
+ \ifx\encodingdefault\upquote at OTone
+ \ifx\ttdefault\upquote at cmtt
+ \def'{\char13 }%
+ \def`{\char18 }%
+ \fi\fi}
+\endgroup
+%
+\verb*/`prog 'my input'`/ as preferred by many programmers.
+
+This can be adjusted, for example, with the \pkg{upquote} package,
+which results in the second output. However, for historical reasons
+\pkg{doc} had its own definition of \cs{verb} and \env{verbatim} and
+as a consequence the two packages did not cooperate. This has now
+been fixed and loading \pkg{upquote} together with \pkg{doc} has the
+desired effect.
+%
+\githubissue{953}
+
+
+\subsection{New key for \env{filecontents}}
+
+The \env{filecontents} environment warns on the terminal if a file
+gets overwritten even if that is intentional,
+e.g., when you write a temporary file over and over again. To make
+the warning less noisy in this case we added a new \texttt{nowarn} key
+that redirects the overwriting warning to the transcript file. We
+think that some record of the action is still required to help with
+debugging, thus it is not completely silenced. The warning that
+nothing gets written, because the file aready exists (and the
+\texttt{force} key was not used), is not altered and still shows up on
+the terminal.
+%
+\githubissue{958}
+
+
+
+\subsection{A further hook for shipping out pages}
+
+Since October 2020 the shipout process offers a number of hooks to
+adjust what is happening before, during, and after the
+\cs{shipout}. For example, with the \hook{shipout/before} hook, packages
+can reset code they have altered (e.g., \cs{catcode}s during
+verbatim-like processing) and with \hook{shipout/background} and
+\hook{shipout/foreground} material can be added to the pages.
+Details are given in \cite{37:ltshipout-doc}. However, what was
+missing was a hook that allows a package writer to manipulate the
+completed page (with foreground and background attached) just before
+the actual shipout happens.
+
+For this we now provide the additional hook \hook{shipout}. One
+use case (sometimes needed in print production) is to mirror the
+whole page via \cs{reflectbox} including all the extra data that may
+have been added into the fore- or background.
+%
+\githubissue{920}
+
+
+
+\subsection{Displaying release information in the \texttt{.log}}
+
+\LaTeX{} displays its release information at the very beginning of the
+\LaTeX{} run on the terminal and also writes it to the transcript file
+if that is already opened at this point. While this is normally true,
+it is not the case if the \LaTeX{} run was started passing additional
+\TeX{} code on the command line, e.g.,
+\begin{verbatim}
+pdflatex '\PassOptionsToClass{11pt}{article}
+ \input{myarticle}'
+\end{verbatim}
+In this case the release information is displayed when
+\cs{PassOptionsToClass} is processed but the transcript file is only
+opened when the output file name is known, i.e., after \cs{input} has
+been seen, and as a result the release information is only shown on
+the terminal.
+
+To account for this scenario, we now repeat the release information
+also at the very end of the transcript file where we can be sure that
+it is open and ready to receive material.
+%
+\githubissue{944}
+
+
+
+
+
+\section{Bug fixes}
+
+\subsection{Incompatibility between \pkg{doc} and \pkg{unicode-math}}
+
+The \pkg{unicode-math} package alters the catcode of \verb=|= but does
+not adjust its value for use in \pkg{doc}, with the result that
+\enquote{or} module, i.e., $\langle A | B \rangle$ are displayed in a
+strange way. This is now fixed with some firstaid code that will
+eventually be moved into \pkg{unicode-math}.
+%
+\githubissue{820}
+
+
+\subsection{A fix for \cs{hspace}}
+
+The change to \cs{hspace}, done in 2020 to make it \pkg{calc} aware,
+had the unfortunate side effect that starting a paragraph with
+\cs{hspace} would result in the execution of \cs{everypar} inside a
+group (i.e., any local changes would immediately be revoked, breaking,
+for example, \pkg{wrapfig} in that special situation).
+%
+This got fixed with the 2022-11 PL1 hotfix, so was already corrected in
+the previous release, but only now documented in a newletter.
+%
+\githubissue{967}
+
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+\section{Changes to packages in the \pkg{tools} category}
+
+
+%\medskip
+
+\begin{thebibliography}{9}
+
+\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{37:ltshipout-doc} Frank Mittelbach, \LaTeX{}~Project~Team:
+ \emph{The \texttt{\upshape ltshipout} documentation}.\\
+ Run \texttt{texdoc} \texttt{ltshipout-doc} to view.
+
+%\bibitem{37: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{37:source2e}
+% \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+% \url{https://latex-project.org/help/documentation/}
+
+%\bibitem{37:Lamport}
+%Leslie Lamport.
+%\newblock {\LaTeX}: {A} Document Preparation System: User's Guide and Reference
+% Manual.
+%\newblock \mbox{Addison}-Wesley, Reading, MA, USA, 2nd edition, 1994.
+%\newblock ISBN 0-201-52983-1.
+%\newblock Reprinted with corrections in 1996.
+%
+%\bibitem{37:ltnews32} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} news 32}.\\
+% \url{https://latex-project.org/news/latex2e-news/ltnews32.pdf}
+%
+%\bibitem{37:ltnews34} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} news 34}.\\
+% \url{https://latex-project.org/news/latex2e-news/ltnews34.pdf}
+%
+%\bibitem{37:ltnews35} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} news 35}.\\
+% \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf}
+%
+%\bibitem{37:fntguide} \LaTeX{} Project Team:
+% \emph{\LaTeXe{} font selection}.\\
+% \url{https://latex-project.org/help/documentation/}
+%
+%\bibitem{37: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}
Property changes on: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews37.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltpara-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltshipout-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide-historic.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex 2022-12-03 20:59:29 UTC (rev 65180)
@@ -865,7 +865,7 @@
-\section{Copying and showing (robust) commands}
+\section{Copying and showing (robust) commands and environments}
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
@@ -911,9 +911,6 @@
as explained in
Section~\ref{sec:preconstructing-csnames}.
-
-
-
\begin{decl}
|\ShowCommand| \arg{cmd}
\end{decl}
@@ -926,7 +923,27 @@
\cs{NewDocumentCommand}, etc.\ it also gives you detailed information
about the argument signature.
+\begin{decl}
+ |\NewEnvironmentCopy| \arg{env} \arg{existing-env} \\
+ |\RenewEnvironmentCopy| \arg{env} \arg{existing-env} \\
+ |\DeclareEnvironmentCopy| \arg{env} \arg{existing-env}
+\end{decl}
+This copies the definition for environment \meta{existing-env} to
+\meta{env} (both the beginning and end code), i.e., it is simply
+applying \cs{NewCommandCopy} twice to the internal commands that
+define an environment, i.e., \cs{}\meta{env} and \cs{end}\meta{env}.
+The differences between \cs{New...}, \cs{Renew...}, and
+\cs{Declare...} are the usual ones.
+
+\begin{decl}
+ |\ShowEnvironment| \arg{env}
+\end{decl}
+This displays the meaning of the begin end end code for environment \meta{env}.
+
+
+
+
\section[Preconstructing command names \\ (or otherwise expanding arguments)]
{Preconstructing command names (or otherwise expanding arguments)}
\label{sec:preconstructing-csnames}
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -45,7 +45,7 @@
%<+package>
%<+package>\ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2022/07/03 v3.0k
+%<+package|shortvrb> [2022/11/13 v3.0m
%<+package|shortvrb> Standard LaTeX documentation package V3 (FMi)]
%\catcode`\<=12
%
@@ -82,6 +82,8 @@
% \changes{v1.9a}{1993/12/02}{Upgrade for LaTeX2e}
% \changes{v1.9d}{1993/12/20}{Protected changes entry.}
% \changes{v1.0p}{1994/05/21}{Use new error commands}
+% \changes{v3.0m}{2022/11/13}{Redefinitions of \cs{verb} removed as
+% no longer needed (gh/953)}
%
%
% \hyphenation{make-index}
@@ -1208,7 +1210,7 @@
% not to exceed this limit when describing the change. The actual
% entry consists of the \meta{version}, the |\actualchar|, the current
% macro name, a colon, the |\levelchar|, and, finally, the \meta{text}.
-% The result is a glossaryentry for the \meta{version}, with the name of
+% The result is a glossary entry for the \meta{version}, with the name of
% the current macro as subitem. Outside the |macro| environment, the
% text |\generalname| is used instead of the macro name. When
% referring to macros in change descriptions it is conventional to use
@@ -1216,6 +1218,13 @@
% and using up valuable characters in the entry with old \prg{makeindex}
% versions.
%
+% Note that in the history listing, the entry is shown with the page number
+% that corresponds to its place in the source, e.g., general changes put at the
+% very beginning of the file will show up with page number ``1'', change entries
+% placed elsewhere might have different numbers (not necessarily always
+% very useful unless you are careful).
+%
+%
% \changes{v1.7a}{1992/02/26}{Description of \cs{RecordChanges} etc.
% added
% to interface section.} \DescribeInterfaceMacro\RecordChanges To cause the
@@ -1824,8 +1833,8 @@
% July 1989.
% \bibitem{art:docstrip} \textsc{Frank Mittelbach, Denys Duchier and
% Johannes Braams}.
-% \newblock \texttt{docstrip.dtx} (to appear).
-% \newblock The file is part of the DOC package.
+% \newblock \texttt{docstrip.dtx}.
+% \newblock The file is part of core \LaTeX{}.
% \bibitem{book:Raspe} \textsc{R. E. Raspe} (*1737, \dag 1797).
% \newblock Baron Münchhausens narrative of his marvelous
% travels and campaigns in Russia.
@@ -2686,12 +2695,16 @@
% first lines are copied literally from \texttt{latex.tex}.
% \changes{v1.7i}{1992/07/12}{Added \cs{@@par} to clear possible
% \cs{parshape}.}
+% \changes{v3.0m}{2022/11/13}{Redefinitions of \cs{@verbatim} changed
+% to match the kernel definition (gh/953)}
% \begin{macrocode}
-\def\@verbatim{\trivlist \item[]\if at minipage\else\vskip\parskip\fi
- \leftskip\@totalleftmargin\rightskip\z@
- \parindent\z@\parfillskip\@flushglue\parskip\z@
- \@@par
- \@tempswafalse
+\def\@verbatim{\trivlist \item\relax
+ \if at minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@
+ \parindent\z@\parfillskip\@flushglue\parskip\z@
+ \language\l at nohyphenation
+ \@@par
+ \@tempswafalse
% \end{macrocode}
% |\@verbatim| sets |^^M|, the end of line character, to
% be equal to |\par|. This control sequence is redefined
@@ -2699,8 +2712,13 @@
% \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to
% \cs{par} from verbatim.sty}
% \begin{macrocode}
- \def\par{\if at tempswa\hbox{}\fi\@tempswatrue\@@par
- \penalty\interlinepenalty
+ \def\par{%
+ \if at tempswa
+ \leavevmode \null \@@par\penalty\interlinepenalty
+ \else
+ \@tempswatrue
+ \ifhmode\@@par\penalty\interlinepenalty\fi
+ \fi
% \end{macrocode}
% We add a control sequence |\check at percent| to the definition
% of |\par| whose task it is to check for a percent character.
@@ -2713,9 +2731,10 @@
% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
% which handles more ligatures.}
% \begin{macrocode}
- \obeylines
- \let\do\do at noligs \verbatim at nolig@list
- \let\do\@makeother \dospecials}
+ \let\do\@makeother \dospecials
+ \obeylines \verbatim at font \@noligs
+ \everypar \expandafter{\the\everypar \unpenalty}%
+}
% \end{macrocode}
% \end{macro}
%
@@ -2744,84 +2763,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{imacro}{\verb}
-% \changes{v1.7a}{1992/02/27}{Now warns about newlines (from
-% newdoc with `@noligs added).}
-% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX \cs{verb}}
-% We re-define |\verb| to check for newlines in its argument since a
-% missing delimiter is difficult to detect in \DOC{} source.
-% The code is the same as in \texttt{latex.tex} of September 19, 1993.
-% Perhaps there should be a font-changing
-% hook rather than just using |\ttfamily|, but if so it probably should be
-% different from |\MacroFont| since that normally includes |\small|
-% and would look wrong inline.
-% \changes{v1.7a}{1992/02/28}{Added math mode check (from verbatim.sty)}
-% \begin{macrocode}
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
- \bgroup \let\do\do at noligs \verbatim at nolig@list
- \ttfamily \verb at eol@error \let\do\@makeother \dospecials
- \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-% \end{macrocode}
-% \end{imacro}
%
-% \begin{macro}{\verb at balance@group}
-% \begin{macro}{\verb at egroup}
-% \begin{macro}{\verb at eol@error}
-% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb at err} to
-% \cs{verb at eol@error}, as in new LaTeX verbatim.}
-% \begin{macrocode}
-\let\verb at balance@group\@empty
-% \end{macrocode}
+% In the early versions of the package it also redefined \cs{verb}
+% because that didn't include the useful test for \enquote{newline} in
+% the verbatim text. This is nowadays part of \LaTeX{} so we do not
+% redefine it any longer (the original code is still kept in the file
+% after \cs{endinput} to keep the long history intact).
%
-% \begin{macrocode}
-\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begingroup
- \obeylines%
- \gdef\verb at eol@error{\obeylines%
- \def^^M{\verb at egroup\@latex at error{%
- \noexpand\verb command ended by end of line}\@ehc}}%
-\endgroup
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@sverb}
-% \changes{v1.7a}{1992/02/27}{Added for \cs{verb} change.}
-% \changes{v1.7a}{1992/02/28}{Now same as in verbatim.sty.}
-% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
-% which has better error trapping.}
-% See \cite{art:verbatim} for commentary.
-% \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
-% \begin{macrocode}
-%\def\@sverb#1{%
-% \catcode`#1\active \lccode`\~`#1%
-% \gdef\verb at balance@group{\verb at egroup
-% \@latex at error{Illegal use of \noexpand\verb command}\@ehc}%
-% \aftergroup\verb at balance@group
-% \lowercase{\let~\verb at egroup}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\verbatim at nolig@list}
-% \begin{macro}{\do at noligs}
-% These macros replace the old |\@noligs| mechanism by an
-% extensible version to allow more ligatures to be added.
-% \begin{macrocode}
-\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
-\def\do at noligs#1{%
- \catcode`#1\active
- \begingroup
- \lccode`\~=`#1\relax
- \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{tcounter}{\macro at cnt}
% \label{page:macro} The \env{macro} environment is implemented as
% a \env{trivlist} environment, whereby in order that the macro
@@ -3147,9 +3095,6 @@
%
% \begin{macro}{\short at macro}
%
-% \fmi{this needs cleaning up too, the results in the index are
-% currently wrong for cases like `\cs{ }' and the like.}
-%
% \changes{v1.5c}{1989/04/27}{Corrected bad bug by putting the
% scan at allowedfalse macro before printing
% the argument.}
@@ -3164,17 +3109,14 @@
% done by the |\ifnot at excluded| macro which assumes that the
% macro name is saved in |\macro at namepart|. The character
% mustn't be stored with a special category code or exclusion from
-% the index won't work, so we employ the case-changing trick used
-% elsewhere. Since the argument might be an active character,
-% |\string| is used to normalize it.
+% the index won't work, so we we use \cs{string} to normalize it
+% the same way it is done in \cs{DoNotIndex}, i.e. everything ends up catcode 12
+% except for the space character.
% \changes{v2.0e}{1998/12/28}{Correctly use the case-changing trick.}
+% \changes{v3.0l}{2022/11/03}{No longer using the case-changing trick.}
% \begin{macrocode}
-\begingroup
-\catcode`\&=12
-\gdef\short at macro#1{\begingroup
- \uccode`\&=\expandafter`\string#1%
- \uppercase{\def\x{\def\macro at namepart{&}}}%
- \expandafter\endgroup\x
+\def\short at macro#1{%
+ \edef\macro at namepart{\string#1}%
% \end{macrocode}
% Any indexing is then delegated to
% |\maybe at index@short at macro|. Depending on the actual character seen,
@@ -3197,7 +3139,6 @@
% cross-referencing is globally disabled.
% \begin{macrocode}
\scan at allowedtrue }
-\endgroup
% \end{macrocode}
% \end{macro}
%
@@ -3441,7 +3382,6 @@
\def \ShowIndexingState {
\__doc_trace:x{Show~ doc~ indexing~ state:}
\seq_show:N \l__doc_donotindex_seq
-% \tl_analysis_show:N\l__doc_donotindex_seq
\prop_show:N \g__doc_idxtype_prop
}
% \end{macrocode}
@@ -3637,10 +3577,12 @@
% \begin{macro}{\maybe at index@short at macro}
% \begin{macro}{\__doc_maybe_index_short:o}
% Single character macros are handled similarly but there the
-% indexing is done by \cs{SpecialShortIndex}.
+% indexing is done by \cs{SpecialShortIndex} and it is simpler
+% because we know that the argument contains a string token not letters.
+% \changes{v3.0l}{2022/11/03}{We know the argument expands to a single string token}
% \begin{macrocode}
\cs_new:Npn \__doc_maybe_index_short:o #1 {
- \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+ \exp_args:No \__doc_maybe_index_aux:nN #1
\SpecialShortIndex
}
\cs_set_eq:NN \maybe at index@short at macro \__doc_maybe_index_short:o
@@ -3715,7 +3657,12 @@
{\cs_to_str:N \^^M } {\def\reserved at a{ \string \space \actualchar }
\def\reserved at b { \space }
\let\reserved at c \@empty }
- { } {\def\reserved at a{ \string \space \actualchar }
+% \end{macrocode}
+% With the fix for
+% \verb*=\ = we now have to look for a real space to handle that command sequence.
+% \changes{v3.0l}{2022/11/03}{look for the right token}
+% \begin{macrocode}
+ { ~ } {\def\reserved at a{ \string \space \actualchar }
\def\reserved at b { \space }
\let\reserved at c \@empty }
{\c_left_brace_str} { \def\reserved at a{ \bgroup \actualchar }
@@ -6256,7 +6203,90 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \section{Code no longer used}
+%
+% \begin{imacro}{\verb}
+% \changes{v1.7a}{1992/02/27}{Now warns about newlines (from
+% newdoc with `@noligs added).}
+% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX \cs{verb}}
+% We re-define |\verb| to check for newlines in its argument since a
+% missing delimiter is difficult to detect in \DOC{} source.
+% The code is the same as in \texttt{latex.tex} of September 19, 1993.
+% Perhaps there should be a font-changing
+% hook rather than just using |\ttfamily|, but if so it probably should be
+% different from |\MacroFont| since that normally includes |\small|
+% and would look wrong inline.
+% \changes{v1.7a}{1992/02/28}{Added math mode check (from verbatim.sty)}
+% \begin{macrocode}
+%\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+% \bgroup \let\do\do at noligs \verbatim at nolig@list
+% \ttfamily \verb at eol@error \let\do\@makeother \dospecials
+% \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
+% \end{macrocode}
+% \end{imacro}
+%
+% \begin{macro}{\verb at balance@group}
+% \begin{macro}{\verb at egroup}
+% \begin{macro}{\verb at eol@error}
+% \changes{v1.8b}{1993/09/21}{Renamed \cs{verb at err} to
+% \cs{verb at eol@error}, as in new LaTeX verbatim.}
+% \begin{macrocode}
+%\let\verb at balance@group\@empty
+% \end{macrocode}
+%
+% \begin{macrocode}
+%\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%\begingroup
+% \obeylines%
+% \gdef\verb at eol@error{\obeylines%
+% \def^^M{\verb at egroup\@latex at error{%
+% \noexpand\verb command ended by end of line}\@ehc}}%
+%\endgroup
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@sverb}
+% \changes{v1.7a}{1992/02/27}{Added for \cs{verb} change.}
+% \changes{v1.7a}{1992/02/28}{Now same as in verbatim.sty.}
+% \changes{v1.8b}{1993/09/21}{Changed to conform to new LaTeX verbatim,
+% which has better error trapping.}
+% See \cite{art:verbatim} for commentary.
+% \changes{v2.1j}{2019/11/03}{Use the kernel definition, no change needed (gh/205)}
+% \begin{macrocode}
+%\def\@sverb#1{%
+% \catcode`#1\active \lccode`\~`#1%
+% \gdef\verb at balance@group{\verb at egroup
+% \@latex at error{Illegal use of \noexpand\verb command}\@ehc}%
+% \aftergroup\verb at balance@group
+% \lowercase{\let~\verb at egroup}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\verbatim at nolig@list}
+% \begin{macro}{\do at noligs}
+% These macros replace the old |\@noligs| mechanism by an
+% extensible version to allow more ligatures to be added.
+% \begin{macrocode}
+%\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
+%\def\do at noligs#1{%
+% \catcode`#1\active
+% \begingroup
+% \lccode`\~`#1\relax
+% \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+
+
^^A Needed for emacs
^^A
^^A Local Variables:
Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -40,7 +40,7 @@
%<*latexrelease>
% \fi
% \ProvidesFile{latexrelease.dtx}
- [2022/02/28 v1.0o LaTeX release emulation and tests
+ [2022/11/14 v1.0p LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
% \iffalse
%</latexrelease>
@@ -746,8 +746,12 @@
%
% Finally, redirect the error thrown by \cs{NewHook} to nowhere so it
% can be safely reused (the hook isn't redeclared if it already exists).
+% The same happens for \cs{NewMarkClass}.
+% \changes{v1.0p}{2022/11/14}
+% {Silence \cs{NewMarkClass} in rollback (gh/955)}
% \begin{macrocode}
\msg_redirect_name:nnn { hooks } { exists } { none }
+\msg_redirect_name:nnn { mark } { class-already-defined }{ none }
% \end{macrocode}
%
% Now a one-off for |ltcmd.dtx|: we need to make \cs{NewDocumentCommand}
@@ -799,9 +803,12 @@
\tl_clear:N \l_@@_restores_tl
% \end{macrocode}
%
-% And restore the hook error message.
+% And restore the silenced error messages.
+% \changes{v1.0p}{2022/11/14}
+% {Unsilence \cs{NewMarkClass} error message after rollback (gh/955)}
% \begin{macrocode}
\msg_redirect_name:nnn { hooks } { exists } { }
+\msg_redirect_name:nnn { mark } { class-already-defined } { }
% \end{macrocode}
%
% \begin{macrocode}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2022/10/22 v1.5e LaTeX Kernel (Class & Package Interface)]
+ [2022/11/16 v1.5f LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -2813,6 +2813,7 @@
% unknown option.
% \changes{v1.3h}{2020/01/28}{Allow spaces in option string and display
% only unknown options not the whole option list (gh/256)}
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
% \begin{macrocode}
\def\filec at ntents@opt[#1]{%
\edef\@fortmp{\zap at space#1 \@empty}%
@@ -2821,7 +2822,7 @@
\csname filec at ntents@\reserved at a\endcsname
\else
\@latex at error{Unknown filecontents option \reserved at a}%
- {Valid options are force (or overwrite), nosearch, noheader}%
+ {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
\fi}%
\filec at ntents
}
@@ -2849,6 +2850,18 @@
\let\filec at ntents@checkdir\@empty
\def\filec at ntents@where{exists on the system}
% \end{macrocode}
+% Option \texttt{nowarn} does not show any warning on the terminal
+% but still writes it to the \texttt{.log}.
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
+% \begin{macrocode}
+\def\filec at ntents@nowarn{%
+ \let\filec at ntents@warning\@latex at note@no at line
+}
+% \end{macrocode}
+% By default we show terminal warnings.
+% \begin{macrocode}
+\let\filec at ntents@warning\@latex at warning@no at line
+% \end{macrocode}
%
% \begin{macrocode}
\begingroup%
@@ -2925,6 +2938,8 @@
% on the terminal.
% \changes{v1.3g}{2020/01/27}{Fix typo in error message}
% \changes{v1.3j}{2020/02/20}{Fix missing quotes around file name (gh/284)}
+% \changes{v1.5f}{2022/11/16}{Introduce key 'nowarn' on filecontents (gh/958)}
+% \changes{v1.5f}{2022/11/16}{Do not show "current dir" in message (gh/917)}
% \begin{macrocode}
\ch at ck7\reserved at c\write\relax%
\if at filesw% % Foul ... trying to overwrite \jobname!
@@ -2932,8 +2947,8 @@
write to the file you are reading from!\MessageBreak%
Data is written to screen instead.}%
\else%
- \@latex at warning@no at line%
- {Writing or overwriting file `\@currdir\@curr at file'}%
+ \filec at ntents@warning%
+ {Writing or overwriting file `\@curr at file'}%
\immediate\openout\reserved at c\q at curr@file\relax%
\fi%
\fi%
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltcmd.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
% \end{macrocode}
%
%<*driver>
@@ -2401,21 +2401,28 @@
% \@@_show_command:NnNNwN,
% \@@_show_expandable:N,
% \@@_show_expandable:NnNNNNnN,
-% \@@_show_command_aux:nNNn,
+% \@@_show_command_aux:NnNNn,
% \@@_show_environment:N,
+% \@@_show:x,
% }
% These commands just expand the command once to reveal its innards,
% then pass the type of command, the control sequence, the signature,
-% and the code macro to \cs{@@_show_command_aux:nNNn}.
+% and the code macro to \cs{@@_show_command_aux:NnNNn}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_show_command:N #1
{ \exp_after:wN \@@_show_command:NnNNwN #1 \q_@@ #1 }
\cs_new_protected:Npn \@@_show_command:NnNNwN #1 #2 #3 #4 #5 \q_@@ #6
- { \@@_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+ {
+ \@@_show_command_aux:NnNNn \tl_show:x
+ { document~command } #6 #4 {#2}
+ }
\cs_new_protected:Npn \@@_show_expandable:N #1
{ \exp_after:wN \@@_show_expandable:NnNNNNnN #1 #1 }
\cs_new_protected:Npn \@@_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
- { \@@_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
+ {
+ \@@_show_command_aux:NnNNn \tl_show:x
+ { expandable~document~command } #8 #5 {#2}
+ }
% \end{macrocode}
%
% Now just print everything in the required format. The auxiliary
@@ -2423,15 +2430,17 @@
% \cs{l_@@_tmpa_tl}, so we ust use that here:
% \changes{v1.0j}{2021/13/31}
% {Make \cs{ShowCommand} stop for interaction}
+% \changes{v1.1b}{2022/11/30}
+% {Don't stop for the \cs{begin} part of an environment}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_show_command_aux:nNNn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_show_command_aux:NnNNn #1 #2 #3 #4 #5
{
- \@@_split_signature:n {#4}
- \tl_show:x
+ \@@_split_signature:n {#5}
+ #1
{
- \token_to_str:N #2 = #1: \iow_newline:
+ \token_to_str:N #3 = #2: \iow_newline:
\tl_use:N \l_@@_tmpa_tl
- -> \cs_replacement_spec:N #3
+ -> \cs_replacement_spec:N #4
}
}
% \end{macrocode}
@@ -2438,12 +2447,14 @@
%
% We can reuse most of the above to show an environment, except that
% we need to ensure that the proper \cs[no-index]{environment~\ldots}
-% are passed to \cs{@@_show_command_aux:nNNn}. Additionally, when
+% are passed to \cs{@@_show_command_aux:NnNNn}. Additionally, when
% |\ShowCommand\foo| is used (if |foo| is an environment), we show
% |\endfoo| as well, and when |\ShowCommand\endfoo| is used, change
% that to |\ShowCommand\foo| and do the same.
% \changes{v1.0j}{2021/13/31}
% {Make \cs{ShowCommand} stop for interaction}
+% \changes{v1.1b}{2022/11/30}
+% {Don't stop for the \cs{begin} part of an environment}
% \begin{macrocode}
\cs_new_protected:Npn \@@_show_environment:N #1
{
@@ -2459,12 +2470,14 @@
{
\use:x
{
- \@@_show_command_aux:nNNn { document~environment }
+ \@@_show_command_aux:NnNNn \@@_show:x { document~environment }
{ \exp_not:N \begin {#3} }
\exp_not:c { environment~ #3 ~ code }
{#2}
}
}
+\cs_new_protected:Npn \@@_show:x #1
+ { \iow_term:x { > ~ #1 . \iow_newline: } }
\cs_new_protected:Npn \@@_show_environment_end:N #1
{
\exp_args:NNx \@@_check_end:Nn \l_@@_tmpa_tl { \cs_to_str:N #1 }
@@ -2473,10 +2486,15 @@
% \end{macrocode}
%
% And, of course, add \cs{__kernel_cmd_if_xparse:NTF} and
-% \cs{@@_show:N} to \cs{@showcommandlisthook}:
+% \cs{@@_show:N} to \cs{@showcommandlisthook} and to
+% \cs{@showenvironmentlisthook} (\cs{@@_show:N} takes care of the
+% environment case as well, so both entries are identical):
+% \changes{v1.1b}{2022-11-29}{Add \cs{@showenvironmentlisthook}}
% \begin{macrocode}
\tl_gput_right:Nn \@showcommandlisthook
{ { \__kernel_cmd_if_xparse:NTF \@@_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+ { { \__kernel_cmd_if_xparse:NTF \@@_show:N } }
% \end{macrocode}
% \end{macro}
%
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2022/05/22 v1.5r LaTeX Kernel (definition commands)]
+ [2022/11/24 v1.5s LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -784,7 +784,9 @@
% not take arguments. (but may contain |\par|s)
%
% Make sure that an attempt to define a `graf' or `group' environment
-% fails.
+% fails by temporarily letting the undefined \verb=\...= (begin code) to
+% the definition of \verb=\end...= and as a result we get an error if that
+% has a definition.
% \begin{macrocode}
\long\def\@newenv#1#2#3#4{%
\@ifundefined{#1}%
@@ -1641,6 +1643,7 @@
% \end{macrocode}
%
% \begin{macro}{\declare at commandcopy}
+% \begin{macro}{\declare at commandcopy@do}
% Start by checking if the command is already defined. The proper action is
% taken by each specific command above. If all's good, then
% \cs{robust at command@act} is called with the proper arguments as described
@@ -1650,11 +1653,14 @@
\long\def\declare at commandcopy#1#2#3#4{%
\edef\reserved at a{\@expl at cs@to at str@@N#3}%
\@ifundefined\reserved at a{#1}{#2}%
- {\robust at command@act
- \@declarecommandcopylisthook#4%
- \declare at commandcopy@let{#3#4}}}
+ {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+ \robust at command@act
+ \@declarecommandcopylisthook#2%
+ \declare at commandcopy@let{#1#2}}
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@declarecommandcopylisthook}
% The initial definition of \cs{@declarecommandcopylisthook} contains the
@@ -1694,6 +1700,64 @@
% \end{macro}
%
%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023-06-01}{\DeclareEnvironmentCopy}
+%<latexrelease> {Add \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macro}{\NewEnvironmentCopy}
+% \begin{macro}{\RenewEnvironmentCopy}
+% \begin{macro}{\DeclareEnvironmentCopy}
+% If \verb=\#1= or \verb=\end#1= already exist one gets an error
+% message talking about the problematical command (not the
+% environment).
+% The remainder of the \LaTeX{} run is probably badly
+% broken and it is unlikely that continuing it gives
+% reasonable results.
+% \changes{v1.5s}{2022/11/24}{Add \cs{NewEnvironmentCopy},
+% \cs{RenewEnvironmentCopy}, and \cs{DeclareEnvironmentCopy} (gh/963)}
+% \begin{macrocode}
+\def\NewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+ \@firstofone}%
+ {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+ \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+ \@ifundefined\reserved at a
+ {\def\reserved at a{#3}#1}%
+ {\def\reserved at a{#3}#2}%
+ {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+ \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
+% \end{macrocode}
+%
+% Now the rollback code.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\DeclareEnvironmentCopy}
+%<latexrelease> {Undefine \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+%<latexrelease>\let\NewEnvironmentCopy\@undefined
+%<latexrelease>\let\RenewEnvironmentCopy\@undefined
+%<latexrelease>\let\DeclareEnvironmentCopy\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
% \subsubsection{Showing robust commands}
%
% \begin{macro}{\ShowCommand}
@@ -1747,7 +1811,6 @@
% \end{macrocode}
% \end{macro}
%
-%
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2020-10-01}{\@if at DeclareRobustCommand}
@@ -1836,6 +1899,7 @@
%
% \begin{macro}{\@show at DeclareRobustCommand}
% \begin{macro}{\show at kernel@robust at command}
+% \begin{macro}{\@show at macro}
% Showing the command is pretty simple. This command prints the top-level
% expansion as \TeX's \cs{show} would, but with |robust macro:| rather than
% just |macro:|, then a blank line and then \cs{show} the inner command.
@@ -1863,12 +1927,14 @@
\robust at command@chk at safe#1%
{\@if at newcommand#1%
{\@show at newcommand}%
- {\show}}%
- {\show}%
+ {\@show at macro}}%
+ {\@show at macro}%
#1}
+\let\@show at macro\show
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \end{macro}
%
@@ -1931,7 +1997,7 @@
\typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
\expandafter\@show at newcommand@aux
\csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
- \expandafter{#1}}
+ \expandafter{#1}\@show at tokens}
% \end{macrocode}
%
% For a macro defined with, say, |\newcommand\foo[1][opt]{bar}|, it will
@@ -1946,20 +2012,28 @@
% \end{verbatim}
% If the command was defined with \cs{DeclareRobustCommand}, then another pair
% of lines show the top-level expansion \verb*|\protect \foo |.
-%
-% The extra gymnastics with \cs{showtokens} ensures that \cs{showtokens}
-% itself, and the internals of this macro aren't showed in the context lines.
% \begin{macrocode}
-\long\def\@show at newcommand@aux#1#2{%
+\long\def\@show at newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
- \edef\reserved at a{%
- default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
- \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+ #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@show at tokens}
+% This macro prints the contents of the token list (macro) |#1| using
+% \cs{showtokens}. The \cs{expandafter} gymnastics ensures that
+% \cs{showtokens} itself, and the internals of this macro aren't
+% showed in the context lines.
+% \begin{macrocode}
+\long\def\@show at tokens#1{%
+ \edef\reserved at a{#1}%
+ \showtokens\expandafter
+ \expandafter\expandafter{\expandafter\reserved at a}}
+% \end{macrocode}
+% \end{macro}
+%
% Now the rollback code.
% \begin{macrocode}
%</2ekernel|latexrelease>
@@ -1985,6 +2059,124 @@
% \end{macro}
%
%
+% \subsubsection{Showing environments}
+%
+% \begin{macro}{\ShowEnvironment}
+% \changes{v1.5s}{2022/11/24}{Added \cs{ShowEnvironment}}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2023-06-01}{\ShowEnvironment}
+%<latexrelease> {Add \ShowEnvironment}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \cs{ShowEnvironment} is quite similar to \cs{ShowCommand}. We will
+% pass the environment \meta{env} around as the macro
+% \cs[no-index]{env}, because \cs{robust at command@act} expects a single
+% token.
+% \begin{macrocode}
+\def\ShowEnvironment#1{%
+ \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+ \robust at command@act
+ \@showenvironmentlisthook#1%
+ \@show at normalenv#1}
+% \end{macrocode}
+%
+% \begin{macro}{\@showenvironmentlisthook}
+% This is similar to \cs{@showcommandlisthook}, but uses the dedicated
+% versions for environments.
+% \begin{macrocode}
+\def\@showenvironmentlisthook{%
+ {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+ {\@if at newcommand \@show at newcommand@env}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@show at newcommand@env}
+% \begin{macro}{\@show at DeclareRobustCommand@env}
+% These are similar to the command versions below, except they say
+% \enquote{environment} and call \cs{@show at environment@end} to print
+% the \cs{end} part.
+% \begin{macrocode}
+\long\def\@show at newcommand@env#1{%
+ \@show at environment@begin#1%
+ \expandafter\@show at newcommand@aux
+ \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+ \expandafter{#1}\@show at typeout
+ \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+ \@show at environment@begin#1%
+ \begingroup
+ \let\@show at tokens\@show at typeout
+ \let\@show at macro\@show at nonstop
+ \expandafter\show at kernel@robust at command
+ \csname\@expl at cs@to at str@@N#1 \endcsname
+ \endgroup
+ \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+ \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+ \typeout{\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1.^^J}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@show at normalenv}
+% \begin{macro}{\@show at environment@end}
+% A \enquote{normal} environment is straightforward.
+% \cs{@show at environment@end} needs to check if the \cs{end} part is
+% defined and show it accordingly, otherwise the output would show
+% gibberish.
+% \begin{macrocode}
+\long\def\@show at normalenv#1{%
+ \@show at environment@begin#1%
+ \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+ \expandafter\@show at environment@end at aux
+ \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+ \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+ \ifx\relax#1=undefined%
+ \else:^^J\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1%
+ \fi}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@show at nonstop}
+% \begin{macro}{\@show at typeout}
+% And here some auxiliaries:
+% \begin{description}
+% \item[\cs{@show at nonstop}] same output as \cs{show}, but doesn't
+% stop for interaction;
+% \item[\cs{@show at typeout}] same output as \cs{showtokens}, but
+% doesn't stop for interaction.
+% \end{description}
+% \begin{macrocode}
+\def\@show at nonstop#1{%
+ \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Now the rollback code.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\ShowEnvironment}
+%<latexrelease> {Undefine \ShowEnvironment}%
+%<latexrelease>\let\ShowEnvironment\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection{Internal defining commands}
%
% These commands are used internally to define other \LaTeX{}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2022/10/26 v2.2x LaTeX Kernel (Final Settings)]
+ [2022/11/30 v2.2y LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -1151,9 +1151,7 @@
\cs_set_protected:Npn \reserved at a #1
{
\cs_generate_variant:cn { text_ \str_lowercase:n {#1} case:nn } { V }
- \cs_new_protected:cpx { Make#1case \c_space_tl \c_space_tl \c_space_tl } [##1] ##2
- { \exp_not:N \@@text at case@aux { \str_lowercase:n {#1} } {##1} {##2} }
- \ExpandArgs { cnx } \NewExpandableDocumentCommand
+ \ExpandArgs { cnx } \NewExpandableDocumentCommand
{ Make#1case }
{ O{} +m }
{ \exp_not:c { Make#1case \c_space_tl \c_space_tl \c_space_tl } [####1] {####2} }
@@ -1162,6 +1160,34 @@
\reserved at a { Lower }
\reserved at a { Title }
% \end{macrocode}
+% \changes{v2.2y}{2022/11/30}{Set \cs{oe}/\cs{OE} equal to act as a marker for \pkg{babel}}
+% Currently, \pkg{babel} uses the equivalence of \cs{oe} and \cs{OE} to force casing of
+% some material, most notably in \cs{today}. To enable that to work, we have to set those
+% commands equal even though the current case changing code does not work using this
+% approach.
+% \begin{macrocode}
+\cs_new_protected:cpn { MakeLowercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@OE \OE
+ \let \OE \oe
+ \@@text at case@aux { lower } {#1} {#2}
+ \let \OE \kernel at saved@OE
+ }
+\cs_new_protected:cpn { MakeUppercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@oe \oe
+ \let \oe \OE
+ \@@text at case@aux { upper } {#1} {#2}
+ \let \oe \kernel at saved@oe
+ }
+\cs_new_protected:cpn { MakeTitlecase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@oe \oe
+ \let \oe \OE
+ \@@text at case@aux { title } {#1} {#2}
+ \let \oe \kernel at saved@oe
+ }
+% \end{macrocode}
%
% \changes{v2.2u}{2022/06/02}{Add \cs{NoCaseChange}}
% \changes{v2.2u}{2022/06/30}{Add \cs{AddToNoCaseChangeList}}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2021/06/05 v1.1z LaTeX Kernel (Misc. Environments)]
+ [2022/11/06 v1.2a LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -270,9 +270,17 @@
% This is one of the few places where we already add data and rules
% to a hook already in the kernel.
% \changes{v1.0w}{1994/11/30}{(DPC) Use \cs{@dofilelist}}
+% \changes{v1.2a}{2022/11/06}{Repeat release info at the end (gh/944)}
% \begin{macrocode}
\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+ \let\show at release@info\wlog
+ \show at release@info{ ***********}%
+ \the\LaTeXReleaseInfo
+ \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
\DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
% \end{macrocode}
% \end{macro}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltshipout.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,8 +32,8 @@
%%% From File: ltshipout.dtx
%
% \begin{macrocode}
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
% \end{macrocode}
%
%<*driver>
@@ -75,7 +75,7 @@
% \providecommand\pkg[1]{\texttt{#1}}
%
%
-% \title{The \texttt{ltshipout} package\thanks{This package has version
+% \title{The \texttt{ltshipout} documentation\thanks{This file has version
% \ltshipoutversion\ dated \ltshipoutdate, \copyright\ \LaTeX\
% Project.}}
%
@@ -241,7 +241,19 @@
% But being placed after the main box content it will be typeset
% later and thus overprints it (i.e., is in the foreground).
%
+% \item[\hook{shipout}]
+% This hook is executed after foreground and/or background
+% material has been added, i.e., just in front of the actual
+% shipout operation. Its purpose is to allow manipulation of the
+% finalized box (stored in \cs{ShipoutBox}) with the extra
+% material also in place (which is not yet the case in
+% \hook{shipout/before}).
%
+% It cannot be used to cancel the shipout operation via
+% \cs{DiscardShipoutBox} (that has
+% to happen in \hook{shipout/before}, if desired!
+%
+%
% \item[\hook{shipout/firstpage}]
%
% The material from this hook is executed only once at the very
@@ -296,7 +308,7 @@
% actual shipout. It is even run if there was a
% \cs{DiscardShipoutBox} request in the document.
%
-% The other hooks (except \hook{shipout/after}) are added inside
+% The other hooks (except \hook{shipout} and \hook{shipout/after}) are added inside
% hboxes to the box being shipped out in the following order:
% \begin{center}
% \begin{tabular}{ll}
@@ -307,9 +319,13 @@
% \hook{shipout/lastpage} & only on the last page \\
% \end{tabular}
% \end{center}
-% If any of the hooks has no code then that particular no box is
+% If any of the hooks has no code then the corresponding box is
% added at that point.
%
+% Once the (page) box has got the above extra content it can
+% again be manipulated using the \hook{shipout} hook and then
+% is shipped out for real.
+%
% Once the (page) box has been shipped out the \hook{shipout/after}
% hook is called (while you are still inside the output routine). It
% is not called if the shipout box was discarded.
@@ -381,13 +397,16 @@
%
% \fmi{Once we have a new mark mechanism available we can improve
% on that and make sure that the declaration applies to the page
-% that contains it.}
+% that contains it --- not done (yet)}
+%
+% \cs{DiscardShipoutBox} cannot be used in any of the \hook{shipout/...}
+% hooks other than \hook{shipout/before}.
% \end{function}
%
% In the \pkg{atbegshi} package there are a number of additional
% commands for use inside the \hook{shipout/before} hook. They
% should normally not be needed any more as one can instead simply
-% add code to the hooks \hook{shipout/before},
+% add code to the hooks \hook{shipout/before}, \hook{shipout},
% \hook{shipout/background} or
% \hook{shipout/foreground}.\footnote{If that assumption turns out to
% be wrong it would be trivial to change them to public functions
@@ -401,7 +420,9 @@
%
% \begin{variable}{pre_shipout_filter}
% Under Lua\TeX{} the \texttt{pre\_shipout\_filter} Lua callback is
-% provided which gets called immediately before the shipout primitive gets invoked.
+% provided which gets called directly after the
+% \hook{shipout} hook, immediately before the shipout
+% primitive gets invoked.
% The signature is
% \begin{verbatim}
% function(<node> head)
@@ -1014,7 +1035,6 @@
\_@@_add_foreground_box:n
{ \UseHook{shipout/lastpage}
\@kernel at after@shipout at lastpage }
- \bool_gset_true:N \g_@@_lastpage_handled_bool
% \end{macrocode}
% We record that we have handled the \hook{shipout/lastpage} hook
% but only if we really did.
@@ -1021,8 +1041,14 @@
% \changes{v1.0m}{2022/05/08}{Handle case where shipout/lastpage is
% run too early (gh/813)}
% \begin{macrocode}
+ \bool_gset_true:N \g_@@_lastpage_handled_bool
}
}
+% \end{macrocode}
+%
+% \changes{v1.0n}{2022/11/08}{Add shipout hook (gh/920)}
+% \begin{macrocode}
+ \hook_use:n {shipout}
\@@_finalize_box:
% \end{macrocode}
% Finally we run the actual \TeX{} primitive for shipout. As that will
@@ -1116,13 +1142,14 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{shipout/before,shipout/after,
+% \begin{macro}{shipout/before,shipout,shipout/after,
% shipout/foreground,shipout/background,
-% shipout/firstpage,
-% shipout/lastpage}
+% shipout/firstpage,shipout/lastpage}
% Declaring all hooks for the shipout code.
+% \changes{v1.0n}{2022/11/08}{Add shipout hook (gh/920)}
% \begin{macrocode}
\hook_new:n{shipout/before}
+\hook_new:n{shipout}
\hook_new:n{shipout/after}
\hook_new:n{shipout/foreground}
\hook_new:n{shipout/background}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2020/05/06 v1.3n LaTeX Kernel (spacing)]
+ [2022/11/28 v1.3o LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -438,12 +438,13 @@
% \cs{setlength}. This way the \texttt{calc} package can operate on
% the argument value.
% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \changes{v1.3o}{2022/11/28}{Support calc syntax without a group (gh/967)}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\@vspace at calcify}{Add calc support}%
-\def\@vspace at calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
+\def\@vspace at calcify#1{\setlength\sp at ce@skip{#1}\vskip\sp at ce@skip}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
@@ -1261,12 +1262,21 @@
% {(RmS) Removed superfluous \cs{leavevmode} in \cs{@hspace} and
% \cs{@hspacer}, as suggested by CAR.}
% \changes{v1.3m}{2020/04/21}{Support calc syntax (gh/152)}
+% \changes{v1.3o}{2022/11/28}{Support calc syntax correctly (gh/967)}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\@hspace}{Support calc with \hspace}%
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+% \end{macrocode}
+% We use a private register to calculate the space (if \pkg{calc} is used). Previously
+% we used a group but that results in
+% \cs{everypar} etc.\ being executed inside the group if the \cs{hspace} starts a paragraph.
+% This is a bug fix so
+% we do not provide rollback to the incorrect intermediate version.
+% \begin{macrocode}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltvers.dtx}
- [2022/02/28 v1.1i LaTeX Kernel (Version Info)]
+ [2022/11/06 v1.1j LaTeX Kernel (Version Info)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltvers.dtx}
@@ -112,10 +112,10 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2023-05-01}
+ {2023-06-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch at level{-0}
+\def\patch at level{-1}
% \end{macrocode}
%
% \begin{macro}{\development at branch@name}
@@ -178,20 +178,33 @@
% by a loader (\texttt{.ini} file)}
% \changes{v1.0v}{2015/08/23}{Allow negative patchlevel for pre-release}
% \changes{v1.1e}{2020/01/31}{Allow for upcoming format as pre-release 0}
+% \changes{v1.1j}{2022/11/06}{Repeat release info at the end (gh/944)}
+%
+% We store release info in the toks \cs{LaTeXReleaseInfo} to be
+% used in \cs{everyjob} but also when \verb=\end{document}= is
+% executed.
+% Instead of using \cs{typeout} we use \cs{show at release@info} so
+% that we can write to the log only by changing that to \cs{wlog}.
% \begin{macrocode}
+\newtoks\LaTeXReleaseInfo
+\everyjob\expandafter{\the\everyjob\the\LaTeXReleaseInfo}
+\let\show at release@info\typeout
+% \end{macrocode}
+%
+% \begin{macrocode}
\ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion>}}
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion>}}
\immediate
\write16{\fmtname \space<\fmtversion>}
\else\ifnum\patch at level>0
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion> patch level \patch at level}}
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion> patch level \patch at level}}
\immediate
\write16{\fmtname\space <\fmtversion> patch level \patch at level}
\else
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion>
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion>
pre-release-\number-\patch at level\space
\ifx\development at branch@name\@undefined \else
\ifx\development at branch@name\@empty \else
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2022/06/22 v2.1h Standard LaTeX documentation class]
+%<class> [2022/06/22 v2.1i Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -633,12 +633,15 @@
%
% \changes{v2.1f}{2022/06/03}{define \cs{pkg} and other commands}
% \changes{v2.1f}{2022/06/03}{allow \_ in macro names}
-% Some feaures from l3doc.cls
+% Some features from l3doc.cls
% \changes{v2.1g}{2022/06/14}{define \cs{pkg} but delay until begin document}
+% \changes{v2.1i}{2022/11/28}{Revert 2.1f and not use \cs{detokenize} for now (gh/962)}
+% Eventually, \cs{cs} should get the definition from \pkg{l3doc} but for now we
+% revert to the simple one from \pkg{doc}.
% \begin{macrocode}
-\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
+%\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}% -- def in doc.sty
\AtBeginDocument{%
- \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
+% \renewcommand\PrintMacroName[1]{\MacroFont\string #1\ }% -- def in doc.sty
% \end{macrocode}
% We provide those delated in case somebody has loaded \texttt{csquotes}
% or makes some definitions in the preamble.
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/atbegshi-ltx.sty 2022-12-03 20:59:29 UTC (rev 65180)
@@ -46,8 +46,8 @@
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
\ProvidesPackage{atbegshi-ltx}
[2021/01/10 v1.0c
Emulation of the original atbegshi^^Jpackage with kernel methods]
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty 2022-12-03 20:59:29 UTC (rev 65180)
@@ -53,7 +53,7 @@
\DeclareCurrentRelease{v3}{2022-06-01}
\ProvidesPackage{doc}
- [2022/07/03 v3.0k
+ [2022/11/13 v3.0m
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
@@ -292,38 +292,28 @@
\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
\@setupverbvisiblespace
\MacroFont \@vobeyspaces \@sxverbatim}
-\def\@verbatim{\trivlist \item[]\if at minipage\else\vskip\parskip\fi
- \leftskip\@totalleftmargin\rightskip\z@
- \parindent\z@\parfillskip\@flushglue\parskip\z@
- \@@par
- \@tempswafalse
- \def\par{\if at tempswa\hbox{}\fi\@tempswatrue\@@par
- \penalty\interlinepenalty
+\def\@verbatim{\trivlist \item\relax
+ \if at minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@
+ \parindent\z@\parfillskip\@flushglue\parskip\z@
+ \language\l at nohyphenation
+ \@@par
+ \@tempswafalse
+ \def\par{%
+ \if at tempswa
+ \leavevmode \null \@@par\penalty\interlinepenalty
+ \else
+ \@tempswatrue
+ \ifhmode\@@par\penalty\interlinepenalty\fi
+ \fi
\check at percent}%
- \obeylines
- \let\do\do at noligs \verbatim at nolig@list
- \let\do\@makeother \dospecials}
+ \let\do\@makeother \dospecials
+ \obeylines \verbatim at font \@noligs
+ \everypar \expandafter{\the\everypar \unpenalty}%
+}
{\catcode`\%=12
\long\gdef\check at percent#1{\ifx #1%\let\next\@empty \else
\let\next=#1\fi \next}}
-\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
- \bgroup \let\do\do at noligs \verbatim at nolig@list
- \ttfamily \verb at eol@error \let\do\@makeother \dospecials
- \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
-\let\verb at balance@group\@empty
-\def\verb at egroup{\global\let\verb at balance@group\@empty\egroup}
-\begingroup
- \obeylines%
- \gdef\verb at eol@error{\obeylines%
- \def^^M{\verb at egroup\@latex at error{%
- \noexpand\verb command ended by end of line}\@ehc}}%
-\endgroup
-\def\verbatim at nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
-\def\do at noligs#1{%
- \catcode`#1\active
- \begingroup
- \lccode`\~=`#1\relax
- \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
\newcount\macro at cnt \macro at cnt=0
\newskip\MacroTopsep \MacroTopsep = 7pt plus 2pt minus 2pt
\begingroup
@@ -360,16 +350,11 @@
\let\next\macro at name
\else \let\next\short at macro \fi
\next}
-\begingroup
-\catcode`\&=12
-\gdef\short at macro#1{\begingroup
- \uccode`\&=\expandafter`\string#1%
- \uppercase{\def\x{\def\macro at namepart{&}}}%
- \expandafter\endgroup\x
+\def\short at macro#1{%
+ \edef\macro at namepart{\string#1}%
\maybe at index@short at macro\macro at namepart
\scan at allowedfalse#1%
\scan at allowedtrue }
-\endgroup
\def\macro at name#1{\edef\macro at namepart{\macro at namepart#1}%
\futurelet\next\more at macroname}
\def\more at macroname{\ifcat\noexpand\next a%
@@ -447,7 +432,7 @@
}
\cs_set_eq:NN \maybe at index@macro \__doc_maybe_index:o
\cs_new:Npn \__doc_maybe_index_short:o #1 {
- \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+ \exp_args:No \__doc_maybe_index_aux:nN #1
\SpecialShortIndex
}
\cs_set_eq:NN \maybe at index@short at macro \__doc_maybe_index_short:o
@@ -479,7 +464,7 @@
{\cs_to_str:N \^^M } {\def\reserved at a{ \string \space \actualchar }
\def\reserved at b { \space }
\let\reserved at c \@empty }
- { } {\def\reserved at a{ \string \space \actualchar }
+ { ~ } {\def\reserved at a{ \string \space \actualchar }
\def\reserved at b { \space }
\let\reserved at c \@empty }
{\c_left_brace_str} { \def\reserved at a{ \bgroup \actualchar }
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx 2022-12-03 20:59:29 UTC (rev 65180)
@@ -705,8 +705,8 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2023-05-01}
-\def\patch at level{-0}
+ {2023-06-01}
+\def\patch at level{-1}
\edef\development at branch@name{develop \the\year-\the\month-\the\day}
\iffalse
\def\reserved at a#1/#2/#3\@nil{%
@@ -732,19 +732,22 @@
\fi
\let\reserved at a\relax
\fi
+\newtoks\LaTeXReleaseInfo
+\everyjob\expandafter{\the\everyjob\the\LaTeXReleaseInfo}
+\let\show at release@info\typeout
\ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion>}}
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion>}}
\immediate
\write16{\fmtname \space<\fmtversion>}
\else\ifnum\patch at level>0
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion> patch level \patch at level}}
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion> patch level \patch at level}}
\immediate
\write16{\fmtname\space <\fmtversion> patch level \patch at level}
\else
- \everyjob\expandafter{\the\everyjob
- \typeout{\fmtname\space <\fmtversion>
+ \LaTeXReleaseInfo\expandafter{\the\LaTeXReleaseInfo
+ \show at release@info{\fmtname\space <\fmtversion>
pre-release-\number-\patch at level\space
\ifx\development at branch@name\@undefined \else
\ifx\development at branch@name\@empty \else
@@ -1519,13 +1522,35 @@
\long\def\declare at commandcopy#1#2#3#4{%
\edef\reserved at a{\@expl at cs@to at str@@N#3}%
\@ifundefined\reserved at a{#1}{#2}%
- {\robust at command@act
- \@declarecommandcopylisthook#4%
- \declare at commandcopy@let{#3#4}}}
+ {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+ \robust at command@act
+ \@declarecommandcopylisthook#2%
+ \declare at commandcopy@let{#1#2}}
\def\@declarecommandcopylisthook{%
{\@if at DeclareRobustCommand \@copy at DeclareRobustCommand}%
{\@if at newcommand \@copy at newcommand}}
\long\def\declare at commandcopy@let#1#2{\let#1=#2\relax}
+\def\NewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+ \@firstofone}%
+ {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+ \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+ \@ifundefined\reserved at a
+ {\def\reserved at a{#3}#1}%
+ {\def\reserved at a{#3}#2}%
+ {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+ \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
\long\def\ShowCommand#1{%
\robust at command@act
\@showcommandlisthook#1%
@@ -1585,9 +1610,10 @@
\robust at command@chk at safe#1%
{\@if at newcommand#1%
{\@show at newcommand}%
- {\show}}%
- {\show}%
+ {\@show at macro}}%
+ {\@show at macro}%
#1}
+\let\@show at macro\show
\long\def\@if at newcommand#1{%
\edef\reserved at a{%
\noexpand\@protected at testopt
@@ -1615,13 +1641,59 @@
\typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
\expandafter\@show at newcommand@aux
\csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
- \expandafter{#1}}
-\long\def\@show at newcommand@aux#1#2{%
+ \expandafter{#1}\@show at tokens}
+\long\def\@show at newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
- \edef\reserved at a{%
- default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
- \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+ #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
+\long\def\@show at tokens#1{%
+ \edef\reserved at a{#1}%
+ \showtokens\expandafter
+ \expandafter\expandafter{\expandafter\reserved at a}}
+\def\ShowEnvironment#1{%
+ \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+ \robust at command@act
+ \@showenvironmentlisthook#1%
+ \@show at normalenv#1}
+\def\@showenvironmentlisthook{%
+ {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+ {\@if at newcommand \@show at newcommand@env}}
+\long\def\@show at newcommand@env#1{%
+ \@show at environment@begin#1%
+ \expandafter\@show at newcommand@aux
+ \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+ \expandafter{#1}\@show at typeout
+ \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+ \@show at environment@begin#1%
+ \begingroup
+ \let\@show at tokens\@show at typeout
+ \let\@show at macro\@show at nonstop
+ \expandafter\show at kernel@robust at command
+ \csname\@expl at cs@to at str@@N#1 \endcsname
+ \endgroup
+ \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+ \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+ \typeout{\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1.^^J}}
+\long\def\@show at normalenv#1{%
+ \@show at environment@begin#1%
+ \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+ \expandafter\@show at environment@end at aux
+ \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+ \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+ \ifx\relax#1=undefined%
+ \else:^^J\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1%
+ \fi}}
+\def\@show at nonstop#1{%
+ \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
\def\@ifundefined#1{%
\ifcsname#1\endcsname\@ifundefin at d@i\else\@ifundefin at d@ii\fi{#1}}
\long\def\@ifundefin at d@i#1\fi#2{\fi
@@ -1731,8 +1803,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -2938,19 +3010,25 @@
\cs_new_protected:Npn \__cmd_show_command:N #1
{ \exp_after:wN \__cmd_show_command:NnNNwN #1 \q__cmd #1 }
\cs_new_protected:Npn \__cmd_show_command:NnNNwN #1 #2 #3 #4 #5 \q__cmd #6
- { \__cmd_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+ {
+ \__cmd_show_command_aux:NnNNn \tl_show:x
+ { document~command } #6 #4 {#2}
+ }
\cs_new_protected:Npn \__cmd_show_expandable:N #1
{ \exp_after:wN \__cmd_show_expandable:NnNNNNnN #1 #1 }
\cs_new_protected:Npn \__cmd_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
- { \__cmd_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
-\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
{
- \__cmd_split_signature:n {#4}
- \tl_show:x
+ \__cmd_show_command_aux:NnNNn \tl_show:x
+ { expandable~document~command } #8 #5 {#2}
+ }
+\cs_new_protected:Npn \__cmd_show_command_aux:NnNNn #1 #2 #3 #4 #5
+ {
+ \__cmd_split_signature:n {#5}
+ #1
{
- \token_to_str:N #2 = #1: \iow_newline:
+ \token_to_str:N #3 = #2: \iow_newline:
\tl_use:N \l__cmd_tmpa_tl
- -> \cs_replacement_spec:N #3
+ -> \cs_replacement_spec:N #4
}
}
\cs_new_protected:Npn \__cmd_show_environment:N #1
@@ -2967,12 +3045,14 @@
{
\use:x
{
- \__cmd_show_command_aux:nNNn { document~environment }
+ \__cmd_show_command_aux:NnNNn \__cmd_show:x { document~environment }
{ \exp_not:N \begin {#3} }
\exp_not:c { environment~ #3 ~ code }
{#2}
}
}
+\cs_new_protected:Npn \__cmd_show:x #1
+ { \iow_term:x { > ~ #1 . \iow_newline: } }
\cs_new_protected:Npn \__cmd_show_environment_end:N #1
{
\exp_args:NNx \__cmd_check_end:Nn \l__cmd_tmpa_tl { \cs_to_str:N #1 }
@@ -2980,6 +3060,8 @@
}
\tl_gput_right:Nn \@showcommandlisthook
{ { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+ { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
\cs_new_protected:Npn \__cmd_split_signature:n #1
{
\int_set:Nn \l__cmd_current_arg_int { 1 }
@@ -6744,7 +6826,7 @@
\@xnewline}%
\@xnewline}
\let\\\@normalcr
-\def\@vspace at calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
+\def\@vspace at calcify#1{\setlength\sp at ce@skip{#1}\vskip\sp at ce@skip}
\DeclareRobustCommand\newline{\@normalcr\relax}
\def\@xnewline{\@ifnextchar[% ] bracket matching
@@ -6912,7 +6994,8 @@
\expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname
\def\@{\spacefactor\@m{}}%
\DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace}
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
\def\@hspacer#1{\vrule \@width\z@\nobreak
\@hspace{#1}\hskip \z at skip}
@@ -11245,6 +11328,13 @@
\NewHook{enddocument/end}
\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+ \let\show at release@info\wlog
+ \show at release@info{ ***********}%
+ \the\LaTeXReleaseInfo
+ \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
\DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
\def\@enddocument at kernel@warnings{%
\ifdim \font at submax >\fontsubfuzz\relax
@@ -14685,7 +14775,7 @@
\csname filec at ntents@\reserved at a\endcsname
\else
\@latex at error{Unknown filecontents option \reserved at a}%
- {Valid options are force (or overwrite), nosearch, noheader}%
+ {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
\fi}%
\filec at ntents
}
@@ -14697,6 +14787,10 @@
\def\filec at ntents@where{in current directory}}
\let\filec at ntents@checkdir\@empty
\def\filec at ntents@where{exists on the system}
+\def\filec at ntents@nowarn{%
+ \let\filec at ntents@warning\@latex at note@no at line
+}
+\let\filec at ntents@warning\@latex at warning@no at line
\begingroup%
\@tempcnta=1
\loop
@@ -14741,8 +14835,8 @@
write to the file you are reading from!\MessageBreak%
Data is written to screen instead.}%
\else%
- \@latex at warning@no at line%
- {Writing or overwriting file `\@currdir\@curr at file'}%
+ \filec at ntents@warning%
+ {Writing or overwriting file `\@curr at file'}%
\immediate\openout\reserved at c\q at curr@file\relax%
\fi%
\fi%
@@ -15507,8 +15601,8 @@
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
\ExplSyntaxOn
\bool_new:N \g__shipout_debug_bool
\cs_new_eq:NN \__shipout_debug:n \use_none:n
@@ -15622,6 +15716,7 @@
\bool_gset_true:N \g__shipout_lastpage_handled_bool
}
}
+ \hook_use:n {shipout}
\__shipout_finalize_box:
\cs_set_eq:NN \protect \exp_not:N
\tex_shipout:D \box_use:N \l_shipout_box
@@ -15653,6 +15748,7 @@
\cs_gset_eq:NN \RawShipout \__shipout_execute_raw:
\cs_new_eq:NN \__shipout_saved_protect: \protect
\hook_new:n{shipout/before}
+\hook_new:n{shipout}
\hook_new:n{shipout/after}
\hook_new:n{shipout/foreground}
\hook_new:n{shipout/background}
@@ -17383,9 +17479,7 @@
\cs_set_protected:Npn \reserved at a #1
{
\cs_generate_variant:cn { text_ \str_lowercase:n {#1} case:nn } { V }
- \cs_new_protected:cpx { Make#1case \c_space_tl \c_space_tl \c_space_tl } [##1] ##2
- { \exp_not:N \@@text at case@aux { \str_lowercase:n {#1} } {##1} {##2} }
- \ExpandArgs { cnx } \NewExpandableDocumentCommand
+ \ExpandArgs { cnx } \NewExpandableDocumentCommand
{ Make#1case }
{ O{} +m }
{ \exp_not:c { Make#1case \c_space_tl \c_space_tl \c_space_tl } [####1] {####2} }
@@ -17393,6 +17487,27 @@
\reserved at a { Upper }
\reserved at a { Lower }
\reserved at a { Title }
+\cs_new_protected:cpn { MakeLowercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@OE \OE
+ \let \OE \oe
+ \@@text at case@aux { lower } {#1} {#2}
+ \let \OE \kernel at saved@OE
+ }
+\cs_new_protected:cpn { MakeUppercase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@oe \oe
+ \let \oe \OE
+ \@@text at case@aux { upper } {#1} {#2}
+ \let \oe \kernel at saved@oe
+ }
+\cs_new_protected:cpn { MakeTitlecase \c_space_tl \c_space_tl \c_space_tl } [#1] #2
+ {
+ \let \kernel at saved@oe \oe
+ \let \oe \OE
+ \@@text at case@aux { title } {#1} {#2}
+ \let \oe \kernel at saved@oe
+ }
\cs_new_protected_nopar:Npn\AddToNoCaseChangeList
{\tl_put_right:Nn \l_text_case_exclude_arg_tl}
\AddToNoCaseChangeList{ \NoCaseChange }
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty 2022-12-03 20:59:29 UTC (rev 65180)
@@ -290,7 +290,7 @@
}
%%% From File: ltvers.dtx
\edef\latexreleaseversion
- {2023-05-01}
+ {2023-06-01}
\newif\if at includeinrelease
\@includeinreleasefalse
\def\IncludeInRelease#1{%
@@ -421,7 +421,7 @@
\@skipping at modulefalse
\fi}
\ProvidesPackage{latexrelease}
- [2022/02/28 v1.0o LaTeX release emulation and tests
+ [2022/11/14 v1.0p LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
\@ifundefined{sourceLaTeXdate}{%
@@ -544,6 +544,7 @@
\q_recursion_tail \q_recursion_tail
\q_recursion_stop
\msg_redirect_name:nnn { hooks } { exists } { none }
+\msg_redirect_name:nnn { mark } { class-already-defined }{ none }
\cs_gset_protected:Npn \latexrelease at postltcmd
{
\__latexrelease_redefines:w
@@ -1630,9 +1631,11 @@
\long\def\declare at commandcopy#1#2#3#4{%
\edef\reserved at a{\@expl at cs@to at str@@N#3}%
\@ifundefined\reserved at a{#1}{#2}%
- {\robust at command@act
- \@declarecommandcopylisthook#4%
- \declare at commandcopy@let{#3#4}}}
+ {\declare at commandcopy@do{#3}{#4}}}
+\long\def\declare at commandcopy@do#1#2{%
+ \robust at command@act
+ \@declarecommandcopylisthook#2%
+ \declare at commandcopy@let{#1#2}}
\def\@declarecommandcopylisthook{%
{\@if at DeclareRobustCommand \@copy at DeclareRobustCommand}%
{\@if at newcommand \@copy at newcommand}}
@@ -1647,6 +1650,35 @@
\let\@declarecommandcopylisthook\@undefined
\let\declare at commandcopy@let\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2023-06-01}{\DeclareEnvironmentCopy}
+ {Add \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+\def\NewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstoftwo\@notdefinable}}
+\def\RenewEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@latex at error{Environment \reserved at a\space undefined}\@ehc
+ \@firstofone}%
+ {\@firstofone}}
+\def\DeclareEnvironmentCopy{%
+ \declare at environmentcopy
+ {\@firstofone}%
+ {\@firstofone}}
+\long\def\declare at environmentcopy#1#2#3#4{%
+ \edef\reserved at a{\@ifundefined{#3}{end#3}{#3}}%
+ \@ifundefined\reserved at a
+ {\def\reserved at a{#3}#1}%
+ {\def\reserved at a{#3}#2}%
+ {\ExpandArgs{cc}\declare at commandcopy@do{#3}{#4}%
+ \ExpandArgs{cc}\declare at commandcopy@do{end#3}{end#4}}}
+\EndIncludeInRelease
+\IncludeInRelease{0000-00-00}{\DeclareEnvironmentCopy}
+ {Undefine \NewEnvironmentCopy, \RenewEnvironmentCopy, and \DeclareEnvironmentCopy}%
+\let\NewEnvironmentCopy\@undefined
+\let\RenewEnvironmentCopy\@undefined
+\let\DeclareEnvironmentCopy\@undefined
+\EndIncludeInRelease
\IncludeInRelease{2020-10-01}{\ShowCommand}%
{Add \ShowCommand}%
\long\def\ShowCommand#1{%
@@ -1718,9 +1750,10 @@
\robust at command@chk at safe#1%
{\@if at newcommand#1%
{\@show at newcommand}%
- {\show}}%
- {\show}%
+ {\@show at macro}}%
+ {\@show at macro}%
#1}
+\let\@show at macro\show
\long\def\@if at newcommand#1{%
\edef\reserved at a{%
\noexpand\@protected at testopt
@@ -1748,13 +1781,15 @@
\typeout{->\@expl at cs@replacement at spec@@N#1.^^J}%
\expandafter\@show at newcommand@aux
\csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
- \expandafter{#1}}
-\long\def\@show at newcommand@aux#1#2{%
+ \expandafter{#1}\@show at tokens}
+\long\def\@show at newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:}%
- \edef\reserved at a{%
- default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}%
- \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved at a}}
+ #3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1}}
+\long\def\@show at tokens#1{%
+ \edef\reserved at a{#1}%
+ \showtokens\expandafter
+ \expandafter\expandafter{\expandafter\reserved at a}}
\EndIncludeInRelease
\IncludeInRelease{0000-00-00}{\@if at DeclareRobustCommand}
{Undefine \@if at DeclareRobustCommand, \@if at newcommand,
@@ -1770,6 +1805,57 @@
\let\show at kernel@robust at command\@undefined
\let\@show at newcommand@aux\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2023-06-01}{\ShowEnvironment}
+ {Add \ShowEnvironment}%
+\def\ShowEnvironment#1{%
+ \expandafter\@show at environment\csname #1\endcsname}
+\long\def\@show at environment#1{%
+ \robust at command@act
+ \@showenvironmentlisthook#1%
+ \@show at normalenv#1}
+\def\@showenvironmentlisthook{%
+ {\@if at DeclareRobustCommand \@show at DeclareRobustCommand@env}%
+ {\@if at newcommand \@show at newcommand@env}}
+\long\def\@show at newcommand@env#1{%
+ \@show at environment@begin#1%
+ \expandafter\@show at newcommand@aux
+ \csname\@backslashchar\@expl at cs@to at str@@N#1\expandafter\endcsname
+ \expandafter{#1}\@show at typeout
+ \@show at environment@end#1}
+\long\def\@show at DeclareRobustCommand@env#1{%
+ \@show at environment@begin#1%
+ \begingroup
+ \let\@show at tokens\@show at typeout
+ \let\@show at macro\@show at nonstop
+ \expandafter\show at kernel@robust at command
+ \csname\@expl at cs@to at str@@N#1 \endcsname
+ \endgroup
+ \@show at environment@end#1}
+\long\def\@show at environment@begin#1{%
+ \typeout{> \string\begin{\@expl at cs@to at str@@N#1}=environment:}%
+ \typeout{\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1.^^J}}
+\long\def\@show at normalenv#1{%
+ \@show at environment@begin#1%
+ \@show at environment@end#1}
+\long\def\@show at environment@end#1{%
+ \expandafter\@show at environment@end at aux
+ \csname end\@expl at cs@to at str@@N#1\endcsname#1}
+\long\def\@show at environment@end at aux#1#2{%
+ \@show at tokens{\string\end{\@expl at cs@to at str@@N#2}%
+ \ifx\relax#1=undefined%
+ \else:^^J\@expl at cs@argument at spec@@N#1->%
+ \@expl at cs@replacement at spec@@N#1%
+ \fi}}
+\def\@show at nonstop#1{%
+ \typeout{> \string#1=\@expl at cs@prefix at spec@@N#1macro:^^J%
+ \@expl at cs@argument at spec@@N#1->\@expl at cs@replacement at spec@@N#1.}}
+\def\@show at typeout#1{\typeout{> #1.^^J}}
+\EndIncludeInRelease
+\IncludeInRelease{0000-00-00}{\ShowEnvironment}
+ {Undefine \ShowEnvironment}%
+\let\ShowEnvironment\@undefined
+\EndIncludeInRelease
\IncludeInRelease{2018-04-01}{\@ifundefined}
{Leave commands undefined in \@ifundefined}%
\def\@ifundefined#1{%
@@ -1900,8 +1986,8 @@
\EndIncludeInRelease
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.1a}
-\def\ltcmddate{2022-08-16}
+\def\ltcmdversion{v1.1b}
+\def\ltcmddate{2022-11-29}
\edef\@latexrelease at catcode@null{\the\catcode`\^^@ }
\catcode`\^^@=12
\ExplSyntaxOn
@@ -3118,19 +3204,25 @@
\cs_new_protected:Npn \__cmd_show_command:N #1
{ \exp_after:wN \__cmd_show_command:NnNNwN #1 \q__cmd #1 }
\cs_new_protected:Npn \__cmd_show_command:NnNNwN #1 #2 #3 #4 #5 \q__cmd #6
- { \__cmd_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+ {
+ \__cmd_show_command_aux:NnNNn \tl_show:x
+ { document~command } #6 #4 {#2}
+ }
\cs_new_protected:Npn \__cmd_show_expandable:N #1
{ \exp_after:wN \__cmd_show_expandable:NnNNNNnN #1 #1 }
\cs_new_protected:Npn \__cmd_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
- { \__cmd_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
-\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
{
- \__cmd_split_signature:n {#4}
- \tl_show:x
+ \__cmd_show_command_aux:NnNNn \tl_show:x
+ { expandable~document~command } #8 #5 {#2}
+ }
+\cs_new_protected:Npn \__cmd_show_command_aux:NnNNn #1 #2 #3 #4 #5
+ {
+ \__cmd_split_signature:n {#5}
+ #1
{
- \token_to_str:N #2 = #1: \iow_newline:
+ \token_to_str:N #3 = #2: \iow_newline:
\tl_use:N \l__cmd_tmpa_tl
- -> \cs_replacement_spec:N #3
+ -> \cs_replacement_spec:N #4
}
}
\cs_new_protected:Npn \__cmd_show_environment:N #1
@@ -3147,12 +3239,14 @@
{
\use:x
{
- \__cmd_show_command_aux:nNNn { document~environment }
+ \__cmd_show_command_aux:NnNNn \__cmd_show:x { document~environment }
{ \exp_not:N \begin {#3} }
\exp_not:c { environment~ #3 ~ code }
{#2}
}
}
+\cs_new_protected:Npn \__cmd_show:x #1
+ { \iow_term:x { > ~ #1 . \iow_newline: } }
\cs_new_protected:Npn \__cmd_show_environment_end:N #1
{
\exp_args:NNx \__cmd_check_end:Nn \l__cmd_tmpa_tl { \cs_to_str:N #1 }
@@ -3160,6 +3254,8 @@
}
\tl_gput_right:Nn \@showcommandlisthook
{ { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
+\tl_gput_right:Nn \@showenvironmentlisthook
+ { { \__kernel_cmd_if_xparse:NTF \__cmd_show:N } }
\cs_new_protected:Npn \__cmd_split_signature:n #1
{
\int_set:Nn \l__cmd_current_arg_int { 1 }
@@ -7056,7 +7152,7 @@
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\@vspace at calcify}{Add calc support}%
-\def\@vspace at calcify#1{\begingroup\setlength\skip@{#1}\vskip\skip@\endgroup}
+\def\@vspace at calcify#1{\setlength\sp at ce@skip{#1}\vskip\sp at ce@skip}
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
{\@vspace at calcify}{Add calc support}%
@@ -7318,7 +7414,8 @@
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\@hspace}{Support calc with \hspace}%
-\def\@hspace#1{\begingroup\setlength\skip@{#1}\hskip\skip@\endgroup}
+\newskip\sp at ce@skip
+\def\@hspace#1{\setlength\sp at ce@skip{#1}\hskip\sp at ce@skip}
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
{\@hspace}{Support calc with \hspace}%
@@ -11431,6 +11528,13 @@
\NewHook{enddocument/end}
\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument at kernel@warnings}
+\AddToHook{enddocument/info}[kernel/release]{%
+ \let\show at release@info\wlog
+ \show at release@info{ ***********}%
+ \the\LaTeXReleaseInfo
+ \show at release@info{ ***********}}
+
+\DeclareHookRule{enddocument/info}{kernel/release}{before}{kernel/filelist}
\DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
\def\@enddocument at kernel@warnings{%
\ifdim \font at submax >\fontsubfuzz\relax
@@ -14534,7 +14638,7 @@
\csname filec at ntents@\reserved at a\endcsname
\else
\@latex at error{Unknown filecontents option \reserved at a}%
- {Valid options are force (or overwrite), nosearch, noheader}%
+ {Valid options are force (or overwrite), nosearch, noheader, nowarn}%
\fi}%
\filec at ntents
}
@@ -14546,6 +14650,10 @@
\def\filec at ntents@where{in current directory}}
\let\filec at ntents@checkdir\@empty
\def\filec at ntents@where{exists on the system}
+\def\filec at ntents@nowarn{%
+ \let\filec at ntents@warning\@latex at note@no at line
+}
+\let\filec at ntents@warning\@latex at warning@no at line
\begingroup%
\@tempcnta=1
\loop
@@ -14590,8 +14698,8 @@
write to the file you are reading from!\MessageBreak%
Data is written to screen instead.}%
\else%
- \@latex at warning@no at line%
- {Writing or overwriting file `\@currdir\@curr at file'}%
+ \filec at ntents@warning%
+ {Writing or overwriting file `\@curr at file'}%
\immediate\openout\reserved at c\q at curr@file\relax%
\fi%
\fi%
@@ -15359,8 +15467,8 @@
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0m}
-\providecommand\ltshipoutdate{2022/08/26}
+\providecommand\ltshipoutversion{v1.0n}
+\providecommand\ltshipoutdate{2022/11/08}
\IncludeInRelease{2020/10/01}%
{\shipout}{Hook management (shipout)}%
\ExplSyntaxOn
@@ -15476,6 +15584,7 @@
\bool_gset_true:N \g__shipout_lastpage_handled_bool
}
}
+ \hook_use:n {shipout}
\__shipout_finalize_box:
\cs_set_eq:NN \protect \exp_not:N
\tex_shipout:D \box_use:N \l_shipout_box
@@ -15507,6 +15616,7 @@
\cs_gset_eq:NN \RawShipout \__shipout_execute_raw:
\cs_new_eq:NN \__shipout_saved_protect: \protect
\hook_new:n{shipout/before}
+\hook_new:n{shipout}
\hook_new:n{shipout/after}
\hook_new:n{shipout/foreground}
\hook_new:n{shipout/background}
@@ -17138,6 +17248,7 @@
}
\tl_clear:N \l__latexrelease_restores_tl
\msg_redirect_name:nnn { hooks } { exists } { }
+\msg_redirect_name:nnn { mark } { class-already-defined } { }
\ExplSyntaxOff}%
\endinput
%%
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls 2022-12-03 20:59:29 UTC (rev 65180)
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltxdoc}
- [2022/06/22 v2.1h Standard LaTeX documentation class]
+ [2022/06/22 v2.1i Standard LaTeX documentation class]
\DeclareOption{a5paper}{\@latexerr{Option not supported}%
{}}
\newif\ifltxdoc at load@cfg@ \ltxdoc at load@cfg at true
@@ -263,9 +263,7 @@
\par
\vskip 1.5em}
\def\task#1#2{}
-\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
\AtBeginDocument{%
- \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
\providecommand\LuaTeX{Lua\TeX}
\providecommand\cls{\textsf}
\providecommand\pkg{\textsf}
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty 2022-12-03 20:57:14 UTC (rev 65179)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty 2022-12-03 20:59:29 UTC (rev 65180)
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{shortvrb}
- [2022/07/03 v3.0k
+ [2022/11/13 v3.0m
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
More information about the tex-live-commits
mailing list.