I finally got around to learning LaTeX this week, and after writing my first document in it, I hope I never write in Word again. All the technical documents I've written in the last ten years have been in Microsoft Word, but I've always felt that it wasn't the best tool for the job.

It took a couple of hours to get started on a document, and the first day was a little slow, but after two or three days I felt not only that I was progressing faster than I would be with Word, but that the final output was of a much higher quality also.

Here's some bits that annoy me about Word that LaTeX solves;

  1. Content is embedded in Style. As a WYSIWYG editor, you can't separate the style and the content - but for me, I've always thought you should write the content first and style it later. LaTeX is plain text.
  2. Shit version control. Only the most trivial documents don't change after their first release and version control is a necessity. Although this is supposed to be a bit better with .docx, its still zipped XML, so that's not really helping me in my git diff. I can't imagine what would happen if you tried to merge a Word doc. Again LaTeX is just plain text, so no issue here.
  3. One giant file. The programmer in me wants to split sections and chapters up into smaller, discrete files that are all referenced from an index to build the full file. Instead of navigating 50+ pages with a scrollbar, I should be able to use the hierarchy of file system paths to quickly find what I need. LaTeX supports these types of Modular Documents.
  4. Images in Word are a nightmare. Create your image, save it somewhere, copy/paste it into the document, screw with alignment, fuck with its size. Need to edit that image? Find your save, make your edit, delete from word, paste, alignment, size... It's just horrible. In LaTeX an image is just another (special type of) reference to a file.
  5. Cross-referencing in Word is horrible. Re-arranging a document after cross-referencing almost guarantees broken references.
  6. Terminology. Throughout a Software Requirements Document there will be terms and concepts where the nomenclature needs to remain consistent throughout the document, but the actual terminology is yet to be finalised. Changing terminology in Word is an extremely timely process that Replace All is not the solution to. Using macros in LaTeX allows me to not care when terminology changes because all you need to do is update the macro. System Design text seems to read better when its referencing these macros rather than just being lines of text.
  7. Word costs $100+. And if it was the best tool for the job, I'd have no issue paying that - but its not, and LaTeX is free.
  8. Too many fonts. Seriously though, throughout the history of Word releases, it seems there's always been way too much emphasis on "OMG, LOOK HOW MANY FONTS YOU CAN CHOOSE FROM - USE THEM ALL!". Why should a word processor put so much weight on making a document look shit?

I had my eye on LaTeX and had been hoping to try it for some time. Now that I have, I won't go back to Word, but I don't feel its the final chapter either. LaTeX has a great community and loads of packages to help you create professional documents, but there are still a few things that I think it, or another tool, could do better. I'll be mulling over these things and pondering a future solution as I delve further into the world of LaTeX.