The Spring 2021 LaTeX release is available

This year Spring in LaTeX’s counting is somewhat delayed, but this fits the weather—at least here in Germany were we had April weather throughout most of May. We plan to keep it this way in future releases: a first release in May/June and a second release around November as this better fits with the release cycle of the TeXLive distribution.

The focus of this release is to provide further important building blocks for the future production of reliable tagged PDF output (see the article LaTeX Tagged PDF — A blueprint for a large project that describes the project we are engaged in); these enhancements are discussed below.

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. We have also included four public hooks to enable adding code to paragraphs in a controlled manner. The documentation on this is available as ltpara-doc.pdf.

These hooks will enable us to automatically tag paragraphs and enables us to identify when paragraphs are broken across columns or pages, because those need special handling in tagged PDF.

Extending the hook concept to commands

With this release we extended the set of “generic” hooks to commands: in theory each document-level command has now two hooks cmd/<command>/before and cmd/<command>/after in which packages (or the user in the preamble) can add code using the hook management machinery.

If you know the etoolbox package, then you can think of them as being similar to the use of \preto and \appto from that package, but with the difference that if different packages try to do that, the added code chunks can be controlled and ordered as needed using the hook mechanism. The documentation for this functionality can be found in ltcmdhook-doc.pdf.

In practice, not all commands can accept such generic hooks: some (especially those that take optional arguments) will break if you try using an /after hook with them. However, many will and that allows us in the future to easily patch the many commands to enable tagged PDF without touching or updating package code.

A large number of other enhancements and corrections

There are many other enhancements and corrections that we documented in the ltnews article for this release (and a few very minor ones that only made it into the changes.txt file). The most important ones from a user perspective are:

  • Further improvements of file name parsing; in particular we made the parsing much faster again (it got a little slow with the functional enhancements we introduced in the last releases)
  • Better handling of font series and font shape changes
  • Improved copy & paste from documents produced with pdfTeX

But read the whole ltnews article because there may be other gems that are useful for you.

Where to learn more …

The new features and most of the important bug fixes made in this release are documented in “LaTeX2e News Issue 33”. This document can be found on the LaTeX2e news page where you will also find release information for earlier LaTeX releases.

Happy LaTeXing — Frank