% \iffalse meta-comment % % Copyright 2024 % The LaTeX Project and any individual authors listed elsewhere % in this file. % % This file is part of the LaTeX base system. % -—————————————— % % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2008 or later. % % This file has the LPPL maintenance status "maintained". % % The list of all files belonging to the LaTeX base distribution is % given in the file `manifest.txt'. See also `legal.txt' for additional % information. % % The list of derived (unpacked) files belonging to the distribution % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % % \fi % Filename: ltnews41.tex % % This is issue 41 of LaTeX News. \NeedsTeXFormat{LaTeX2e}[2020-02-02] \documentclass{ltnews} %% Maybe needed only for Chris' inadequate system: \providecommand\Dash {\unskip \textemdash} %% NOTE: Chris' preferred hyphens! %% \showhyphens{parameters} %% \hyphenation{because} \usepackage[T1]{fontenc} \usepackage{lmodern,url,hologo} \usepackage{csquotes} \usepackage{multicol} \usepackage{color} \providecommand\hook[1]{\texttt{#1}} \providecommand\meta[1]{$\langle$\textrm{\itshape#1}$\rangle$} \providecommand\option[1]{\texttt{#1}} \providecommand\env[1]{\texttt{#1}} \providecommand\Arg[1]{\texttt\{\meta{#1}\texttt\}} \providecommand\eTeX{\hologo{eTeX}} \providecommand\XeTeX{\hologo{XeTeX}} \providecommand\LuaTeX{\hologo{LuaTeX}} \providecommand\pdfTeX{\hologo{pdfTeX}} \providecommand\MiKTeX{\hologo{MiKTeX}} \providecommand\CTAN{\textsc{ctan}} \providecommand\TL{\TeX\,Live} \providecommand\githubissue[2][]{\ifhmode\unskip\fi \quad\penalty500\strut\nobreak\hfill \mbox{\small\slshape(% \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}% {github issue#1 #2}% )}% \par\smallskip} %% But Chris has to mostly disable \href for his TEXPAD app: %% \def\href #1#2{#2} % Only For Chris' deficient TeX engine % simple solution right now (just link to the first issue if there are more) \def\getfirstgithubissue#1 #2\relax{#1} \providecommand\sxissue[1]{\ifhmode\unskip \else % githubissue preceding \vskip-\smallskipamount \vskip-\parskip \fi \quad\penalty500\strut\nobreak\hfill \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par} \providecommand\gnatsissue[2]{\ifhmode\unskip\fi \quad\penalty500\strut\nobreak\hfill \mbox{\small\slshape(% \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F\getfirstgithubissue#2 \relax}% {gnats issue #1/#2}% )}% \par} \let\cls\pkg \providecommand\env[1]{\texttt{#1}} \providecommand\acro[1]{\textsc{#1}} \vbadness=1400 % accept slightly empty columns \let\finalpagebreak\pagebreak % for TUB (if they use it) \let\finalvspace\vspace % for document layout fixes \makeatletter % maybe not the greatest design but normally we wouldn't have subsubsections \renewcommand{\subsubsection}{% \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}% {-1em}{\@subheadingfont\colonize}% } \providecommand\colonize[1]{#1:} \makeatother % Undo ltnews's \verbatim@font with active < and > \makeatletter \def\verbatim@font{\normalsize\ttfamily} \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand\tubcommand[1]{} \tubcommand{\input{tubltmac}} \publicationmonth{June} \publicationyear{2025 --- DRAFT version for upcoming release} \publicationissue{41} \begin{document} \maketitle {\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents} \setlength\rightskip{0pt plus 3em} \medskip \section{Introduction} \emph{to write} \section{Replacement for the legacy mark mechanism} \LaTeX{}'s legacy mechanism only supported two classes (left and right marks) and setting the left mark (with \cs{markboth}) always altered the state of the right mark as well, i.e., they were far from independent. For generating running headers with \enquote{chapter titles} on the left and \enquote{section titles} on the right they work reasonably well but without much flexibility, e.g., \cs{leftmark} always generated the first \enquote{left}-mark on the page, while \cs{rightmark} always generated the last \enquote{right}-mark. A few releases ago~\cite{41:ltnews35} we therefore introduced a new mark mechanism for \LaTeX{} that supports arbitrary many truly independent mark classes and also offers querying the state at the top of the page, something that wasn't available in \LaTeX{} at all. Up to now, both mechanisms coexisted with completely separate implementations. With this release we have retired the legacy code and instead implement its public interfaces by using the new concepts, i.e., \cs{markboth}, \cs{markright}, \cs{leftmark}, and \cs{rightmark} remain supported but internally use \cs{InsertMark}, etc. Existing document classes or documents using the interfaces will therefore continue to work without any modifications but use a single underlying implementation and new documents can benefit from the additional flexibility, e.g., by displaying not only the last right-mark (\cs{leftmark} or \verb=\LastMark{2e-right}=) but also the first right-mark (\verb=\FirstMark{2e-right}=) or the top right-mark (\verb=\TopMark{2e-right}=), etc. See~\cite{41:ltmarks} for details on the extended functionality. \section{New or improved commands} \section{Code improvements} \subsection{Refinement of \cs{MakeTitlecase}} We introduced \cs{MakeTitlecase} as a late addition to the June 2022 release, making use of the improved case code in \pkg{expl3}. Unlike upper and lowercasing, making text titlecased is more tricky to get right: this can apply either to the whole text or on a word-by-word basis. A subtle issue was reported against the \pkg{expl3} repository (\url{https://github.com/latex3/latex3/issues/1316}) which links to how we deal with the question of case changing \enquote{words} but shows up if you titlecase text stored in a command. We have looked again at how to implement \cs{MakeTitlecase} to be as predictable as possible, and have made a change in this release. The command no longer tries to lowercase text before applying titlecasing, and gives the correct result for text stored in commands. We have also added an additional key to the optional argument to \cs{MakeTitlecase} which allows the user to decide if this will apply only to the first word (the default) or to all words. \subsection{Tab character as a special} In \LaTeX{} News~38, we described the extension of \cs{verb}, etc., to cover the tab character as equivalent to a space. We have now added tabs to the standard list of characters covered by \cs{dospecials}. This allows them to be used in for example a \texttt{v}~specification document command without additional steps. \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} \subsection{\pkg{multicol}:\ Full support for extended marks} In 2022 we introduced a new mark mechanism for \LaTeX{}~\cite{41:ltnews35}. However, the initial implementation only covered the standard output routine of \LaTeX{}. As a result the extended marks were not available within columns produced with the \pkg{multicol} package (where they would be especially useful). This limitation has finally been lifted and the new mechanism is now fully supported. % \githubissue{1421} %\section{Changes to files in the \pkg{cyrillic} category} \begin{thebibliography}{9}\frenchspacing %\fontsize{9.3}{11.3}\selectfont \bibitem{41: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{41:ltnews} \LaTeX{} Project Team. \emph{\LaTeXe{} news 1--39}. June, 2024. \url{https://latex-project.org/news/latex2e-news/ltnews.pdf} \bibitem{41:ltnews35} \LaTeX{} Project Team. \emph{\LaTeXe{} news 35}. June 2022. \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf} \bibitem{41:ltnews38} \LaTeX{} Project Team. \emph{\LaTeXe{} news 38}. November 2023. \url{https://latex-project.org/news/latex2e-news/ltnews38.pdf} \bibitem{41:ltnews40} \LaTeX{} Project Team. \emph{\LaTeXe{} news 40}. November 2024. \url{https://latex-project.org/news/latex2e-news/ltnews40.pdf} \bibitem{41:ltmarks} Frank Mittelbach, \LaTeX{} Project Team. \emph{The \texttt{ltmarks.dtx} code}. June 2025. \url{https://latex-project.org/help/documentation/ltmarks-doc.pdf} \end{thebibliography} \end{document}