• TeX/LaTeX's glorious past • When writing a text • When editing text and figures• When producing a book • What is missing in LaTeX?• Where did things go wrong? • What would be the solution? • A vision
Books and LaTeX
The free Motion Mountain Physics Book is typeset in LaTeX. From 1988 to today, I have been an intensive LaTeX user. The set-up uses a short shell command file that typesets the volumes. The shell file is based on pdflatex and makeindex, and uses a 5000-line class file (commented only in a rudimentary way). The class file loads about 50 LaTeX packages, including babel, microtype, psfrag, pstricks, the MinionPro font, the wonderful MinionMath font by Johannes Küster, and the Myriad font; all images are eps files and the films are included with movie15. The shell file also uses dvips and Acrobat Distiller, sometimes ps2pdf, and runs on OSX.
The system also works for the Italian, French, German, Spanish and Vietnamese translations, with an additionally loaded style file. The Japanese translation uses a modified class file. Alas, makeindex does not seem to work in Vietnamese and Japanese.
Also the cover pages are typeset with LaTeX, both for the pdf and the printed editions.
The book project made heavy use of Ulrich Dirr, the exquisit book designer and LaTeX expert, of paid editors, of the LaTeX and tex.stackexchange.com communities, of image and film experts, of my wife's advice, and above all, of a number of wonderful and dedicated translators. More details are found in the acknowledgements.
Why does the project use LaTeX? Up to the year 2000, long after the project was started, LaTeX, a free program collection, was the best typesetting system available for physics and mathematics.
Nevertheless, since at least 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 writing a textAn author needs ease of use in all what he is doing: typing, inserting reference labels, writing tables, writing math, spell checking each sentence in the language defined by babel, 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 are very welcome. This author uses Aquamacs (an Emacs derivate) or Alpha to type the text and types the bibliographic references and challenge solutions directly into the text, because bibtex is (was?) horrible for professional typesetting and for macro definition.
When editing text and figuresAn editor needs tools that allow ensuring consistency and quality across the text:
- Setting up a structured style guide (e.g. serial commas or not, capitalization of titles, figure caption rules, font definitions, etc.)
- Searching for style guide deviations across the text
- Checking for frequently used words and expressions
- Statistics about his writing
- Searching for bad language style, 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; abolish the beautiful but horrible to use \psfrag system)
- 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/indices and all the other lists
Above all, an editor needs ease of use in each of these activities - like in competing software products.
When producing a book
A producer 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 name and subject index, figure and table lists, glossary etc.
- 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 a producer 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. Font usage is a nightmare. Typographic rules are not supported well. Microtypography ("all lines on fixed page positions") is not professional. Page format definition is complex. 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. 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. Both are not as good as they 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 lags behind.
What would be the solution?
A0: Find a way to finance the project for several years. Get funding for a few full time programmers and one project leader.
A1: 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.
A2: Create better typography than Adobe Indesign.
A3: Ensure similar usability to a web browser/Adobe Indesign/Word/Wordperfect/OpenOffice/Framemaker.
- Get Mozilla or Openoffice to take care of the future of LaTeX. Define Work packages and milestones. Publish all documentation. Ask for feedback. Make it into an ISO standard, or include it in HTML, or something similar. (A0, A1)
- Improve pdflatex/pdftex. The project site http://www.pdftex.org/ showed little progress in the past. 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 A2.
- Create a LaTeX 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. (A2)
- Produce a high-quality cross-platform LaTeX frontend, maybe based on emacs or on an already existing one, and finance it. Divide its features into writing, editing and layout/production, as listed above. (A3)
- Produce a useable, state-of-the-art help and documentation feature. Nothing special, just the same as in other programs. Connect it with tex.stackexchange.com. (A3)
- Explore whether the future of LaTeX is a combination with mathml or some future xml/mathml/html version. Explore whether Openoffice, HTML editors or one of the existing LaTeX frontends could be extended to a full typesetting system. (A3)
The final result could be similar to Wordperfect, with a future edition of TeX/LaTeX under the hood (recall 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, and also has its own scripting language under the hood).
* * *