LaTEX3 Project Document: public, official Cover Sheet

\begin{matrix}c \\ ◯ \end{matrix} 1993 LaTEX3 Project. All rights reserved.

Permission is granted to make and distribute verbatim copies of this publication or of coherent parts from this publication provided this copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute translations of this publication or of individual items from this publication into another language provided that the translation is approved by the original copyright holders. No other permissions to copy or distribute this publication in any form are granted and in particular no permission to copy parts of it in such a way as to materially change its meaning.

File Information  General Information

Filename: l3d001.tex

Archived at:

*Niord.SHSU.edu:[FILESERV.LTX3PUB]

Author: Frank Mittelbach and Chris Rowley

Document group: Project core team

Title: The LaTEX3 Project

Version: 1.02

Date/Time: 02 April 1993/22:47:45 GMT

Keywords:

Abstract: This is a brief sketch of the LaTEX3 Project: background, history, principles, aims and functionality. The new version of LaTEX is, like the current version, a freely available system for automated processing of structured documents, formatting them to the highest typographic standards by use of the TEX typesetting software. Although its uses include a very large range of published documents, the importance of its unsurpassed ability to format mathematical formulas will not be forgotten in producing the new version. It is being produced by an international group of volunteers under the technical direction of Frank Mittelbach.

The LaTeX3 Project:

c/o Dr Chris Rowley The Open University Parsifal College Finchley Road London NW3 7BG, UK

Tel: +44 71 794 0575
FAX: +44 71 433 6196

E-mail: LTX3-Mgr@SHSU.edu

To subscribe to the LaTEX3 discussion list:

Send mail to

     listserv@vm.urz.uni-heidelberg.de

with the following line as the body of the message (substituting your own name):

     subscribe LaTeX-L First-name Surname

To find out about volunteer work:

look at the document in the file VOL-TASK.TEX, which can be obtained electronically (see below).

To get project publications electronically:

Project publications are available for anonymous ftp retrieval from Niord.SHSU.edu in the directory

[FILESERV.LTX3PUB].

The file LTX3PUB.00INDEX in that directory has a brief description of the files included in this collection. The file LTX3PUB.BIB gives full bibliographical information including abstracts in BibTeX format. A brief history of the project and a description of its aims is contained in L3D001.TEX. For retrieval of the index with further instructions regarding electronic mail use of the publications, include the line:

     SENDME LTX3PUB.00INDEX

in a mail message to:

     FILESERV@SHSU.edu (FILESERV@SHSU.BITNET)

• For offers of financial contributions or contributions of computing equipment or software, contact the project at one of the above addresses, or the TeX Users Group.

• For offers of technical assistance, contact the project at one of the above addresses.

• For technical enquiries and suggestions, send e-mail to the LaTeX-L list (see above) or contact the project by letter or FAX at the address above.

The LaTEX3 Project

Frank Mittelbach Eichenweg 29 W-6500 Mainz 1 Federal Redpublic of Germany

          E-mail: mittelbach@mzdmza.zdv.uni-mainz.de

Chris Rowley Open University Walton Hall Milton Keynes MK7 6AA United Kingdom

                E-mail: c.a.rowley@open.ac.uk

02 April 1993 Version 1.02

\begin{matrix}c \\ ◯ \end{matrix}1993 Frank Mittelbach and Chris Rowley

Abstract

This is a brief sketch of the LaTEX3 Project: background, history, principles, aims and functionality.

The new version of LaTEX is, like the current version, a freely available system for automated processing of structured documents, formatting them to the highest typographic standards by use of the TEX typesetting software.

Although its uses include a very large range of published documents, the importance of its unsurpassed ability to format mathematical formulas will not be forgotten in producing the new version.

It is being produced by an international group of volunteers under the technical direction of Frank Mittelbach.

1 Why a new version?

With TEX, Knuth designed a formatting system [7] that is able to produce a large range of documents typeset to extremely high quality standards. For various reasons, including its quality, portability, stability and availability, TEX spread very rapidly and can nowadays be best described as a world-wide de facto standard for high quality typesetting. Although it is most famous for its ability to typeset mathematics, it is being used for many other types of document, particularly those with multi-lingual requirements.

The TEX system is fully programmable. This allows the development of high-level user interfaces whose input is processed by TEX’s interpreter to produce low-level typesetting instructions; these are input to TEX’s typesetting engine which outputs the format of each page in a device-independent page-description language.

Many people have made use of this powerful feature of TEX and developed their own front-ends; the most commonly used such packages are AMSTEX and LAMSTEX by Michael Spivak [30, 29] and LaTEX by Leslie Lamport [8]. The development of AMSTEX was sponsored by the American Mathematical Society, a publishing house which now processes and typesets the majority of its output using TEX.

The principal aim of AMSTEX was to simplify the user interface to the sophisticated built-in math-typesetting capabilities of TEX. It therefore does not provide support for certain more general document processing requirements (such as symbolic cross-references, automatic numbering, etc.); it is therefore most appropriate for short articles which contain lots of formulas.

The LaTEX system, on the other hand, supports the needs of long documents such as textbooks and manuals. It was designed to separate content and form as much as possible by providing the user with a generic (i.e. logical rather than visual) markup interface; this is combined with style files in which the formatting is specified. Nevertheless, LaTEX also provides a complete set of direct formatting instructions; these allow the user to access the full power of TEX’s typesetting expertise when preparing the final version of the document.

Recent years have shown that the concepts and approach of LaTEX have become widely accepted. Indeed, LaTEX has become the standard method of communicating and publishing documents in many academic disciplines. This has led to many publishers accepting LaTEX source for articles and books. The American Mathematical Society, for example, now provides a LaTEX style option [1] which makes the mathtypesetting features of AMSTEX available to users of LaTEX. But the use of LaTEX in the publishing industry goes further: Elsevier Science Publishers, for example, are developing a system [24] which links SGML (for electronic storage of documents in databases) and LaTEX (for formatting these documents).

The use of LaTEX, together with SGML, is now also spreading into industrial environments, where the technical qualities of TEX together with the concepts of LaTEX are considered a powerful combination of great potential importance to such areas as corporate documentation [33] and database publishing.

With the spreading use of SGML-compliant systems, such as the Grif editor, LaTEX again is a common choice as the formatter for high quality typeset output [9]. A typical SGML Document Type Definition (DTD) uses concepts similar to those of LaTEX. Therefore, as in the Euromath system, the formatting is often implemented by simply mapping document elements to LaTEX constructs rather than directly to ‘raw TEX’ [31]. This enables the sophisticated analytical and processing techniques built in to much of the LaTEX software to be exploited; and it avoids the need to program in TEX.

Such developments ensured that the uses of LaTEX have become widespread, both geographically and typographically. However, they have also pushed the system way beyond its original intended purpose. Moreover, as most people who have been involved in the production of style files will agree, they have demonstrated that the current version, whilst making the author’s job easier, provides little assistance to developers of new applications. Thus there can be no doubts about the need for the continued development of LaTEX into a new, improved, front-end to TEX—one that will serve the typesetting needs of the nineties and beyond—so that is what we intend the LaTEX3 project to provide.

2 History

The original goals for the development of a new version of LaTEX are described in a paper [21] presented in 1989 at the 10th annual meeting of the TEX Users Group at Stanford—it was also at this time that Leslie Lamport expressed his full support for such a project. However, we have since discovered that those original goals did not touch many of the deficiencies of the current system.

New applications of LaTEX have highlighted many limitations of its interface (both for authors of documents and for designers of styles); and further research on such problems led us to the conclusion that one gains very little by just providing more and more specialized style files to solve this or that special problem. This is because many of these deficiencies and limitations have their source in LaTEX’s internal concepts and design [21, 22, 23].

The most important of those original goals, and one that is still a core part of the LaTEX3 system and a central concern of the project team, is the provision of a good style design interface—one that allows easy implementation of various layouts. (Easy, of course, is relative: we mean ‘as easy as possible, given the complexity of the task’.) In order to make LaTEX3 a fully flexible and extensible system, a major effort is needed in the near future in order to get this interface ‘right’.

3 Aims

The principle aims guiding our work on the project’s development are as follows.

• The LaTEX3 system will provide high quality typesetting for a wide variety of document types and typographic requirements.

• For authors, it will be easy to use since it will be highly automated, but controllable.

• For editors and designers, it will support the direct formatting commands which are essential to the fine-tuning of document layout.

• It will process complex structured documents and support a document syntax that allows automatic translation of documents conforming to commonly used SGML document type definitions into LaTEX documents—this syntax will therefore, for example, support the SGML concepts of ‘attribute’ (or ‘named argument’) and ‘short reference’, in such a way that these can be easily linked to the corresponding SGML features.

• LaTEX3 will be designed as an open system and, like the present version, it will be usable with any standard TEX system and will thus be available on a very wide range of platforms.

• Its highly modular design will provide a system that is flexible and extensible, with well-defined and fully documented interfaces.

• The code itself will also be thoroughly documented and the modular design will help to make the system easy to maintain and enhance.

• We shall also provide extensive catalogues containing many examples that are carefully designed to make the learning time for new users (including designers, editors and programmers) as short as possible.

4 Available now!

In some important areas, the extra facilities of LaTEX3 are already available to current LaTEX users.

• The New Font Selection Scheme (NFSS) is now in widespread use, providing very general and powerful tools for setting up and accessing all available fonts. A new version (NFSS2) has recently been released, which extends the flexibility of the system in the following areas of font management.

– Scalable fonts, e.g., support for PostScript fonts.

– Encodings, i.e., support for multilingual documents allowing change of font encoding (code page) within a document.

– Math symbols, facilitating access to a wide range of symbols.

– Math typesetting using any suitable family of fonts, eg Lucida or Adobe Times.

• With AMSLaTEX [1] the capabilities of LaTEX for mathematical typesetting have reached at least the standard of AMSTEX.

• Work by Frank Mittelbach and David Carlisle, together with valuable suggestions by several others, has made available more sophisticated tabular processing [15].

• Various forms of multiple-column formatting are also now available [14].

• Johannes Braams [2] has produced a new version of the ‘Babel system’ to support a wide range of languages.

5 New features

LaTEX3 will provide much new and enhanced functionality in addition to the above facilities; and its ‘LaTEX3 programming language’ will enable it to be further extended in a controlled way.

Here are further details of some of the many planned improvements.

• A robust author interface: providing interactive error recovery linked to an online help system.

• Languages: the typesetting will be customisable for use with different languages (as will the whole system, e.g. the error/help components). In particular, there will be support for mixed language documents and for multiple languages within one paragraph to be correctly hyphenated.

• Table formatting: a large number of extensions in this area will be available, including:

– multi-page tables;

– automated column width calculation;

– a variety of designs for ruled tables;

• Float handling: the major problem in processing floats (e.g. tables and figures) is the precise specification of the designer’s rules concerning how to position them. The new system will make it possible to implement a large range of such positioning algorithms, including the requirements of multi-column formatting, whilst also supporting explicit positioning commands.

• Many of the non-typesetting aspects of document processing will be automated, providing a flexible interface to cover a wide range of requirements and styles in the following areas:

– citations and bibliographies;

– cross-references;

– indexing, etc.;

– tables of contents, etc.;

– multiple marks.

• The enhanced functionality in the area of mathematical typesetting will include:

– alignments in displayed formulas;

– alphabets, symbols, embellishments;

– commutative (arrow) diagrams.

These will extend many of the features which are already available in the current version of AMSLaTEX [1].

The system will also support the elements defined in the ‘standard SGML DTD for mathematical expressions’ which is currently under development [32].

• The typesetting requirements of many other areas will also be addressed—some examples:

– technical documentation (e.g. offset layout, change bars);

– academic publishing in the humanities (e.g. critical text editions);

– structural formulas in chemistry;

– integration of graphical structures, including shading and colour;

6 Interfaces

As we said earlier, the design specification interface is probably the most significant single new feature of LaTEX3. It will have two clearly separated parts:

– the creation of the generic mark-up (e.g. environments) used by the author in creating the LaTEX form of the document;

– the specification of how (in SGML language) the document elements will be formatted.

This will simplify the production of different layouts for the same document type. It will also enable LaTEX documents to be created and modified by structured document editors, such as Arbortext Publisher and Grif. Indeed, these two parts are direct analogues of the following components of the Grif system: the ‘generic structure definition (or S) language’ and the ‘presentation description (or P) language’ [4].

However, in order to support the requirements of high quality typesetting, the LaTEX3 equivalent of the P language will need to be even richer than the Grif language. Despite the complexity of the task, this part of the ‘designer interface’ will help to make the following straightforward:

• specification of a wide variety of typographic design rules; • linking of the elements in a document type to the desired formatting;

• specifying and modifying all of the parameters that influence the layout.

Another important interface will be the LaTEX3 programming language, used for producing enhancements and extensions: it will be an entirely new language based on data structures and operations suited to the kind of programming required by document processing applications and to the expression of visual components of the layout process. Built on this language there will be high-level generic functions that allow the straightforward expression of common layout components.

7 Resources

The majority of the work, including conceptualisation, modelling, prototyping, implementation and testing, is being undertaken by a dozen individuals under the technical direction of Frank Mittelbach. This work is, in most cases including that of the technical director, done entirely in their spare time and so involves, as you can imagine, a lot of enthusiasm to keep the project alive. A large number of other individuals and organisations have contributed in one way or another to the effort, and we are confident that this number will continue to rise.

There are, nevertheless, many other tasks still to be done in support of the LaTEX3 project. These can be worked on concurrently with the development of the LaTEX3 kernel system. Furthermore, some of these tasks require special expertise not found among the core programming team. Initial research, analysis, and other work on these tasks by volunteers will, we are sure, greatly speed up the process of integrating a number of desirable features into LaTEX3.

For this reason a ‘volunteer task list’ has been set up: this describes briefly the individual tasks, which require a wide variety of expertise and time involvement. It will be updated at regular intervals and a copy is available, via anonymous ftp from the following sites: niord.shsu.edu, directory [fileserv.vol-task];

ftp.uni-stuttgart.de, directory soft/tex/vol-task. For access via mail server,

send mail to fileserv@shsu.bitnet, with no subject line and in the body write:

sendme vol-task, or to mail-server@rus.uni-stuttgart.de, with no subject line
and in the body write: send soft/tex/vol-task/vol-task.tex. If you are unable

to retrieve a copy via electronic networks, please contact Chris Rowley.

To provide a means of communication with a large number of LaTEX users an electronic mailing list has been installed at Heidelberg. To subscribe to this list send a mail message to listserv@vm.urz.uni-heidelberg.de, with one line as the body of the message (substituting your own names):

  subscribe LaTeX-L Your-first-name Your-surname

One of the major, and growing, problems is how to bring people from all over the world together to discuss the open questions and find new solutions. It is important that these meetings involve people from outside the project since we very much need the views and experience of typesetters, designers, publishers, etc. to help eliminate the flaws in the system and to find new and better solutions.

We have so far held two ‘open workshops’, in London, UK and Boston, USA; these were hugely successful and showed that further workshops of this kind are essential if we are to provide LaTEX3 with a good designer interface.

It is now clear that our ability to maintain the current progress will depend on adequate financial support being available for the following purposes:

• enhancement of computer equipment and software for the core development team;

• purchase of books on typography and other related subjects;

• essential expenses (travel, accommodation, etc.) for meetings of the project’s core development team; and also for meetings with others, for example: testers of early versions; publishers; typographic designers; suppliers of related software, etc.

References and Bibliography

This bibliography contains some items which are not specifically referenced in this article: these contain further information about the LaTEX3 project. It also contains entries concerning BibTEX, which will be reimplemented and enhanced by Oren Patashnik for use with LaTEX3.

[1] American Mathematical Society, Providence, Rhode Island. AMSLaTEX Version 1.1 User’s Guide, December 1990.

[2] Johannes Braams An update on the babel system TUGboat, 14, to appear 1993.

[3] Malcolm Clark. What is the LaTEX3 project? TEX and TUG NEWS, 1(1):4, February 1992.

[4] Grif S.A, St Quentin en Yvelines. Grif Languages: Grif 2.2, 1992.

[5] Mary Guenther, editor. TEX 90 Conference Proceedings, March 1991. Published as TUGboat 12#1.

[6] Alan Honig. LaTEX3, TUG and You. TEX and TUG NEWS, 2(1):2–4, July 1992.

[7] Donald E. Knuth. Computers & Typesetting. Addison-Wesley, Reading, Massachusetts, 1986.

[8] Leslie Lamport. LaTEX: A Document Preparation System. Addison-Wesley, Reading, Massachusetts, 1986.

[9] Helmut Lenzing. The euromath project. Euromath Bulletin, 1(1):13–20, 1992.

[10] Frank Mittelbach. LaTEX 2.10. In Lincoln K. Durst, editor, 1990 Conference Proceedings, page 444, September 1990. Published as TUGboat 11#3.

[11] Frank Mittelbach. LaTEX2.09 → LaTEX3. TEXline, (14):15–18, February 1992.

[12] Frank Mittelbach. LaTEX3. Die TEXnische Komödie, 4(2):15–22, August 1992.

[13] Frank Mittelbach. LaTEX3 project. TEX Gebruikers Group, 92(1):87–90, May 1992.

[14] Frank Mittelbach. The multicol package. Distribution of style options that allow multi-column layout with LaTEX, May 1992.

[15] Frank Mittelbach and David Carlisle. The array package. Distribution of style options that extend LaTEX’s array and tabular facilities, May 1992.

[16] Frank Mittelbach and Chris Rowley. The LaTEX3 project fund. Die TEXnische Komödie, 3(4):13–15, December 1991.

[17] Frank Mittelbach and Chris Rowley. LaTEX209 → LaTEX3. TUGboat, 13(1):96– 101, April 1992.

[18] Frank Mittelbach and Chris Rowley. The LaTEX3 project fund. TEX and TUG NEWS, 1(1):5–6, February 1992.

[19] Frank Mittelbach and Chris A. Rowley. The pursuit of quality—how can automated typesetting achieve the highest standards of craft typography? In C. Vanoirbeek and G. Coray, editors, Electronic Publishing ’92, pages 260–273, Cambridge, April 1992. Cambridge University Press.

[20] Frank Mittelbach, Chris Rowley and Michael Downes. Volunteer work for the LaTEX3 project. LaTEX3 project paper, September 1992.

[21] Frank Mittelbach and Rainer Schöpf. With LaTEX into the nineties. In Christina Thiele, editor, 1989 Conference Proceedings, volume 10#4 of TUGboat, pages 681–690. TEX Users Group, December 1989.

[22] Frank Mittelbach and Rainer Schöpf. LaTEX dans les années 90. Cahiers GUTenberg, (6):2–14, July 1990.

[23] Frank Mittelbach and Rainer Schöpf. Towards LaTEX 3.0. In Guenther [5], pages 74–79. Published as TUGboat 12#1.

[24] N.A.F.M. Poppelier. SGML and TEX in scientific publishing. In Guenther [5], pages 105–109. Published as TUGboat 12#1.

[25] David Rhead. Could LaTEX do more for chemists? TEXline, (12):2–4, December 1990. Suggestions for LaTEX3.

[26] David Rhead. Towards BibTEX style-files that implement principal standards. TEXline, (10):2–8, May 1990.

[27] David Rhead. How might LaTEX3 deal with citations and reference lists? TEXline, (13):13–20, September 1991. Suggestions for LaTEX3.

[28] Chris Rowley. LaTEX209 → LaTEX3: an update. In Mimi Burbank, editor, 1992 Annual Meeting Proceedings, pages 390–391, October 1992. Published as TUGboat 13#3.

[29] Michael D. Spivak. LAMSTEX The Synthesis. The TEXplorators Corporation, Houston, 1989.

[30] M. D. Spivak, Ph.D. The Joy of TEX, A Gourmet Guide to Typesetting with the AMSTEX macro package. American Mathematical Society, Providence, Rode Island, second edition, 1990.

[31] Eric van Herwijnen. Practical SGML. Wolters Kluwer Academic Publishers, Dordrecht, 1990.

[32] Björn von Sydow. The design of the euromath system. Euromath Bulletin, 1(1):39–48, 1992.

[33] Reinhard Wonneberger. Structured document processing: the LaTEX approach. Computer Physics Communications, (61):177–189, 1990.

[34] Reinhard Wonneberger and Frank Mittelbach. BibTEX reconsidered. In Guenther [5], pages 111–124. Published as TUGboat 12#1.