29 Sep 2005

The Trouble with Latex

I had to write Latex for a class assignment, and I hated every second of it.

You have to write complicated markup, and making a mistake yields unhelpful error messages. Latex seems bad at recovering from errors to process the rest of the document. Atleast worse than HTML browsers. Latex makes document preparation seem like compiling a program - and that's a lot of effort. No wonder Latex is not so popular as a general-purpose document preparation system.

The problem is actually not that the markup is complicated but that the tool lacks a WYSIWYG interface. Let's approach this situation from the other direction - what if a powerful format used by a WYSIWYG word processor (think Word) were text rather than binary? Then we'd have the best of both worlds - the ease of use of a WYSIWYG editor with the power of editing the file directly when needed. Ease of use and power need not be mutually exclusive. This is similar to the config file mess with Linux - the problem is not the file format but the lack of a GUI.

And Latex is print-oriented as opposed to say, HTML. To what extent does these for-print aspects make it worse for screen-oriented (or web-oriented, if you will) use? I don't know.

Whether or not such an interface could be developed to expose the full power of the underlying language, it can atleast support the commonly used parts, avoiding the need to code unless you have advanced needs. Nobody wants to hand-write markup when it's avoidable.

But how effectively can a WYSIWYG interface be developed to an existing file format instead of the other way round? (See Ronco Spray-On Usability) Given that most uses of the file format (if it becomes successful) will be through the GUI interface, we should optimize for the common case and design the file format based on the GUI rather than the other way around. Perhaps OpenDocument is the conclusion of this line of thought.

Are there any WYSIWYG interfaces to Latex? Lyx seems to be one. (I haven't tried it yet.) I haven't found any other. (Abiword can save as tex but can't open the saved files. (And it embeds a redundant XML copy within the tex file.) KWord gives an ominous "some formatting will be lost" message on save and fails to open the saved files, too.)

So what do we use for normal document preparation? I would not use Latex since it seems to have only one WYSIWYG editor. When HTML doesn't suffice, perhaps OpenDocument is the best option - it's designed for a GUI rather than the other way around, and it's manually editable (XML) (though the XML could have been clearer.) That seems to be best choice we have.

No comments:

Post a Comment