# Abandon LaTeX2e for LaTeX3 or LuaTeX

I think my question is: Should I abandon pdflatex, possibly for xetex or context, and a TeX/LaTeX based macro writing approach, possibly for a LuaTeX or LaTeX3 based approach?

Possibly relevant to the answer is that I am an academic who exclusively uses the English language and a lot of math. I have been using TeX on and off for a number of years. I am happy using TeX to create all my documents (papers, presentations, letters, etc.), new macros and even simple packages (although the whole literate programming and documentation thing is beyond me). My macros tend to use both TeX and LaTeX macros. I used to create DVI files by compiling with latex but now I use pdflatex to create pdf files. The change from EPS to PDF figures and the loss of pstricks took some time for me to get used to, but I am now happy with the change. Recently, I gave up BibTeX for Biber and BibLaTeX and am very happy. I am willing to put in the time to learn LuaTeX/LaTeX3/ConTeX if there are advantages.

-
We've had some questions on this general topic before. Take a look at for example at Why do I need Lua or LaTeX3 in a plain old technical document?. Also relevant is Differences between LuaTeX, ConTeXt and XeTeX. –  Joseph Wright Jun 12 '12 at 8:52
It depends quite considerably what you want to do. I've been slowly making the switch and the key word is "slowly". I still use pdflatex and latex2e stuff, but am gradually using more and more xelatex/lualatex and latex3 stuff. –  Loop Space Jun 12 '12 at 9:02
@JosephWright Thanks a lot for linking the related questions. They've led me to LaTeX3 versus pure Lua, which I had recently wondered about. –  dgs Jun 12 '12 at 10:16
I think that pdflatex users will start making an en masse switch to lualatex only when there's a "killer package" that's only available in lua(la)tex and that's so compelling as to make it worth incurring the switching cost. –  Mico Jun 12 '12 at 10:52
do you submit articles to journals, or publish books with those publishers that use latex? please consider their requirements before making an irreversible decision. –  barbara beeton Jun 12 '12 at 12:55

I'm going to expand on my comment and turn it into an answer.

I take issue with the word abandon in your question. Using xelatex and latex3 does not mean that you have to abandon pdflatex and latex2e. It is entirely possible to use them alongside each other. The differences at the document level are such that it is relatively straightforward to remember "This is a pdflatex document" and "This is a xelatex document". I do my lectures with xelatex because I want to be able to use unicode-math. I tend to write my articles with pdflatex - see below - though for the fun of it I tried an article with xelatex and using unicode symbols and really quite liked the readability of the source code.

So when there's functionality that I would like to make use of, then I'm happy to use xelatex or lualatex or latex3. If I don't need them, then at the moment I'll probably not use them so that I keep my options open. As I see more "here's what you can do" on this site, then I find myself more and more using them to make use of what I learn here. Some is a bit silly (such as my use of unicode-math) but others are more serious.

The one thing that I really don't take any notice of is the compatibility with journals or the arxiv. This is for two reasons:

1. If a journal actually accepts my article then (within reason) I'm happy to modify it to suit their bizarre style requirements (and before you ask, all journals have bizarre requirements).

2. Before a journal accepts my article then I'll not know what bizarre requirements I'm going to have to meet so I'd rather make my life easier here and now than try to guess what I might have to do when it is accepted.

The point of that second one is that I spend a lot of time writing an article. I'm often doing the maths as I actually write it because it is often only when I see it written down that I see whether or not my argument worked - when it's in my head then I gloss over all the technicalities. So it's not "prove result then write article" it is "prove result while writing article". This means that the writing stage is longer and more involved than if I worked the other way and so it is all the more important that the writing be easy and not get in the way. So being able to make use of great tools and stuff is more important than not annoying some future copy-editor.

So if you see an example of something on this site and you think "That would be just perfect for what I'm trying to do", don't let the fact that it uses xelatex or lualatex or latex3 put you off. Just think of it as another LaTeX package that you use for some of your documents, but not all of them. It's no big deal.

-
Fair enough, I don't have to abandon them, but then again I have abandoned DVI output, pstricks and BibTeX. From what I have read I could imagine writing all my macros in LaTeX3 and compiling everything with xelatex (I am not sure where Lua fits into this for me). Stability and compatibility are issues, but not that big for me. –  StrongBad Jun 12 '12 at 19:29
@DanielE.Shub My point was that it doesn't have to be a sharp cut-off. I also can imagine doing that, but to do it properly I ought to rewrite a fair number of my "home grown" macros and whilst they desperately need such a rewrite, I have better things to do with my time. So I'm making the change gradually, and finding it quite pleasant so far. –  Loop Space Jun 12 '12 at 19:59

If you want to publish in academic journals, you need to be sensitive to what new TeX related goodies their setup can handle. For instance, I've had to regress from BibLaTeX to BibTeX because a journal couldn't handle it. Likewise, I'd expect that LuaTeX or ConTeXt might not fit well into the workflow of a journal. I'm sure there are people here who know more about this sort of thing, and it probably depends on your field. (There are journals in my area that accept submissions in Word only! Sigh)

There's also the worry that collaborators will have older TeX distributions, and so you may encounter friction when trying to work with others. My university's computers seem to still have an old distribution which doesn't include many packages I would otherwise use. (This doesn't affect me since I use my laptop, but when I'm working with others, I need to go down to their level).

In short, feel free to move towards the new stuff for your own documents, but be aware that journals and collaborators might be less keen on staying cutting edge.

I think it is perhaps worth making a comment or two in response to the discussion in comments on this and Yiannis' answers. There are good reasons for journals and big university-wide computing set ups to avoid the cutting edge technologies that we are fond of on this site. As Barbara Beeton mentioned, stability is key. LaTeX2e is stable. The bugs have been ironed out, and packages like fixltx2e fix a few remaining oddities. Moving to a system involving components under active development (e.g. LuaTeX, BibLaTeX…) would mean frequent breakages and things like that; things that publishers can't afford to deal with.

-
hear, hear! please see my comment to the answer by Yiannis Lazarides. i can't give a schedule, or even a target date, for an amsmath (overdue) overhaul, but can assure you that the latex3 team will be consulted when it's time. stability is key in journal (and book) production. –  barbara beeton Jun 12 '12 at 12:53
@barbarabeeton Stability comes up a lot in these discussions. If you want absolutely stable, then you have to stick with LaTeX2e: the fact that an awful lot of packages rely on LaTeX2e internals means that there is no way then can work with anything which emerges as a LaTeX3 kernel. So the issue then becomes how one manages to allow improvements while still supporting existing documents. I've had a few ideas on this, but we are far from being at the stage where it's sensible to try to implement any possible mechanisms. –  Joseph Wright Jun 12 '12 at 13:20
@JosephWright -- we record for every published document the versions of (la)tex and all packages used, and these will be used again if reprocessing occurs; everything is archived. at some point, there will be a switch to newer versions/implementations, and there will be a period during which multiple versions will be active. but getting there isn't trivial, and requires planning, as well as time -- and, at the moment, time is the critical resource. until a revised system is ready to roll, we need to keep production moving. –  barbara beeton Jun 12 '12 at 13:37
So why are there no new features accommodated in LaTeX2e kernel? Is it a question of who has the time to do it? –  Ahmed Musa Jun 12 '12 at 19:11

Although these issues were discussed earlier here are some pointers, from someone that has been using TeX/LaTeX since the middle 80s.

1. The knowledge you build with TeX/LaTeX and friends is additive. What you have used as plain TeX commands, your \defs and similar can be used today with all of the above variants. Similarly for all the LaTeX commands and yes your pstricks knowledge can still be used with pdfLaTeX.
2. The new variants such as XeLaTeX offer advantages in some areas especially font management. If you are using special fonts and UTF8 typing it will pay you to migrate. In many cases it is as simple as adding a few lines on top of your normal LaTeX/pdfLaTeX file.
3. LuaLaTeX is not as yet production stable and personally cannot see any reason to use it on a daily basis unless you need fancy calculations, iteration and other complicated macros.
4. LaTeX3. Portions of it are stable and can be used to-day in peaceful coexistence with LaTeX2e commands. You cannot as of to-day say I will only use LaTeX3 as it is still incomplete (it has no kernel as yet - that compares to LaTeX2e or offer any of the standard classes in the new syntax).
5. ConTeXt is a great system but for whatever reason is not as popular as the other variants. Personally I don't use it as I still get lots of installation problems on Window machines.

My general advice (especially for maths) is to stay with pdfLaTeX or XeLaTeX and you good for the next 10 years (I cannot see amsmath migrating to LaTeX3 any time soon). It is harmless though to keep your ears on the ground and try some of the new things. For example xparse from the LaTeX3 suite has a lot to offer as well as all the sequence macros, as they can save you a lot of programming time.

I personally use pdfLaTeX for my daily engineering documents and for its intellectual stimulation since the late Martin Gardner's column in Scientific America stopped being published!

-
At the moment, deciding on what we need in the kernel and what should be an add on is still 'ongoing'. Frank has suggested that 'all of The LaTeX Companion' should be the target, so there is lots to do. I'm pretty sure we need to do all of the math stuff in amsmath, plus breqn (probably as optional functionality). –  Joseph Wright Jun 12 '12 at 10:06
About LuaTeX is not production stable: I make most of my living from using LuaTeX in production environments. But I might not be the classic TeX user here. –  topskip Jun 12 '12 at 10:20
@PatrickGundlach You are not the classic TeX user here for sure. About the stability that is the claim on LuaTeX's website and on the lists, maybe it is time to change it? –  Yiannis Lazarides Jun 12 '12 at 10:30
I think it's time to change. It might not be as stable as TeX the program or LaTeX2e, but I doubt that there are much user visible changes in the future. –  topskip Jun 12 '12 at 10:38
@JosephWright -- please see the answer by Seamus. if i could upvote that multiple times, i would. it's quite nontrivial to change or migrate a journal production system to a different base; at least the ams system isn't going to change for at least several years, and even if all amsmath facilities are included in the latex3 kernel, if anything changes in the user interface, the resulting manuscript wouldn't be acceptable, but would have to be either revised (by the author) or rekeyed (by a contractor) before publication. not a pleasant prospect. –  barbara beeton Jun 12 '12 at 12:49

I believe that the killer features for LuaTeX will come. The first one (shared with XeTeX) is surely fontspec which lets you easily select any system font you have. There are a few rough edges (for example how to find the font name) though. More and more fonts will be OpenType fonts and the more OpenType fonts we have, the greater the need for XeTeX and LuaTeX is.

Other small things will be that depend on postprocessing your input, for example http://tex.stackexchange.com/a/28128/243 which prevents one letter words on the end of lines (useful for the polish language for example).

This should be a smooth transition. Many times you can just take your PDFTeX based source and run through LuaTeX and you will have almost the same output. There are a few differences between LuaTeX and PDFTeX, so don't expect identical results.

Other than that, I don't see a reason to switch to ConTeXt, unless you have documents where you have difficulties typesetting them. ConTeXt is really great with some documents, but there is never a need to switch (same for the opposite direction ConTeXt -> LaTeX) if "every thing is just fine".

And with LaTeX3: it is mostly behind the scenes. The LaTeX 3 team does great work providing interfaces that package developers can use, so you can expect better packages in due time. But these will probably have the same easy to use commands as before.

-
Some people (for example Karl Berry) worry about system fonts as using them makes it a lot easier to break document portability than is the case with pdfTeX. So that's another thing where there is a difference between 'documents for your own use' and 'documents to be sent to a third party'. –  Joseph Wright Jun 12 '12 at 13:21
@JosephWright you're right of course. But there is a non negligible percentage of TeX users that don't submit documents to a third party. For my business applications I always bundle the fonts in the project directory, so they will never change. –  topskip Jun 12 '12 at 13:54
I think the benefits far outweigh the issues in terms of fonts, so I'm not complaining. (I never submit my files anywhere, after all). –  Joseph Wright Jun 12 '12 at 14:43
@JosephWright: Moreover, system fonts is just one (side)effect of being OpenType capable, there are far many benefits of moving to OpenType other than being able to use system fonts, and OpenType fonts can very well be served through regular TeX file lookup. –  Khaled Hosny Jun 12 '12 at 17:57
With system fonts (I should have expressed myself clearer) I mean non-TeX fonts (with these nowhere-else-used-tfm-vm-pk-files) –  topskip Jun 12 '12 at 18:03