Skip to content

Commit

Permalink
text updates ltnews
Browse files Browse the repository at this point in the history
  • Loading branch information
FrankMittelbach committed Oct 25, 2022
1 parent 43a484e commit e0f0d7e
Showing 1 changed file with 67 additions and 40 deletions.
107 changes: 67 additions & 40 deletions base/doc/ltnews36.tex
Expand Up @@ -143,16 +143,30 @@

\section{Introduction}

\emph{to be written}
The 2022-11 release of \LaTeX{} is largely a consolidation release
where we made a number of minor improvements to fix some bugs or
improve one or the other interface.

The only really important functionality that was added is described in
the next section: the ability to easily define document-level commands
and environments that accept a key/value list in one of its (usually
optional) arguments including the ability to determine if the argument
does contain such a key/value list or just a single
\enquote{classical} value.

\subsection{Auto-detecting key--value arguments}
For the \enquote{Tagged \LaTeX{} Project} this functionality is very
important because many document-level commands will need to accept
such key/value lists, for example, to specify alternative text or
overwrite default tagging if that becomes necessary in a document.


\section{Auto-detecting key--value arguments}

To allow extension of the core \LaTeX{} syntax, \pkg{ltcmd} now supports
a \texttt{={...}} modifier when grabbing arguments. This modifier instructs
\LaTeX{} that the argument should be passed to the underlying code as
a set of keyvals. If the argument does not \enquote{look like} a set
of keyvals, it will be converted into a single key--value pair, with
a set of key/values. If the argument does not \enquote{look like} a set
of key/values, it will be converted into a single key--value pair, with
the argument to \texttt{=} specifying the name of that key. For
example, the \cs{caption} command could be defined as
\begin{verbatim}
Expand All @@ -161,15 +175,15 @@ \subsection{Auto-detecting key--value arguments}
{...}
\end{verbatim}
which would mean that if the optional argument does \emph{not}
contain keyval data, it will be converted to a single keyval
contain key/value data, it will be converted to a single key/value
pair with the key name \texttt{short-text}.

Arguments which begin with \texttt{=,} are always interpreted as
keyvals even if they do not contain further \texttt{=} signs.
key/values even if they do not contain further \texttt{=} signs.
Any \texttt{=} signs enclosed within \verb|$...$| or \verb|\(...\)|,
i.e.~in inline math mode, are ignored, meaning that
only \texttt{=} outside of math mode will generally cause
interpretation as keyval material.
interpretation as key/value material.

In case the argument contains a \enquote{textual} \texttt{=} sign that
is mistaken as key/value indicator you can hide it using a brace
Expand All @@ -181,6 +195,9 @@ \subsection{Auto-detecting key--value arguments}
However, because a \texttt{=} sign in math mode are already ignored, this
should seldom be necessary.


\section{A note for font package developers}

\subsection{Encoding subsets for \texttt{TS1} encoded fonts}

The text companion encoding \texttt{TS1} is unfortunately not very
Expand All @@ -206,7 +223,7 @@ \subsection{Encoding subsets for \texttt{TS1} encoded fonts}



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


\section{Code improvements}
Expand Down Expand Up @@ -242,13 +259,38 @@ \subsection{EC sans serif at small sizes}
\githubissue{879}



\subsection{Improve font series handling with incorrect \texttt{.fd} files}

By convention, the font series value is supposed to contain no
\texttt{m}, unless you refer to the \enquote{medium} series (which is
represented by a single \texttt{m}). For example, one should write
\texttt{c} for \enquote{medium weight, condensed width} and not
\texttt{mc}. This was one of the many space-conserving methods
necessary in the early days of \LaTeXe.

Some older \texttt{.fd} files
do not obey that convention but use \texttt{mc}, \texttt{bm}, etc., in
their declarations. As a result, some font selection scheme
functionality was not working when confronted with such \texttt{.fd}
files. We have therefore augmented \cs{DeclareSymbolFont} and
\cs{SetSymbolFont} to strip their series argument from any surplus
\texttt{m} so that they do not unnecessarily trigger font
substitutions. Regardless of this support such
\texttt{.fd} files should get fixed by their maintainers.
%
\githubissue{918}




\subsection{Detect nested \texttt{minipage} environments}

Nesting of \texttt{minipage} environments is only partially supported
in \LaTeX{} and can lead to incorrect output, such as overfull boxes
or footnotes appearing in the wrong place;
see~\cite[p.~106]{36:Lamport}. However, until now there was no warning
if that happpened. This has been changed and the environment now
if that happened. This has been changed and the environment now
warns if you nest it in another \texttt{minipage} environment that
already contains footnotes.
%
Expand All @@ -268,15 +310,6 @@ \subsection{Robust commands in package options}
\githubissue{932}


\subsection{\LuaTeX\ callback efficiency improvement}

The mechanism for providing the
\texttt{pre/post\_mlist\_to\_hlist\_filter} callbacks in \LuaTeX\ has
been improved to make it more reusable and to avoid overhead if these
callbacks are not used.
%
\githubissue{830}



\subsection{Improve \pkg{l3docstrip} integration into \pkg{docstrip}}
Expand All @@ -293,26 +326,15 @@ \subsection{Improve \pkg{l3docstrip} integration into \pkg{docstrip}}
\githubissue{903}


\subsection{Improve font series handling with incorrect \texttt{.fd} files}

By convention, the font series value is supposed to contain no
\texttt{m}, unless you refer to the \enquote{medium} series (which is
represented by a single \texttt{m}). For example, one should write
\texttt{c} for \enquote{medium weight, condensed width} and not
\texttt{mc}. This was one of the many space-conserving methods
necessary in the early days of \LaTeXe.
\subsection{\LuaTeX\ callback efficiency improvement}

Some older \texttt{.fd} files
do not obey that convention but use \texttt{mc}, \texttt{bm}, etc., in
their declarations. As a result, some font selection scheme
functionality was not working when confronted with such \texttt{.fd}
files. We have therefore augmented \cs{DeclareSymbolFont} and
\cs{SetSymbolFont} to strip their series argument from any surplus
\texttt{m} so that they do not unnecessarily trigger font
substitutions. Regardless of this support such
\texttt{.fd} files should get fixed by their maintainers.
The mechanism for providing the
\texttt{pre/post\_mlist\_to\_hlist\_filter} callbacks in \LuaTeX\ has
been improved to make it more reusable and to avoid overhead if these
callbacks are not used.
%
\githubissue{918}
\githubissue{830}


\subsection{Rule based ordering for \LuaTeX\ callback handlers}
Expand All @@ -333,8 +355,11 @@ \subsection{Rule based ordering for \LuaTeX\ callback handlers}
record this ordering constraint.
For example
\begin{verbatim}
luatexbase.add_to_callback('pre_shaping_filter', my_handler, 'my_name')
luatexbase.declare_callback_rule('pre_shaping_filter', 'my_name', 'before', 'other_name')
luatexbase.add_to_callback
('pre_shaping_filter', my_handler, 'my_name')
luatexbase.declare_callback_rule
('pre_shaping_filter',
'my_name', 'before', 'other_name')
\end{verbatim}
will ensure that \verb+my_handler+ will always be called before the
handler registered as \verb+other_name+.
Expand Down Expand Up @@ -382,7 +407,7 @@ \subsection{Prevent \TeX{} from losing a \cs{smash}}

\subsection{Resolve an issue with \cs{mathchoice} and \texttt{localalphabets}}

The code for keeping a number of math alphabetcs local (introduced in
The code for keeping a number of math alphabets local (introduced in
2021; see~\cite{36:ltnews34}) used \cs{aftergroup} to do some cleanup actions after a
formula had finished. Unfortunately, \cs{aftergroup} can't be used
inside the arguments of the \cs{mathchoice} primitive and as a result one
Expand All @@ -400,14 +425,16 @@ \subsection{Reporting of unused global issues when using key--value processing}
%
\githubissue{938}

\section{Changes to packages in the \pkg{amsmath} category}

%\section{Changes to packages in the \pkg{amsmath} category}



\section{Changes to packages in the \pkg{graphics} category}

\subsection{Fix a \cs{mathcolor} bug}

The \cs{mathcolor} command intorduced in \cite{36:ltnews35} needs to
The \cs{mathcolor} command introduced in \cite{36:ltnews35} needs to
scan for following sub and superscripts, but if it did so at the end
of an alignment cell, e.g., in a \texttt{array} environment, the
\texttt{\&} was evaluated too early causing some internal errors. This
Expand Down

0 comments on commit e0f0d7e

Please sign in to comment.