What's the current state of LaTeX3 (2020)?

At some time in the past there was a plan to create a new LaTeX3 format which would replace LaTeX2e in the same way as LaTeX2e replaced LaTeX2.09.

This plan has been changed. As mentioned around minute 20 in the talk of Frank Mittelbach at TUG 2020 (https://youtu.be/zNci4lcb8Vo), the new policy is to modernize LaTeX through "gentle refactoring" and there will be no new separate product.

This refactoring has already started. For example utf8 has been made the default encoding; at the begin of the year the expl3 code was integrated into the format; in October large parts of the xparse package were moved into the format and significant changes were made in various places to integrate more hooks.

So one could say that LaTeX3 is already here.

LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>

Disclaimer: The following is my personal opinion; I am in no way connected to the LaTeX3 development team.

There probably never will be a LaTeX3. At this point, the idea of a third version of LaTeX is becoming a joke. It’s been almost 30 years, and the expl3 layer doesn’t even provide replacements for important TeX primitives, like \vcenter, forcing package authors to mix up expl3 and 2e syntax. And then suddenly, instead of creating a workable preliminary version and finally end the package hell, it’s being decided that now is the perfect time to start remaking TikZ, in the form of l3draw. TikZ has been in development for about 15 years and has become a whole ecosystem of its own, with add-on packages and a gigantic community that knows the TikZ format inside out. Good luck recreating that from scratch with l3draw.

At the end of the day, I think what the LaTeX3 project has ultimately taught us is that TeX and LaTeX, as document formats for ordinary users, were largely a failure. They are simply too hard to use. Knuth imagined that each author would sit down and read the TeXbook and develop their own format, complete with their own output routines and macro systems. But this is not something most users have time or interest in. They just want to be able to write their documents in peace. Instead, LaTeX was intended as a workable compromise where the average user would only need to ever learn the top interface layer and leave the underlying machinery to the developers. But it became a mess of fragile commands being provided by a mess of obsolete packages that break themselves and each other. And the whole mess couldn’t be cleaned up because “thou shalt never break a document”.

Meanwhile, LaTeX has been around for so long now that it’s impossible to get anyone to move on to an entirely new format. Especially since whenever you submit a paper to a Springer journal, they still force you to use the obsolete mathptmx font package and the very painful BibTeX. I find it hard to believe anything will ever convince them to move on to a new format.

By now, I think it’s better to just wait for the world to move on. MathML is finally being implemented in the Chromium browsers, making it available in all major web browsers. The HTML + MathML combination is everything that LaTeX is not: It is an open and well-documented standard, it is consistent, it is portable and can be used across web pages and in ebooks. And importantly, it can be rendered by more than just one single, ancient piece of software. Finally, it can be written by any application you have lying around, including MS Word. If the TeX engines have a future in this world, it will be as converters of XML+HTML into printer-friendly PDFs, which is something ConTeXt seems to be already prepared for.


As a bystander, I find it interesting to read about the latest developments in Latex News, which comes out twice a year or so. If you've got Texlive installed, you can read it with

texdoc ltnews

It's every issue since 1994, so you'll want to scroll to the bottom to read the latest.

Otherwise, you can find it on the web: https://www.latex-project.org/news/latex2e-news/

Tags:

Latex3