The IbTEXLegacy
2.09 And All That
© 2001 Chris Rowley
Open University, UKc. a. rowley@open, ac. u k

ABSTRACTThe second edition of The Manual [23] begins: 'LATEXis a system
for typesetting documents. Its first widely available version, mysteriously numbered 2.09, appeared in 1985.'
It is too early for a complete critical assessment of the impactof ~2.09 because its world-wide effects on many aspects ofmany cultures, not least scientific publication, remain strong after
15 years---and that itself is significant in a technological world
where a mere 15 months of fame can make and break an idea.
Therefore this paper provides simply a review and evaluation of
the relationship between TEX, IbTEX and some of the major technical developments in the world of quality automated formatting
since the publication of lb'rEX 2.09 in 1985. It is is neither definitive nor comprehensive but I hope it is informative.

the scientific and academic communities, and it is used extensively
in industry.' But this level of ubiquity was still miniscule comparedwith the present day when it has become, for many professionals
on every continent, a workhorse whose presence is as unremarkable and essential as the workstation on which it is used and when(probably as part of a Linux distribution) Ib'I'EXsits ready-to-run on
every desk top--if only supporting yet another used coffee mug!
We should not forget that LATEXwas not universally liked in its
early days since it was, with justification, seen as importing too
much of Scribe's inflexibility into the anarchic TEX world. Suchfeelings had many positive results with important and innovativeideas for improving on IbTEX being described and investigated;some of these even got built into highly functional and radical systems such as that of Michael Spivak's LAmSTEX [40].

PRACTICAL

1.

The primary immediate impact of the widespread distribution, byLeslie Lamport in alliance with Peter Gordon at Addison-Wesley,of version 2.09 of ~in the mid-80s derived from its supreme
importance to the use of Donald Knuth's TEX system [18], enabling
the latter to spread rapidly beyond the community of North American mathematicians who had nourished its development from its
birth as one of Don's 'personal productivity tools', created simply
to ensure the rapid completion and typographic quality of The Art
of Computer Programming [19]. A less direct but probably wider
influence derives from its being the first widely used language fordescribing the logical structure of a large range of documents andhence its introducing the philosophy of logical design, as used byBrain Reid in Scribe [35]: when writing a document, you should
be concerned with its logical content, not its visual appearance.
Back then, Ib'I'HXwas described variously as 'TEX for the masses'
and 'Scribe liberated from inflexible formatting control.' It is notclear whether either of these was intended by Leslie as a design feature but it was certainly not his expectation to make, in either timeor space, such a wide impact as he did. The availability of IbTEX
was, even in the late 1980s, very wide compared with most noncommercial software at that time. The good news spread rapidly
and by 1994 Leslie could write 'IbTEX is now extremely popular in

Such direct impacts of LATEX2.09 do not form my major subject
here; rather I shall treat the the importance of Leslie's ideas andactivities by a very selective description of some subsequent developments in high quality automated document processing. Leslie's
work covered many aspects of the subject but here I shall concentrate on the visual formatting of logically described text documents
rather than on other, equally important, parts of document processing that were also major components of the IJrEX system and of
his interests. In particular there will be only passing references
to a major aspect of the L,ff~X story, one that was my only reason for ever starting down the road that led to this article: mathematical typesetting. I omitted this because developments in thatarea deserve a whole article to do them justice. One of Leslie's
less quantifiable influences throughout the story I shall tell is thatin addition to the other varied roots of their cognitive processes,
since the mid-80s almost all the major developers, wizards, gurusand TEXnicians, except Don Knuth of course, surely owe much tothemselves having been ~users (and abusers).
Although a significant amount of the development since the late1980s has built on TEX itself rather than on IbTEX, the widespread
publication and use of ~'EX, especially outside North America,
was a major factor pushing almost all of the subsequent technicalprogress within the TEX world and also a substantial influence on
more general research in document science. Thus the history ofsuch development over the last 10 years is the legacy of both Don
and Leslie, even though neither has been more than tangentiallyinvolved during that period.
In addition to the particular nature and quality of the software,
there are other areas in which the TEX support community [41]has been innovative and effective. For over a decade TEX was anarchetypal example of the virtues and vices of the best producercentred 'free software': it provided freely available, robust and

Copyright held by author.

17

INTRODUCTION$ \vcenter {\hsize 0.4\hsize
Some v e r t i c a l l y centeredlittle pa~a~aphs ~ldots~begin~jninipage}[el {0.4\colwidth}
Some v e r t i c a l l ycentered

little paza~aplm \ l d o t s

Figure 1: Syntax compared: typical I6"I'BX(left); with (almost) equivalent basic TEX (fight).

structure being described in XML [46] or even L~I'EX itself. Whatever the inconsistencies of the philosophy, the syntactical consistency and power of the document interface is a defining characteristic of LATEX.Behind the interfaces, Leslie was equally creative as
he introduced and exemplified lots of neat tricks and monumental
edifices of TEX programming and other ground-breaking examples
of practical software design, including what is still the basis of the
only complete non-trivial float-positioning algorithm that has everbeen fiflly implemented.
In the design of I6'I'EX Leslie deliberately allowed the underlying
TEX engine to act directly on the majority of the textual matter.
In typical text processing systems of that era, including TEX, theprimary methods for handling document text (the input character
strings) are as follows: each input token sent to the system is treatedas a complex imperative command. In such systems a 'character inthe text of a document', typically a keyboard event or a token in
an input buffer, is not simply destined to invoke the creation of an'element in a string' in an 'object of class text-stuff', such a 'string'
eventually being processed by some other module of the system, oreven by external applications.
In the design of TEX the 'complex command' normally invokedby each such text character is 'typeset me fight now!' Contrast thiswith a common current paradigm, such as the XSL model [45], inwhich, fight down to the individual 'character objects', the whole
document is represented and manipulated as an explicit hierarchicalobject structure (in the jargon, a DOM). To 'format the document'
explicit methods must then be invoked to act on the whole or partsof this hierarchy.
TEX was designed in this imperative paradigm because this leads
to a highly efficient (in both time and space) machine, despite 'typesetting' being for TEX a relatively sophisticated computational process involving, primarily but not exclusively, the optimisation ofglyph choice and positioning over whole paragraphs as controlled
by a highly configurable dynamic programming algorithm. However, because this 'typesetting process' has been highly optimised
for speed, doing anything that is not available within this monolithic process (as defined by TEX's design) is both difficult to implement and noticeably inefficient in use. Such processes are central toquality typesetting and are especially important in the typesettingof languages other than US English. They include the modificationof important subprocesses such as choice of glyph (as for ligatures)and of their size and positioning; the hyphenation and justification(I-I&J) subsystem is another example.
In the same sprit the IbTEXcommand \addvspace immediately
adds some space to TEX's current vertical list. Such immediate anddirect construction of formatted material from input token lists has
now become a burden to the creative design of typesetting software
for a wide variety of languages, scripts and document types.
The story I present here of TEX/LaI~:~X-inspireddevelopment since1985 has two substantive motifs: globalisation of the typography
and interaction with the typography. In the subsequent two sections I shall consider the impact of each of these on TEX-related
development but first I must devote a section to document scienceby explaining further some principles of software modelling for
quality formatting.

efficient functionality for those who understood and accepted DIY
installation and maintenance where 'support' means supportfor the
producers by the users, rather than vice versa. Over the last ten
years the enterprising efforts of a large number of individuals, aided
by user groups and other organisations, have completely changed
the use and support of TEX-related software. Solid graft has given
solid proof that open, non-commercial methods and infrastructure
can be used not only to produce effective, robust software, but also
to provide it with reliable user and technical support. The software
maintenance system for standard IbTEX[24] is an easily accessible
example of such totally user-centred software support--one thatwas, until recently, pleasantly distanced from the politics, bureaucracy and legalistic trappings of the various movements and sects
now named 'Open Source', etc.

2.

a ,x A N n

From its inception, the development of IbTEX and related software has been completely intertwined with that of TEX itself. Thissection therefore sets the context by presenting some thoughts andperspectives on the design of these two systems and their interconnection. A more detailed but still brief history of TEX and Eq'EX canbe found in Chapter 1 of The/#/'EX Companion [ 12], the remainderof which contains a large amount of relevant information including
the definitive user documentation of the mid-90s versions of many
parts of the I6TEXsystem including many extension packages.
Although there are many legitimate doubts about the continued
utility of some aspects of the fundamental models and design of
TEX as a text formatting engine, it was then and remains now (thebeginning of the millennium) the only mature, widely available,
programmable and highly flexible typesetting engine. Thus for
Leslie then as for me now, it is the only choice as the foundation of
any practical automated system for high quality formatting.
One mason for the production and distribution of Lal'EX, illustrated in Figure 1, was (misquoting Leslie's preface to the original
manual [22]) to provide 'a family sedan' as an alternative to TEX's'highly tuned racing car.' More explicitly he wrote 'latEX adds
to TEX a collection of commands that simplify typesetting by letting the user concentrate on the structure of the text rather than onformatting commands' and I have therefore deliberately chosen an
example in Figure 1 which illustrates that laTEX also introduced
many formatting commands.
Worse than that, in the light of its furore influence, IJI'EX introduced, or at least crystallised, the inherent ambiguity of many partsof a document description. For example, is 'a list' no more than adocument element whose content is partitioned into 'items'? ... oris 'a list' a part of the text of the document that consists of 'items'
and should be formatted as paragraphs using a paragraph style that
distinguishes that text from the surrounding text and enables individual items to be labelled?
The design of ~deliberately provides no clear answers tosuch questions and Leslie's ambiguity has propagated fight across
The Web where the HTML language [48] could be used, as intended
by its founders, to describe the logical structure of a document
whereas it is in practice rapidly becoming the standard languagefor describing the 'formatted form of a web document', the logical18

3. DUMMY'S GUIDE TO QUALITY

referred to as that font's 'encoding' since it is often specified via anarray structure; these are still most often of size 256 (8-bit fonts)
but in modem fonts standards this can be 65536 (16-bit fonts).

Hem therefore is a summary of how I understand two of the
major constituents of a model for quality typography engines; here
the 'quality' of a typographic artefact means its 'fitness to purpose', which is most often not simple conformance to some arbitrary visual aesthetic. I hope that it provides enough information to
make sense of the descriptions and analyses later in this paper. Notethat it all relates solely to visual formatting; none of this makes
sense for such important activities as 'audio formatting.'

3.1

3.2

Text, graphics and interaction

It has for some time been accepted that models for formatting
documents should treat text glyphs simply as specialised graphics
since these both reduce finally to instructions on how to treat eachindividual pixel on the output medium. Nowadays, when those pixels are on an interactive screen, it is also likely that in the modelof that screen, they must have properties other than their visibility. For example, they have attributes that give them the power tochange the representation of the screen pointer or that define theconsequence of a pointer click on that pixel.
Such 'interaction properties' of the graphical elements of a formatted document are so similar to the classical graphical properties such as colour or gray-level that a model of visual document
formatting should treat them identically. To intcrnalise this concept, compare a hypertext link in the text of a browser documentwith the use of a graphical technique to highlight the linked text.
Such a paradigm has significant consequences for the models andinterface languages used by quality document formatting software
and, although it is not yet a common design feature of languages orsoftware, it has influenced the development of the Scalable Vector
Graphics (SVG) language [50].
Thus text, graphics and interaction, whilst each having their own
peculiarities at the implementation level, are unified in the modelthat lies behind the views expressed in this paper. As all attempts
to implement such integrated formatters have illustrated, uniform
provision of font resources is vital to successful solutions. Sucha model should be considered as part of an overall model for theprocess of document design and formatting developed from that of'interacting modular formatters' introduced by Frank Mittelbach
and myself in 1992 [29] which was based on an analysis of thefundamentals of professional book design undertaken within a conceptual framework introduced by the Reading (UK) school of typographic design [39].

Text into paragraphs

This section is aimed primarily at conscience-raising amongst
fellow English-speaking computer scientists; it therefore somewhat
simplifies reality in places but I hope it is not too abbreviated.
The subtask of producing a formatted paragraph that visually
represents some textual material, in the form of a bounded sequenceof text characters, comprises these interacting processes.
1. For each suitable subsequence of input characters (in English
normally a whole word together with its immediately contiguoas punctuation characters), finding its potential representations (PWRs) by a collection of relatively positioned
glyphs.
2. Finding potential relative positions for the elements of eachsequence of PWRs thus generated (in English normally 'simple H&J').
3. Choosing one formatting of the paragraph from amongst all
the above.
These processes all require information and, depending on thedesign requirements of the document, they may require considerable computing power for sophisticated selection and optimisation
techniques. The automated treatment of the LATEX logo (as in Section 2) within the headings of this document is a good example
of what can go wrong when the complexity of this process is notunderstood or the necessary information is unavailable.
One class of essential resources is font information; exactly how
much information is needed about individual glyphs varies considerably with the requirements of the script being typeset and withthe design requirements, but it can be a lot more than just the nominal rectangle occupied by the glyph and it is needed for all of theoften large number of potential glyphs. It is, however, generally
accepted that the typesetting process does not require information
about how a particular glyph in a particular font is rendered; thus
a large proportion of the content of, for example, a PostScript font
file need not be accessed by this process.
At the later stage of describing in detail how to print a formatted document, rendering information for the glyphs is needed (inEnglish, for efficiency of implementation, information about nominal glyph widths is also normally used at this stage). However,this information is needed only for the typically small number ofglyphs actually used in the document. One practical problem that isoften encountered at this stage is ensuring that the glyph rendering
information is accessible by the application that actually renders
the document on screen or on paper. There are two good solutions
to this: to embed all the necessary information in the document or
to have universally accessible font resources; unfortunately, both ofthese conflict with typical licenses for commercial fonts.
Before any such choices can be made it is essential that the system knows the availability and typographic characteristics of all
potentially useful fonts and also precisely what glyphs are provided
by each font. The glyph collection provided by a font is commonly

4.

GLOBALISATION

If the impact of IbTEX (or 'TEX for the rest of us') as limited to
the English-formatting world far exceeded Leslie's earlier expectations, the welcome it received from the rest of the globe was deafening: here at last was some ex-USA document processing software that merited investment of national and international effort.
1-61"EX2.09 was (deliberately) not globalised but it was globalisable:
moreover it came with documentation worth translating because of
its clear structure and straightforward language.
The world-wide availability of LATEXtherfore quickly increased
international interest in TEX and its potential for typesetting a rangeof scripts and languages; but there had already been started two
important adaptations of TEX, neither of which has had a major
effect on more recent extensions of TEX in this area. One was JTEX,
a modified version that works exclusively with a particular 16-bit
text encoding used in Japan; the other was MLTEX (see below).
Don had understood well many of the principles and techniques
needed to support multi-lingual typesetting but he was unable toimplement them within his time constraints and his over-riding
design goal of production-quality software that could be widely disIributed for use on the commonly available platforms of the early
1980s. Note that the 1990 version (TEX 3) makes only small extensions with little concession to the increased desk-top computing
power by then available. These extensions are largely languagerelated, going a small way towards full support for 8-bit font (glyph)

19

The result was Babel [7], 'a multilingual style-option system foruse with IbTEX'sstandard document styles.'
It is that 'dynamic' requirement that makes Johannes' achievements into such a difficult task. Whilst setting TEX up for a just
one non-English language can be far from trivial, providing support for the use of more than one language in the same document
increases enormously the complexity of design and coding needed
to coordinate TEX's many internal mechanisms. But Johannes had
added to this the requirement to support, in addition to Don Knuth's
quirky use of regular characters such as $ or Y,, the arbitrary rangeof traditional or specialised keyboard input techniques needed for'multi-lingual typing.' Other perceived dangers of this work arecaptured well by this further quote from Johannes' documentation
for the Babel system [7]: 'Although Leslie Lamport has stated ...
that one should not lay and write one document-style option to be
used with a/l the standard document styles of LATEX,that is exactly
what I have done with [Babel].'The primary development phase of Babel was complete by 1995
and since then it has come into almost universal use with standard LATEXinstallations; the system is still being developed andmaintained by Johannes in cooperation with various people aroundthe world. Until recently its predominant use was with the Roman
script for European languages but since 1995 practical extensions
into Cyrillic have been developed from substantial work by Olga
Lapko, Vladimir Volovich and Werner Lemberg. This has opened
the way to experiments with other scripts, such as Greek and Indic,
but it is not clear that substantial useful progress can be made i nthis direction within the constraints of standard TEX.

encodings whilst almost achieving excellent support for hyphenation of multiple (natural) languages within a single paragraph. The'almost' is there since DOn did not resolve a fundamental design
flaw which still prevents TEX from being able to guarantee correct
hyphenation when two very different font encodings are used for
language fragments within that one paragraph. I mention this partitular problem not only because its consequences have recently
occupied a noticeable proportion of my energy but became it is anarchetypal example of why working with TEX at a deep technicallevel leads frequently to frustrating challenges.
Perhaps this explains why the only significant earlier work onchanging some details of the implementation of TEX in order tomake it a viable system for typesetting text in a variety languages
other than US English was Michael Ferguson's MLTEX [11]. Thisextension of TEX dates from 1987 but only 10 years later did it
become politically feasible for MLTEX to be incorporated as an
option into major TEX sources; ironically by then its technical features were no longer essential to the globalisation effort but it isstill well supported by some, most noticeably Francopbone, users.
Please note that, throughout this discussion, the word 'language'
does not refer exclusively to the variety of natural languages andialects across the universe; it also has a wider meaning. For typography 'language' covers a lot more than just the choice of 'characters that make up words' since many important distinctions derivefrom other cultural differences that affect typographic traditions.
Thus important typographic differences are not necessarily in linewith national groupings but arise from different types of documentsor publishing communities.

4.2 Extending TEX

4.1 Multi.lingual use of standard TEX

Whilst Babel moves rapidly towards the provision of a uniform
interface to all aspects of low-level language support that can reasonably be provided when using the standard TEX engine, meeting
within the TEX tradition these needs for more fundamental changes
to support 'all the languages of the globe' is the current heroic
aim of The Omega Project [32]. This goal of overcoming someof the practical limitations of TEX is being achieved by using, as
Don Knuth encourages everyone to do, the TEX code as a basis fornewsystems that are not called TEX. Omega is an extension of TEX
that has been developed since the early 1990s by John Plaice (University of New South Wales, Australia) and Yannis Haralambous(Atelier Fluxus Virus, France).
The slogan 'feel the width!' introduces the most well-known
feature of Omega: that the representations of all characters andglyphs (together with other data slots) are 16-bit wide comparedwith TEX's 8-bit standard; such widening is in line with modern
standards for text files [42]. Whilst such long overdue implementation updates are very welcome, the strategic importance of Omega
lies in its new approaches to the central and very challenging problem of setting type: the choice and positioning of glyphs to represent an input character sequence within a given logical and visualcontext. The currently released version provides two important aids
to implementing this process,
The first is that Omega does not, by default, unthinkingly andrapidly typeset sequences of characters as would TEX; instead it
is designed to easily store sequences of 'type-settable characters'(including white-space) in a buffer so that they can be processed
further as character strings strings before being delivered to the'rapid typesetting process.' This provides for the first time in a
typesetting system a programmable interface to 'near-typesetting
character manipulation.' It can be used, for example, to define thecomplex contextual analysis needed for such processes as correct
ligature choice and diacritic placement, or character cluster build-In the late 1980s the tendency for national and language groups
to enhance the local value of TEX and L6TEXspread rapidly acrossEurope, notable are those for Polish, Czech, German and French.
This was not enough for NTG, the users group in The Netherlands(Europe's printing house) who not only fixed Dutch but went on topioneer more widely applicable efforts that encompassed the needsof multi-lingual documents. Another European initiative resulted
in the 'Cork encoding' needed to bring order to the use of TEX 3's
8-bit capabilities; it is named after the Irish location of its origin.
One feature of Eq'Ex needing attention was that many US words,
such as 'Part' were used in generated-text and, despite the impression given by Leslie, most of these character sequences were explicitly embedded in arbitrary parts of the code. Johannes Braams [7]wrote as follows in connection with this aspect of the Dutch (NTG)
group's project [8]:This [Section 5.1.4 of The Manual [22]] looked rather promising to me, so I had a look at the style files to find out
how other [strings such] as "Figure" might be redefined. It
was then that I found out that \@ehapapp is the only string
defined this way, whereas all others are hard-wired . . . .
Fixing ~seemed to be proving as difficult as the then current
myths suggested, but the courage of the pioneers such as Johannes,
Hubert Partl and Joachim Schrod triumphed over such pessimism.
Out of these efforts and two pivotal conferences (Exeter UK, 1988
and Karlsruhe Germany, 1989) emerged International DTEX [37]and the idea of more general support for using a wide variety oflanguages and for switching between them.
The resultant development by Johannes Braams, based on sometechnical insights from Bernd Raichle, concentrated on two further
aspects of multi-lingualdocuments:
dynamic access to all the necessary hyphenation rules;
dynamic support for a range of keyboard input methods.

20ing as required for scripts such as Arabic, Indic, Hebrew or Khmer.
The second is really a collection of more radical extensions thatare part of ongoing development work to provide comprehensive
support for typesetting all known scripts and writing systems; thecurrent version has a lot of support for nested multi-directional
typesetting with a potential 16 writing modes (or 64, dependingon who is counting).
John and Yannis' innovations also encompass the data structuresneeded by a typesetting engine. The most obvious of these are thefont resources, the potentially large amount of information needed
about available fonts and the glyphs they can render. In order toillustrate and utilise Omega's quality and versatility, Yannis has
designed a 'Unicode-based font' whose visual design is based onTimes/Helvetica; it will contain all the glyphs needed for a large
range of alphabetic scripts including the following: Latin, Greek,
Cyrillic, Armenian, Georgian, Hebrew, Arabic, Syriac, the Indic
scripts, Thai, Khmer. In addition, the font information resources
native to TEX have been extended to support such features as thegraphical justification of Arabic and other cursive scripts. However, Omega is still restricted to using bespoke TEX-like font information formats and encoding systems rather than directly accessing
the latest font resource formats such as OpenType [4].
There will be several spin-offs from this globalisation process:one example is robust support for more complex paragraph structures, including line decorations for change bars or line numbering.
The developers [33] have written further that:
These extensions not only make it a lot easier for TEX users
to cope with multiple or complex languages, like Arabic,
Indic, Khmer, Chinese, Japanese or Korean, in one document, but will also form the basis for future developments
in other areas, such as native color support and hypertext
features.
This last sentence takes us forward into areas of document formatting, graphics and active regions, that form the subjects of the next
section, so I must here mention my hope that these further developments will he informed by, inter alia, the research outcomes andsoftware developments I shall describe later in this paper.
Finally I can reveal that this year has seen the start of research
into the full integration of standard LaI'F~ with an extended andstable future Omega. At present this integration is via 'a IffrEX
format adapted to the special features of Omega' called Lambda:
thus Leslie's family sedan can start its global adventure with all
the equipment needed for navigating terrains far removed from the
California freeways.

4.3

Extending Lq'EX

Returning to the late 1980s, a few more of us were ignoring theconsensus that 'Ltq'Exis a black box' (or Chamber of Secrets? [34]).
In my case this led to a direct assault on the kernel, making adaptations needed for an in-house publishing system usable by a range ofprofessionals to produce a high throughput of high-quality printed
materials for supported, home-based higher education in the preinternet era. All of this was, of course, required 'yesterday' so wasbarely suited to wider usage.
Fortunately others were more altruistic, distributing their efforts
in the form of add-ons to LaFEX. Most active of these were Frank
Mittelbach and Rainer Sch6pf working in Mainz Germany, the city
made famous by the somewhat earlier innovations in printing technology of Johannes Gutenberg [10]. Just like the ubiquitous British
clothing store, M&S rapidly became well known in the LATE
x world
for 'good quality foundation-ware.' One of their major projects
formed an important part of the globalisation of IbTEX: this was acomplete replacement for LATEX'sinterface to font resources, The

New Font Selection Scheme (NFSS). This introduced an abstract
syntax for specifying font resources that had much in common withthat now widely used for system-independent font specification inmodern web standards.
TEX itself supports none of the higher-level abstractions neededto access information about fonts. These had presumably not been
needed by Don Knuth or the A_MS for their early applications,where font information was always accessed simply via an arbitrary
identifier that must be set to point directly to an explicitly named
system file. Leslie had added much of the missing indirection layers and data structures but his method was found not to scale wellas the number of fonts and sizes increased. Another indication ofDon's earlier assessment of the needs in the area of glyphs and fonts
are contained in his indication ([18] Volume A, p. 153) that providing simultaneous access to 4000 distinct glyphs at each size was
unnecessarily generous, even for mathematical typesetting. This
has long been acknowledged to be a considerable underestimate of
the needs of technical notation, as future versions of the ISO-10646(Unicode) character standard [42] will demonstrate.
Frank and Rainer's 1989 work enabled L~EX to use the very limited capacity of contemporary TEX implementations to efficiently
access a large number of fonts. The very substantial labour and thewealth of innovation they had put into this work must not be undervalued but perhaps its real importance at the time was not its intrinsic utility but its wider effect: it provided conclusive proof that the
impressive efforts of Leslie and others during the 1980s had spoken
nowhere near the last word on the exploitation of TEX's programruing features~hey had opened our eyes to the future potentialof TEX and IbTF~. Whilst this breakthrough was motivated by theimmediate need to expand the use of TEX as intended by Don forhigh quality mathematical typesetting, it also had major benefits forthe support of multi-lingualdocuments since they also tend to needa wide variety of fonts.
As a prize for all their efforts, which included a steady stream of
bug reports (and fixes) for Leslie, by 1991 they had 'been permitted' to take over the technical support and maintenance of ~ .
One of their first acts was to consolidate InternationalLATEXas partof the kernel of the system, 'according to the standard developed inEurope.' Very soon version 2.09 was formally frozen and, although
the change-log entries continue for a few months into 1992, plansfor its demise as a supported system were already far advanced.

5. INTERACTION
Since I argued above that, for a formatter, interaction is essentially graphics, this section starts with some history of TEX andgraphics. Extensive practical details of the systems mentioned here
can be found in The/~TEX Graphics Companion [13].

5.1Graphics and TEX

One eternal problem with graphics is the unlimitable variety of
specification methods and file formats. I shall finesse this by limiting this description to PostScript [2] and its description-onlyderivative PDF [3]. The starting point is that TEX provides no concept
graphics above the level of positioned, aligned rectangles of black
pixeis, not even coloured text or grey rectangles.
Linking TEX with PostScript is natural because they are both
powerful imperative languages with similar models of a formatted page and neither necessarily makes any assumptions about thecapabilities of the hardware or operating systems in use. This may
he inefficientin a single-OS world but it is essential to more general
document portability. Moreover the linking mechanism provided
by TEX works well for them: it is the TEX \sl~eia3. node.

21

formatting is essentially the same as TEX's there is no gain in notwriting PDF directly; and it is certainly natural for a document formatter to write directly in a language such as PDF.
However, the real power of the pdlTEX design is not that it writes
PDF files but that it adds valuable access to formatting informationand data structures that are completely internal to standard TEX,
which throws away crucial facts, important to the integration of
text and graphics, about the typesetting it has done when it writes
out the formatted form of the document (even to a PDF file).
The other potential power of the pdtTEX approach is that it allows
independent direct generation of all PDF objects, possibly even
without producing any typeset pages! Such software will become
increasingly important for the production of 'active documents'
for which the output requirements of document formatters movebeyond producing only sequences of pages (including long ones
that are scrolled past a screen window).
As with other extensions of TEX, the syntax invented to accessthe new features is irredeemably Knuthian: using, within a textbased system, completely undelimited keywords as the syntax tospecify command parameter values! The mixture of TEX code withdirectly embedded bits of explicit PDF gives typical pdtTEX documents a discomforting 'look and feel.' It appears that the description of such interactive documents is in need of a 'family sedan
version' if this is not too wild a dream.
Th~nh's research has also highlighted the unsettled relationshipbetween the simple TEX model of a formatted document, as no
more than a collection of pages each of which contains just positioned glyphs and rules, and PDF's richer, object-based descriptionof a document in which the page sequence object is just one component and within those page objects a formatted page can contain a relatively large range of atomic graphical elements. At theimplementation level further complications arise from the need tointerface both with PDF's internal object reference system and with
TEX's array references.
The ability to write out such riches brings responsibilities asmuch as opportunities. In contrast with TEX, where the production of illegal formatted output is considered a bug, p ~allowssomewhat arbitrary output and at present there is little documentation of the PDF structures that it is supposed to produce. Is it perhaps necessary for a system whose primary task is to produce PDF
files to make stronger checks on the validity of its output PDF?.
(Note that 'validity of PDF' should probably not be equivalent to'accepted by some version of some Adobe product.')

A 'TEX special' is a device for attaching a character string to a
precise graphical point in the output formatted document. Their use
requires great care but is tremendously powerful when the output is
to be interpreted as PostScript since the 'location point of a special'
can be naturally and easily identified with the 'current point' of
the PostScript machine. This power is well illustrated by Timothy
van Zandt's PSTrieks package [51]. The 'killer-app' that was toturn TEX+PostScript into the full-featured typesetting system forthe 90s was Tom Rokiki's drips [36], which takes the formatted
output of TEX with embedded specials and interprets it as pure,compact and efficient PostScript ready for powering your printer.
Another product of Don Knuth's typesetting enthusiasm has also
been harnessed to the PostScript wagon: John Hobby's METAPOST
is derived from METAFONT([18] Volume C), used by Don and ahandful of enthusiasts to support the programming of glyph creation. Since glyphs are graphics, it seemed natural, at least to programmers, to divert METAFONT into outputting the premier language for graphics programming. METAPOST needed also to contain a few extensions since, for example, to METAFONTas to TEX
rendering is a black-and-white matter.
METAPOST itself, like early versions of the SVG work, does not
implement a fully integrated model for text and graphics but John
provided it with an intelligent interface to TEX+dvips so that thelatter can, given effective access to font resources, produce typeset
text which is then incorporated into the PostScript graphics.
METAPOST provides an advanced tool for producing PostScript
figures incorporating TEX-typeset text without any need to stareat a screen and mess with a mouse. Thus it is a great tool for
non-visual 2-dimensional geometers (aka mathematicians) but atpresent it has only this declarative/imperative programming interface without even, I believe, any simple Gill add-ous.
Still under the dictum that 'document specification equals programming' Hans Hagen of Prgama-ADE [14] has used a rangeof tools including METAPOST to show us the exciting future of
on-line, fully active technical publishing based on CONTEXT and
MathML (an XML vocabulary for representing mathematics [49]).
For our purposes the important ways in which Adobe's more
recent product, The Portable Document Format (PDF), differs fromPostScript is not the removal of programming constructs but theaddition of the abifity to specify, albeit in a somewhat limited andad hoc manner, both interactivityas part of the formatted document
and additional screen features of the document, such as navigation
aids, that lie beyond its constituent pages. The similarity of thetwo languages was exploited by Mark Wicks in taking drips as abasis for the development of dvipdlrn [44]: this interprets TEX withembedded specials directly as PDF, avoiding the benefits and costsof Adobe's distillation process via PDFMarks.

5.2

6.

A F T E R 2.09

But where has LafEX got to7 Was there life after 2.09? Although
all the above development was done in a I~EX world, much of it
does not require I.~EX; in particular, much pdfl-EX development
was done within the framework of Hans Hagen's CONTEXT [14],the comprehensive in-house TEX-based document processing system of the Dutch company Pragma-ADE who specialise in the produetion of multi-use documents for legal, business and education
purposes--his work is a splendid example of what to use when].6TEXjust won't hack it.
In one sense too much had been happening in and around ~ :under the hood of Leslie's 'family sedan' many mechanics had been
labouring to add such goodies as supercharged, turbo-injection,
multi-valved engines and much 'look-no-thought' automation.

ExtendingTEX

In 1995 Hhn TI~ Th~nh, following suggestions by Peter Sojka
and Jii'i Zlatt~ka, started a project at Masaryk University, Czech
Republic which he describes thus [16]:'This research originated in modifying the TEX program toproduce PDF output directly from TEX source without passing through the intermediate steps of DVI (the original TEX
output format) . . . . This means providing capabilities thatare needed for generating PDF files, like font downloading,graphics inclusion, etc.[38].'
Due, for example, to the existence of tools such as dvilxiim, integrated software such as pdfTEX is not essential to the production of
PDF files from IJFEX source. However, such other methods involve
post-processing the pages output by a standard TF~ in order togenerate a PDF document. Moreover, since PDF's model of text

6.1

Why a new L~EX?

Thus the announcement in 1994 of the new standard ~ , christened LATEX2e, explains its existence thus:
Over the years many extensions have been developed for

22

IffEX. This is, of course, a sure sign of its continuing popularity but it has had one unfortunate result: incompatible
E'q'EXformats came into use at different sites. Thus, to process documents from various places, a site maintainer wasforced to keep L,~r~X (with and without NFSS), SLITEX,,AA4S-I6TEX, and so on. In addition, when looking at asource file it was not always clear for which format the document was written.
To put an end to this unsatisfactory situation a new releaseof LATEXwas produced. It brings all such extensions backunder a single format and thus prevents the proliferation ofmutually incompatible dialects of LgI'EX2.09.

the personalities of everyone involved were both essential to creating this example of the friendly face of open software maintenancebut Alan Jeffreys and Rainer SchOpf deserve special mention for'fixing everything.' A vital part of this system that is barely visible is the regression testing system and suite; this was devised andset up by Frank and Rainer with Daniel Flipo and has proved itself
countless times in the never-ending battle of the bugs.
Perhaps the most worrying deficiency of the current L~EX2ekernel is that it contains little support for the needs of even the simplest of interactions such as hypertext links. The widespread useof PDF for formatted interactive and multiple-use documents has
amplified this problem; and the access that pdtTEX has given to theadvanced features of PDF has shown the need for some fundamental additions to the ~kernel to support interactivity. The workof Sebastian Rahtz and Heiko Oberdiek, inspired by work done forthe Los Alamos Pre-print Archive [6], on the hyperrof package [31,30] shows the dangers and difficulties of adding such functionality
via a package on top of the current kernel.

The development of this new standard LgI'EXand its maintenancesystem was started in 1993 by the LATEX3Project Team which wasthen comprised of Frank Mittelbach, Rainer Sch6pf, Chris RowIcy, Johannes Braams, Michael Downes, David Carlisle and Alan
Jeffrey, with some encouragement and gentle bullying from Leslie.
Although the major changes to the kernel and the standard doeument classes (styles in 2.09) were completed by 1994, substantial extra support for coloured typography, generic graphics andfine positioning control were added later, largely by David Carlisle.
Access to fonts for the new system incorporated work by Mark Puttill on extensions of NFSS to better support variable font encodings
and sealable fonts.
Although the original reason was consolidation of the wide rangeof models carrying the LATEXmarque, what emerged was a substantially more powerful system with a controlled extension mechanism (via 16TEXpackages) and a solid technical support and maintenance methodology. It provides robustness via standardisationand maintainability,of both the code base and the support systems.
This system remains the current standard LaTEX and it has fulfilled
most of the goals for 'a new I6TEXfor the 21st Century', as we hadenvisaged them at the turn of the previous decade. The specificclaims for the new system were: 'This version has better support
for fonts, graphics and colour, and will be actively maintained by
the L'~X3 Project Team. Upgrades will be issued every six months,
in June and December.' The details of how this was achieved, andthe resulting subsystems that enabled the claims to be substantiallyattained, form a revealing study in Distributed Software Support
since the core work was done in at least five countries whilst, as
is illustrated by the bugs database [25], the total number of active
contributors to the technical support effort is high.
Although the kernel has shown a little feature creep, the package
system together with the clear development guidelines and the legal
framework of the LATEXProject Public License [27] have enabled
LATEXto remain almost completely stable whilst a very large number of workers have, as we are happy to acknowledge, extended
the available functionality [24]. The major developments of thebase system are listed in the regular issues of I6TEXNews [26] butof even more crucial importance to the continuing relevance andpopularity of I_~I'EXis the diverse collection of conlributed packages. The success of the package system for non-kernel extensions is demonstrated by the enthusiasm of these contributors-many thanks to all them! It can be easily appreciated by means of
the highly accessible and stable Comprehensive TEX Archive Network [1], a treasure trove of all things related to TEX for which weare extremely grateful to its developers and maintainers.
The provision of services and tools for such a highly distributed
maintenance and support system was itself a major intellectual challenge since many standard working methods and software tools forthese tasks assume that your colleagues are in the next room, notthe next continent---and back then, e-mail and ftp were the only
reliable means of communication. The technical innovations and6.2

A newer ~ ?

History is not a totally ordered subject and our story now links
back to the early 1990s when Frank Mittelbach, inspired by enthusiastic technical input from Denis Duchier and Leslie's ideas about
improving I~TBX'suser interfaces, was working hard on prototype
designs and implementationsof some very ambitious Ltq~x3 projectplans to use TBX's seriously inadequate programming interface tocode a completely new document processing system (the IbT~3of myth and legend). Since 1997 some of these plans have beenfurther developed by Frank and David Carlisle [24] and Frank hastaken on the immense task of carrying forward the principles andmethodology of standard IbTEX,adding to it declarative object-likeinterfaces and the underlying parameter handling technology. At
present most of this is solidly based on the original paradigm ofusing TEX directly to process a stream of imperative typesettingcommands but we are experimenting with other models for handling some aspects of building vertical lists and we are analysing
the possibilities for working with an extended version of TBX (probably based on Omega) that will perhaps better support contemporary models of text handling.
Such a system will have two major advantages over anythingelse that will emerge in the next l0 years to support fully automated document processing: it will efficiently provide high-quality
formatting of a large range of elements in very complex documentsof arbitrary size; it will be robust in both use and maintenance andhence will contain the potential to be in widespread use for at leasta further 15 years. It should also provide some integration with thefast growing world of XML documents--lbTEX for e-commerce?.
The current aim of this work is to make available some immediately usable interfaces and extensions that will work with standard
IbTEX. As more functionality is added it will become necessary
to assess the likelihood that this path will lead directly to a more
powerful yet robust and maintainable system.

7.

THE FUTURE

Having built up the background it is disappointing that time does
not allow me to write much under this head; but avery encouraging
boost has recently been given to research in automated typography
through the recent Ph.D. dissertation from H~n ThE Th~nh [16].
This is the first doctoral work on micro-typography in 'the legacy'
since that of Knuth's own students [21] and it is one of only a handful on the analysis and development of the automation of quality
typography in the last two decades. In it Th~inh analyses some
TEX-based implementations of some new font technologies and23

glyph choice mechanisms introduced by Hermarm Zapf in the early
1990s [52]. The commercial development of his techniques has
now been taken up by Adobe Systems and they have influenced thecapabilities of the InDesign product.
I am not going to attempt to answer the question 'Whither TEXT
rather I shall suggest that TEX should form only a portion of thebasis for further research and development of automated typography in the context of current activities and influences.
Most obvious amongst these influences is the rapid spread of
XML as a common standard for information encoding. This implies
that, for the formatting-independent parts of document processing, the utility and limits of 'XSL Transformation' technology [47]must be investigated since it certainly provides in this area suitable
tools that are far more effective than anything programmed in TEX.
The relationship between 'XML Style' [45], developed originallyto control rapid, real-time formatting of browsable web documents
but now extended to the wider variety of instant outputs needed fore-business systems, and 'IrI'EX Style' is close in concept but withsignificant design (both typographic and software) differences. We
need to determine whether and how these two perspectives should
be unified or be encouraged to tread separate paths.
The approach of most TEX-related research must be contrasted
with that of the document engineers, whose recent mission statement ( h t t p ://wwd. d o e u m e n t e n g i n e e r i n g , org) exemplifies anunreconstructed and somewhat limited vision of what a document
processing system can be and hence of what is the proper compass
of automated document processing. Non-WYSIWYG document
formatting is considered by their orthodoxy to be almost exclusively an isolated, static transformation from a logical to a visualdescription of a document. By contrast, good information design
requires the use of several dynamicly conflgnrable, collaborative
formatters. Many aspects of typographic quality are therefore dismissed by them as being for ever incompatible with automated document formatting. This leads me to suggest that we urgently need to
do some document science so as to understand and guide the workof these engineers: it is not wise to engage engineers to build evenprimitive bridges before completing an elementary investigation of
the gravitational constraints and available materials!
Many of the current projects using TEX as the basis for experimental developments in support of such document science are exciting and important but, as described by myself and Frank Mittelbach [28, 29], the glittering prizes for automated typography are
unlikely to lie at the end of this line of development. DOn and Leslie
have both consistently expressed to me their surprise that TEX has
not yet evolved into, or been displaced by, something clearly superior. I hope very sincerely that this historical review will inspire
research projects in automated typography that will preserve andenhance the principles incorporated by Don and Leslie in their pioneering work, but without further undignified prolongment of thenear immortality of their particular software designs and implementations.

8.

ACKNOWLEDGEMENTS

Were I too do the job properly, this section would be by far the
longest. The list of people and organisations deserving appreciation
goes far beyond those whose names I have mentioned elsewhere.

24

Thus I will start by simply thanking, on behalf of the whole current and future scientific and publishing communities, all the Good
Guys for the quality and quantity of their contributions to the work
(both that described here and much else) and to the infra-structurethat supports the production and dissemination of that work. Manyof the items referenced contain their own long lists of acknowledgements; I have not attempted even a rough estimate of the cardinalityof the set of people in the transitive closure of that process! Whatremains is largely personal thanks to individuals, many of whom
supplied direct assistance in putting together this paper.
First there are three people who made it all possible for so manyof us: Don Knuth for TEX and METAFONT in their literate forms
and for his uncompromising dedication to these and many otherideals; Leslie Lamport for a production quality TEX-based document processing system and for being persuaded that the wholeworld needed it; and Barbara Beeton for nurturing the TEX community and TUGboat [5]. Two organisations must also be included
here: The American Mathematical Society and Addison-Wesley.
Then there are the people I have worked closely with: The IbTEX3
Project Team, past and present, including Robin Fairbairns; andSebastian Rahtz, whose practical contributions to document processing are diverse, manifold and legendary, with his dry enthusiasm best summed up as 'never mind the bugs, feel the existence!'
The more theoretical leanings of the paper also owe much tothe opportunities for lengthy and often heated discussions about
typography and document science with anyone who would listen
but particularly, over many years, with Frank Mittelbach who, verymuch in Leslie's tradition, will never let any sloppy thinking get
by. In this context I shall also single out Joachim Schrod, Michael
Downes, David Carlisle, Bernd Raichle and Donald Arsenau.
I should like to be able to thank the referees and editors for help
in improving this p a p e r . . , but they do not appear to have existed
so I do not need to explain that all the remaining errors are mine,or my spell-checker's or (is it possible7) bugs in LATEX.

9.

BIBLIOGRAPHIC NOTESAs can be seen from the list of references below, much of the relevant material exists only as on-line documents or as the softwaresystems themselves. Most of the software described here is available from The Comprehensive TEX Archive Network [1] (denoted
CTA/i: in the bibliography).
Except where otherwise indicated in the text, the developments
described above are extensively documented in The Communications of the TEX Users Group [5] (denoted TUGBoat in this bibliography); this also contains many related technical announcements
and papers. The TUG web-site ('http://www. t u g . org) contains
or points to a large amount of useful material including information
about local TEX user groups.
It would be good if this bibliography could contain more references to literate descriptions of the design and implementationof this software but too often this is impossible as the quality ofthe technical documentation does not follow Donald Knuth's [20]example of making it match the high quality of the software itself.
A notable exception to this Peter Breitenlohners's contribution to
the technical part of the e-TEX documentation [9].

10.

REFERENCES[27] IffI'EX3Project Team. IffFEXProject Public Licence.
http: //www.latex-project. org/lppl.htmL[28] Frank Mittelbach. E-TEX: Guidelines/or future TEX.
TUGBoat [5] 11(3), 337-345, 1990.
[29] Frank Mittelhach and Chris Rowley. Thepursuit ofquality---how can automated typesetting achieve thehighest standards of craft typography?
In Vanoirbeek and Coray [43], 260-273.
[30] Heiko OberdieL PDF information and navigation elementswith hyperref, p d ~ , and thumbpdf. ~l'~I :macros/
latex/contrib/supported/hyperre f/doc/paper, pdf.
[31] Heiko Oberdiek and Sebastian Rahtz. Hypertext marks in
MTEX: the hyperref package. CTAN:macros/latex/
contrib/supported/hyperref/manual, pdf.
[32] John Plaice and Yannis Haralambous. The f~ system.
CTAN:systems/omega.
[33] John Plaice and Yannis Haralambons. Methods for
Processing Languages with Omega. Proceedings of theInternational Symposium on Multilingual Information
Processing, Tsukuba Japan. 1997.
[34] J.K. Rawlings. Harry Potter and the Chamber of Secrets.
Bloomsbury, 1998.
[35] Brian Reid. Scribe Document Production System User
Manual. Unilogic Ltd., 1984.
[36] Tom Rokiki. Drips: A DVI-to-PostSeript Translator. 1997
CTAN:dviware/dvips.
[37] Joachim Schrod. International LATEXis ready to use.
TUGBoat [5] 11(1), 87-90, 1990.
[38] Petr Sojka, H~a Th6 Thhnh and Ji~ Zlatugka. Thejoy ofTLzg2PDF---Acrobatics with an alternative to DVlformat.
TUGBoat [5] 17(3), 244-251, 1996.
[39] Richard Southall. Presentation rules and rules ofcomposition in the formatting of complex text.
In Vanoirheek and Coray [43], 275-290.
[40] Michael Spivak. LAmS-TEX. b ~ I : l ~ c r o s / l a m n t e x .
[411 THe TEX Users' Group. Just what is TEX?.
http: l/ram, tug. org/whatis, html.
[42] The Unicode Consortium. The Unicode Standard version 3.0.
2000 http : / / . . . . u n i c o d e . org/unicode/uni2book.
[43] C. Vanoirbeek and G. Coray, eds. Electronic Publishing '92.
Cambridge University Press, 1992.
[44] Mark Wicks. The Dvipdfm User's Manual.
CT/d/: dviware/dvipdfm/dvilxl~, pdf.
[45] W3C. Cascading Style sheets and the EXtensible Stylesheet
Language Formatting Objects.
http : / / . . . . w3. org/Style.
[46] W3C. EXtensible Markup Language.
h t t p : / / . . . . w 3 . org/XML.
[47] W3C. EXtensible Stylesheet Language.
http : / / m .w3. org/Style/XSL.
[481 W3C. HyperText Markup Language.
http ://ww..w3. org/MarkUp.
[49] W3C. Mathematical Markup Language.
http ://wwL w3. org/Nath.
[50] W3C. Scalable Vector Graphics.
http ://ran;. v3. org/Graphics/SV0.
[51] Timothy van Zandt. PSTricks. (TfAN:grraphics/pstric ira.
[52] Hermann Zapf. About micro-typography and the he-program.
Electronic Publishing: Origination, Dissemination, andDesign 6(3), 283-288, 1993.

[ 1] CTAN Team. The Comp~hensive TEX A~hive.
http://uww, t e l ac. u k / t e x - a r c h i v e(denoted CT~I: below).
[2] Adobe Systems. PostScript Language Reference 3rd ed.
Addison-Wesley, 1999.
[3] Adobe Systems. PDF Reference version 1.3 2nd ed.
Addison-Wesley, 2001.
[4] Adobe Type Library. OpenType fonts.
http : / / v ~ . adobe, c c ~ / t ype/opentype.
[5] Barbara Beeton (Editor-in-Chief). The Communicationsof the TEX Users Group, vols 6-22. 1985-2001
http : / / ~ . tug. org/TUGboat/tugboat .html.
[6] Tanmoy Bhattacharya, David Carlisle, Mark Doyle, Paul
Ginsparg, Alan Jeffrey, Hiroshi Kubo, Kasper Peeters,
Sebastian Rahtz and Arthur Smith (Japanese translation
by Kazuhito Ohya). HyperTeX FAQ. 1996-2000
http ://xxx. lanl. gov/hypertex.
[7] Johannes Braam,s. The Babel system.
CTAN: m a c r o s / l a t e x / r e q u i r e d / b a b e l .
[8] Johannes Braams, Victor Eijkhout and Nico Poppelier.
The development of national LATEXstyles. TUGBoat [5]10(3), 401--406, 1989.
[9] Peter Breitenlohner et al. The e-TEX manual.
CTAN: s y s t e m s / e - t e x / v 2 / e t e x m a - , pd~.
[10] Martin Davies. The Gutenberg Bible. The British Library
Board, 1996.
[11] Michael Ferguson. MultiLingual TEX. 1987
(now an option in the standard Web2C implementation).
[12] Michel Goossens, Frank Mittelbach and Alexander Samarin.
The ~Companion. Addison-Wesley, 1994.
[13] Michel Goossens, Sebastian Rahtz and Frank Mittelbach.
The L6TEXGraphics Companion. Addison-Wesley, 1997.
[14] Hans Hagen. Official public CONTEXTdistribution.
http : / / ~ . pragt~- ade. com.
[15] H~n Th6 Th~nh. pdtTEX. CTJN: s y s t ems/lxlftex.
[16] H/m Th6 Th/mh. Micro-typographic extensions to the TEX
typesetting system. PhD dissertation, Faculty of Informatics,
Masaryk University, Brno, Czech Republic, 2000 h t t p ://w.w. fi.muni, c z / ' t h a n h / d o w a l o a d / t h e s i s , pdf.
[17] John Hobby. The METAPOST System.
CTAN:graphies/metapost.
[18] Donald Knuth. Computers and typesetting, vols A-E.
Addison-Wesley, 1986.
[19] Donald Knuth. The Art of Computer Progranuning, vols 1-3.
Addison-Wesley, 1998.
[20] Donald Knuth. Digital Typography. CSLI Publications, 1999.
[21] Donald Knuth and Michael Plass. Breaking paragraphs
into lines. Software Practice and Experience 11(11),1119-1184, 1981.
[22] leslie Lamport. MI?EX:A Document Preparation System,
1st ed. Addison-Wesley, 1986.
[23] Leslie Lamport. MTEX:A Document Preparation System,
2nd ed. Addison-Wesley, 1994.
[24] ~ 3
Project Team. Standard and experimental ~ .
http ://imw. l a t e x - p r o j e c t . org.
[25] MI"EX3Project Team. MI?EXbugs database.
http ://mrw. latex-pro j e c t . org.
[26] Eq'EX3Project Team. I6TEXNews 1-14. 1994-2001
http : / / m . l a t e x - p r o j e c t , o r g / l a t e x 2 e , htnLl.

25