23

I have some questions regarding the different versions of LaTeX.

  1. Is LaTeX3 fully backwards compatible?
  2. Is LaTeX2(e) deprecated?
  3. Which version of Latex do I get when I install MiKTeX or TeX Live? 2 or 3?
  4. What new features are added in LaTeX3?
Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036

1 Answers1

43

There is no LaTeX3. At least in October 2022 when this answer is being written. And there will be no LaTeX3 in the next few years, if ever.

For several years, LaTeX kept on version 2.09 (the last one authored and maintained by Leslie Lamport). However developments were necessary in order to improve font access and to allow integration of AMS-TeX in LaTeX. So Lamport handed maintenance to a team led by Frank Mittelbach and in some time a definitive version of LaTeX was issued, called LaTeX2ε. The ε was meant to denote that such version was final apart from bug fixes (it's a mathematical joke, because ε is used to denote the first uncountable ordinal, so something which is, in some sense, unreachable). This was in 1995.

Work on a future version of LaTeX, called LaTeX3, started soon thereafter, but was stalled for a long time because of hardware limitations: still in the first years of the third millennium, personal computers were too slow in order that an implementation of the (very neat) ideas of the team could reasonably work.

As years passed, hardware limitations faded away and, also due to recruiting new team members (notably Joseph Wright and Bruno Le Floch), development restarted.

The idea was that LaTeX3 should be based on a “new programming layer” that was made more efficient and powerful. On the top of this layer, the kernel and packages could be written more easily and avoiding clashes, by providing tools for the most common needed structures. (When reading package code, one is often surprised of how many times the same programming tool is recreated, with different names; and sometimes in ways that harm other packages.)

In the meantime, LaTeX2ε got developed, because of new needs (think to Unicode support and to the new engines pTeX, XeTeX and LuaTeX, for instance). And more and more packages were contributed on CTAN.

A “pure” LaTeX3 kernel would make loading LaTeX2ε packages without changes nearly impossible unless such kernel has all of the LaTeX2ε kernel incorporated.

So, a few years ago, the team decided to abandon the idea of a brand new LaTeX3 and to gradually integrate the new programming layer (now called expl3) in the LaTeX2ε kernel.

Nowadays, more and more packages exploit the expl3 programming layer and the trend will increase in the future.

To answer your questions:

  1. there is no LaTeX3;
  2. LaTeX2ε is state-of-the-art;
  3. you get the only version available, that is, LaTeX2ε;
  4. every six months, new features and bug fixes are being added to LaTeX2ε; you can consult ltnews (texdoc ltnews) to find them and to get pointers to renewed documentation. The team is always very careful not to introduce backwards incompatibilities.
egreg
  • 1,121,712
  • I take it, whenever LaTeX3 is mentioned, they are referring just to these extensions, then? Example: https://tex.stackexchange.com/questions/470107/incompatibility-of-fix-in-latex3-latex2e-in-respect-to-unmaintained-tabu-packa (also an example of the team breaking compatibility; arguably, justifiably so, given how the package was written, I suppose) – Tim Williams Oct 11 '22 at 12:00
  • 2
    @TimWilliams Well, tabu is quite special: its author was fond of changing the definition of kernel or other packages' commands. Of course, this means that if the team decides to modify a kernel command and the author of tabu doesn't fix for the change, everything will go awry. Maintenance of tabu has stopped more than 10 years ago. – egreg Oct 11 '22 at 12:09