The LaTeX Project logoThe LaTeX Project

Publications by topic: The LaTeX3 Programming Language (expl3)

The dashundergaps package package


The widows-and-orphans package


Supporting color and graphics in expl3

The expl3 language has grown over the past decade to cover a wide range of programming tasks. However, at present there are a number of areas where expl3 offers little or no ‘core’ support and which will need functionality at this level. Here, I’ll be focussing on one in particular: color and graphics support.

See also video of the conference talk recorded by IMPA on YouTube: Through the looking glass, and what Joseph found there



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



TeX.StackExchange cherry picking: expl3

In this article Gregorio presents some examples of macros built with expl3 in answer to users’ problems presented on tex.stackexchange.com to give a flavor of the language and describe its possibilities. Topics include list printing, string manipulation, macro creation, and graphics.


Exploring \romannumeral and expansion

An article by Joseph Wright on a clever use of \romannumeral to trigger controlled expansion. This is used extensively in the expl3 sources.



From the TUG Conference 2015 (Darmstadt, Germany)

Recollections of a spurious space catcher



Programming key-value in expl3

In this paper Joseph Wright discusses the key-value implementation that is provided as part of the LaTeX3 programming language expl3.



From the TUG Conference 2009 (Notre Dame, Indiana, USA)

Consolidation of expl3 (slides)



LaTeX3 programming: External perspectives

An introduction by Joseph Wright on the current implementation of the expl3 programming extensions for LaTeX3, highlighting recent changes and improvements.



From the TUG Conference 2007 (San Diego, USA)

LaTeX3 project update



The LaTeX3 Programming Language—A syntax proposal for TeX macro programming

An article giving a brief overview of the first release of expl3: a proposed LaTeX3 programming language. The article appeared in TUGboat volume 18, number 4. For the current state of the LaTeX3 programming language, please see the documentation in the CTAN distribution of expl3.


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.