The free Motion Mountain Physics Book is typeset in LaTeX. From 1988 to today, I have been an intensive LaTeX 2e user. The set-up uses a 5000-line class file, uses the MinionPro and the wonderful MinionMath font, the Myriad font, and about 50 LaTeX packages, including microtype, psfrag, pstricks and movie15. Images are eps files. The system uses dvips and Acrobat Distiller, sometimes ps2pdf, and runs on OSX.
Around the year 2000, LaTeX, a free program collection, was the best typesetting system available. Nevertheless, since 2011, LaTeX is not up to date any more. LaTeX has lost its lead because of a typical problem of software development: loss of focus. Here are a few details on this story. Maybe it can be brought to a good end?
TeX/LaTeX's glorious past
TeX/LaTeX was the best typesetting system up to the year 2000 approximately. It was free, allowed good mathematical typesetting, produced good quality pdf, and was programmable. Free macros for most typesetting issues are available. Many textbooks in mathematics and physics used and still use it. But then came Adobe Indesign and several other professional typesetting packages. And LaTeX fell behind. It fell behind because it does not provide what an author needs. What does an author need?
When an author writes a text, he needs:Ease of use in all what he is doing: typing, inserting reference labels, writing tables, writing math, spell checking, grammar checking, thesaurus use, adding bibliographic references, and adding figures - consistently on many files.
As far as I know, there is no simple system - often called a LaTeX frontend - that allows just these tasks to be performed simply (even on OSX). Counter-examples welcome.
When an author checks a text, he needs tools that allow checking the consistency and quality of all that he wrote and did:
- Setting up a style guide (e.g. serial commas or not, capitalization of titles, figure caption rules, etc.)
- Searching for style guide deviations across the text
- Checking for frequently used words and expressions
- Statistics about his writing
- Searching for bad language expressions, independently of LaTeX commands and line breaks (e.g. 'the fact that')
- Marking each section (and paragraph) for completeness of: introduction, style guide, quality issues, to do's, indexing, summary, etc.
- Marking each section (and paragraph) with date of last editing
- Easy table checking and improving (e.g.: typeset only tables, one after the other, nothing else; check that all tables are referenced in the text)
- Easy figure checking and improving (e.g.: typeset only figures, one after the other, nothing else; check that all figures are referenced in the text)
- Easy managing of figures and films: from the raw figure to the cropped version, cut and insert videos
- Easy managing and checking bibliographic references, also via the internet
- Easy and smart collecting of index items, with cross-references and grouping, also with special national characters
- Easy managing of author names from the bibliography for the name index (e.g.: merge all A. Einstein and all Albert Einstein in one index item), also with special national characters
- Easy checking and managing the glossary
- Easy checking and managing exercise solutions
- Easy spell-checking of index
Above all, an author needs ease of use in each of these activities - like in competing software products.
When an author/producer typesets & layouts a book, he needs to:
- Define/choose a page format - with graphical help, interactively
- Choose and use a font - with graphical help, interactively
- Ensure good typography of titles, running heads, etc.
- Ensure good typography of text (e.g.: lines on same position on both sides of a page)
- Position figures & tables in the layout in a professional way (including spacing between digits)
- Produce front and back matter, table of contents, table of figures, a quality index and other lists
- Ensure good hyphenation (allow chosing between Oxford vs Harvard, allow specifying preferred and less optimal hyphenation places in all words)
- Ensure that all language-specific rules are implemented in foreign-language citations
- Ensure good microtypography, allow manual overrides (e.g. lower parentheses for oldstyle digits)
- Produce good PDF files, searchable for words which are typeset with ligatures (ps2pdf cannot do this, not even in 2014, whereas Adobe Acrobat Distiller does so since years) and that are print ready (no support here, at present).
- Produce small PDF files (so far, PDFs from ps2pdf are much larger than those of Distiller.
- Produce an ebook
And an author needs ease of use in each of these activities - like in competing software products.
What is missing in LaTeX?
In LaTeX, almost none of the above needs of a user is cared for. Use is extremely complicated. Grammar checking is not possible. Spell checking is complicated. Writing and editing of tables is really hard. Page format definition is complex. Font usage is a nightmare. Typography rules are not supported well. Professional figure insertion ("always in the upper 20% of a page") is impossible. Figure handling is complicated. Full reference checking (Have all figure been referenced? Are the figures correctly placed?) is not available. Automatic list production, especially their formatting, is extremely cumbersome. Microtypography ("all lines on fixed page positions") is not professional. Hyphenation is bad and hard to use. Index production is the worst of all worlds. Ebook production is not possible. In short, LaTeX misses two things: (1) Ease of use; and (2) Quality of typesetting is not as good as it could be.
Why did things go wrong?
The LaTeX project lacks money. There are many spec papers and project plans, but few implementations. Specs did not and do not reflect what book producers and graphics designers want, but what programmers wanted and want. Documentation lagged behind.
What would be the solution?
Find a way to finance the project for several years. Get funding for a few full time programmers and one project leader. Organize professional requirements management. Ask the users: authors, secretaries, book producers, typographers, and designers. Forget postscript programming tricks, Hethitic language, and similar crazy stuff. Focus on producing quality text and quality typography.
Aims should be:
A1: Typography better than Adobe Indesign.
A2: Usability similar to a web browser/Adobe Indesign/Word/Wordperfect/OpenOffice/Framemaker.
Here is my personal dream:
(1) Improve pdflatex/pdftex. The project site http://sarovar.org/projects/pdftex/ shows that essentially there is no progress in the project. Not much is needed on this front; just realize the features requested there, and use normal fonts. Get psfrag and pstricks working in pdf output mode. Produce pdf files that allow searching for ligatures. Produce pdf files that have the same quality as those produced by Adobe Acrobat Distiller. (This realizes part of the typography requirements.)
(2) Produce a useable, state-of the art help/documentation feature. Nothing special, just the same as in other programs. Connect it with tex.stackexchange.
(3) Produce a high-quality cross-platform LaTeX frontend, maybe based on emacs or on an existing one, and finance it. Work packages 2 and 3 only realize requirements and specs on usability (A2), especially those for writing and checking.
(4) Explore whether the future of LaTeX is a combination with mathml or some future xml/mathml/html version. Explore whether Openoffice or one of the existing LaTeX frontends could be extended to a full system.
(5) Get Mozilla or Openoffice to take care of the future.
(6) Realize a typography package that realizes the specs on high-end typography. Either base it on the future xml/html concepts or on LuaTeX. Improve it until it does realize all high-end typography options. This work package, together with package 1, then realizes the requirements and specs on typography (A1).
(7) Combine packages (3) and (6). The results could be similar to Wordperfect with a future edition of TeX/LaTeX under the hood (remember how Wordperfect combined WISIYWIG and its own scripting language, and allowed editing in both windows?) or could be similar to a browser (which does typography on the fly).
* * *