summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base/ltnews32.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-29 03:03:17 +0000
committerNorbert Preining <norbert@preining.info>2020-10-29 03:03:17 +0000
commit40d6bc28a1b26b9d37bda6d43d2d096b53edd66f (patch)
tree06da996ca1cd1b54615e97596267e0166ba2ccce /macros/latex-dev/base/ltnews32.tex
parent66f90f5ace150ea89b360d90788c6a3d63fa04f6 (diff)
CTAN sync 202010290303
Diffstat (limited to 'macros/latex-dev/base/ltnews32.tex')
-rw-r--r--macros/latex-dev/base/ltnews32.tex186
1 files changed, 80 insertions, 106 deletions
diff --git a/macros/latex-dev/base/ltnews32.tex b/macros/latex-dev/base/ltnews32.tex
index 36a37b746a..85283a86a9 100644
--- a/macros/latex-dev/base/ltnews32.tex
+++ b/macros/latex-dev/base/ltnews32.tex
@@ -40,7 +40,7 @@
\usepackage{csquotes}
\usepackage{multicol}
-\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+\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\}}
@@ -83,41 +83,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\iffalse % only for TUB production
-\usepackage{graphicx}
-\makeatletter
-% Xe\TeX{} requires reflecting the first E, hence we complain if the
-% graphics package is not present. (For plain documents, this can be
-% loaded via Eplain.) Also, at Barbara's suggestion, if the current
-% font is slanted, we rotate by 180 instead of reflecting so there is at
-% least a chance to look ok. (The magic values here seem more or less
-% ok for \texttt{cmsl} and \texttt{cmti}.)
-%
-% \begin{macrocode}
-\def\tubreflect#1{%
- \@ifundefined{reflectbox}{%
- \TBerror{A graphics package must be loaded for \string\XeTeX}%
- }{%
- \ifdim \fontdimen1\font>0pt
- \raise 1.6ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
- \else
- \reflectbox{#1}%
- \fi
- }%
-}
-\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 }
-\def\XekernbeforeE{-.125em}
-\def\XekernafterE{-.1667em}
-\DeclareRobustCommand{\Xe}{\leavevmode
- \tubhideheight{\hbox{X%
- \setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
- \ifdim \fontdimen1\font>0pt \def\XekernbeforeE{0em}\fi
- \lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
- \kern\XekernafterE}}}
-\def\XeTeX{\Xe\TeX}
-\def\XeLaTeX{\Xe{\kern.11em \LaTeX}}
-\fi
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\tubcommand[1]{}
+\tubcommand{\input{tubltmac}}
\publicationmonth{October}
\publicationyear{2020}
@@ -126,7 +93,7 @@
\begin{document}
-%\addtolength\textheight{4.2pc} % only for TUB
+\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB
\maketitle
{\hyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents}
@@ -143,7 +110,7 @@ The 2020-10-01 release of \LaTeX{} shows that work on improving
\LaTeX{} has again intensified. The two most important new features
are the kernel support for \pkg{xparse} and the introduction of the
new hook management system for \LaTeX{}, but as you can see there are
-many more smaller enhancements and bug fixes added to the kernel and
+many smaller enhancements and bug fixes added to the kernel and
various packages.
@@ -163,10 +130,10 @@ parser, \pkg{xparse}, in the late 1990s. In the past decade, the
experimental ideas it provides have been carefully worked through and
moved to a stable footing. As such, \pkg{xparse} is now used to define
a very large number of document and package commands. It does this by
-providing a rich and self-consistent syntax to describe a wide range
+providing a rich and self-consistent syntax to describe a wide range of
interfaces seen in \LaTeX{} packages.
-The ideas developed in \pkg{xparse} are now sufficiently well-tested
+The ideas developed in \pkg{xparse} are now sufficiently well tested
that the majority can be transferred into the \LaTeX{} kernel. Thus
the following commands have been added
\begin{itemize}
@@ -207,7 +174,7 @@ necessary define rules to reorder the code in the hooks to resolve
typical package loading order issues. This hook system is written in
the L3 programming layer and thus forms the first larger application
within the kernel that makes use of the \LaTeX3 functionality now
-available (if we discount \pkg{xparse} which was already available for
+available (if we discount \pkg{xparse} which has already been available for
a long time as a separate package).
The file \texttt{lthooks.dtx} holds the core management code for hooks
@@ -215,7 +182,7 @@ and defines basic hooks for environments (as previously offered by
\pkg{etoolbox}), \texttt{ltshipout.dtx} provides kernel hooks into the
shipout process (making packages like \pkg{atbegshi},
etc., unnecessary) and the file \texttt{ltfilehook.dtx} holds
-redefinition for commands like \cs{input} or \cs{usepackage} so that
+redefinitions for commands like \cs{input} or \cs{usepackage} so that
they offer hooks in a similar fashion to what is provided by the
\pkg{filehook} package.
@@ -255,7 +222,7 @@ large values to accommodate Unicode characters in the upper Unicode
planes (e.g., bold mathematical capital A is slot number
\texttt{"1D400} in hex or \texttt{119808} in decimal). The \XeTeX{}
engine did not allow \cs{symbol} in math mode for values above
-$2^{16}$, and this limitation has now been lifted.
+$2^{16}$; this limitation has now been lifted.
%
\githubissue{124}
@@ -272,9 +239,9 @@ The Unicode slot for \=y was incorrectly pointing to the slot for
For a long time, the UTF-8 option for \pkg{inputenc} made the Unicode
soft hyphen character (U+00AD) an alias for the \LaTeX\ soft hyphen
\cs{-}. The Unicode engines \XeTeX{} and \LuaTeX{} behaved
-different though: They either ignored U+00AD or interpreted it as an
+differently though: They either ignored U+00AD or interpreted it as an
unconditional hyphen. This inconsistency is fixed now and \LaTeX{}
-always treats \texttt{U+00AD} as \cs{-}.
+always treats U+00AD as \cs{-}.
%
\githubissue{323}
@@ -294,7 +261,7 @@ corrected.
\subsection{Support \pkg{calc} in various kernel commands}
-The \cs{hspace}, \cs{vspace}, \cs{addvspace}, \cs{textbackslash} and
+The \cs{hspace}, \cs{vspace}, \cs{addvspace}, \cs{\textbackslash} and
other commands simply passed their argument to a \TeX{} primitive to
produce the necessary space. As a result it was impossible to specify
anything other than a simple dimension value in such arguments. This
@@ -308,12 +275,12 @@ these commands.
Picture mode coordinates specified with \texttt{(\_,\_)} previously
accepted multiples of \cs{unitlength}. They now also allow \eTeX\ length
expressions (as used by the \cs{glueexpr} primitive although all uses
-in \texttt{picture} mode are non stretchy).
+in \texttt{picture} mode are non-stretchy).
-So valid uses include \verb|\put(2,2)| as previously,
- but now also uses such as \verb|\put(\textwidth-5cm,0.4\textheight)|.
+So, valid uses include \verb|\put(2,2)| as previously,
+ but now also uses such as\tubcommand\\\verb|\put(\textwidth-5cm,0.4\textheight)|.
-Note that you can only use expressions with lengths, \verb|\put(1+2,0)| is not
+Note that you can only use expressions with lengths; \verb|\put(1+2,0)| is not
supported.
@@ -321,12 +288,12 @@ supported.
File names containing spaces lead to unexpected results when used in
the commands \cs{include} and \cs{includeonly}. This has now been
-fixed and the argument to \cs{include} can contain file name
+fixed and the argument to \cs{include} can contain a file name
containing spaces. Leading or trailing spaces will be stripped off
but spaces within the file name are kept. The argument to
\cs{includeonly}, which is a comma-separated list of files to process,
can also contain spaces with any leading and trailing spaces stripped
-from the individual filenames while the spaces \emph{in} the file
+from the individual filenames while spaces \emph{in} the file
names will remain intact.
%
\githubissue[s]{217 and 218}
@@ -341,7 +308,6 @@ by setting \cs{finalhyphendemerits} to zero in unjustified settings.
%
\githubissue{274}
-
\subsection{Set a non-zero \cs{baselineskip} in text scripts}
As \cs{textsuperscript} and \cs{textsubscript} usually contain only a
@@ -352,7 +318,6 @@ been adjusted.
%
\githubissue{249}
-
\subsection{Spacing issues when using \cs{linethickness}}
In some circumstances the use of \cs{linethickness} introduced a
@@ -362,11 +327,10 @@ to the right. This has been corrected.
\githubissue{274}
-
\subsection{Better support for the legacy series default interface}
In the initial implementation of \LaTeX's font selection scheme (NFSS)
-changes to any default where carried out by redefining some
+changes to any default were carried out by redefining some
commands, e.g., \cs{seriesdefault}. In 2019 we introduced various
extensions and with it new methods of customizing certain parts of
NFSS, e.g., the recommended way for changing the series default(s) is
@@ -374,7 +338,7 @@ now through \cs{DeclareFontSeriesDefault}~\cite{32:ltnews31}. In this
release we improved the support for legacy documents using the old
method to cover additional edge cases.
%
-\githubissue[s]{306,315}
+\githubissue[s]{306 and 315}
\subsection{Support for uncommon font series defaults}
@@ -394,15 +358,16 @@ been corrected.
%
\githubissue{291}
+\tubcommand{\vspace*{-6pt}\break}
\subsection{Checking the current font series context}
Sometimes it is necessary to define commands that act differently when
-used in bold context (e.g., inside \cs{textbf}. Now that it is
+used in bold context (e.g., inside \cs{textbf}). Now that it is
possible in \LaTeX{} to specify different \enquote{\texttt{bf}}
defaults based for each of the three meta families (\texttt{rm},
\texttt{sf} and \texttt{tt}) via \cs{DeclareFontSeriesDefault}, it is
-not any longer easy to answer the question \enquote{am I typesetting in
+no longer easy to answer the question \enquote{am I typesetting in
a bold context?}. To help with this problem a new command was provided:
\begin{quote}
\cs{IfFontSeriesContextTF}\Arg{context}\\
@@ -429,9 +394,9 @@ heading it comes out in a bolder version.
When a package is loaded with a number of options, say \texttt{X},
\texttt{Y} and \texttt{Z}, and then later another loading attempt was
-made with a subset of the options or no options, it was possible that
-you got an error message that option \texttt{X} is not known to the
-package. This obviously incorrect error was due to some timing issue
+made with a subset of the options or no options, it was possible
+to get an error message that option \texttt{X} is not known to the
+package. This obviously incorrect error was due to a timing issue
where the list of available options got lost prematurely. This has now
been fixed.
%
@@ -463,7 +428,6 @@ centers the material. This missing command was added by several
packages, e.g., \pkg{mathtools}, and has now been added to the
kernel.
-
\subsection{Fix to legacy math alphabet interface}
When using the \LaTeX{}~2.09 legacy math alphabet interface, e.g.,
@@ -482,9 +446,9 @@ has finally been fixed.
To implement compatibility code or to ensure that certain features are
available it is helpful and often necessary to check the date of the
format or that of a package or class and execute different code based
-on the result. For that \LaTeX\ only had some internal commands
+on the result. For that, \LaTeX\ previously had only internal commands
(\cs{@ifpackagelater} and \cs{@ifclasslater}) for testing package or
-class names but nothing really for testing the format date. For the
+class names, but nothing reasonable for testing the format date. For the
latter one had to resort to some obscure command \cs{@ifl@t@r} that,
given its cryptic name, was clearly never intended for use even in
package or class code. Furthermore, even the existing interface
@@ -501,7 +465,7 @@ and for package and class tests
\begin{quote}
\cs{IfClassAtLeastTF}\Arg{class name}\Arg{date}\\
\hspace*{4em} \Arg{true code}\Arg{false code} \\
- \cs{IfPackageAtLeastTF}\Arg{package name}\Arg{date}\\
+ \cs{IfPackageAtLeastTF}\Arg{package~name}\Arg{date}\\
\hspace*{4em} \Arg{true code}\Arg{false code}
\end{quote}
For compatibility reasons the legacy commands remain available, but we
@@ -511,7 +475,7 @@ code.
\githubissue{186}
-\subsection{Avoid a problem with \cs{verb}}
+\subsection{Avoid problematic spaces after \cs{verb}}
If a user typed \verb*=\verb !~! foo= instead of
\verb*=\verb!~! foo= by mistake, then surprisingly the result was
@@ -519,9 +483,9 @@ If a user typed \verb*=\verb !~! foo= instead of
%
What happened was that the
\verb*= = became the argument delimiter due to the rather complex
-processing done by \cs{verb} to render verbatim. This now got
+processing done by \cs{verb} to render verbatim. This has been
fixed and spaces directly following the command \cs{verb} or \cs{verb*}
-are ignored as elsewhere.
+are now ignored as elsewhere.
%
\githubissue{327}
@@ -554,7 +518,7 @@ further packages.
\subsection{\ldots\ and a way to \cs{show} them}
-It is sometimes necessary to look the definition of a command, and often
+It is sometimes necessary to look up the definition of a command, and often
one not only doesn't know where that command is defined, but doesn't
know if it gets redefined by some package, so often enough looking at
the source doesn't help. The typical way around this problem is to use
@@ -619,7 +583,7 @@ having to patch \cs{refstepcounter}.
\subsection{Native Lua\TeX\ behavior for \cs{-}}
\LaTeX\ changes \cs{-} to add a discretionary hyphen even if \cs{hyphenchar}
-is set to $-1$. This change is not necessary under Lua\TeX\ because in there
+is set to $-1$. This change is not necessary under Lua\TeX\ because there
\cs{-} is not affected by \cs{hyphenchar} in the first place. Therefore this
behavior has been changed to ensure that Lua\TeX's (language specific)
hyphenation characters are respected by \cs{-}.
@@ -638,28 +602,28 @@ now allowed.
\subsection{Spacing commands moved from \pkg{amsmath} to the kernel}
Originally \LaTeX{} only provided a small set of spacing commands
-for use in text and math, some of the commands like \cs{;} were
+for use in text and math; some of the commands like \cs{;} were
only supported in math mode. \texttt{amsmath} normalized and
provided all of them in text and math. This code has now been
moved to the kernel so that it is generally available.
-%
-\githubissue{303}
-
+\begin{center}
\begin{tabular}{lll}
command name(s) & math & text\\\hline
\cs{,} \cs{thinspace} & $x\,x$ & x\,x\\
-\cs{!} \cs{negthinspace} & $x\!x$ & x\!x\\
+\cs{!} \cs{negthinspace} \; & $x\!x$ & x\!x\\
\cs{:} \cs{>} \cs{medspace} & $x\:x$ & x\:x\\
\cs{negmedspace} & $x\negmedspace x$ & x\negmedspace x\\
\cs{;} \cs{thickspace} & $x\;x$ & x\;x\\
\cs{negthickspace} & $x\negthickspace x$ & x\negthickspace x\\
\end{tabular}
-
+\end{center}
+%
+\githubissue{303}
\subsection{Access raw glyphs in \LuaTeX\ without reloading fonts}
-\LaTeX's definitions for \cs{textquotesingle}, \cs{textasciigrave}, and
+\LaTeX's definitions for \cs{textquotesingle},\tubcommand\\ \cs{textasciigrave}, and
\cs{textquotedbl} for the TU encoding in \LuaTeX\ need special handling to
stop the shaper from replacing these characters with curly quotes.
This used to be done by reloading the current font without the \texttt{tlig}
@@ -673,12 +637,13 @@ protected glyph node which is not affected by font shaping.
\subsection{Added a fourth empty argument to \cs{contentsline}}
-\LaTeX's writes with \cs{addcontentsline} a \cs{contentsline}
+\LaTeX's \cs{addcontentsline} writes a \cs{contentsline}
command with three arguments to the \texttt{.toc} and similar files.
\pkg{hyperref} redefines \cs{addcontentsline} to write
a fourth argument. The change unifies the number of arguments
by writing an additional empty brace group.
-
+%
+\githubissue{370}
\subsection{Lua\TeX\ callback \texttt{new\_graf} made \texttt{exclusive}}
@@ -686,7 +651,7 @@ by writing an additional empty brace group.
Corrected an incorrect callback type which caused return values from the
\texttt{new\_graf} callback to be ignored and paragraph indentation to be
suppressed. In the new version, only one \texttt{new\_graf} callback handler
-can be active at a time which allows this handler to take full control of
+can be active at a time, which allows this handler to take full control of
paragraph indentation.
%
\githubissue{188}
@@ -700,7 +665,7 @@ paragraph indentation.
\subsection{Generate a warning if existing color definition is changed}
If a color is defined twice using \cs{DefineNamedColor}, no
-info text \texttt{Redefining color ... in named color model ...} is written
+info text \texttt{Redefining color ...\ in named color model ...}\ was written
to the log file, because of a typo in the check. This has been corrected.
%
\gnatsissue{graphics}{3635}
@@ -710,9 +675,10 @@ Specifying a BoundingBox does not really have meaning when including non-EPS gra
\pdfTeX\ and \LuaTeX. For some years the \pkg{graphicx} package
\texttt{bb} key has been interpreted (with a warning) as a
\texttt{viewport} key. This feature has been added to the two-argument
-form of \verb|\includegraphics| which is mostly used in the
-\pkg{graphics} package. \verb|\includegraphics[1,2][3,4]{file}| will
-be interpreted in \pdfTeX\ and \LuaTeX\ in the same way as \pkg{graphicx}
+form of \verb|\includegraphics|, which is mostly used in the
+\pkg{\mbox{graphics}} package. \verb|\includegraphics[1,2][3,4]{file}| will
+now be interpreted in \pdfTeX\ and \LuaTeX\ in the same way as
+\pkg{\mbox{graphicx}}'s\tubcommand\\
\verb|\includegraphics[viewport=1 2 3 4]{file}|.
\subsection{Normalizing \cs{endlinechar}}
@@ -729,7 +695,7 @@ it to another format to include it in \LaTeX{} and ends up with a file
named \texttt{file.svg.png}. In previous releases, if the user did
\verb|\includegraphics{file.svg}|, an error would be raised and the
graphics inclusion would fail due to the unknown \verb|.svg| extension.
-The \pkg{graphics} package now checks the given extension exists, and if
+The \pkg{graphics} package now checks if the given extension is known, and if
it doesn't, it tries appending the known extensions until it finds a
graphics file with a valid extension, otherwise it falls back to the
file as requested.
@@ -745,7 +711,7 @@ If stretchable glue, e.g., \cs{dotfill}, is used in \env{tabular}
columns made with the \pkg{array} package, it stretches as it would in
normal paragraph text. The one exception was \texttt{w}-columns (but
not \texttt{W}-columns) where it got forced to its nominal width (which
-in case if \cs{hfill} or \cs{dotfill} is 0\,pt). This has been
+in case of \cs{hfill} or \cs{dotfill} is 0\,pt). This has been
corrected and now \texttt{w}-columns behave like all other column
types in this respect.
%
@@ -783,9 +749,9 @@ corrected.
The package now recognizes \texttt{japanese} as a language option.
The extra complication is that for grammatical reasons \cs{vref},
\cs{Vref}, \cs{vrefrange} and \cs{fullref} need a structure different
-from all other languages currently supported. To accommodate for this
+from all other languages currently supported. To accommodate this,
\cs{vrefformat}, \cs{Vrefformat}, \cs{vrefrangeformat}, and \cs{fullrefformat}
-was added to all languages.
+have been added to all languages.
%
\githubissue{352}
@@ -827,46 +793,54 @@ processed as part of the formula.
%
\githubissue{5}
-\subsection{Detect unicode engines when setting \cs{std@minus} and \cs{std@equal}}
+\subsection{Detect Unicode engines when setting \cs{std@minus} and \cs{std@equal}}
+
+\pkg{amsmath} now detects the Unicode engines and uses their extended
+commands to define \cs{std@minus} and
+\tubcommand{\parfillskip=0pt\par\newpage\noindent}%
+\cs{std@equal}. This avoids a package like
+\pkg{unicode-math} having to patch the code in the begin document hook to change the commands.
-\pkg{amsmath} now detects the unicode engines and use their extended
-commands to define \cs{std@minus} and \cs{std@equal}. This avoids that package like
-\pkg{unicode-math} have to patch the code in the begin document hook to exchange the commands.
+\subsection{Use Lua\TeX{} primitives where applicable}
+For a number of years \pkg{lualatex-math} patched \cs{frac},
+\cs{genfrac} and the \texttt{subarray} environment to make use of new
+lua\TeX{} primitives. This code has now been integrated into
+\pkg{amsmath}.
\section{Changes to the \pkg{babel} package}
-Multilingual typesetting has much evolved in the past years, and
+Multilingual typesetting has evolved greatly in recent years, and
\pkg{babel}, like \LaTeX{} itself, has followed the footsteps of
Unicode and the W3C consortia to produce proper output in many
languages.
Furthermore, the traditional model to define and select languages
-(which can be called \enquote{vertical}), based on closed files, which
-is still the preferred one in monolingual documents, is being extended
+(which can be called \enquote{vertical}), based on closed files, while
+still the preferred one in monolingual documents, is being extended
with a new model (which can be called \enquote{horizontal}) based on
-\emph{services} provided by \pkg{babel}, which allows to define and
-redefine locales with the help of simple \texttt{ini} files based on
-key/value pairs. The \pkg{babel} package provides about 250 of these files, which
+\emph{services} provided by \pkg{babel}, which allows defining and
+redefining locales with the help of simple \texttt{ini} files based on
+key\slash value pairs. The \pkg{babel} package provides about 250 of these files, which
have been generated with the help of the Unicode Common Language Data
Repository.
Thanks to the recent advances in \texttt{lualatex} and
\pkg{luaotfload}, \pkg{babel} currently provides \emph{services} for bidi
-typesetting, line breaking for South East Asian and CJK scripts,
-non-standard hyphenation (like ff to ff-f), alphabetic and additive
+typesetting, line breaking for Southeast Asian and CJK scripts,
+nonstandard hyphenation (like ff to ff-f), alphabetic and additive
counters, automatic selection of fonts and languages based on the
-script, etc. This means \pkg{babel} can be used to typeset such a variety of
-languages as Russian, Arabic, Hindi, Thai, Japanese, Bangla, Amharic,
+script, etc. This means \pkg{babel} can be used to typeset a wide variety of
+languages, such as Russian, Arabic, Hindi, Thai, Japanese, Bangla, Amharic,
Greek, and many others.
-And since these \texttt{ini} files they are easily parsable, they can
+In addition, since these \texttt{ini} files are easily parsable, they can
serve as a source for other packages.
For further details take a look at the \pkg{babel} package
documentation~\cite{32:babel}.
-
+\medskip
\begin{thebibliography}{9}
\fontsize{9.3}{11.3}\selectfont
@@ -885,7 +859,7 @@ documentation~\cite{32:babel}.
\bibitem{32:babel}
Javier Bezos and Johannes Braams.
- \emph{Babel --- Localization and internationalization}.\\
+ \emph{Babel---Localization and internationalization}.\\
\url{https://www.ctan.org/pkg/babel}
\end{thebibliography}