Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I feel as though I have been hearing about the LaTeX3 project for a very long time.

Why is it taking so long for it to come into fruition? Are there major technical difficulties, or is it purely a lack of developers that is causing a bottleneck?

share|improve this question
7  
Are you offering to help? :-) –  Will Robertson Aug 4 '10 at 3:21
6  
No, but that wasn't my question. It's like if I asked "What makes the Riemann Hypothesis difficult to prove?" I am not volunteering, but I'd actually like to know what is causing the difficulty, e.g. some branch of mathematics that is underdeveloped. I realise my question sounds like a complaint though. –  bryn Aug 4 '10 at 5:40
18  
A more useful rephrasing: what progress is being made in LaTeX3, what is left to do, and when is it estimated to come out? –  ShreevatsaR Aug 4 '10 at 7:08
4  
I don't see why this is subjective: there are definite reasons for the delays. –  Joseph Wright Aug 4 '10 at 7:26
1  
show 3 more comments

4 Answers

up vote 81 down vote accepted

Will has written a couple of short answers, I'll add a bit of detail.

There are several things that are wrong with LaTeX2e. Most obviously to end users, the kernel is rather inflexible. As a result, to get what you want you almost always need to load quite a number of packages, or do some low-level hacks of the kernel. That is not really ideal: I think most people would be happier not having to remember 'load package X to do ...' for every document they write. So the first challenge is to write a kernel which does many of the common tasks (such as those covered by KOMA-Script or memoir) without needing add-ons. The current aim is to include 'most of The LaTeX Companion': that is a lot of material.

The second challenge is that programming LaTeX2e is a mix of TeX, documented LaTeX, undocumented LaTeX and picking up stuff from packages. That is not a good thing: what is needed is documented system for programming. That is at least partly what expl3 is about: it provides a lot of lower-level programming material, although there is still lots to do.

The next things are 'big challenges' (we know how to do the two things above, it's just lots of work, whereas here I'm talking about things we have to work out how to do). Actually providing a way to make design and coding separate is not easy. The CSS model from HTML does not answer all of the issues we have in a typesetting system, so a new model is being developed (as xtemplate). There are then questions such as a better output routine, to allow things like grid typesetting, more complex column and float placement and so on. None of this is easy.

You also cannot ignore the fact that LaTeX is written by people in their spare time. There have been periods when the various people involved have had a lot of things on outside of LaTeX. It is pretty clear that some momentum was lost due to writing The LaTeX Companion, peoples jobs, other LaTeX packages, etc.

Put together, these issues mean that the project is very challenging. Looking at it today, both Will and I are active in trying to get the work done. We've both only joined the LaTeX Project relatively recently, and are putting in the serious effort that is needed. One of the aims of releasing material to CTAN as it gets to a stable state is to demonstrate that delivery is possible. For example, both expl3 and xparse are usable and do give real benefits.

One final point. LaTeX2e was released in 1994, and since then has acquired a lot of users. Even so, some people still use LaTeX2.09 concepts (such as \documentstyle). LaTeX3 will face a much bigger 'hill' than LaTeX2e did, and it will only succeed if the benefits are big enough to get a critical mass of users. To do that, we need to deliver on a lot of the issues with LaTeX2e. (See for example the 'there is nothing to improve' answer.)

There is always more that can be done, and I am focused on delivery (I don't want to load lots of support packages any more than anyone else does). One place to help out would be to work on documentation. We have some stuff, but we know that it needs improving. Feel free to drop the Project a line with offers of assistance!

share|improve this answer
5  
I like the sound of true separation of design and coding. I've thought for a while that journal class files really ought to just modify the design and leave the coding alone. –  Andrew Stacey Aug 4 '10 at 7:52
2  
I agree entirely. For that to happen, we need to provide sufficient flexibility at the coding level so that design changes don't need code alterations. At the same time, some people will still need new functions, so we also need to provide guidance that classes should only do design, with an accompanying package for code additions. –  Joseph Wright Aug 4 '10 at 7:59
1  
@JCL: Sorry about that, it is now fixed (the Project site has recently had some behind-the-scenes changes, and I got the link wrong as a result). –  Joseph Wright Nov 16 '10 at 16:59
2  
Hey, as I was reading that page, I noticed you point people looking for information to the usenet news group comp.text.tex. You should definitely add a link to this site, I think it's much more user friendly than a news group :P Perhaps you could also add a link to the help page? :D –  levesque Nov 16 '10 at 17:01
2  
"You also cannot ignore the fact that LaTeX is written by people in their spare time." Which makes me extremely sad. Many linux kernel developers today are employed and paid for that by some of the large firms that are interested in advancing its state and adding features they need. It is a system that works well: the kernel itself is free, but people are paid to work full-time on it. Similarly, there should be lot of publishers interested in investing on a better LaTeX; but what do we get from them? Just some crappy twenty-year old journal styles, incompatible with everything. –  Federico Poloni Feb 15 '13 at 19:08
show 6 more comments

When Don Knuth wrote TeX he wanted to create "just a typesetting language" but in response to use demand the macro language grew and grew. He also said that, if at the time he wrote TeX there was "a universal simple interpretive language that was common to other systems, naturally I would have latched onto that right away".

The future in my view is to use TeX or similar as (largely) just a typesetting language, and use another language (Python is my choice), and to largely drop the TeX macro language. After all, no-one except specialist write PostScript by hand today.

The LaTeX 3 project insist on doing almost everything using TeX macros, and the long-standing delay (already over 15 years) is proof not of the difficulty of the task but of the problems in the approach.

The other problem is that to make progress one has to let go of a large amount of legacy code. But this can be done, as is proved by ConTeXt.

share|improve this answer
    
In my answer I've tried to highlight the problems that are not at the coding end, as well as those that are. –  Joseph Wright Aug 4 '10 at 20:52
6  
I agree with your post, especially with the second paragraph. –  topskip Aug 5 '10 at 6:12
6  
I agree about the need for some basis other than Tex for serious users. But the Tex language is the lingua franca for the Tex community, and I think that expl3 will have value as a pidgin, beyond its importance for Latex3. –  Charles Stewart Aug 9 '10 at 9:46
add comment
  1. The LaTeX3 people don't need LaTeX3 to make their living. It's "just" a hobby, but it's not the final result that is inspiring them, but getting the best technique into latex3. The LaTeX3 guys are smart but technic guys (IMO, that is not meant to be negative!) So shipping in time is not a primary goal.

  2. LaTeX2 is "good enough". And for those who need more, there is always ConTeXt. So: who needs LaTeX3? (Needing something is a high motivation factor for getting things done quickly)

share|improve this answer
7  
As I say in my answer, I don't do things without wanting to ship. The point for me is writing things that other people can use, otherwise I'm wasting my time. –  Joseph Wright Aug 4 '10 at 7:29
1  
I said "shipping in time", not "shipping". Of course, every software engineer wishes to ship, but shipping in time is usually something someone else wants (marketing department, the boss, the userbase, ...). Of course we can argue what "in time" means. –  topskip Aug 4 '10 at 7:45
2  
See my siunitx package, where I'm always keen to ship 'as soon as I can', and to provide some idea of when that is via my blog. For example, for LaTeX3 I hope to look at the output routine, galley model and various low-level functions by the end of the year. –  Joseph Wright Aug 4 '10 at 7:54
add comment

To quote a wise man:

LaTeX 3 is immune to “potentially rather large resources” because the kind of horse you can hope to complete this course with is no longer bred.

share|improve this answer
3  
Considering the continual development of LuaTeX, ConTeXt, and numerous LaTeX packages, some of whose authors aren't really that old (including me!), implies to me that this quote should only be taken in jest and with a very large grain of salt! :) –  Will Robertson Nov 17 '10 at 9:10
4  
No, I'm not convinced. It is about TeX macro language developers, so LuaTeX does not count (that is engine development all in C, and by hard core long time TeX devotees anyway), neither ConTeXt does since most of the new development is actually getting ride of TeX code and replacing it by Lua (not as if Hans is that young TeX developer either), most new LaTeX packages does not count, merely trivial stuff that requires no deep TeX knowledge that is needed to fix the real issues LaTeX has, so this leaves us with few crazy young persons who think TeX programming is fun :p. –  Khaled Hosny Nov 17 '10 at 11:20
3  
Also, even that expl3 is real complex development, I'm yet to see it fixing a real issue, so I'd not count it either. So until there is a real LaTeX3 development that fixes real perceived problems, I think this quote really applies (I'm pretty sure the people who started LaTeX3 were young by then, now LaTeX3 is still nowhere and they are no longer young nor active doing it). –  Khaled Hosny Nov 17 '10 at 11:24
    
thanks for the quote. :) I count myself as a crazy young person who thinks TeX programming is (lots of) fun. So I'll go and offer my help :). –  Bruno Le Floch Jan 4 '11 at 21:00
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.