[latex3-commits] [git/LaTeX3-latex3-latex2e] ltnew33: Local cleanup (6ef81966)

Chris Rowley car222222 at github.github.io
Sun May 23 15:52:49 CEST 2021


Repository : https://github.com/latex3/latex2e
On branch  : ltnew33
Link       : https://github.com/latex3/latex2e/commit/6ef819664d88e6b5de00d7bf3592a5f2b1e05285

>---------------------------------------------------------------

commit 6ef819664d88e6b5de00d7bf3592a5f2b1e05285
Author: Chris Rowley <car222222 at users.noreply.github.com>
Date:   Sun May 23 20:52:49 2021 +0700

    Local cleanup


>---------------------------------------------------------------

6ef819664d88e6b5de00d7bf3592a5f2b1e05285
 base/doc/ltnews33mc.tex | 951 ------------------------------------------------
 1 file changed, 951 deletions(-)

diff --git a/base/doc/ltnews33mc.tex b/base/doc/ltnews33mc.tex
deleted file mode 100644
index b5bf403a..00000000
--- a/base/doc/ltnews33mc.tex
+++ /dev/null
@@ -1,951 +0,0 @@
-%%  Temporary: quick draft identification --
-%%  This is Draft 3m.
-% \iffalse meta-comment
-%
-% Copyright 2019-2021
-% The LaTeX Project and any individual authors listed elsewhere
-% in this file.
-%
-% This file is part of the LaTeX base system.
-% -------------------------------------------
-%
-% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3c
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-%    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: ltnews33.tex
-%
-% This is issue 33 of LaTeX News.
-
-\NeedsTeXFormat{LaTeX2e}[2020-02-02]
-
-\documentclass{ltnews}
-
-%%CCC  Temporary definitions:
-\providecommand\Dash {---}
-%%FMi This is the subsubsection from the class (for reference) unchanged
-
-
-%%CCC  Do we need a cite for source2e.pdf ?
-
-%% NOTE:  Chris' preferred hyphens!
-%%\showhyphens{parameters}
-\hyphenation{because para-me-ters}
-
-\usepackage[T1]{fontenc}
-
-\usepackage{lmodern,url,hologo}=
-
-\usepackage{csquotes}
-\usepackage{multicol}
-
-\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}
-
-% 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\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}%
-}
-\newcommand\colonize[1]{#1:}
-\makeatother
-
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\providecommand\tubcommand[1]{}
-\tubcommand{\input{tubltmac}}
-
-\publicationmonth{June}
-\publicationyear{2021 --- Draft Version 3m}
-
-\publicationissue{33}
-
-\begin{document}
-
-\tubcommand{\addtolength\textheight{4.2pc}}   % only for TUB
-
-\maketitle
-{\hyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents}
-
-\setlength\rightskip{0pt plus 3em}
-
-
-\medskip
-
-
-\section{Introduction}
-
-The focus of the June 2020 release is to provide further important
-building blocks for the future production of
-reliable tagged PDF output
-(see \cite{33:blueprint}); these enhancements
-are discussed in the next two
-sections. 
-
-Subsequent sections describe quite a number of recent smaller
-enhancements and fixes.  As usual, more detail on individual changes
-can be found in the \texttt{changes.txt} files in the distribution
-and, of course, in the documented sources~\cite{33:source2e}.
-
-
-
-\section{Extending the hook concept to paragraphs}
-
-Largely triggered by the need for better control of paragraph text
-processing, in particular when producing tagged PDF output, we have
-changed \LaTeX{} so that the kernel gains control both at the start
-and at the end of each paragraph. This is done in a manner that is (or
-should be) transparent to both packages and documents.
-
-Besides the addition of internal control points for the exclusive use
-of the \LaTeX{} kernel, we also implemented four public hooks that can
-be used in packages or documents (via the normal hook management
-declarations) to achieve special effects, etc.  Until now, such
-enhancements required redefinitions of \cs{everypar} or \cs{par},
-which led to the usual issues since such changes can easily conflict
-with changes made by other packages.
-
-The documentation of these new \enquote{paragraph hooks}, together
-with a few examples, is in \file{ltpara-doc.pdf} and, for those who
-want to study it, the (quite interesting) code can be found in
-\file{ltpara-code.pdf}. Additionally, both of these files are included
-as part of the full kernel documentation in \file{source2e.pdf}.
-
-
-
-\section{Extending the hook concept to commands}
-
-Up to now, hook management covered hooks for only a few core areas,
-such as the hooks for the \cs{shipout} process or those in the
-\env{document} environment, as well as some \enquote {generic} hooks,
-both for file loading (helpful for patching such files) and for
-arbitrary environments (the hooks executed within \cs{begin} and
-\cs{end}).  This concept of \enquote{generic hooks} has now been
-extended to provide \hook{/before} and \hook{/after} hooks for any
-(document-level) command\Dash in theory at least.
-
-
-In practice, these new generic \hook{cmd} hooks, especially the
-\hook{cmd/.../after}, hooks may fail with commands that are too
-complex to be automatically patched, breaking if the hook contains any
-code.  These restrictions are documented in
-\texttt{ltcmdhooks-doc.pdf}.
-%   
-However, given that these hooks are mainly meant for developers who
-wish to provide better interoperability between different packages,
-and between packages and the \LaTeX{} kernel, these restrictions are,
-we hope, of minor importance.  Indeed, for commands where this
-mechanism can't be applied, one is in the same situation as before;
-and for all others there will be a noticeable improvement.
-
-These hooks will be especially important for our current project to
-provide accessible and tagged PDF output~\cite{33:blueprint} because
-we will eventually have to patch many third-party packages, and this
-must be done in controlled and standardized ways.
-
-
-
-
-\section{Other hook business}
-
-
-\subsection{Shipping out a page while bypassing hooks}
-
-In the 2020 October release, several hooks were added to control the
-process of constructing and shipping out a page box: these support,
-for example, the addition of background or foreground material 
-to some or all pages.
-
- 
-We have now added a command, called \cs{RawShipout}, which does not do
-any rebuilding of the page box and so does not run most of these
-hooks.  When using this new command, essential internal book-keeping
-is still carried out, such as updating the \texttt{totalpages} counter
-and adding \texttt{shipout/firstpage} or \texttt{shipout/lastpage}
-material when appropriate.
-
-
-\subsection{A new Lua callback in \pkg{ltshipout},
-for custom attributes}
-
-For use just before shipping out a page, there is now a \LuaTeX{}
-callback \texttt{pre\_shipout\_filter} to contain final adjustments to
-the box being shipped out.  This is particularly useful for
-Lua\TeX\ packages which flag (using, for example, attributes or
-properties) elements on a page in order to apply effects (such as the
-insertion of \enquote{color commands}) to these elements at shipout.
-
-
-
-\section{Updates to the font selection scheme}
-
-
-\subsection{A new hook in \cs{selectfont}}
-
-After \cs{selectfont} has changed the font, we now run a hook (\hook{selectfont})
-so that packages can make final \mbox{adjustments}. This functionality was
-originally provided by the \pkg{everysel} package but our
-implementation is slightly different and uses the standard hook
-management.
-%
-\githubissue{444}
-
-
-\subsection{Change of font series/shape delayed until \cs{selectfont}}
-
-With the NFSS extensions introduced in 2020, the font series and shape
-settings can be influenced by changes to the font family.  The
-settings of these two are now therefore delayed until \cs{selectfont}
-is executed; this avoids unnecessary or incorrect substitutions that
-may otherwise happen due to the order of declarations.
-%
-\githubissue{444}
-
-
-\section{Improved handling of file names}
-
-
-
-\subsection[File names with spaces, multiple dots or\\
-            \acro{utf-8} characters]
-           {File names with spaces, multiple dots or \acro{utf-8} characters}
-
-In one of the recent \LaTeX{} releases we improved the interface
-for specifying file names so that they can now safely contain spaces
-(as is common these days),
-more than one dot character, and also UTF-8 characters
-outside the \acro{ascii} range. 
-In the past this was only possible by applying a special syntax
-in the case of spaces, 
-whilst file names with several dots often failed, 
-as did most UTF-8 characters.
-
-
-\subsubsection{Consequences for file names in \cs{include}}
-
-\TeX{} has a built-in rule saying that you can normally leave out the
-extension if it is \texttt{.tex}.  Thus \verb=\input{file}= and
-\verb=\input{file.tex}= both load \file{file.tex} (if it exists).
-While this is convenient most of the time, it is a little awkward in
-some scenarios (for example, when both \file{file} and \file{file.tex}
-exist) and also when you manually try to implement the rule.
-
-\LaTeX{} therefore had one special syntax for \cs{include} and
-\cs{includeonly}: they always expected that 
-their arguments contains a
-file name\footnote{In case of \cs{includeonly} a comma separated list of such names.} 
-with no extension given,
-  so that it had to be\texttt{.tex}.  Thus,
- when you mistakenly wrote
-\verb=\include{mychap.tex}= (for example,
-because you changed from \cs{input}
-to \cs{include}),
-\LaTeX{} went ahead and looked for the
-file \file{mychap.tex.tex} for inclusion and tried to
-use the file \file{mychap.tex.aux} for internal (auxiliary) information.  The reason was that
-\cs{include} had to construct both
-of these file names from the given
-argument and it didn't bother to do
-anything special
-with the supplied 
-extension \texttt{.tex}.
-
-With the new implementation this has
-changed:
-the extension \texttt{.tex}
-now gets removed/ignored if it was
-supplied.
-Thus \verb=\include{mychap.tex}= now 
-no longer looks for \file{mychap.tex.tex} 
-but loads
-\file{mychap.tex} 
-and uses \file{mychap.aux}.
-%
-\githubissue{486}
-
-
-
-\subsection{Normalization of robust commands in file names}
-
-The handling of file names has been modified so that \verb|\string| is
-applied to normalize robust commands within the file name.
-Previously, for example, \verb|\input{\sqrt{2}}| would cause
-\LaTeX\ to loop indefinitely whereas with 
-the new normalization
-it looks for the file named \verb|sqrt {2}.tex|
-(and therefore very likely reports `file not found').
-%
-\githubissue{481}
-
-
-
-
-\subsection{Fix for \env{filecontents} with \acro{utf-8} 
-  chars in the file name}
-
-Since a few releases back, the \env{filecontents} environment has
-allowed \acro{utf-8} characters in the file name.  There was, however,
-a bug that would not allow \emph{over}writing a file with \acro{utf-8}
-characters in its name.  This has been fixed and now
-\env{filecontents} allows any characters in the file name.
-%
-\githubissue{415}
-
-
-
-\section{Glyphs, characters \& encodings}
-
-\subsection{Improved copy\,\&\,paste for \pdfTeX{} documents}
-
-When compiling with \pdfTeX{}, additional information
-(from the file \texttt{glyphtounicode.tex}) is now added automatically
-to the PDF file in order to improve copying from, and searching in,
-text.
-
-This in particular allows the most common ligatures to be copied as
-intended from all generated PDF files without the need to explicitly
-load the package \pkg{cmap}.  
-%
-\githubissue{465}
-
-
-
-
-
-\subsection{Support for more Unicode characters}
-
-
-\LaTeX\ is quite capable of typesetting characters such as
-\enquote{\d{m}}, but until now it could not access some Unicode
-characters from the Latin Extended Additional block.  This meant that,
-for example, there were no Unicode mappings for some characters that
-are used to write Sanskrit words in Latin transliteration (as seen in
-books about yoga, Buddhist philosophy, etc.).
-%
-These characters have now been added so that they can be entered
-directly instead of using \verb=\d{m}=, etc.
-%
-\githubissue{484}
-
-
-
-
-
-\subsection{More ``dashes'' in encodings \texttt{OT1},
-  \texttt{T1} and \texttt{TU}}
-
-When pasting in text from external sources, one can encounter these
-three Unicode characters
-%
-\texttt{"2011} (non-breaking hyphen),
-\texttt{"2012} (figure dash) and
-\texttt{"2015} (horizontal bar),
-%
-in addition to the more common 
-%
-\texttt{"2013} (en-dash) and \texttt{"2014} (em-dash).
-%
-In the past, these first three produced an error message when used
-with \pdfTeX{} (since they are not available in \texttt{OT1} or
-\texttt{T1} encoded fonts).  They now typeset an approximation to the
-glyph: e.g., the `figure dash' is approximated by an en-dash.
-
-With Unicode engines they either work (when the glyph is contained in
-the selected Unicode font) or they typeset nothing, producing a
-``Missing character'' warning in the log file.
-
-With all engines these characters can also now be accessed using the
-command names \cs{textnonbreakinghyphen}, \cs{textfiguredash} and
-\cs{texthorizontalbar}, respectively.
-%
-\githubissue{404}
-
-
-\subsection{Poor man's \cs{textasteriskcentered}}
-
-The \cs{textasteriskcentered} symbol, used as part of the set of
-footnote symbols in \LaTeX{}, is assumed to be implemented by every
-font with the \texttt{TS1} encoding (when \pdfTeX{} is used) or with
-the \texttt{TU} encoding for the Unicode engines.  That assumption is
-unfortunately not correct for all fonts since, for example, the
-\texttt{stix2} fonts don't provide this glyph.  A result is that one
-gets missing glyph messages when using \cs{thanks}, etc.
-
-Therefore \cs{textasteriskcentered} now checks whether there is such a
-glyph and, if not, uses a normal \enquote{*}, but slightly enlarged
-and lowered.  This may not be perfect in all cases, but it is
-certainly better than no glyph showing up.
-%
-\githubissue{502}
-
-%%CCC  Complete me!
-%%FMi wrong title it is *not now!!!
-%%CCC  I tried again! 
-%%CCC \subsection {The \pkg{textcomp} package is now in the kernel}
-
-\subsection {The \texttt{TS1} characters from \pkg{textcomp} in the kernel}
-
-A couple of releases back, the functionality of the \pkg{textcomp}
-package was integrated into the \LaTeX{} kernel.  
-Thus it is no longer necessary
-to load this package in order to access glyphs such as 
- \cs{textcopyright}, \cs{texteuro} or \cs{textyen}.
-
-A full explanation of both the history and the current status of this
-package and the \enquote{text symbol encoding} (\texttt{TS1}) encoding 
-%#CCC possible new version for keeping it in here: 
-follows here.
-
-%%CCC Otherwise use this:  is (wiil be?) available as ???  %%CCC  \cite ??  
-%%CCC This could be a ref to a section in an edition of ltnews, 
-%%CCC   but should it be?
-%%FMi  — there is no such eplanation in earlier ltnews or anywhere to
-%%FMi      my knowledge which is why I added that note on TS1 into this one
-%%FMi      because it was forgotten to be described
-%%FMi  — and so you can only refer to the next section which I think is pointless
-%%FMi      and this is why I think that should remain ass a single longer subsection
-%%FMi      as it was before!
-%%FMi  — For quite a while the ltnewsletters are more than minimal snippets
-%%FMi      referring to other places  
-
-
-%%CCC  New TS1 subsection is back here now, as a section.
-%%CCC  Together with a news item above (incomplete).
-%%CCC  Fixed typos ex DCa (only) 
-
-%%CCC This section Needs major editing for: 
-%%CCC   meaning, content, grammar and typos etc.
-%%FMi — I still think it should be just one subsection and the previous
-%%FMi dropped/incorporated
-
-%%CCC CHANGED to subsubsection, to fit with above changes.
-%%CCC BUT NO editing done yet, needs to be rewritten, 
-%%CCC   when I understand it!
-
-%%CCC Frank's original, without the subsection above:
-%%    \subsection{A note on the \texttt{TS1} encoding}
- 
-%%CCC Also changed wording:
-%%      \subsubsection{A note on the \texttt{TS1} encoding}
-\subsubsection[A note on the history of `text symbols']%
-   {A note on the history of `text symbols' and\\ 
-      the  \texttt{TS1} encoding}
-
-The \enquote{text symbol encoding} (\texttt{TS1}) was originally
-designed at the Cork Conference as a companion to the \texttt{T1}
-encoding. In it various symbols that are not subject to hyphenation
-got assembled and the \pkg{textcomp} package was developed to make
-them accessible. Unfortunately the \TeX{} community was a bit too
-enthusiastic and included several symbols only available in a few
-\TeX{} fonts and some, such as the capital accents, not available at
-all but developed as part of the reference font implementation.
-
-In hindsight that was a very bad idea because it meant that other
-existing fonts (at the time) and later new fonts that got developed
-were unable to provide the full set of glyphs that made up the
-\texttt{TS1} encoding. For existing free PostScript fonts people 
-%%CCC ex DCa to
-took the extra effort and produced virtual fonts that faked (some) of
-the missing glyphs. But this was and is a time consuming effort so it
-was done only for a few basic fonts. But even then, only some fonts
-included all glyphs from \texttt{TS1} so the \pkg{textcomp} already
-back then contained a long list, dividing fonts into 5 categories
-according to which glyphs were implemented and which were missing.
-
-A couple of releases back the functionality of the \pkg{textcomp}
-package got integrated into the core code of the \LaTeX{} kernel so
-that its glyph definitions, e.g., \cs{textcopyright}, \cs{texteuro} or
-\cs{textyen}, are now automatically available without the need to load
-an additional package in the preamble.
-
-At the time this happened many new free fonts had appeared and
-unfortunately the chaos around the question \enquote{which glyphs of
-  the \texttt{TS1} encoding are implemented by which font} had
-increased with it. Not only did one find many new holes it was next to
-impossible to order the set of fonts into a reasonable set of
-sub-encodings that are contained in each other in a single sequence.
-
-In the end we decided on nine or ten sub-encodings with a reasonable
-number of fonts %% ex DCa
-in each so that all font implemented all glyphs of the
-sub-encoding they got mapped to. Thus when typesetting with a font one
-could be sure that a command like \cs{textcopyleft} would either
-typeset the requested character (if the glyph was part of the
-sub-encoding the font belonged to) or it would raise an error, saying
-that the glyph is unavailable in that %%FMi fact.
-font.
-The mapping would ensure
-that \LaTeX{} always errs on the side of caution, because it might
-claim a glyph is unavailable even though in fact it is.
-
-For example, the old \texttt{pcr} (PostScript Courier) font (as well
-as most other older PS fonts) is mapped to sub-encoding 5 and
-therefore claims that \cs{textasciigrave} is unavailable even though
-in fact for Courier this is not true. If one uses such a font and this
-becomes an issue then there are a couple (suboptimal) possibilities.
-For one, one can alter the mapping of Courier and pretend that belongs
-to a fuller sub-encoding, e.g.
-\begin{verbatim}
-  \DeclareEncodingSubset{TS1}{pcr}{2}
-\end{verbatim}
-The downside is, that \LaTeX{} then believes other glyphs that are in fact
-unavailable are also there, so that it is important to check that the
-final document doesn't have some missing glyphs.
-
-
-\section{New or improved commands}
-
-\subsection{Adjusting \env{itemize} labels with \cs{labelitemfont}}
-
-The command \cs{labelitemfont} was introduced already with the
-\LaTeX\ release 2020-02-02, but back then we forgot to describe it so
-we do this now. Its purpose is to resolve some bad formatting issues
-with the \env{itemize} environment and also to make it easier to
-adjust the layout when necessary. What could happen in the past was
-that the \env{itemize} labels (e.g., the \textbullet{}) would
-sometimes react to surrounding font changes and could then suddenly
-change shape, for example to \textit{\textbullet}.
-
-This new command \cs{labelitemfont}, which defaults to \cs{normalfont}, 
-can be used to provide additional control in the typesetting of
-each label.  Thus by choosing
-different settings other effects can be achieved.  Here are two
-examples:
-\begin{verbatim}
-  \renewcommand\labelitemfont
-     {\normalfont\fontfamily{lmss}\selectfont}
-  \renewcommand\labelitemfont
-     {\rmfamily\normalshape}
-\end{verbatim}
-The first definition will take the symbols from the font Latin Modern
-Sans, so that you get
-%
-\def\myfont#1{{\let\labelitemfont\empty\fontfamily{lmss}\selectfont#1}}
-%
-\myfont\labelitemi, \myfont\labelitemii, \myfont\labelitemiii\ and
-\myfont\labelitemiv\,; while the second variant freezes the font family
-and shape, but leaves the series as a variable quantity, so that an
-\env{itemize} in a bold context would show bolder symbols. Making
-\cs{labelitemfont} empty would give you back the buggy old behavior.
-%
-\githubissue{497}
-
-
-\subsection{Producing several marks for one footnote}
-
-It is sometimes necessary to reference the same footnote several
-times: i.e., to produce several footnote marks using the same number
-or symbol. This is now easily possible by placing a \cs{label} within
-the referenced \cs{footnote} and referencing this label by using the
-new command \cs{footref}.  This means that footnote marks can be
-generated to refer to arbitrary footnotes (including those in
-\texttt{minipage}s).
-
-This \cs{footref} command has previously been available, but only when
-using certain classes or the \pkg{footmisc} package.
-%
-\githubissue{482}
-
-
-\subsection{Allow \cs{nocite} in the preamble}
-
-A natural place for \verb=\nocite{*}= would be the preamble of the
-document, but for historical reasons \LaTeX{} issued an error message
-if it was placed there.  This command is now allowed in the preamble.
-%
-\githubissue{424}
-
-
-\subsection{Made \cs{\textbackslash} generally robust}
-
-In 2018 most \LaTeX{} user-level commands were made robust, including
-the \cs{\textbackslash} command.  However, \cs{\textbackslash} gets
-redefined in various environments and not all these cases were caught:
-such as, in particular, its use as the row delimiter in \env{tabular}
-structures.  This has been corrected so that \cs{\textbackslash}
-should now be robust in all circumstances.
-
-
-This change also fixed one anomaly present in the past:
-in a tabular preamble of the form
-\begin{quote}
-  \verb={l=\texttt{\string>}\verb={raggedright}p{10cm}r}=           % stupid class
-\end{quote}
-a \cs{\textbackslash} in the second column would have the definition
-used within \cs{raggedright} and so it would not indicate the
-(premature) end of the \env{tabular}.  Thus, for example,
-\begin{quote}
-   \verb=a & b1 \\ b2 & c \\=
-\end{quote}
-was interpreted as a single row of the \env{tabular} (as intended),
-whereas
-\begin{quote}
-   \verb=a &    \\ b2 & c \\=
-\end{quote}
-resulted in two rows!  This happened because the \cs{\textbackslash}
-directly following the \verb=&= got interpreted while it still had the
-\enquote{end the row} meaning and not yet the \enquote{start a new
-  line within the second column} meaning.
-
-With \cs{\textbackslash} now being robust, the special scanning mode
-initiated by the \verb=&= ends immediately when this command is seen:
-the second column is therefore then started, which results in the
-\cs{\textbackslash} being interpreted as being within that column and
-hence as having its expected, within-column, meaning.
-
-We have restored consistency here: now both of the above lines
-produce a single \env{tabular} row.
-%
-As before, you can 
-put \cs{raggedright}\cs{arraybackslash} in the \env{tabular}'s
-preamble for a column to ensure that \cs{\textbackslash} is always
-interpreted as a tabular row separator when used in that column. And
-you can use \cs{tabularnewline} to explicitly ask for a new table row,
-even when \cs{\textbackslash} has a different meaning within the
-current column.
-%
-\githubissue{548}
-
-
-
-
-\subsection{Allow extra space between name and address in \pkg{letter} class}
-
-The \cs{opening} command in the \pkg{letter} class expects the name
-and address to be separated by \verb=\\=, but it didn't allow the use
-of an optional argument to add some extra space after the name. The
-code has now been slightly altered to allow this.
-%
-\githubissue{427}
-
-
-
-\subsection{Additions to \cs{tracingall}}
-
-In July 2020 David Jones suggested an extension to \TeX{} engines,
-that added the possibility to set \cs{tracinglostchars}\texttt{=3} in
-order to generate an error message in case some character is missing
-from a font.  In previous years, a warning about a missing character
-was silently printed to the \texttt{.log} file\linebreak
-(if $\cs{tracinglostchars}>0$) and to the terminal\linebreak
- (if ${}>1$).  This extension was added for \TL{} and \MiKTeX{} 
-(except in Knuth's \TeX, of course), 
-so that with $\cs{tracinglostchars}>2$ you now also get an
-error message for each missing glyph.
-
-Later, in January 2021, Petr Olšák suggested yet another extension: 
-a new primitive
-\mbox{parameter}
-%
-\cs{tracingstacklevels} that, when both it and \cs{tracingmacros} are
-positive, will add to the \mbox{tracing} information for each 
-macro a visual indication (using dots) of
-its nesting level in the macro expansion stack.
-
-These changes have both now been added to \LaTeX's debugging macros
-\cs{tracingall} and \cs{tracingnone}, so that these two new extensions
-are activated/deactivated as appropriate, so long as the \TeX{} engine
-supports them.  An example document demonstrating these parameters is
-in the linked GitHub issue.
-%
-\githubissue{524}
-
-
-
-
-\section{Code improvements}
-
-\subsection{Execute \cs{par} at the end of \cs{marginpar}}
-
-Previously, \LaTeX{} ended a \cs{marginpar} without ever explicitly
-calling \cs{par}.  This command is now explicitly added because it is
-essential to the correct working of the paragraph hooks.
-
-Another case where this issue caused problems was the \pkg{lineno}
-package, where the last line was not numbered if the \cs{marginpar}
-ended without an explicit \cs{par}.
-%
-\githubissue{489}
-
-
-
-\subsection{Execute \cs{AtEndDocument} hook in vertical mode}
-
-Until now \verb=\end{document}= executed the code from the
-\cs{AtEndDocument} hook as its first action.  This meant that this
-hook was executed in horizontal mode if the user left no empty line
-after the last paragraph.  As a result, one could get a spurious space
-added when, for example, that code contained a \cs{write}
-statement. This was fixed and now \cs{enddocument} first issues a
-\cs{par} to ensure that it always goes into vertical mode.
-%
-\githubissue{385}
-
-
-
-
-\subsection{Color groups made permanent}
-
-The use of color in certain \LaTeX{} constructs, especially boxes,
-needs an extra layer of grouping to ensure that the color setting does
-not \emph{escape} and continue outside the box when it shouldn't.
-%
-To support this, the \LaTeX{} kernel defines a number of commands,
-e.g., \cs{color at begingroup} to be used in such places.
-
-
-Until now, these commands were initially set as no-ops and only the
-color packages redefined them to become real groups; this methodology
-complicates the coding as one has to account for a group being present
-or not (\mbox{depending} on what is loaded in the document).
-%
-The kernel therefore now permanently adds these \enquote{color groups}.
-%
-\githubissue{488}
-
-
-
-
-\subsection{Provide the raw option list to key/value option handlers}
-
-Before any further processing of the option list, the original
-(un-normalized, \enquote{raw} and unchanged) list of package or class
-options is now saved, as \cs{@raw at opt@...}; this list is not used by
-the standard option processing code but it is now available for use by
-extended class/package processing systems.  Note that, for
-compatibility reasons, the standard option processing code has not
-been changed.
-
-%DPC restore mention of unsused option warning change
-One change does affect the standard processing; any tokens to the
-right of an = sign are removed from consideration from the
-\enquote{unused option list}.  In this release \texttt{clip=true} and
-\texttt{clip=false} both contribute \texttt{clip} to the list of
-options that have been used.
-%
-\githubissue{85}
-
-
-
-\subsection{New for \pkg{latexrelease}\,: \cs{NewModuleRelease}}
-
-To explain the need for this new feature, we shall consider the
-following example: in the 2020-10-01 release, \LaTeX's new hook
-management system was added to the kernel (see \cite{33:ltnews32})
-and, as with all changes to the kernel, it was added to
-\pkg{latexrelease}; this made it possible to roll back to a date where
-this module didn't yet exist, or to roll forward from an older
-\LaTeX{} release to get the hook management system (by loading the
-\pkg{latexrelease} package).
-%
-However, this method of rolling back from a later release to the
-2020-10-01 release didn't quite work because it would try to define
-all the commands from \pkg{lthooks} again; and this would of course
-result in the expected errors from commands defined with
-\cs{newcommand} or (as in \pkg{lthooks}) \cs{cs\_new:Npn}.
-
-To solve such issues, we now provide \cs{NewModuleRelease}
-so that completely
-new modules can be defined using the facilities of 
-\pkg{latexrelease} in such a way that,
-when rolling back or forward, the system will know whether the code of
-the new module has to be read or completely ignored.  More details on
-this can be found in the \pkg{latexrelease} documentation (get this
-with \verb|texdoc latexrelease|).
-%
-\githubissue{479}
-
-
-
-\subsection{Small fix for rolling back prior to 2020-02-02}
-
-Whereas the \pkg{latexrelease} package can usually emulate an older
-\LaTeX{} kernel without much problem, rolling back to before the
-2020-02-02 release didn't work properly: this is because the
-management of the \cs{ExplSyntaxOn/Off} status for packages (after an
-\pkg{expl3}-based package is loaded) cannot be removed by the rollback
-without messing up the catcodes.  This has been fixed so that rollback
-is now more careful not to leave \pkg{ExplSyntaxOn} after a package
-ends.
-%
-\githubissue{504}
-
-
-
-\section{Changes to packages in the \pkg{graphics} category}
-
-
-\subsection{Removed warning when loading graphics files}
-
-A previous release sometimes mistakenly caused a (false) warning
-message to appear when \mbox{using} a generic graphics rule to find and load
-a graphics file with an unknown \mbox{extension}.  
-%%CCC removing hyphenation here makes this one line longer.
-This warning would
-incorrectly say that the file was not found, 
-whereas the file would in
-fact be correctly loaded.  
-The warning now doesn't show up in that case.
-%
-\githubissue{516}
-
-
-\subsection{Fixed loading of \texttt{gzip}ped
-  PostScript files}
-
-A previous release mistakenly changed the file searching mechanism so
-that compressed
-PostScript graphics files would raise an error when being loaded
-with \cs{includegraphics}.  This has been fixed so that
-\texttt{gzip}ped graphics files now load correctly.
-%
-\githubissue{519}
-
-
-
-
-\section{Changes to packages in the \pkg{tools} category}
-
-\subsection{\pkg{layout}: Added language options}
-
-This package now recognizes \texttt{japanese} and \texttt{romanian} as
-language options.
-%
-\githubissue[s]{353 and 529}
-
-
-\subsection{\pkg{array} and \pkg{longtable}: Make \cs{\textbackslash} generally robust}
-
-The fix for this issue was also applied to these packages, see above.
-%
-\githubissue{548}
-
-
-\subsection{\pkg{longtable}: General bug fix update}
-
-This is a minor update to the \pkg{longtable} package that fixes several
-reported bugs: notably the possibility of incorrect page breaks when
-floats appear on the page where a \env{longtable} starts.  As this may
-affect page breaking in existing documents, a rollback to
-\pkg{longtable 4.13} (\file{longtable-2020-01-07.sty}) is supported.
-%
-\gnatsissue{tools}{2914 3396 3512}
-\githubissue{133 183 464 561}
-
-
-\subsection{\pkg{trace}: Additions to \cs{traceon}}
-
-The \cs{tracingstacklevels} and \cs{tracinglostchars} extensions to
-\cs{tracingall} (see above) were also added to \cs{traceon} in the
-\pkg{trace} package, so its users can also benefit from these new
-debugging possibilities.
-%
-\githubissue{524}
-
-
-\subsection{\pkg{bm}: Better support for commands with optional arguments}
-
-Some uses of optional arguments in \cs{bm} stopped being supported (in
-2004) when \cs{kernel at ifnextchar} was used internally by the format
-instead of \cs{@ifnextchar}. This update handles both versions of this
-command and restores the original \mbox{behaviour}.
-
-In addition, package options for guiding the use of \enquote{poor
-  man's bold} in fallback situations were added.
-%
-\githubissue{554}
-
-
-
-\section{Changes to packages in the \pkg{amsmath} category}
-
-The fix for issue 548 was also applied in \pkg{amsmath}, see above. 
-%
-\githubissue{548}
-
-
-
-
-\medskip
-
-\begin{thebibliography}{9}
-
-\fontsize{9.3}{11.3}\selectfont
-
-\bibitem{33: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{33:source2e}
-  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
-  \url{https://latex-project.org/help/documentation/}
-
-\bibitem{33:ltnews32} \LaTeX{} Project Team:
-  \emph{\LaTeXe{} news 32}.\\
-  \url{https://latex-project.org/news/latex2e-news/ltnews32.pdf}
-
-\end{thebibliography}
-
-
-
-\end{document}





More information about the latex3-commits mailing list.