When the LaTeX Project team took over
maintenance of LaTeX from Leslie
Lamport, LaTeX2e was
planned as an intermediate release to resolve immediate issues with the
then-current LaTeX2.09. The ‘e’ (or properly ε) was meant to indicate a small
change from LaTeX2.09, with longer-term plans centred on LaTeX3. As we know,
that proved rather hopeful, and we are still using LaTeX2e today: at least,
that’s how it still announces itself.
The latest release of LaTeX went to CTAN on Friday, and
moves us forward in truly automatic tagging for PDFs, particularly for
mathematics. As part of the work, we have been looking at the capabilities of
different engines. Here, I want to summarise what users should take from that
for existing and for new documents.
The LaTeX Project have been working for about
4 years now on creation of automatically tagged PDFs from (more-or-less)
unmodified LaTeX documents. We’ve been reporting regularly in LaTeX News, and
things are moving forward nicely.
Controlling expansion has been a key part of expl3 from day one. A basic
expl3 function name such as \foo:nn shows how many unmodified braced
arguments it takes: so called n-type arguments. We can then create variants,
which can lead to expansion only once (o-type), to the value of a variable
(V-type) or to the value retrieved by constructing the name of a variable and
then finding the value (v-type). We can do the same with single-token
(N-type) arguments, which are often themselves functions and can be given as a
constructed name (c-type).
Right from the first version, siunitx has supported uncertainty values in
numbers. Uncertainties are a key piece of information about a lot of scientific
values, and so it’s important to have a convenient way to present them.
It is quite natural to think that separating a word up into individual
characters is quite easy. It turns out that for the computer this isn’t really
the case. If we look at a system that understands Unicode (like XeTeX or
LuaTeX), most of the time one ‘character’ is stored as one codepoint. A
codepoint is a single character entity for a Unicode programme. For example, if
we take the input café, it is made up of four codepoints:
A topic that comes up for many LaTeX users is how best to mark up math mode in
sentences: inline math mode. LaTeX offers three (!) official ways to do that
I mentioned recently that I’m working on
features for siunitx v3.1. One area that I’ve
now been able to commit is improvements to handling complex values.
I’ve now done 49 (!) minor releases of siunitx
on the v3.0.x branch. These have addressed quite a few minor bugs: I expected
to have to do a bit of work since the shift from v2 was quite major.
The third major release of siunitx was out in
May, after the TeX
Live 2021 DVD. That means it’s been picked up
primarily by more active users: people who install TeX between the ‘fixed’ DVD
releases (or who use MiKTeX). It also didn’t initially
appear on Overleaf, as they take a while to test TeX
Live images before making them public.