% \iffalse meta-comment
%
% Copyright 2026
% 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: ltnews44.tex
%
% This is issue 44 of LaTeX News.

\NeedsTeXFormat{LaTeX2e}[2020-02-02]

\documentclass{ltnews}

%% Maybe needed only for Chris' inadequate system:
\providecommand\Dash {\unskip \textemdash}

%% NOTE: Chris' preferred hyphens!
%% \showhyphens{parameters}
%% \hyphenation{because}

\usepackage[T1]{fontenc}

\usepackage{lmodern,url,hologo}

\usepackage{csquotes}
\usepackage{multicol}
\usepackage{color}

\providecommand\hook[1]{\texttt{#1}}

\providecommand\key[1]{\texttt{#1}}
\providecommand\keyvalue[1]{\texttt{#1}}

\providecommand\struct[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}

% simple solution right now (just link to the first issue if there are more)
\def\getfirstgithubissue#1 #2\relax{#1}

% issues from the tagging-project:

\providecommand\taggingissue[2][]{\ifhmode\unskip\fi
     \quad\penalty500\strut\nobreak\hfill
     \mbox{\small\slshape(%
       \href{https://github.com/latex3/tagging-project/issues/\getfirstgithubissue#2 \relax}%
          	    {tagging-project issue#1 #2}%
           )}%
     \par\smallskip}

\providecommand\sxissue[1]{\ifhmode\unskip
     \else
       % githubissue preceding
       \vskip-\smallskipamount
       \vskip-\parskip
     \fi
     \quad\penalty500\strut\nobreak\hfill
     \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}

\providecommand\gnatsissue[2]{\ifhmode\unskip\fi
     \quad\penalty500\strut\nobreak\hfill
     \mbox{\small\slshape(%
       \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F\getfirstgithubissue#2 \relax}%
          	    {gnats issue #1/#2}%
           )}%
     \par}

\let\cls\pkg
\providecommand\env[1]{\texttt{#1}}
\providecommand\acro[1]{\textsc{#1}}

\vbadness=1400  % accept slightly empty columns


\let\finalpagebreak\pagebreak % for TUB (if they use it)
\let\finalvspace\vspace       % for document layout fixes

\makeatletter
% maybe not the greatest design but normally we wouldn't have subsubsections
\renewcommand{\subsubsection}{%
   \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}%
                  {-1em}{\@subheadingfont\colonize}%
}
\providecommand\colonize[1]{#1:}
\makeatother


% Undo ltnews's \verbatim@font with active < and >
\makeatletter
\def\verbatim@font{\normalsize\ttfamily}
\makeatother


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand\tubcommand[1]{}
\tubcommand{\input{tubltmac}}

\publicationmonth{November}
\publicationyear{2026  --- DRAFT version for upcoming release}
%\publicationyear{2026}

\publicationissue{44}

\begin{document}

\maketitle
{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000
\tableofcontents}


\setlength\rightskip{0pt plus 3em}

\section{Introduction}

\emph{to write}

\section{News from the Tagged PDF project}

\emph{Point to talks about accessibility given at Calgary}

\subsection{Tags for paragraphs}

Most of the time a \emph{paragraph} just consists of a number of
sentences without any further structure. However, it is also possible
that it has a more complicated structure, e.g., it may contain a quote
or a list with some text before or after, all belonging to the same
paragraph. For example
\begin{verbatim}
  Don Knuth sends a warm welcome from afar
  and writes:
  \begin{quote}
    \sffamily Happy TeX'ing in Calgary
  \end{quote}
  This is what we did!
\end{verbatim}
To model this in the PDF structure, \LaTeX{} surrounds the whole
paragraph with a \struct{semantic-para} tag and inside individual text
blocks with their own tags, i.e., in the above example the text
\texttt{Don ... writes:} and the text \texttt{This is ...!} each with
a \struct{text-block} tag and the quote with a \struct{quote}
tag\footnote{Note that HTML does not have the context of a semantic
paragraph and would mark the text before and after the quote each with
a \struct{P} and thus effectively claiming that they are individual
paragraphs while in reality they form together a single paragraph.},
so you end up with
\begin{verbatim}
 <semantic-para>
  <text-block>
    Don Knuth sends a warm welcome from afar
    and writes:
  </text-block>
  <quote>
   <text-block>
      Happy TeX'ing in Calgary
   </text-block>
  </quote>
  <text-block>
    This is what we did!
  <text-block>
 <semantic-para>
\end{verbatim}

Initially, we called these paragraph-related tags \struct{text-unit}
(now \struct{semantic-para}) and \struct{text} (now
\struct{text-block}) but the original names were difficult to
understand, so we changed them now.

We also introduced the \struct{text-fragment} tag for use inside
\struct{text-block}s if there is a need for a sub-structure.


\subsection{Provide an \key{order} key mechanism for templates}

\emph{to write}

For now only available when \cs{DocumentMetadata} is used!



\subsection{Revisiting the para-handling logic for block environments}

In \LaTeX{}, block environments like \env{itemize} or \env{quote}
typically scan for a following empty line and if there is none then
text following the environment is expected to belong to the current
semantic paragraph and continues it, e.g., gets no paragraph
indentation or anything else that signals the start of a new semantic
paragraph.

In some situations or for some types of block environments (such as
theorem-like environments) this behavior is not wanted. We have
therefore added a new boolean template key \key{standalone} which
if set to \keyvalue{true} causes the environment to surround itself with
implicit \cs{par} commands mimicking the effect of explicit empty lines
in the source.

We took the opportunity to also fix a couple of subtle problems with
the mechanism so that it hopefully works better in a few unusual
situations.
%
\taggingissue[s]{1402 and 1415 among others}



\subsection{Replaced \key{legacy-code} key in blockenv template}

The blockenv template had a \key{legacy-code} key, used to support
some legacy setup for the generic \env{list} environment and for the
\env{verbatim} extension offered by the \cls{ltugboat} class where
you can write \verb=\begin{verbatim}[\small]= to get a verbatim
display in a smaller font size.

However, if the \env{verbatim} was directly preceded by text the
content of the key was evaluated while still being in horizontal
mode. In that case the \cs{small} changed not only the verbatim
display but, as a side effect, also altered the \cs{baselineskip} of
the preceding text. This has been corrected by providing two keys:
\key{early-legacy-code} which is evaluted near the start of the
template, possibly still in horizontal mode (used by \env{list}) and
\key{late-legacy-code} which is evaluted after returning to
vertical mode (used by \env{verbatim}).
%
\taggingissue{1503}




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

\emph{to write}
%
\taggingissue{1473}


\subsection{Support \key{placement=ragged} in heading templates}

The \key{placement} key was augmented to support the value
\keyvalue{ragged} in addition to \keyvalue{page}, \keyvalue{top}, and
\keyvalue{normal}. This works like \keyvalue{normal} (i.e., the heading
can appear anywhere on the page) but if it happens to trigger a page
break then the previous page will be set \enquote{raggedbottom} and
not spread out to fill the page in the \cls{book} or \cls{report}
classes. This is useful on pages that do not have a lot of
stretchability in the first place and thus the space between
paragraphs is used for stretching.

It can either be specified on the instance level by setting the
\key{placement} key to \keyvalue{ragged} or for individual headings in
the document by setting it in the optional argument to the heading.
%
\githubissue{1844}


\subsection{Heading templates now support column spanning}

In twocolumn documents top-level headings usually start on a new page
and span both columns. In \LaTeXe{} this was hardwired and headings
such as \cs{chapter} showed this behavior. In the new template-based
implementation this is now more flexible and one sets this
independently from forcing a new page by setting the key
\key{column-spanning} to \keyvalue{true} (default for \cs{chapter})
or \keyvalue{false} (default for other headings).  Thus
\begin{verbatim}
  \section[column-spanning=true]{title}
\end{verbatim}
generates a one-off \cs{section} heading that spans both columns. Due
to the way the \LaTeX{} output routine is currently implemented that
automatically also starts a new page, i.e., one can't generate
spanning headings in the middle of a page (that can only be done with
the \pkg{multicol} package at the moment). That restriction may be
lifted when the output routine is redefined.
%
\taggingissue{1436}




\subsection{Heading template instances for AMS classes}

\emph{to write including \cs{AddPunctuation}}
%
\taggingissue{1477}





%\section{New or improved commands}



%\section{Code improvements}
\section{Code improvements}

\subsection{Support for \cs{UseName} in template key bindings}

We have extended the logic in the key-binding argument for
\cs{DeclareTemplateCode}, such that you can use the keyword
\texttt{name} here (in addition to \texttt{global}) without any
performance impact when using templates. This allows automatic
variable creation with \enquote{awkward} characters, most notably
\texttt{-} and numerals. Of course, such variables then also need to
be referred to via \cs{UseName} or some equivalent method in the code,
so this is only useful if there is a pressing need for such special
names.

\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.

%\section{Bug fixes}

%\subsection{A fix}

%% Some text
%
%%\githubissue{XXXX}

%\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}

%\section{Changes to files in the \pkg{cyrillic} category}

\section{Documentation changes}

\subsection{US Spelling}

We have (finally) decided that standardizing the spelling in the \LaTeX{}
sources to use US-English is the realistic position.\footnote{None of the native
English speakers on the team are from the US!} This means that the
documentation better aligns with the code. Note that idiom may still be more
varied: this is harder to adjust than spelling.

\begin{thebibliography}{9}\frenchspacing

%\fontsize{9.3}{11.3}\selectfont

\bibitem{44:Lamport}
Leslie Lamport.
\newblock \emph{{\LaTeX}: {A} Document Preparation System: User's Guide and Reference
  Manual}.
\newblock \mbox{Addison}-Wesley, Reading, MA, USA, 2nd edition, 1994.
\newblock ISBN 0-201-52983-1.
\newblock Reprinted with corrections in 1996.

\bibitem{44:ltnews} \LaTeX{} Project Team.
  \emph{\LaTeXe{} news 1--44}. November, 2026.
  \url{https://latex-project.org/news/latex2e-news/ltnews.pdf}

\end{thebibliography}

\end{document}
