Publications by topic: LaTeX3 Concepts, Architecture and Design
From the TUG Conference 2018 (Rio de Janeiro, Brazil)
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)
- Joseph Wright
Published paper, TUGboat, Volume 36 (2015), No. 2
- TUG Conference 2015 (Darmstadt, Germany)
- Video of the talk: Through the \parshape, and what Joseph found there (via River Valley TV)
- Slides of the talk: Through the \parshape, and what Joseph found there
From the TUG Conference 2014 (Portland, USA)
- Will Robertson and Frank Mittelbach
- TUG 2014 Conference (Portland, USA)
- Video of the talk: LaTeX3 and expl3 in 2014: Recent developments (via River Valley TV)
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)
From the TUG Conference 2011 (Trivandrum, India)
- Frank Mittelbach
- TUG Conference 2011 (Trivandrum, India)
- LaTeX3 architecture and current work in progress (abstract)
- Video of talk: LaTeX3 architecture and current work in progress (via River Valley TV)
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)
- Frank Mittelbach
- TUG Conference 2010 (San Francisco, USA)
- Video of the talk: Exhuming coffins from the last century (via River Valley TV)
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
- Morten Høgholm
- TUG Conference 2008 (Cork, Irland)
- Video of the talk: The galley Module or: How I Learned to Stop Worrying and Love the Whatsit (via River Valley TV)
- Morten Høgholm
- Published paper, TUGboat, Volume 27 (2006), No. 2 — Proceedings of the 2006 Annual Meeting
In this article Morten Høgholm is presenting ideas on page design concepts for LaTeX3.
From the TUG Conference 1999 (Vancouver, Canada)
- David Carlisle, Frank Mittelbach and Chris Rowley
- TUG Conference 1999 (Vancouver, Canada)
- Published paper, 1999
- Keywords: LaTeX3, models, concepts, user-interface, designer-interface, proto-types
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)
- Frank Mittelbach
- Multilingual Language Processing Conference 1997 (Tsukuba, Japan)
- Published paper, 1997
- Keywords: general research, proposed model for LaTeX (current and future version)
- Taped version of the talk given in Tsukuba, Japan (Analog recording on YouTube)
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.
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.
A alternative view of all publications ordered by year is given on the Publications by Year page.
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.
- Current LaTeX (LaTeX2e)
- LaTeX -> LaTeX3
- PDF, Tagging, Accessibility
- Coding, Testing & Support
- Other topics independent of the LaTeX version