11

Possible Duplicate:
Why are there no alternatives to TeX, or, why is TeX still used?

My problem with the current version of (La-)TeX is that it's pretty brittle. Some documents run well on different systems, others don't work at all. It's hard to make sure the necessary fonts and macros are available. Some flavors of TeX support TTF fonts, others don't. Installing fonts for TeX either works or it doesn't - if it doesn't work, there is little that John Doe can do.

Distributions like MiKTeX and TeX Live try to make this a little bit less painful but they also don't auto-heal (like automatically downloading macros needed by a document), error messages are often completely useless to anyone but a TeX pro.

So I understand that this is a heretical question here but: Is there a successor for TeX? Or an alternative?

There was an effort to rewrite TeX in a more model programming language like Java. What happened to that? Or to use XML as input format to get rid of the odd bugs introduced by escaping and quoting?

  • 3
    I just wanted to point out that "automatically downloading macros needed by a document" is not a trivial problem: some macros might be defined in several different packages. What would be nice is automatic downloading of packages from CTAN. I believe MikTeX does this? (Or did I dream that?) – Seamus May 16 '11 at 13:28
  • 1
    No, there is no successor of TeX. There is the LaTeX3 project which tries to make some things easier, but it still builds on TeX of course. See the answers for the above linked question for some of the good reasons why (La)TeX is still around. – Martin Scharrer May 16 '11 at 13:31
  • 1
    @Seamus: Yes, MikTeX does install packages used by a document automatically if configured to do so. With TeXLive a tlmgr install scheme-full fixes these issues as well. HD space shouldn't be really an issue nowadays. – Martin Scharrer May 16 '11 at 13:32
  • @Martin Scharrer: I don't want to know what's bad about TeX, I want to know what other options are. My hope is that someone here used TeX for years like me and stumbled over something that also works as well. – Aaron Digulla May 16 '11 at 13:33
  • @Aaron Digulla: In this case I would ask about "Alternatives to TeX" not about a "successor". The first group must also allow you to get approximately the same results while the latter would need to support everything what TeX does and this in a better way. – Martin Scharrer May 16 '11 at 13:37
  • The java reimplementation is called NTS, see for example the wikipedia article. and it is now mostly abandoned. Basically, deciding that NTS had to be 100% compatible with all of TeX's quirks meant that it took too long to program so that it was obsolete by the time they were done, and they couldn't really use java to build a proper OO design, which was the original idea for making TeX more extensible. – Lev Bishop May 16 '11 at 15:45
  • You can use XML input notation if you want. – Aditya May 16 '11 at 15:55
  • Well, there are lots of companies that want to sell you desktop publishing software and document processors. – Caramdir May 16 '11 at 16:32
  • For those who care: The correct answer to this question is ExTeX (http://www.extex.org/index.html) and (to a lesser extent) luatex (http://www.luatex.org/). I'd post that as an answer if the question hadn't been erroneously closed as duplicate. – Aaron Digulla May 17 '11 at 07:59

2 Answers2

19

The alternative to TeX is Microsoft Word. Good luck with that.

My problem with the current version of (La-)TeX is that it's pretty brittle. Some documents run well on different systems, others don't work at all.

Backwards compatibility of Word documents breaks after a few release cycles. LaTeX has been stable for 25+ years.

It's hard to make sure the necessary fonts and macros are available.

Word doesn't search for fonts either. That's a operating system issue.

It's not hard to make macros available. At the very least all you have to do is put the package file in the same directory as the document file. Every distribution also comes with a default user location to put macro files.

Some flavors of TeX support TTF fonts, others don't.

So...use the ones which do?

Installing fonts for TeX either works or it doesn't - if it doesn't work, there is little that John Doe can do.

On my machine I double-click a TTF font and the OS installs it in my font library. XeLaTeX finds that font with zero problem.

Distributions like MiKTeX and TeX Live try to make this a little bit less painful but they also don't auto-heal (like automatically downloading macros needed by a document),

There aren't macros in word files like in TeX files, but Word doesn't auto-heal either. If the file uses fonts that aren't on the machine, it won't get them automatically.

error messages are often completely useless to anyone but a TeX pro.

The h command at a message provides the best possible guess to the source of an error. But the same objection could be given to many languages.

There was an effort to rewrite TeX in a more model programming language like Java. What happened to that? Or to use XML as input format to get rid of the odd bugs introduced by escaping and quoting?

By "odd bugs introduced by escaping and quoting" you mean in users' input files? That's not the fault of TeX, and changing the input file format is not going to fix PEBKAC errors. The TeX developers have fixed 9 bugs in 10 years.

Maybe this is a bit of a strawman argument since you didn't propose Word as a substitute, but I don't think your objections are unique to *TeX or warrant replacement.

Matthew Leingang
  • 44,937
  • 14
  • 131
  • 195
  • And when Word does find a font it only makes partial use of it. Until the latest version, Word could make nothing of ligatures or variant number forms. Even the latest version will still fake small capitals even where the installed font provides real ones. It's worth bearing in mind that the leading commercial word-processor is still not really "finding" big chunks of a font in the modern standard form, if "finding" means "making usable". – Paul Stanley May 16 '11 at 16:43
  • I once was unfortunate to program in PHP and I got this error "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM!" At least some of TeX's cryptic errors have some humor! – yannisl May 16 '11 at 17:31
  • Example for error messages: Package CJK Error: You can't use \Unicode here. Why not? And how do I fix that? "H" doesn't help. The problem is that the basic system itself isn't as approachable as, say, Twitter. I understand that TeX is a bit older than Twitter but it's 2011 and I think it's time to make TeX a lot more simple to use. The H2 database, for example, prints links in its error message where you can find a Wiki with more information. – Aaron Digulla May 16 '11 at 20:20
  • The odd bugs are stuff like "o (german umlauts) which broke hyphenation in Babel when I use TeX the last time. Or the sad -parties to protect something from being expanded prematurely. That TeX hasn't fixed many bugs means it's stable software but it doesn't make it user friendly. You seem to be someone with years of TeX experience but Word can be used by a 10 year old. The result of Word will still look hideous but a 10 year old can't cope with the complexity of TeX. It's a real pity. – Aaron Digulla May 16 '11 at 20:23
  • At least lua*tex seems to be a big step forward with the direct Unicode support in the input file without struggling with inputenc, fontenc and all that stuff. It would be great if the TeX macro expansion was replaced with something that expands at well defined places so you never need to escape or quote anything and a lot of the complexity would be gone. – Aaron Digulla May 16 '11 at 20:27
  • I don't think there is is real alternative to LaTex in terms of output quality! But I do think that the LaTex markup is outdated! I prefer writing my documents in reStructuredText (rST), and convert them via Sphinx to LaTex. To ease this process I wrote even NoTex (available at https://notex.ch), which allows you to write your manuscripts in rST, and the back-end facilitates the power of LaTex. – hsk81 Mar 04 '13 at 08:01
  • @hsk81: How do you write math in rST? – Matthew Leingang Mar 04 '13 at 18:31
  • @matthew-leingang :math:'E=mc^2' is a simple way to do it (replace the apostrophes with a backtick); the formula itself is actually LaTex. For complicated formulae rST offers a substitution mechanism, e.g. you write (1st) .. |E=mc²| replace:: :math:'E = mc ^ 2' and then you can keep referring to it simply with |E=mc²|. The output is same like with LaTex, and you can render this even in HTML (thanks to MathJax) to superb looking formulae. You can test this on https://notex.ch! – hsk81 Mar 05 '13 at 05:40
  • @hsk81: I've used rst with latex markup before. I wrote an rst plugin once to convert the math bits from TeX to HTML using TTH in the pre-MathJAX days. The point I was trying to make is that, far from outdated, LaTeX markup has withstood the test of time and other applications in which you can author math incorporate it. – Matthew Leingang Mar 06 '13 at 03:11
  • @matthew-leingang The math markup of LaTex is fine; it get's the job done. But you can't seriously compare rST's natural flow to LaTex: E.g. I've just emphasized natural using rST (stars), and to achieve the same effect in LaTex you need to write \emph{natural} .. and this is the most basic example to demonstrating rST's simplicity and elegance compared to LaTex. I exclusively use rST to write content, but fancy layout/design is the job of LaTex: The content is the domain of rST and presentation is handled by LaTex. An analogy: HTML (for structure/content) & CSS (for design). – hsk81 Mar 06 '13 at 16:01
  • I see. I'll concede that markdown formats are easier to write than markup formats apart from actual math typesetting, if you'll agree to type LaTeX properly. :-D Then we should close this discussion since it's not really related to the question or the answer. – Matthew Leingang Mar 06 '13 at 16:19
6

I don't want to know what's bad about TeX, I want to know what other options are.

I am afraid none. The closest you will get is perhaps, InDesign by Adobe. The rest don't even come close to compare with TeX.

There are few programs that survive 30+ years of use. Most well written programs have an extensible architecture that keeps on morphing to the user's requirements. TeX is such a program. It takes time to learn how to program it using its built-in macro language. Here I agree with you that life could have been made easier, if some computer constructs were built-in. LuaTeX currently provides these and I am confident it will close the gap in the next couple of years.

I can still print my original PhD Thesis written in the eighties using TeX. It was typed in Turbo Pascal's text editor on an HP9816 computer with TeX. It still prints as nice as then (except all the pictures and graphs were painfully pasted in - due to lack of memory when using the picture environment). TikZ has closed this gap now and is typical of how community driven software on top of a good base can grow and evolve over the years. At the time I had a choice Wordperfect or an IBM typewriter with a maths golfball! I would still be typing.

yannisl
  • 117,160
  • I wrote my Master Thesis with TeX as well (~400 pages) but it doesn't compile anymore. Some of the macros aren't available anymore and I had to overwrite quite a few of them to work around problems in the layout. I was more happy than I'd have been with Word or similar tools but I feel that things could be better :-) – Aaron Digulla May 16 '11 at 20:28
  • @Aaron All your comments are valid criticism of TeX's user friendliness and I would also be happy to put \expandafter in a museum, but is the best we got. This type of software does not render itself easily to a UI. The C code is available one could add easily add a front using either C++ or QT, but it would need a steep learning curve again and would probably have hundreds of buttons. HTML had and has similar problems and is much less complex, when it came up people tried to build interfaces for it Dreamweaver etc, guess what the ten year olds are using, fancy IDE text editors! – yannisl May 17 '11 at 01:46
  • 2
    HTML is much more complex than XML because many rules are optional. For example, in HTML, you can omit the closing element or even have overlapping elements (like <i>a<b>x</i>y</b> - yuck). The W3C validator will probably complain but most browsers will render it nonetheless. And after my experience with SO markup, I'll never again try to build a WYSIWYG editor. What we really need is a markup as powerful and clean as XML and as compact as in a Wiki. – Aaron Digulla May 17 '11 at 07:25
  • 1
    @Aaron For this I agree with you 100%. What we need is a good mark-up language. XML is not for humans and HTML is both difficult and as you said problematic. Wiki type mark-up is the way to go and can easily be parsed. – yannisl May 17 '11 at 08:01