Publications by topic: LaTeX3 Concepts, Architecture and Design
TUG Conference 2023 (Bonn, Germany)
Supporting backends in expl3
- Joseph Wright
- Video of the TUG 2023 Bonn, Germany
- Keywords: LaTeX, expl3, backends
- Abstract
The backend in TeX is responsible for the parts of producing output that TeX doesn’t know about, for example colour, image inclusion and hyperlink creation. Each backend has its own syntax and range of supported concepts, so at the macro level there needs to be the appropriate code to ‘talk’ to the backend. In expl3, we have developed a consistent set of backend support files, based on the experience of (La)TeX developers over 30+ years of working with these backends. Here, I will look at the history of backend abstraction and the model used in expl3.
Further adventures in Unicode-land: Refining case changing
- Joseph Wright
- Video of the TUG 2023 Bonn, Germany
- Abstract
Getting text processing right for Unicode in TeX is a challenge, particularly where one wants to support the full range in pdfTeX. Over the past few years, I have worked on one aspect: case changing. Code to carry out the Unicode case changing algorithm was integrated into the LaTeX kernel a couple of years ago. Since then, we have been refining the details, adding more power and discovering new issues. Here, I’ll look at what we’ve done to get the code working smoothly, and look forward to what might still be improved.
Mapping to individual characters in expl3
- Joseph Wright
- TUGboat 43:3, 2022
A short note on the complexity handling characters and the way the LaTeX programming layer handles them.
From the TUG Conference 2021 (Online conference)
Any colo(u)r you like
- Joseph Wright
- Video of the TUG 2021 online conference
- Keywords: LaTeX, color handling
- Abstract
TeX itself has no built-in support for colour, which is therefore handled by specials or engine-specific extensions. For LaTeX 2ε , the different interfaces are abstracted out by the color package. However, there is a lot that the color package does not do; for example, handling colour model interconversion, mixing colours or device-specific colour spaces. Packages such as xcolor and colorspace fill that gap, whilst the luacolor package addresses a separate issue: avoiding the need to use whatsits for colour at all.
As part of wider efforts to enhance the LaTeX kernel via expl3 additions, recent work on the l3color package has brought many of these concepts into a single set of interfaces. That means not only copying existing ideas but also ensuring maximal functionality. In my talk, I will explore the work on l3color, highlighting where it can go beyond the predecessor packages in ease of use and functionality.
From the TUG Conference 2018 (Rio de Janeiro, Brazil)
Through the looking glass, and what Joseph found there (slides)
- Joseph Wright
- TUG Conference 2018 (Rio de Janeiro, Brazil)
- Abstract:
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
- 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)
LaTeX3 and expl3 in 2014: Recent developments (slides)
- 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)
- Frank Mittelbach and Joseph Wright
- TUG Conference 2013 (Tokyo, Japan)
- Abstract (pdf)
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)
- Will Robertson and Frank Mittelbach
- TUG Conference 2012 (Boston, USA)
From the TUG Conference 2011 (Trivandrum, India)
LaTeX3 architecture and current work in progress (slides)
- 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 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)
- 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)
Page design in LaTeX3
- 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.
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
- 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)
Language information in structured documents: a model for mark-up and rendering
- 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.
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.
- Current LaTeX (LaTeX2e)
- LaTeX -> LaTeX3
- PDF, Tagging, Accessibility
- Coding, Testing & Support
- Other topics independent of the LaTeX version