Filling my need for a response to Nicky's pro LaTeX article I'd like to explain why LaTeX is a failed project to me. Yes, I have strong feelings about this documentation system, but - just for further reference - not towards its users as I am unfortunately one of them.
Before I start to explain why I think one should get as many miles between them and this devilish system I need to tell you about my history with LaTeX so you can understand why my claim has evolved over years and is not just the result of a frustrated sunny afternoon. But please, you are free so skip this section.
My story starts even before my first semester a university: I remember how impressed I was by the fine layout of letters a supervisor during a school internship was able to print with the greatest of ease. He only edited the raw text, the important part, there was no formatting by hand, no clicking and searching, the antithesis of everything I had learned so far about word processing (it was the time of Microsoft Office 95).
Some years later I attended my first lecture in mathematics and had to do weekly assignments. But years of online chatting had regressed my handwriting to the look of indecipherable German runes. Being proud of my genius solutions I typeset every single page in most wonderful calligraphic formulas with the help of the even more genius power of LaTeX (thanks to D. Knuth and L. Lamport).
My next noteworthy experience were protocols of the practical training in physics that had to be conducted by two or three students. The team had to coordinate the gluing together of their pieces of text and numbers, measurements and conclusions, drawings and bibliography. Once again LaTeX to the rescue! Simple text was easily transferable from Windows to Linux to Mac, always looking the same, always looking good.
And even now my current employment includes LaTeX. We are automagicaly (actually rather in a not-to-complicated process of statistics and some text processing) generating umpteen documents containing the results of educational research for ten thousand schools, its teachers and students. Together millions of pages that no army of minions could ever put together even with the most sophisticated feature of MS Word series letters.
To conclude all the above I repeat all the advantages of the superior word processing system LaTeX.
- Separation of content, automatic content and design: There is no need to think about page numbering, headline sizes, widows and orphans, table of contents, of figures, of tables, hyphenation, accentuation, font selection and figure placement. All that design stuff you don't know anyway is just taken care of in a professional manner. If you want to write a letter you start with "Dear Mrs. Receiver…" and even your final "My best wishes B." will be auto completed by your devoted servant LaTeX.
- Typesetting of formulas: Superset two as square, integral or sum sign, naturally with super- and suberscript limits, these ancient Greek letters you still don't know how to pronounce (φ and ψ, ζ and ξ, can you even distinguish them in your own handwriting?) and fractions over fractions: LaTeX combines all of them to not a mayhem of numbers, letters and signs but a piece of typesetting art (still only understandable to the eye trained in arcane arts as differential calculus and algebraic geometry but nevertheless).
- Text based: There is no format more open than the American Standard Code for Information Interchange, the base of all (computer based) writing, no raw binary code and everything well-defined and deductible. You can easily share your text, do a diff of all the changes your colleague made and easily spot the corrections of your proofreaders, version control the progress including all its advantages like branching, jumping in history, merging…. In short by using LaTeX you have everything we are used to and expect in software development.
- Mass process able: Based on well-established software you can process thousands of documents in a reasonable time, each (as it is based on raw text) with small or large differences, generated by your favorable programming language and adjusted specifically to its purpose.
But why on earth, you ask, am I complaining about LaTeX even so until now I have only convinced you to de-install every word processor, scratch the DVDs, cancel your Office 365 subscription and live happily ever after?
- Clumsy Syntax LaTeX depends on slashes, braces and square brackets. But you never know whether something is an environment or a function, which parameter is optional (hence square brackets) and which required, named or assigned by position. There is no previous knowledge you can build on neither for syntax nor the huge vocabulary. Be prepared for a livelong journey of learning and do never forget.
- Package dependence The power of LaTeX (itself an extension of TeX) comes from some powerful packages that may localize your whole document, allow you to write chemical structural formulas of complicated organic molecules or just make really nice tables. But they have a downside. Rather than carefully extending its power, staring the most used and best supervised packages, pearls lie next to filth. The myriad of badly programmed, documented and abandoned packages that are the only way to archive that tiny feature MS Word would have handed you in the blink of an eye are bringing down the whole ecosystem. And as an icing: those packages might interact with each other producing either complete nonsense, some strange looking, fragile butterfly or just a broken document that won't compile. You will be that script kiddie just throwing together pieces of code someone recommended on Stack Overflow but never understood to reach your desired result.
- Design abduction I never even heard of someone who could style a LaTeX document. Is there a designer that can really use this through and trough logical markup and make something beautiful of it? Don't get me wrong, LaTeX itself produces remarkable results but nothing fancy, nothing new. You will recognize a thesis typeset in LaTeX even by the scrap pieces coming out of a paper shredder. Every way I know to make something look different in LaTeX is brutally tearing down the barrier between content and design and not designing itself.
- Objects floating away LaTeX promises to place all your non-text objects like tables, graphics and images at the exact right place so that text and non-text are balanced perfectly. The reality is that all that stuff will end up right at the end of each chapter like your weekend shopping hitting your windshield after you hit the brakes to hard. While the concept of floating objects might sound wise in reality, you most often just want to put your diagram next to the text describing it.
Spiderweb of Error(?)-Messages Like any (computer) language LaTeX is build on lexical rules defining how a command is written and which symbols are placed where as well as semantic rules about the placement of commands in or after each other. And naturally you will break these rules again and again. To make you learn faster LaTeX will punish you fiercely every time. The cryptic error message(s) will be hidden in a gibberish of debugging messages, meaningless outputs of page numbers, overfull
\hboxs and nonsensical anecdotes of the compiler's childhood memories, spitting out text of every level of verbosity like a drunk toddler hitting keys on a toy piano (the cover image shows an complete output of an error message for one missing
}). You will search for hours for forgotten braces, environments closed to early or to late and for elements that just won't work together. And that is not even considering external packages. You will cry, seriously think about rewriting your whole thesis on one of those mechanical typewriters and promise yourself to never ever ever touch LaTeX again.
So what is the solution, what is better, what is the least bad way to crowd edit, constantly review and mass produce long, beautiful document obeying to the serious rules of typesetting maybe even with formulas and graphics inside them?
There is are new generation of markup languages like markdown so much lighter
in syntax that I'm not ashamed to ask our employees to use. There are powerful systems like the HTML & CSS, scriptable by JS. Most of the big browsers have some sort of headless mode that could be converting HTML-documents to PDF with only some tiny features missing (like CSS regions, please?). A great introduction into the current state is the List of CSS features required for paged media.
I want to thank the creators of LaTeX because so much wisdom and so many thoughts went into this astonishing complex system. But only due to their generosity all that algorithms are free and open source. All that thirty year old code, balancing symbols in formulas, words in lines and lines in pages is not limited to LaTeX any more but already lives in modern Word Processors and can be still build into new, hopefully better software (e.g. MathJax).
We have all the tools we need for a new generation of documentation systems adjusted to current needs. Can we please let LaTeX be the tool of its time and move on to new ventures? Once again dwarfs on the shoulders of giants could be the new giants.