During the 1980's, one of the major changes that occurred in computing was the development of highly versatile output devices. Unlike earlier impact printers, the high-resolution matrix printers and laser printers are capable of printing a wide range of typefaces, fonts and sizes (these terms will be clarified later). is one of the software tools that has been developed to allow the user to take full advantage of the power of such printing devices.
The popularity of word processing has led to the development of many software tools which are based upon wysiwyg techniques (what you see is what you get). While such systems can be excellent when used with fixed-pitch typewriter style printing forms, the results when used with mixed fonts and mixed typefaces are often far less impressive. This is largely because over the decades and centuries typesetters and compositors have developed a set of `rules' which embody hard-won `knowledge' about the effective use of such tools, and we have become used to seeing books and document laid out to these high standards.
Another reason for the lack of `perfect' wysiwyg packages is that while printer technology involving resolutions in hundreds of pixels per inch is standard, display screen technology is still limited to less than 100 pixels per inch, except in very specialised (and very expensive) areas. Thus, it is technologically impossible to achieve true wysiwyg effects, unless the effects required are very limited in scope (boxes-and-lines diagrams or fixed-width fonts, say).
is based upon an entirely different philosophy to that of wysiwyg tools. The idea in is that the designer of a document should specify their layout requirement in an abstract manner, and that the program should then translate these into the necessary details of typeface, font and size, making use of a set of rules of `style' that have been derived from type-setting experience. So the user of is concerned only with specifying the logical design of their document in terms of chapters, sections, lists etc, rather than being concerned with physical layout.
The effect of this approach is that the document producer controls the appearance of the document indirectly, through a series of encodings which describe to the document processing package how the document should look. These descriptions take the form of ordinary text files produced with any ordinary text editor; indeed, the whole armoury of text-processing utilities may be used to `attack' source files, which can lead to useful short cuts, as will be seen later.