• The mythical LaTeX3

    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.
  • Engine news from the LaTeX Project

    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.
  • Tagging project progress

    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.
  • Get the Jag: from x-type to e-type

    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).
  • Uncertainties in siunitx

    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.
  • Mapping to characters

    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:
  • Math mode: $...$ vs \(...\)

    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
  • siunitx v3.1: complex values

    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.
  • siunitx v3.1 development

    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.
  • siunitx v3 successes

    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.

Full post archive