latex sucks! (for presentations)

November 28th, 2007

Hold your fire.

Got your attention there, didn't I? :D

Latex is good at what it was built to do - markup big documents. Fine for writing reports, articles, books. The problem is that we have no other tools nearly as good, so we end up using latex for things it wasn't meant for. Like presentation slides.

Why is this? Well, let's see. There's Powerpoint. It's a toy. It's one step up from drawing each slide separately in Paint: it has no structure, it makes you duplicate all common elements, no indexing, no outline. What does it offer you? Oh yeah, a spell checker. It sucks. Then there's latex. You reuse everything you already know about it, it has a ton of helpful packages, and with beamer you can actually write slides without hurting too much. Except.. it's still latex.

Here is the problem. Presentation slides are not the same as prose. Everything latex is good at has to do with handling text. Everything presentations are supposed to be is not centered on text. Giving a presentation is just as much about showing as it is about telling. And you're already telling when you're talking, so you should compose your slides so that you can show people what you mean.

We have horrid tool support for writing presentations. No wonder almost every talk you see is frame after frame of bullet points that no one will remember anyway. People actually paste parts of their text from articles into slides, as if that is supposed to produce a good visual device! :googly:

I have given 8 presentations in the last 12 months, and I'm set to do 4 more by the end of the year. Almost all of them written in latex with beamer. And you know what? I didn't enjoy myself. On the surface it looks promising. The beamer class has a ton of features, you use regular latex, and you output a pdf. But when you get down to the details...

The ratio of illustrations, diagrams, source code and other example materials is much higher than it is in prose. It's supposed to be that way. This is what latex is awkward at. Presentations are visual, so the first thing people think about is the slide design. Well guess what, if you have the perfect design already, good for you, but if don't, you're stuck editing latex styles, which no one understands. Strike one.

Then there is importing images into your slides. Raster images work fairly well, but obviously you have the resize problem - a raster image displayed at a non-native resolution will look jagged. You don't want that. So you hack up a vector image in something like dia. But you can't use that directly in latex, you have to convert it to either eps or pdf. I have found the latter least painful of late. So now not only do you have to know latex and dia, you have to author Makefiles to get a sane build process out of this. That is if you can remember to include just the right latex packages in your document, make sure they are installed both locally and any other place you may want to do a last minute recompile. Strike two.

Speaking of Makefiles, everyone knows you have to recompile a latex document to see the changes you've made. But with presentations these changes are much more often concerned with layout than they are with content. And it's a huge pain to recompile again and again to debug something as simple as a two column layout (use \minipage and set the width in absolute units just right so they fit next to each other). So now I have a compile loop running every second that invokes make and I see the updates in kpdf. All because I want to tweak the layout of my content. Speaking of compiling, have you seen those latex error messages lately? They're not meant for humans. And as far as languages go, latex isn't exactly the most... robust of them all. Make one tiny mistake here and your compile detonates. Strike three.

It is a pain. It is a pain to have to recheck old documents to remind myself of how I included a piece of source code. Or how I handled a particular image. Latex is extremely hackish. It makes it friggin' hard to generalize anything so that it becomes reusable. I find myself copy pasting code all the time from one document to another. There is nothing sensible about how things are done, it's just a matter of writing something that works, and having a copy of it somewhere. The more presentations I write the more difficult to remember which trick I used where. An unmaintainable mess.

And then there's time pressure. When you're writing a technical document, you have the time to work out the little quirks you will encounter. It's a permanent document, it will continue to exist for years after the fact, it's worth the effort. But presentation slides are not. You just want to write them fairly quick so that you can give the talk and move on. You're not going to be investing time in this, it's a one time thing. And yet writing slides requires a lot more patience with latex than writing prose does.

Nevermind that, writing slides is a creative process. It is not filling in predefined sections of a document, like an article for a conference is. You want to be able to experiment, to try things just for the hell of it. Latex is horrid for this. Let's see if I can fit this figure next to the text here. Okay, let me first look up how I do that. How do you actually find this out? I already covered that earlier. Then try it, debug the layout, finally I can see if I got what I wanted. No, that didn't work out, let's switch it back to the way it was. Compile error. Goddamn it, now what? Okay, let me gradually undo to a state that does compile and that way I can figure out what's causing it.

Not. how. it. was. meant. to. be. done.

:: random entries in this category ::

20 Responses to "latex sucks! (for presentations)"

  1. Boyo says:

    Latex doesn't suck, it just needs a good salesman. ;)

  2. Stefaan says:

    I feel your pain.
    I also have a hate-love relationship with LaTeX.
    If everything goes right, all is nice and dandy.
    If something goes wrong, I scream "LaTeX sucks so horribly" inside.
    Luckily LyX can soften the pain most of the time.

  3. Michael says:

    LaTeX doesn't just suck for presentations - it sucks all around. As you say, it is extremely hackish - and that is the fault of Grampa Knuth himself. TeX should either not have been programmable at all, or it should have gotten a full-fledged, powerful programming language built right in. And then all these mutually incompatible packages...

    LaTeX makes simple things hard and hard things impossible. After reading two books on it and working with it for a year, it still mystifies and frustrates me.

  4. numerodix says:

    I agree with you, Michael. But I think Latex is one of those things that just can't die because there's nothing to replace it. Like Emacs, like any relic that is hopelessly outdated but still crucial to us. Noone is going to put in the effort of rebuilding it and projects that are based on remaking a big existing system rarely succeed.

  5. Michael says:

    Well, maybe there is hope - some people are working at luatex, which has the lua interpreter embedded in pdftex. That should make it feasible to develop a new macro package in a saner language. The TeX backend with all its low-level functionality would remain, but the mess that is LaTeX could simply be replaced.

  6. numerodix says:

    Oh boy, now you're going to make me dream. Luatex sounds like a fabulous idea, I sure hope they get somewhere with that!

  7. Michael says:

    Well, it seems that luatex is developed mostly by the ConTeXt people, who certainly have a track record of hard and successful work. Many features are apparently already implemented, so this is not vaporware.

  8. Emmanuelle says:

    Thank you!
    Gosh you make me feel better. Being (1) a social scientist -understand not familiar with Latex use-, and (2) new to Latex, I have been struggling and asking myself whether it was really worse the time and energy (and huge frustration) spent in trying to create a presentation. I really wanted to, making myself familiar with Latex, and wanting to learn because I see my physicist boyfriend using it all the time, and having good results, and beeing a total geek about it. But that was harsh. So yes, I managed to do a presentation, quite a basic one, but one that I am still proud of, but after all, I keep thinking, yeh but what about including pictures, or weblinks, or inserting complex tables? I know it's possible, but my knowledge and practice of Latex is not developed enough to be able to do that quickly. So yes, i do still believe that Latex is great for word editing and having beautifully looking written documents, but for presentations... is it really time saving and that great? I am not so convinced...

  9. Emmanuelle says:

    and ps: this was by searching for additional codes on Latex presentations on the net that I have found this note that might actually make me go back to powerpoint for the day...

  10. Petri says:

    I am, in fact, considering using Inkscape to produce my next presentation. Saving each slide as a separate svg-file with filenames in right order and showing them with "inkview presentation*.svg" sounds appealing. All formulas can be written (re-edited) with textext-plugin. Or maybe I should combine those slides to one pdf-file.

    http://www.inkscape.org
    http://www.elisanet.fi/ptvirtan/software/textext/

  11. Al says:

    "Speaking of compiling, have you seen those latex error messages lately? They’re not meant for humans. And as far as languages go, latex isn’t exactly the most… robust of them all. Make one tiny mistake here and your compile detonates." THANK YOU! You sir, have just helped save my sanity. I'm probably gonna get shot down for saying this, but using Latex is like using HTML instead of Word to do documents; it really overcomplicates things (Even OpenOffice is a lot more user friendly). Sure I can see it being useful to mathematicians and physicists due to the formulae and what not, but seriously? I couldn't even nest a list inside a table; even with HTML I could do that! (N.B. it's probably possible but excruciatingly difficult) And this is coming from a first year Computer Science student.

  12. Moi says:

    latex sucks because it is not a friendly work enviroment

  13. Calmarius says:

    I've been given with a lecture memo which I have to learn for my exam from which is written in plain TeX. I can view it in a simple text editor but it is a challenge to read due to the markup (formulas....).

    So I (naively) googled for a TeX viewer and I found nothing. So I decided to download latex I hoped it probably can do something with it. It was 750mb so I clicked download I have an 1mbit/s download bandwidth so it was going to be a slow download. And suddenly my firefox crashed when it was azt 91%... When I restarted firefox it wanted to start download it from start. You can imagine how angry I was...

    So I looked for a lightweight solution and found MikTex... Downloaded the 100MB installer and it will installed but in the very end installation failed for some reason literally. It said "installation failed for some reason". My nose started bleeding...

    So I'm here with an unreadable fckin tex file and I'm unable to find anything to make it readable. :S

    That was the point I googled for the expression "TeX sucks" and found this page.

  14. jon says:

    Here you'll find more on LaTeX-based presentations:

    http://www.uoregon.edu/~noeckel/Keynote.html

    Mac users who do not like Keynote (esp. when their presentations should run on Windows computers as well) should check out FotoMagico:

    http://www.boinx.com/fotomagico/overview/

  15. Jisang Yoo says:

    If people do not believe that mathematics is simple, it is only because they do not realize how complicated TeX/LaTeX is.

    "TeX has done significant damage to the math community, by getting people to focus and love pretty printing, which is what typesetting is mainly about." -- Xah Lee

    "LaTeX fixed nothing about TeX's botching of the structural info in math notations." -- Xah Lee

    Somebody rich should hire a group of programmers and start or join a project to make an alternative to TeX/LaTeX and save us all. Maybe luatex or maybe a less verbose form of MathML.

    Speaking of presentations, what we really need for now is a WYSIWYG Powerpoint-like program which can handle TeX/LaTeX input seamlessly.

  16. codicil says:

    To paraphrase Winston Churchill:

    It has been said that Latex-beamer is the worst form of presentation software except all the others that have been tried.

    And I have tried them all!

  17. codicil says:

    I don't know who Xah Lee is except that he has a website. I'm a working mathematician/engineer. I write latex on a daily basis - it has become the modus operandi of all of my colleagues. If you want to do math, learn it! If you want to waste time use the math editor in MS Word. With emacs, auctex and reftex it's easier to write a lot of math directly into latex than down on paper. What more could you want?

    Presentaions - beamer is great. If I have one gripe it's about the positioning of images which involves a bit of trial and error. But at least next time I open it up on a different machine it will look the same.

    As to lists in tables - it took me less than a minute online to find that it works! And it you are having problems put it in a minipage. Computer Science student - hmmm! I've taught them!

  18. Giuseppe Maggiore says:

    Actually, PowerPoint has "slide masters" which allow to define and re-use templates very easily. Also, it supports a quasi-latex syntax for formulas. I don't get the hate for it...

    Also, very little people seem to realize that Word 2007+ has amazing support for formulas, and there is no more formula editor: you just type latex and it gets compiled on the fly and it appears right as it should. You can still inspect the underlying formula, though.

    Cheers.

  19. TeX_Is_Worthless says:

    I have published 5 math papers in 2 peer-reviewed journals, 2 in arxiv.org, countless papers for the math courses I have taught, and a 275-doctoral dissertation in 2000 for Rutgers University in Piscataway, NJ - all with MS Word and Design Science's Mathtype. Nothing could be more useful and a joy to use.

    By contrast, I have wasted 8 hours on 10 different occasions trying to guess and search in vain for the exact command to use in TeX. Every single time, TeX has failed.

    If one prefers to waste time guessing at bizarre unintelligible code words and commands on how to display one's mathematics rather than get actual math done, then, by all means, waste all your time and energy with TeX, LaTeX, or any of its numerous non-WYSIWYG mutant variants.

    But, if you want to not worry about how math is displayed but instead get on with the business of doing MATH, then choose MS Word and Mathtype.

    If you absolutely "must have" undecipherable gibberish, MS Word has a feature that will convert your beautiful elegant 20-page math document into hundreds of pages of meaningless TeX garbage code. I've tried it, just for laughs. Don't know why anyone would want that, since there is no way of turning that garbage back into a human-readable document.

    WYIWYG was invented for a reason: to people could use computers as a tool to accomplish other tasks, rather than spend all their time and energy battling the computer as an end in itself. WYIWYG was and still is the most practical revolutionary concept in computer science ever.

  20. B N says:

    I definitely wouldn't say TeX is useless, but its command language is almost useless. I'm beginning to find the claims of "TEX IS THE ONLY BUG-FREE LANGUAGE" to really start to be grating. I mean... seriously. If having a language where inserting a command into another command breaks your commands... if that's not a bug, what is that? A feature?

    Even if you intentionally designed a system like that, wouldn't one typically make a version 2 where you'd iron out that sort of issue? Instead, there's a byzantine expand process that basically makes it impossible to ever re-use anything. I mean, there are functional languages, there are OO languages, there are reliable stack/token languages, and then there's TeX.

    Worse, I am not a huge fan of the LuaTex movement. It definitely seems to be a vast improvement, and I salute the efforts, but if we're going toward a good scripting language why Lua? Wouldn't an OO language be a lot better? Python is a breeze to use and even JS has a lot of under-appreciated features.

    Though, for the record, I would never use anything TeX-based for presentations. TeX has no good innate capability to place figures, and its table management is pretty ugly too. I'd have to see good evidence that people have made figure-positioning algorithms similar to the text-positioning algorithms that TeX uses before I'd even bother. (Figure Badness, Page 10! That would definitely be a killer app).