Why I hate LaTeX [Rant warning]

Posted on June 13, 2012


I hate latex. And when i say that, i really mean hate. It makes me rant and rave and foam at the mouth in anger.

Where to begin – it just ridiculous I don’t even know where to start.

So let’s start with my experience with latex. Let me be up front: have have never written a complete document in LaTeX.
I have got so far as installing a latex package and trying to create simple documents. But the system enraged me so much I couldn’t continue. How are you supposed to work when your editor makes your blood boil.

So here’s the first thing. I install latex. Already it’s over 1GB to install. Why? No idea. I launch the bundled editor and try to write something. Ok so to start with I have to copy paste some boiler plate code. Why isn’t this automated? Fuck knows. Then I want to render a preview. So let’s go to the preview window in the app.
Oh right: there isn’t one. I have to open my file in a separate pdf viewer. And I have to manually re-compile when I change something, and manually reload it in the viewer.
At this point I scream at my computer:

If this was some alpha software I might understand this kind of thing. But LaTeX has been around since the 1980s and in 20 years of existence NO ONE FELT THE NEED TO BUILD A PREVIEW INTO THE APP. In fact no one even thought it would be handy to have a button which would compile and refresh. I googled this problem, and the solutions were to write an Applescript program to do it or pay for a pro-level app. Do I give enough fucks to do that rather than just use a word processor I already own? No.

And that’s passing over a massive fucking issue: you need manually tell your document to compile. Doesn’t get done automatically! BUT, people tell me, this is normal since it has to typeset and shit. Nicely forgetting that Word/Openoffice DO THIS IN REAL TIME without a hitch. If your software can’t do that, it’s BADLY MADE. DON’T come to me and claim that my modern laptop, which can render 100s of pages of text in a word processor and high quality 3D graphics in games is incapable of typesetting a document in real time!

Speaking of terrible design, why the hell is it only the “recent” LaTeX backends which are able to deal with my native system fonts, or with unicode? Why, even though they now exist, are they not default everywhere? Why does basic functionality like supporting graphics have to explicitly imported?  Why is the syntax so generally ugly? Why is adding external images a nightmare? Why are tables a nightmare?

People have tried to change my mind on this, but frankly those discussions have just put me off more. Things like sections, figure numbering, bibliographies, and formula are often cited as reasons for using LaTeX. But while it was once true that you couldn’t do these things in word processors, things have moved on and you can do all these things and more – like create tables without going insane. Hell, if your data is simple enough to live in Excel you can have your tables and graphs updated live as you make changes!

But what really pisses me off is the REASON it is like this. LaTeX is stuck in 80s thinking mode because the people who build it like to feel they know something others don’t. They want something to validate their egos, they want to feel like they belong to a special club. Anyone suggesting that major changes are needed get shouted down by people insisting nothing could possibly be improved in their arcane system.

And it’s a shame, because the principal of LaTeX is not totally unreasonable. While word processors deal with a lot of the functionality pretty well, there are still some nice advantages to this approach. In particular separating content from presentation offers a lot more flexibility, letting you publish the same content in different formats or with different templates easily (although the newest Word does templating and theming really well). It can also allow a neat workflow when you have to include output from other programs into your document – you can update your output and refresh your document without having to manually replace each one in your document. I guess what I’d like is something like LaTeX but designed by Apple – that is, following their philosophy of perfectionism and elegance.

Actually, there’s already some interesting alternative: Markdown and Restructured Text. The big advantage of these is that they are intended to be readable in plain text format as well as when processed. There are currently several options for adding maths formula and other advanced features, but all the main functionality is there.

The caveat is that in the end, it’s not he LaTeX syntax itself that’s really at fault. It certainly isn’t terribly elegant or beautiful, the problem lies more in the LaTeX experience as an ecosystem of software. It is simply not conducive to sitting down and getting started, and while the language itself is not particularly helpful in this respect the real issues lie in the what core functionality is (or isn’t) available and the lack of user-friendliness of the tools.

For inspiration i think we can look to new generation tools, of which Markdown is a good example. These are tools which are elegant, above all. That does not mean they are automatically geek free. Compare for example Homebrew with MacPorts. Two tools which do the same thing, but the new and elegant Homebrew manages to do so in a way that makes its use a joy, while as for Macports if anyone suggests I should install software with it i laugh heartily and move on. And these are both command-line utilities, so it’s not a question of one team having fancy GUIs for noobs – its a question of good design.

Posted in: Computers