Why go on with LaTeX front-ends?
Posted Jun 6, 2002 21:48 UTC (Thu) by
DeletedUser1650 ((unknown), #1650)
Parent article:
LyX 1.2.0 released
First of all, I want to thank the LyX developpers for their continued good work in making LaTeX a more generally useful tool.
But then, I want to ask a question which I think is important: why is there so much work and investment in developping user-interface layers over LaTeX, and so little in good projects free of the TeX legacy? Here I do not speak only of LyX, but also of other projects with a similar goal, like whizzyTeX, or the various LaTeX editing environments.
LaTeX is no longer the Right Way
Do not misunderstand me, I agree that TeX was an considerable breakthrough in computer typography, back when D. Knuth designed it, and that LaTeX does a decent job at making TeX a little more usable. But it seems to me that those LaTeX front-ends are a bit schizophrenic... On one hand they recognize that the era of command line interfaces and batch processing is over, and that the reasonable way to work today is with graphical interfaces and real-time processing; but on the other hand, they stay faithful to the common sense belief that "with a visual design system, authors usually produce aesthetically pleasing, but poorly designed documents" (quoting Leslie Lamport).
Actually that is true with "traditional" word processors derived from MacWrite, and including M$-Word, which were initially designed as glorified typewriters. However, WYSIWYG document editors do not necessarily incite the user to produce documents with no or little logical structure. There are other ways to do visual word processing than the M$-Word way.
LyX developers argue that "What You See Is What You Mean" (WYSIWYM) is a good feature. That belief allows them to conciliate their desire for a graphical editor and their belief that WYSIWYG can only lead to unstructured documents. However I argue that WYSIWYM is only a work-around the extreme difficulty to use TeX in a truly WYSIWYG and interactive way.
Actually, the good feature is to be able to choose the exact level of WYSIWYGness you need at a given point. When producing content, WYSIWYM is fine, since at this point visual layout is a distraction, moreover it allows to display structure information which would otherwise be hidden (like index entries) or less handily editable (like footnotes and floating objects). But sometimes you need to show more structure (in way similar to what is allowed by SGML editors). And sometimes you want a very WYSIWYG display, for example, when fine-tuning line and page breaking, or when designing tables or writing formulas.
Additionnaly, anyone who tried to do some elaborate document presentation with LaTeX understand what a hack is the whole TeX/LaTeX system. A useful hack, indeed, but a hack nevertheless. Actually TeX is just batch typesetter with a very elaborate macro processor, LaTeX tries to make it structured. But LaTeX stays very difficult to use when you venture off the road marked by the twenty-or-so basic macro you can make you mother use. Worse, LaTeX documents are notoriously hard to convert to any other format, loosing one of the most interesting features of structured documents: media independance.
To make a parallel with programming languagues, C++ is arguably a pain to program in, and a lot of other programming languagues (like lisp, Perl, Python, Eiffel, Erlang) are vastly superior for the vast majority of software. However, C++ is still widely used because it is useful though ugly. Still, a lot of effort is going in more modern languages. But why do everybody who want high quality typesetting and structured documents stick to TeX?
The LyX developpers do their best to work around the fact that TeX is a 30 years old software which does not know what "user feedback" means, and actually has no support for structured documents behind the LaTeX facade. But they end up with many compromises. They end up implementing a lot of ad-hoc code to provide support for every individual feature of TeX without improving TeX itself.
The next generation
I hope that if you are still reading me, you are assuming that there exists no alternative to TeX which is as good at typesetting, with cleaner typesetting language, complete support for WYSIWYG interactive edition, and as inherently structured document model.
Actually there is one, and it is called GNU TeXmacs. Its only dependences on Knuth work are METAFONT and BibTeX, it does not use TeX at any level. It already implements the features needed for at least 90% of the documents (though floating object support is yet a bit problematic), including a very good mathematic typesetter. It is very mature software, being 4 years old and having already blown its v1.0 candles. And it introduces a number of very innovative features which make it fast and easy to use.
Some of the fine features that I can point out to the tech audience of LWN are the very strong LISP-ish-ness of the document model. Actually, all documents are trees (does not that sounds like XML?) and they are interpreted as a program by the typesetter (does not that sound like Lisp). The page breaking uses a global algorithm which produces better results than TeX, the line stacker properly "shoves" successive lines with big descents (height of ink below the baseline) and big ascents (idem, above the line), and yes, it reimplements the famous line-breaking algorithm of TeX. It can also use its mathematical typesetting abilities to provide a user interface for computer algebra systems, actually putting the CAS session inside your document, and finally, it is extensible with GUILE.
You can find more information on the
TeXmacs web site
and on the TeXmacs Wiki.
Yet this projet is very usable, has great promises, and has a very high quality code, the core developper team just doubled to reach two persons, and they are having incredibly hard time to find financial and institutional support for the project. So yes, the existing LaTeX converters are not perfect, and no we do not provide (yet) abilities matching every TeX feature, but there is only so much a single person working half-time can do...
So, please, can you tell me why so many people are investing in TeX front-ends, and why so little come to help us making something much, much better?
(
Log in to post comments)