The first LaTeX prerelease for 2020-10-01 is available for testing
A few days ago we have submitted a new LaTeX development format1 to CTAN and by now it should be available to all users using MiKTeX or TeX Live (on any operating system).
This format allows you to test the upcoming LaTeX release scheduled for 2020-10-01 with your documents or packages. Such testing is particularly important for package maintainers to verify that changes to the core LaTeX haven’t introduced incompatibilities with existing code. We try to identify any such problem beforehand, but such an undertaking is necessarily incomplete, which is why we ask for user testing.
Besides developers we also ask ordinary users to try out the new release candidate, because the more people are testing the new format, the higher the chances that any hidden problems are identified before the final release in February hits the streets.
Processing your documents with the prerelease is straightforward. All
you have to do is to replace the invocation command by appending
-dev
to the executable, e.g., on the command line you would run
pdflatex-dev myfile or lualatex-dev myfile or xelatex-dev myfile
instead of using pdflatex
, lualatex
or xelatex
. If you use an
integrated editing environment, then it depends on the system
how to configure it to use an alternative format; but in any case the necessary
modification should be straightforward.
Main features of the first prerelease for 2020-10-01
We have been quite busy (did Corona help?) and so already this first
prerelease contains close to thirty smaller and larger fixes and
enhancements. A full list is given in a draft version of ltnews32
which you should be able to read by running
texdoc ltnews32
on the command line (or by any other means available at your operating
system—somewhere there should be a file called ltnews32.pdf
that
you can open with a PDF reader). The draft version is also available from our website as
LaTeX2e News Issue 32 draft.
In this post I only touch two of the most important topics, but many others are worth exploring too, so please check that documentation out.
Providing xparse
as part of the format
In the previous release we added the LaTeX3 programming layer to the
LaTeX format to improve the loading speed when packages using expl3
are used (such as fontspec
or xparse
). In the upcoming release we
are now extending this support by integrating xparse
so that the extended
interface for defining document-level commands becomes available out of
the box.
This enables users and most importantly package developers to
easily define LaTeX commands with multiple optional arguments or
other syntax features with ease.
For details, check out the xparse
documentation, e.g., via texdoc
xparse
.
Improving the font series handling
In the previous release we extended NFSS (the new font selection scheme) to better support modern fonts that offer different font faces, e.g., condensed, semi-bold, etc., and make them work seamlessly with each other. Experiences with the extended interface showed that for some use cases adequate support was still missing or that in special setups the algorithms sometimes selected a wrong font series value. These cases have now been resolved and additional support commands have been added. For example, with
\IfFontSeriesContextTF{〈context〉} {〈true code〉}{〈false code〉}
you can now define commands that behave differently depending on the
current font series context. The 〈context〉 to check has to be specified
as either bf
or md
. The command then chooses the 〈true code〉
or the 〈false code〉 based on where it is used (e.g., inside
\textbf
(or \bfseries
) or not).
Outlook
We issue the first prerelease now in the hope that you will help by making sure that all the enhancements and fixes inside are safe and without any undesired side effects, so please help with the testing if you can.
We expect further extensions (currently under development) to be added in a second prerelease, in particular a general hook management system for LaTeX, so stay tuned.
Enjoy — Frank
-
The internal version number for the pre-release is
LaTeX2e <2020-10-01> pre-release-6
, the earlier prereleases just mirrored the patch releases we did for 2020-02-02. ↩