Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
56e04e9
fix for latex3/tagging-project#1521
FrankMittelbach Aug 12, 2026
333f2eb
different soret of typo for a change
FrankMittelbach Aug 12, 2026
a46870f
Apply suggestions from code review
FrankMittelbach Aug 13, 2026
469e5db
Apply suggestions from code review
FrankMittelbach Aug 13, 2026
c785bac
more cases
FrankMittelbach Aug 14, 2026
327aa3b
Merge branch 'tagging-1521' of https://github.com/latex3/latex2e into…
FrankMittelbach Aug 14, 2026
4c499af
add | (WIP)
FrankMittelbach Aug 14, 2026
797b5ae
add | support (done)
FrankMittelbach Aug 14, 2026
add51a4
bummer: | is a verb char by default
FrankMittelbach Aug 14, 2026
8cf1ecf
Merge branch 'develop' into use-order-keys
FrankMittelbach Aug 14, 2026
6ac3011
WIP
FrankMittelbach Aug 16, 2026
0923db2
adjustments
FrankMittelbach Aug 16, 2026
00e3e91
after a first look at the test results
FrankMittelbach Aug 16, 2026
a407a4d
less separators
FrankMittelbach Aug 17, 2026
2d1b0dd
docu (WIP)
FrankMittelbach Aug 18, 2026
2c2198f
forgot to take out a debugging change
FrankMittelbach Aug 18, 2026
ea91328
try again
FrankMittelbach Aug 18, 2026
e54e3d5
and one more
FrankMittelbach Aug 18, 2026
634bcc6
docu adjustments mainly
FrankMittelbach Aug 20, 2026
f4d7291
headformat hang (WIP)
FrankMittelbach Aug 21, 2026
3d96659
WIP hang
FrankMittelbach Aug 22, 2026
af9a348
test files
FrankMittelbach Aug 22, 2026
988d7e1
grummel
FrankMittelbach Aug 22, 2026
90238d3
headformat runin (WIP)
FrankMittelbach Aug 23, 2026
a899456
update some tests
FrankMittelbach Aug 23, 2026
0870697
adjust firstaid for ams classes
FrankMittelbach Aug 23, 2026
288d5de
more test files
FrankMittelbach Aug 23, 2026
9e27a94
more test updates
FrankMittelbach Aug 23, 2026
9c1dc0e
start cleanup (WIP)
FrankMittelbach Aug 23, 2026
33d534a
Merge branch 'develop' into use-order-keys
FrankMittelbach Aug 23, 2026
3bc4e50
WIP
FrankMittelbach Aug 24, 2026
fca3901
Merge branch 'develop' into tagging-1521
FrankMittelbach Aug 24, 2026
55bebee
change test
FrankMittelbach Aug 24, 2026
58ff10a
tagging status changed
FrankMittelbach Aug 24, 2026
0a8b12e
Merge branch 'tagging-1521' into use-order-keys
FrankMittelbach Aug 24, 2026
eae20a4
fix mistake
FrankMittelbach Aug 24, 2026
254acea
fix mistake
FrankMittelbach Aug 24, 2026
364f37f
try moving the tagging sockets to heading templates only
FrankMittelbach Aug 25, 2026
567d57e
update tests
FrankMittelbach Aug 25, 2026
149ef6b
cleanup WIP
FrankMittelbach Aug 25, 2026
20ad39b
cleanup WIP
FrankMittelbach Aug 25, 2026
09d1a99
cleanup WIP
FrankMittelbach Aug 26, 2026
22c0fdf
WIP
FrankMittelbach Aug 26, 2026
188631a
cleanup
FrankMittelbach Aug 26, 2026
ba0ef20
Apply suggestions from code review
FrankMittelbach Aug 27, 2026
c66235a
from review
FrankMittelbach Aug 27, 2026
f6de681
Merge branch 'develop' into use-order-keys
FrankMittelbach Aug 31, 2026
ece0101
more tracing data in \checkstatus
FrankMittelbach Aug 31, 2026
f1ee491
update the tests
FrankMittelbach Aug 31, 2026
47546e6
use \l__tag_para_tag_tl directly
FrankMittelbach Aug 31, 2026
7826b5e
and the last change changed two tests
FrankMittelbach Aug 31, 2026
8c417ca
adjusting parts of the heading SEs
FrankMittelbach Sep 1, 2026
a67c5b4
special support in headings for parboxes
FrankMittelbach Sep 1, 2026
c7e9337
250+ test file updates, sigh
FrankMittelbach Sep 1, 2026
f69a209
missed 3
FrankMittelbach Sep 1, 2026
e8f1f99
Merge branch 'develop' into use-order-keys
FrankMittelbach Sep 3, 2026
ad4c076
change separator- -> -a etc
FrankMittelbach Sep 4, 2026
0536f95
test file changes corresponding to separator-(1|2|...) -> separator-(…
FrankMittelbach Sep 4, 2026
88f40d7
missed firstaid directory
FrankMittelbach Sep 4, 2026
0862a0a
Merge branch 'develop' into use-order-keys
FrankMittelbach Sep 5, 2026
ae074e0
add missing /titleline decls
FrankMittelbach Sep 5, 2026
745709c
fix tests + rename /titleline to /fragment
FrankMittelbach Sep 5, 2026
2eac672
use it everywhere ...
FrankMittelbach Sep 5, 2026
e382c43
take out change in latex-lab-minipage (no longer necessary)
FrankMittelbach Sep 5, 2026
798d68a
and the second instance ...
FrankMittelbach Sep 5, 2026
b30fc2e
fix some blunder in firstaid
FrankMittelbach Sep 5, 2026
4b12888
commit all files
FrankMittelbach Sep 5, 2026
0a5b89c
keep templates from 2026-06 around as -v1 to ease transion
FrankMittelbach Sep 6, 2026
4f2307d
fix tests and also add \IfTemplateExistsTF
FrankMittelbach Sep 7, 2026
338fffc
Apply batched suggestions from code review
FrankMittelbach Sep 7, 2026
c2cd5c7
fixed typos and added an ltnews entry
FrankMittelbach Sep 7, 2026
b435a56
Merge branch 'use-order-keys' of https://github.com/latex3/latex2e in…
FrankMittelbach Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
72 changes: 68 additions & 4 deletions base/doc/ltnews44.tex
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ \subsection{Use the \key{order} key mechanism for theorem-like environments and
By default the setting of the \key{note-format} key surrounds the note with parentheses.



\subsection{Fix a color leakage in theorem-like environments}

If the \key{body-decls} key was given a color specification then that
Expand Down Expand Up @@ -343,6 +344,59 @@ \subsection{Make \cs{item}\texttt{[]} produce an empty item label}
\taggingissue{1557}


\subsection{Use the \key{order} key mechanism for heading commands}

In \LaTeX{} release 2026-06-01 we provided a reimplementation of
heading commands using templates. The initial set of templates had
only limited flexibility, modeling layouts closely related to those from
the standard \LaTeX classes. As a consequence, they used keys such as
\key{number-title-sep} to define the space between heading number and
title on the assumption that both are placed exactly in that order.

We have now written new extended the templates to allow for reordering
of heading elements and more flexible spacing between them, but in
that scenario such keys do no longer make sense and therefore have
been replaced with more generic keys such as \key{separator-a},
\key{separator-b}, etc. not taking a length value but accepting
general code.


If you have defined instances using the first template version
then you can (for now) continue to use them simply by changing the
template names in your instance declarations from \meta{name} to
\meta{name}\texttt{-v1}, e.g., you have to change from
\begin{verbatim}
\DeclareInstance
{heading}{chapter}{display} {...}
\DeclareInstance{headformat}
{heading}{chapter}{display} {...}

\DeclareInstance{heading}
{section}{hang} { ... }
\DeclareInstance{headformat}
{section}{hang} { ... }
...
\end{verbatim}
to
\begin{verbatim}
\DeclareInstance
{heading}{chapter}{display-v1} {...}
\DeclareInstance{headformat}
{heading}{chapter}{display-v1} {...}

\DeclareInstance{heading}
{section}{hang-v1} { ... }
\DeclareInstance{headformat}
{section}{hang-v1} { ... }
...
\end{verbatim}
No other changes are necessary for now. However, going forward
you should switch to the extended templates because the
\texttt{-v1} templates will eventually be dropped.
%
How to upgrade to the new templates is explained in \texttt{texdoc
latex-lab-sec-template}.


\subsection{Support \key{force-unnumbered} key in heading templates}

Expand Down Expand Up @@ -411,7 +465,15 @@ \subsection{\cs{newlist} failed for \texttt{description} lists}



%\section{New or improved commands}
\section{New or improved commands}

\subsection{Testing if a certain template is defined}

To better support the declaration of template instances we now provide the
conditional \cs{IfTemplateExistsTF} (and its \texttt{T} and \texttt{F}
variants) so that it is possible to take different actions depending
on whether or not a certain template is declared.




Expand All @@ -432,9 +494,11 @@ \subsection{Support for \cs{UseName} in template key bindings}

\subsection{Further removal of \enquote{fake math} from the kernel}

In the previous release, we removed most use of \enquote{fake math} (math mode not denoting a formula but used for positioning or manipulating text material) from the
kernel~\cite{44:ltnews}. The use of \cs{underline} in text mode was missed in
that update: this has now been addressed.
In the previous release, we removed most use of \enquote{fake math}
(math mode not denoting a formula but used for positioning or
manipulating text material) from the kernel~\cite{44:ltnews}. The use
of \cs{underline} in text mode was missed in that update: this has now
been addressed.

%\section{Bug fixes}

Expand Down
51 changes: 45 additions & 6 deletions required/latex-lab/changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,63 @@
* latex-lab-names.dtx: avoid to use tagpdf internal:
use `\tag_if_tag_known:nT` to test if a tag exists.
use role/new-attribute* for the table attributes
* latex-lab-marginpar: avoid to use tagpdf internal, use \tag_struct_map_function:N to map over the stack.
* latex-lab-block.dtx: remove unused \__tag_para_main_store_struct:, use symbolic names instead of para variables.
* latex-lab-sec.dtx: avoid to use tagpdf internals, use \tag_get:nN and use symbolic names.
* latex-lab-table.dtx: avoid to use tagpdf internals when adapting the header cells, avoid para-variables and use symbolic names instead.
* latex-lab-math.dtx: avoid to use tagpdf internals by simplifying `\@kernel@math@registered@begin` and using \tag_attr_new:ee.
* latex-lab-marginpar: avoid to use tagpdf internal, use \tag_struct_map_function:N
to map over the stack.
* latex-lab-block.dtx: remove unused \__tag_para_main_store_struct:, use symbolic
names instead of para variables.
* latex-lab-sec.dtx: avoid to use tagpdf internals, use \tag_get:nN and
use symbolic names.
* latex-lab-table.dtx: avoid to use tagpdf internals when adapting the header
cells, avoid para-variables and use symbolic names instead.
* latex-lab-math.dtx: avoid to use tagpdf internals by simplifying
\@kernel@math@registered@begin and using \tag_attr_new:ee.
* latex-lab-float.dtx: avoid to use tagpdf internals

2026-09-02 Benjamin Mako Hill <mako@atdot.cc>

* latex-lab-footnotes.dtx (subsubsection{Making documents use the new \cs{@makefntext}}):
Report a proper error if \cs{@makefntext} cannot be patched (tagging/1577)

2026-08-31 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-minipage.dtx (subsection{Tagging commands}):
Don't use \UseStructureName for now but use the
variable \l__tag_para_tag_tl directly

2026-08-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-block.dtx (subsubsection{Implementation of \insttype{item} templates}):
Treat empty optional \item argument as an empty label (tagging/1557)

>>>>>>> develop
2026-08-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-sec-template.dtx (subsubsection{headformat templates interfaces}):
Use order key mechanism in headformat templates.

* latex-lab-firstaid.dtx:
Adjust AMS class fixes to new heading templates.

2026-08-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-template.dtx (section{The Implementation}):
Support special order key items ?, |, and, !.

2026-08-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-template.dtx:
Add support for special | item in order clists.
Add \IfValueLastOrderItemTF to do conditional formatting based on whether
or not last item had a value.

2026-08-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-sec-template.dtx (subsubsection{New \cs{@startsection}}):
Provide command to split off last token of a token list if it
is a macro with one argument (tagging/1521)

Split style argument of \@startsection based on type of
last token (tagging/1521)

2026-08-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>

* latex-lab-enumitem.dtx (subsubsection{\cs{newlist}}):
Expand Down
30 changes: 15 additions & 15 deletions required/latex-lab/latex-lab-block.dtx
Original file line number Diff line number Diff line change
Expand Up @@ -818,12 +818,12 @@
%
% \begin{TemplateDescription}{thmstyle}{std}
%
% \TemplateKey{separator-1}{tokenlist}
% \TemplateKey{separator-a}{tokenlist}
% {Separation to be applied between elements of the heading,
% typically a space command of some
% sort.}{\textbackslash\textvisiblespace }
%
% \TemplateKey{separator-2}{tokenlist}
% \TemplateKey{separator-b}{tokenlist}
% {Additional separation to be applied between elements of the
% heading, typically a space command of some
% sort.}{\textbackslash\textvisiblespace }
Expand All @@ -849,8 +849,8 @@
% \TemplateKey{order}{commalist}
% {Order of elements in the environment caption/heading. Supported
% values are \texttt{title}, \texttt{number}, \texttt{punct},
% \texttt{separator-1}, \texttt{separator-2}, and
% \texttt{note}.}{title,separator-1,number,separator-2,note,punct}
% \texttt{separator-a}, \texttt{separator-b}, and
% \texttt{note}.}{title,separator-a,number,separator-b,note,punct}
%
% \TemplateKey{title-decls}{tokenlist}
% {Declarations that are applied only to the caption
Expand Down Expand Up @@ -2251,12 +2251,12 @@
% \begin{macrocode}
\DeclareInstance{thmstyle}{plain}{std}{
,caption-placement = unchained
,separator-1 = \
,separator-2 = \
,separator-a = \
,separator-b = \
,punct = .
,before-hspace = 0pt
,after-hspace = 5pt plus 1pt minus 1pt
,order = {title,separator-1,number,separator-2,note,punct}
,order = {title,separator-a,number,separator-b,note,punct}
,caption-decls = \bfseries
,title-decls =
,number-decls = \upshape
Expand Down Expand Up @@ -3615,15 +3615,15 @@
% \begin{macrocode}
\DeclareTemplateInterface{thmstyle}{std}{4}{
separator : tokenlist = \
,separator-1 : tokenlist = \
,separator-2 : tokenlist = \
,separator-a : tokenlist = \
,separator-b : tokenlist = \
,punct : tokenlist = .
,caption-placement : choice {chained,unchained,standalone} = unchained
,caption-unbreakable : boolean = false
,before-hspace : skip = 0pt
,after-hspace : skip = 5pt
,order : commalist = {title,separator-1,number,punct,
separator-1,note}
,order : commalist = {title,separator-a,number,punct,
separator-a,note}
,caption-decls : tokenlist =
,title-decls : tokenlist =
,number-tag : tokenlist = \UseStructureName{block/theorem-like/label}
Expand Down Expand Up @@ -5677,8 +5677,8 @@
\DeclareTemplateCode{thmstyle}{std}{4}
{
,separator = \l_@@_separator_tl % compatibility
,separator-1 = name {l_@@_separator-1_tl}
,separator-2 = name {l_@@_separator-2_tl}
,separator-a = name {l_@@_separator-a_tl}
,separator-b = name {l_@@_separator-b_tl}
,punct = \l_@@_punct_tl
,caption-placement = {
chained = \bool_gset_false:N \g_@@_label_standalone_bool
Expand Down Expand Up @@ -5753,7 +5753,7 @@
\template_process_order_clist:nnn
{ block }{ order }
{ note, number, punct, separator,
separator-1, separator-2, title }
separator-a, separator-b, title }
\skip_horizontal:n { \l_@@_caption_after_skip }
}
}
Expand Down Expand Up @@ -7198,7 +7198,7 @@
,before-hspace:e = \tl_if_empty:nTF{#5}{0pt}{#5}
,body-decls = {#4}
,punct = {#7}
,order = {title,separator-1,number,separator-2,note,punct}
,order = {title,separator-a,number,separator-b,note,punct}
,number-decls = \upshape
,note-decls = \upshape\mdseries
% \end{macrocode}
Expand Down
Loading