Is a successor for TeX/LaTeX in sight?

Mnementh picture Mnementh · Nov 20, 2008 · Viewed 36.8k times · Source

TeX/LaTeX is great, I use it in many ways. Some of its advantages are:

  • it uses text files, this way the input-files can be diffed and many tools exist to work with text
  • it is very flexible
  • it has a stable layout: if I change something at the start of the document, it doesn't affect other things at the end of the document
  • it has many extensions to reach different goals (a successor would start without extensions, but would have a good extension-system)
  • you can use standard build control tools to support complicated documents (thanks dmckee)
  • you can encapsulate solutions and copy&paste them to new documents or send them to others to learn from (thanks dmckee)

But on the other hand some little things are not so good:

  • it is hard to learn at the beginning
  • it is complicated to control position of images
  • a few things are a little counter-intuitive
  • sometimes you have to type too much (begin{itemize} ... \end{itemize})

So, does there exist a successor/alternative to LaTeX or at least is some hot candidate for an alternative in development. A real successor/good alternative would keep the advantages and fix the disadvantages, or at least some of them.

Answer

ShreevatsaR picture ShreevatsaR · Nov 20, 2008

There is a LaTeX3 project that has been going on for basically forever. In that sense, it is a successor to the current LaTeX2e.

You forget/ignore the primary goal for TeX when it was created -- "TeX is a new typesetting system intended for the creation of beautiful books". The goal of TeX was typesetting, and its primary concerns were things like "Breaking Paragraphs Into Lines" (Donald E. Knuth and Michael F. Plass, Software--Practice and Experience, Vol. 11, pp. 1119-1184, 1981), ligatures, kerning, beautiful fonts (Knuth worked with Hermann Zapf in creating typefaces like AMS Euler), and precise control over layout of text on a page.

LaTeX was a later set of macros built on top of TeX that introduced "document management" capabilities like automatic numbering of equations and sections, cross-referencing, and so on. It goes by "LaTeX: a document preparation system".

One can very well imagine successors to LaTeX, alternatives that offer LaTeX's document management capabilities, and perhaps do it better -- like DocBook. (Well it's based on XML, but...) But it is hard to imagine alternatives that will replace TeX, the typesetting engine itself. TeX is probably among the programs with the least number of bugs in it -- Knuth offers $327.68 for every bug found in TeX, and has done so for a long time. A lot of thought has gone into it, with Knuth's characteristic pursuit of perfection. Every aspect of it is configurable, the code is public domain (well except for the restriction that if you make modifications you must call it by some other name -- this is because of TeX's goal that the same TeX file typeset on any machine anywhere in the world should produce an exactly identical-looking document forever into the future), and books have been written about TeX: The Program itself, and also about all the bugs that were discovered in TeX.

Some of TeX's ideas have been incorporated into Adobe's Indesign (for example), and those typesetting engines too have some innovative ideas, but TeX still remains superior. [Note: Knuth didn't intend TeX to be the standard forever, only "for the next 100 years or so" until something better comes along. For all we know, one might.]

There are TeX-based alternatives to LaTeX, such as ConTeXt and LuaTeX. It is possible that there are tasks for which they are better suited.

To answer your other objections: Although LaTeX has possibly introduced more complexity than is necessary, the TeX part of the learning is unavoidable -- if you want to create beautiful books there are some things you have to know, no matter what. And it is not hard to control position of images; TeX was designed to give you control over every point on the page, but to exercise that control you may have to go beyond the simple constructs (although I've never had to...) And if you use a good editor or macros, you won't have to type too much \begin{itemize} ... \end{itemize}; that's just a lame complaint :P