Why is TeX not a WYSIWIG system?

WYSIWIG is a marketing term for a particular style of text processor. WYSIWIG systems are characterised by two principal claims: that you type what you want to print, and that what you see on the screen as you type is a close approximation to how your text will finally be printed.

The simple answer to the question is, of course, that TeX was conceived long before the marketing term, at a time when the marketing imperative wasn't perceived as significant. However, that was a long time ago: why has nothing been done with the "wonder text processor" to make it fit with modern perceptions?

There are two answers to this. First, the simple "things have been done" (but they've not taken over the TeX world); and second, "there are philosophical reasons why the way TeX has developed is ill-suited to the WYSIWIG style".

A celebrated early approach at "WYSIWIG using TeX" was the VorTeX project: a pair of (early) Sun workstations worked in tandem, one handling the user interface while the other beavered away in the background typesetting the result. VorTeX was quite impressive for its time, but the two workstations combined had hugely less power than the average sub-thousand dollar Personal Computer nowadays, and its code has not proved portable (it never even made the last 'great' TeX version change, at the turn of the 1990s, to TeX version 3). Modern systems that are similar in their approach are Lightning Textures (an extension of Blue Sky's original TeX system for the Macintosh), and Scientific Word (which can also cooperate with a computer algebra system); both these systems are commercially available. The free LyX system works with many free distributions of TeX and also offers a good approximation to WYSIWIG behaviour.

Nevertheless, many TeX users prefer the behaviour of a slick shell (or powerful editor) coupled with a fast TeX system: in the tedious arguments which rage on newsgroup comp.text.tex about which system is "best", the principle contenders seem to be emacs and winedt; this author (who seldom uses anything other than emacs, through a combination of historical accident and lethargy) is ill-qualified to judge the merits of other systems.

The TeX world has taken a long time to latch onto the idea of WYSIWIG. Apart from simple arrogance ("we're better, and have no need to consider the petty doings of the commercial word processor market"), there is a real conceptual difference between the word processor model of the world and the model LaTeX and ConTeXt employ - the idea of "markup". "Pure" markup expresses a logical model of a document, where every object within the document is labelled according to what it is rather than how it should appear: appearance is deduced from the properties of the type of object. Properly applied, markup can provide valuable assistance when it comes to re-use of documents.

Established WYSIWIG systems find the expression of this sort of structured markup difficult; however, markup is starting to appear in the lists of the commercial world's requirements, for two reasons. First, an element of markup helps impose style on a document, and commercial users are increasingly obsessed with uniformity of style; and second, the increasingly pervasive use of XML-derived document archival formats demands it. The same challenges must needs be addressed by programs such as LyX, so we are observing a degree of confluence of the needs of the two communities: interesting times may be ahead of us.