The LaTeX Project logoThe LaTeX Project

Publications by topic: LaTeX3 Concepts, Architecture and Design


From the TUG Conference 2018 (Rio de Janeiro, Brazil)

Through the looking glass, and what Joseph found there (slides)

The LaTeX3 programming language, expl3, has grown over the past decade to form a strong and stable environment for solving problems in TeX. A key aim is to grow this work to cover a wider range of areas. In recent work, the team have been building on the existing code, and in particular the expandable FPU, to develop approaches to color, drawing and image support. In this talk, I will look at why this work is useful, what models we can work from and where the work has taken us so far.

Conference paper published in TUGboat 39:2, 2018: Supporting color and graphics in expl3

Video of the talk recorded by IMPA on YouTube: Through the looking glass, and what Joseph found there




From the TUG Conference 2015 (Darmstadt, Germany)

Through the \parshape, and what Joseph found there




From the TUG Conference 2014 (Portland, USA)

LaTeX3 and expl3 in 2014: Recent developments (slides)




From the TUG Conference 2013 (Tokyo, Japan)

LaTeX3: Using the Layers (slides)

In this talk a quick overview about the four conceptual layers of the LaTeX3 architecture is given, followed by a more detailed look at the xparse, as an example of the document interface layer. It concludes with a brief detour of expl3, the language of the foundation layer of LaTeX3.




From the TUG Conference 2012 (Boston, USA)

LaTeX3: from local to global—A brief history and recent developments (slides)




From the TUG Conference 2011 (Trivandrum, India)

LaTeX3 architecture and current work in progress (slides)

This talk discusses the architecture of LaTeX3 starting with the initial ideas that date back to the early ’90s. Using an example covering the whole production cycle it is shown that several different roles with different requirements are needed to turn some draft initial manuscript into a final product. The purpose of the LaTeX3 architecture is to provide adequate support for these different needs and to resolve or at least mediate conflicts between them.

While the basic building blocks of this architecture had been identified long ago an initial implementation in 1992 showed that it was impossible to use them in practice due to limitations in the processing power of the underlying engines at the time. Furthermore several ideas that were toyed with at the time—though not wrong as such— were immature and not fully thought through. As a result the project gave up on the broader redesign and instead focused on producing a consolidated LaTeX version largely based on the architecture of LaTeX2.09. This fairly successful endeavor, labeled LaTeX2e, is still the current standard LaTeX.

So why is it still relevant? Basically because the drivers and goals that led to the new architecture are issues that haven’t been successfully resolved by other typesetting systems. The difference to the situation from the ’90s is that by now processing power in the underlying engine has increased so much that it has become feasible to implement this architecture in TeX (or rather one of its successors). The other reason is that since then further work has been undertaken, refining many of the initially immature ideas. The result is a coherent vision for a future typesetting system based on the principles of TeX and LaTeX but moving them to the next level.

The talk discusses the the separation of concerns as propagated by the architecture: between logical structure, design layer and the coding and implementation support. At the same time it is shown that for high-quality results this separation needs to be accompanied by built-in support for formatting adjustments and how this is supported by the architecture.

For design support the architecture provides two major complementary concepts: templates and context management. The use of design templates offers abstractions from which real designs can be derived through customization of parameters. The second approach is a general concept for managing design variations based on the actual element relationships within a document. For the two concepts both the theory is discussed and a short live demonstration is given.




From the TUG Conference 2010 (San Francisco, USA)

Exhuming coffins from the last century (slides)

This presentation introduces the LaTeX3 concept of boxes with handles (a.k.a. coffins) and provides a number of examples.




From the TUG Conference 2008 (Cork, Irland)

The galley Module or: How I Learned to Stop Worrying and Love the Whatsit



Page design in LaTeX3

In this article Morten Høgholm is presenting ideas on page design concepts for LaTeX3.


EuroTeX 2005 notes

HTML presentation of the work done by the LaTeX project team during EuroTeX 2005. It is available both for on-line browsing and download as a zip file (923 kB).



From the TUG Conference 1999 (Vancouver, Canada)

TUG99 talk: New Interfaces for LaTeX Class Design

The talk given by project team members at the TUG conference in Vancouver on models for user-level interfaces, designer-level interfaces in LaTeX3. Prototype implementations are in Experimental code (Experimental code was retired in 2016: many of the ideas are now implemented in one way or the other in expl3 code and packages; some have been superseded by other ideas; a few still exist on prototype level awaiting further development).




From the Multilingual Language Processing Conference 1997 (Tsukuba, Japan)

Language information in structured documents: a model for mark-up and rendering

In a conference on multilingual typesetting in Japan and later at a TUG conference a new model is presented for dealing with language information in structured documents. The article appeared in the conference proceedings, TUGboat volume 18, number 3.



Publications by topic

Under each topic you will find relevant articles and papers on related subjects published by the LaTeX3 project as well as links to videos of their conference presentations.

Publications by year

A alternative view of all publications ordered by year is given on the Publications by Year page.

Books by project members and others

A list of books that we think are useful is given on the Books Page. By buying documentation through this website you support the volunteer work of project members to keep LaTeX useful for you.