The LaTeX Project logoThe LaTeX Project

All publications from 1995 onwards

Publications by year

By selecting an entry in the table of contents you will find links to Portable Document Format (PDF) versions of various articles and papers published by the LaTeX3 project and links to videos of their conference presentations. Some of this list has been assembled 'after the fact'; please inform us if you notice anything missing.

Publications by topic

A different view is given on Publication by Topic page where the Publications are ordered by important topics.

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.


Below is the full list of all publications on a single page for people who like to scroll. If you prefer a view reasonable chunks instead, select one of the year entries in the table of contents above.


Publications in 2023

Automated tagging of LaTeX documents what is possible today, in 2023?


Report on the LaTeX Tagged PDF workshop, TUG 2023



TUG Conference 2023 (Bonn, Germany)

Automated tagging of LaTeX documents—what is possible today?


38 years with LaTeX—A personal picture story


The LaTeX Companion, 3rd edition—Anecdotes and lessons learned


Supporting backends in expl3


Further adventures in Unicode-land: Refining case changing



Storing Unicode data in TeX engines

This paper describes the LaTeX approach taken to store Unicode data in the format for quick access in documents.



Publications in 2022


From the PDF days Europe, September 2022 (Berlin)

Tagged and Accessible PDF with LaTeX – project state, achievements, and plans for the future

The talk was recorded and is available on the PDFA website. The slides of the presentation are available here.



The LaTeX Tagged PDF project — A status and progress report


Adding XMP metadata in LaTeX


Mapping to individual characters in expl3

A short note on the complexity handling characters and the way the LaTeX programming layer handles them.


Using spot colors in LaTeX


Key–value setting handling in the LaTeX kernel

This paper describes the new kernel mechanism to handle package and class options using key–value methods introduced in release 2022-06-01.

A video on “Key-value setting handling in the kernel (2022)” as presented by Joseph at the TUG conference is also available.


Case changing: LaTeX reaches Unicode-land

This paper describes the new kernel mechanisms to manage this complexity.

A video on “Case changing: LaTeX reaches Unicode-land (2022)” as presented by Joseph at the TUG conference is also available.



TUG Conference 2022 (Online conference)

New in stock — recent LaTeX improvements (that you may have missed)


Using spot colors with LaTeX


Key-value setting handling in the kernel


Case changing: LaTeX reaches Unicode-land


siunitx: Launching version 3



l3build: The beginner’s guide



Publications in 2021

Interview with Frank Mittelbach

See also Interview of Frank Mittelbach – A combined interview of the LaTeX Project director from 2006.


On the road to Tagged PDF: About StructElem, Marked Content, PDF/A and Squeezed Bärs

There is also a video from the talk given at the TUG online conference 2021 at YouTube on this topic.



TUG Conference 2021 (Online conference)

Taming the beast — Advances in paragraph tagging with pdfTeX and XeTeX


Any colo(u)r you like


Reviving Type 3 fonts for modern LuaLaTeX documents



Creating document commands: The good, the bad and the ugly


\NewDocumentCommand versus \newcommand versus . . .



Publications in 2020

A General LuaTeX Framework for Globally Optimized Pagination (peer reviewed version)

This article is an extended version (37 pages) of the 2016 ACM article “A General Framework for Globally Optimized Pagination”, providing a lot more details and additional research results.

This is the peer reviewed version of the following article: Frank Mittelbach. “A general LuaTeX framework for globally optimized pagination”. Computational Intelligence, 35(2):242–284, 2019, which has been published in final form at https://doi.org/10.1111/coin.12165. This article may be used for non-commercial purposes in accordance with Wiley Terms and Conditions for Use of Self-Archived Versions. This article may not be enhanced, enriched or otherwise transformed into a derivative work, without express permission from Wiley or by statutory rights under applicable legislation. Copyright notices must not be removed, obscured or modified. The article must be linked to Wiley’s version of record on Wiley Online Library and any embedding, framing or otherwise making available the article or pages thereof by third parties from platforms, services and websites other than Wiley Online Library must be prohibited.”


LaTeX Tagged PDF — A blueprint for a large project


LaTeX Tagged PDF Feasibility Evaluation Study

This forty-page document contains information about a multi-year project, started by the LaTeX Project Team in 2020, that will extend LaTeX to produce tagged, and hence accessible, PDF with minimal manual intervention. It explains in detail both the project goals and the tasks that need to be undertaken, concluding with a detailed project plan. It is our blueprint for how we think the project should be undertaken.

The Introduction contains an overview of the benefits of the project and explains why LaTeX documents make a good starting point for the production of tagged PDF. More information about this blueprint and the project can be found in the article “LaTeX Tagged PDF — A blueprint for a large project” TUGboat, Volume 41-3 (2020), which will appear shortly.

The original version of this study dates from late 2019 and was addressed primarily to an audience within Adobe which consisted of engineers and managers with a wide knowledge of digital typography and electronic publishing but not necessarily much background within the specialized world of TeX, LaTeX and friends. This version of the study was updated in September 2020 with some minor redactions, corrections and clarifications.



TUG Conference 2020 (Online conference)

Quo vadis LaTeX(3) Team — A look back and at the upcoming years

The talk touches briefly on the questions “where we are coming from” (we being the LaTeX Project Team), “where we are now” and then focusses on the LaTeX Project’s plans for the upcoming years, which will primarily be focussed on providing an out-of-the box solution for generating tagged PDF with LaTeX and will include gentle refactoring of parts of the core LaTeX and providing important functionality, such as extended standard support for color, hyperlinks etc., as part of the kernel.

This is a multi-year journey that we have just started and we will briefly explain the places this will take us through. At its end we expect that LaTeX users are able to produce tagged and “accessible” PDF without the need to post-process the result of their LaTeX run.

A video of the presentation given by Frank is available on the TUG YouTube channel.


learnlatex.org: Taking LaTeX training fully interactive

A video of the presentation given by Joseph is available on the TUG YouTube channel.



The fewerfloatpages package


Case changing: From TeX primitives to the Unicode algorithm


Creating accessible pdfs with LaTeX


Typesetting Bangla script with LuaLaTeX


TeX, LaTeX and math



Publications in 2019

The LaTeX release workflow and the LaTeX dev formats


Accessibility in the LaTeX kernel — experiments in Tagged PDF



TUG Conference 2019 (Palo Alto, USA)

Taming UTF-8 in pdfTeX (handouts)

To understand the concepts in pdflatex for processing UTF-8 encoded files it is helpful to first take a look at the models used by the TeX engine and earlier attempts made by LaTeX on top of TeX. The talk provides a short historical review of that area and gives an overview about the improvements with respect to UTF-8 handling that will be activated in LaTeX within 2019.


Accessibility in the LaTeX kernel — experiments in tagged PDF (slides)




Publications in 2018

The dashundergaps package


The widows-and-orphans package


Managing forlorn paragraph lines (a.k.a. widows and orphans) in LaTeX

This article discusses the typographical problem of widows and orphans, i.e., first and last lines of a paragraph that due to a page break are separated from the rest of the paragraph.

Practical advice is given how to best avoid these situations and how to manage and resolve them when they arise. The final part discusses the package widows-and-orphans that will help here by automatically identifying and highlighting the problematical place in a longer document, in fact not just for widows and orphans but also for words hyphenated across a page break or math displays that got separated from their preceding paragraph.


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


A rollback concept for packages and classes

An article discussing the new rollback concept for packages and classes. Together with the latexrelease package this forms a comprehensive release management and compatibility solution for the LaTeX universe.

See also video of the talk recorded by IMPA on YouTube: What’s to stay, what’s to go – Compatibility in the LaTeX world and the corresponding handouts Compatibility in the LaTeX world.



TUG Conference 2018 (Rio de Janeiro, Brazil)

Unicode fonts with fontspec and unicode-math (slides)

While the fundamentals of both the fontspec and unicode-math packages have stayed the same, these packages have undergone a significant amount of development behind the scenes. While many users won’t be interested in the technical details, there are a number of feature additions that deserve broader discussion.

In this presentation I will cover the basics of these packages and best practices for using them, specifically including more recent features that users may not yet have seen. I will also try to give an overview of some technical details to focus on expl3 package development and lessons learned.

Video of the talk recorded by IMPA on YouTube: Unicode fonts with fontspec and unicode-math


Compatibility in the LaTeX world (handouts)

In this talk I take a look at the major disruptions that have rocked the LaTeX world in the past decades and how we handled them, covering some of the resulting consequences.

In the latest part of this saga a rollback concept for the LaTeX kernel was introduced (around 2015). Providing this feature allowed us to make corrections to the software (which more or less didn’t happen for nearly two decades) while continuing to maintain backward compatibility to the highest degree.

I will give some explanation on how we have now extended this concept to the world of packages and classes which was not covered initially. As the classes and the extension packages have different requirements compared to the kernel, the approach is different (and simplified). This should make it easy for package developers to apply it to their packages and authors to use when necessary.


siunitx: Past, present and future (slides)

Over the past decade, siunitx has become established as the major package for typesetting physical quantities in LaTeX. Here, I will look at the background to the package, and how it’s developed over the years. I’ll also lay out plans for the future: where are we going for version 3, and why is that important for users.

Conference paper published in TUGboat 39:2, 2018: siunitx: Past, present and future

Video of the talk recorded by IMPA on YouTube: siunitx: Past, present and future


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


A quarter century of doc (handouts)

In this talk I will re-examine my poor attempts at Literate Programming and how they have shaped (for the better or worse) the LaTeX world in the past decades. It’s about time to rethink some of the concepts invented back then—but can we still evolve?

Video of the talk recorded by IMPA on YouTube: What’s to stay, what’s to go – A quarter century of doc (I messed up the start so real talk starts at 00:02:30)


Creating teaching material with LaTeXML for the Canvas Learning Management System (slides)

In this presentation I will outline the system by which I produce PDF and HTML versions of course material for the honours project students in the School of Mechanical Engineering, The University of Adelaide.

This course material is broad and relatively dynamic in that it needs both frequent and periodic updates, and there is a soft need to have it available in a single document PDF and a hyperlinked HTML version. There are a number of tools to perform such a task, and LaTeXML was chosen for its robustness and relative simplicity. Nonetheless, the processing phase does involve some regexps to clean up the resulting HTML, which is not ideal from a maintenance perspective.

On the back end, this project could not have been accomplished without the API provided by the Learning Management System that we use, Canvas by Instructure. The web API allows HTML pages to be updated from the command line as well as PDF files to be automatically uploaded.

This system allows me to have a single source for the documentation for the course and makes updates almost entirely friction-free. While still cobbled together from a number of technologies (largely curl and shell scripts), it provides an interface that could be expanded for more general use.

In the future, as well as re-writing the code in Lua for cross-platform functionality, I also plan to overcome the problems involving use of embedded graphics with text, and mathematical content in general.

Conference paper published in TUGboat 39:2, 2018: The Canvas learning management system and LaTeXML

Video of the talk recorded by IMPA on YouTube: Creating teaching material with LaTeXML for the Canvas Learning Management System


Fly me to the moon: (La)TeX testing (and more) using Lua (slides)

Testing has been important to the LaTeX team since its inception, and over the years a sophisticated set of test files have been created for the kernel. Methods for running the tests have varied over the past quarter-century, following changes in the way the team work.

In recent years, the availability of Lua as a scripting language in all TeX systems has meant it has become the natural choice to support this work. With this as a driver, the team have developed l3build for running tests automatically. Building on the core work, l3build has grown to provide a powerful approach to releasing packages (and the LaTeX kernel) reliably.

Here, I’ll look at the background of our testing approach, before showing how and why Lua works for ushere.

Video of the talk recorded by IMPA on YouTube: Fly me to the moon: (La)TeX testing (and more) using Lua




A General LuaTeX Framework for Globally Optimized Pagination (pre-peer reviewed version)

This is the pre-peer reviewed version of the article, it will be replaced by the peer reviewed version after the 12 month embargo phase. This article may be used for non-commercial purposes in accordance with Wiley Terms and Conditions for Self-Archiving.

The peer reviewed and published version is now available as A General LuaTeX Framework for Globally Optimized Pagination (journal version).

This article is an extended version (37 pages) of the 2016 ACM article “A General Framework for Globally Optimized Pagination”, providing a lot more details and additional research results.


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.


New rules for reporting bugs in the LaTeX core software

An article discussing the new workflow for reporting bugs in the core LaTeX software. It also covers the underlying move of the LaTeX sources from an SVN to a Git-based source control system and as a result the retirement of the old LaTeX bug database.


Publications in 2017


ACM DocEng 2017 Symposium on Document Engineering (Valletta, Malta)

ACM DL Author-ize serviceEffective Floating Strategies
Frank Mittelbach
DocEng '17 Proceedings of the 2017 ACM Symposium on Document Engineering, 2017

This paper presents an extension to the general framework for globally optimized pagination described in Mittelbach (2016). The extended algorithm supports automatic placement of floats as part of the optimization. It uses a flexible constraint model that allows for the implementation of typical typographic rules that can be weighted against each other to support different application scenarios.

The above link enables free download of the paper from the ACM Digital Library. (Due to ACM restrictions it unfortunately doesn’t work from the “all-publications” page. If you are there please use the one on the pagination topic page instead.)



LaTeX table columns with fixed widths

A short article discussing how to produce table columns with a fixed width using the array package. The interface as described is now integrated in the package.



TUG/GUST Conference 2017 (Bachotek, Poland)

Through The Looking Glass — and what Alice found there … (handouts)

Continuing the quest for automatically finding optimal pagination of documents the journey takes us now to the fairy land of objective functions, call-out constraints, layout templates and other mystical creatures and a Queen that cries “Faster! Faster!” because “… it takes all the running YOU can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!” This talk explores how fast we must ran to enter that world.

Slides of the talk: Through The Looking Glass — and what Alice found there …



Publications in 2016

R.I.P. — S.P.Q.R Sebastian Patrick Quintus Rahtz (13.2.1955–15.3.2016)

A memorial for our friend and colleague Sebastian who passed away far too young.



ACM DocEng 2016 Symposium on Document Engineering (Vienna, Austria)

This paper presents an algorithm for globally optimized pagination using dynamic programming and discusses its theoretical background. It was awarded the “ACM Best Paper Award” at the DocEng 2016 conference. The paper is the basis for the work demonstrated at BachoTek and TUG 2016 (the order is reversed as submission deadline for DocEng was already in March but the conference was in September).

A greatly extended version of this paper (37 pages) titled “A General LuaTeX Framework for Globally Optimized Pagination” was submitted to the Computational Intelligence Journal (Wiley) in 2017 and accepted January 2018.

The above link enables free download of the paper from the ACM Digital Library. (Due to ACM restrictions it unfortunately doesn’t work from the “all-publications” page. If you are there please use the one on the pagination topic page instead.)




TUG Conference 2016 (Toronto, Canada)

Alice goes floating (slides with speaker notes intermixed)

In this talk a framework for globally optimizing pagination of documents containing floats is demonstrated. As the main example Alice in Wonderland by Lewis Carroll was chosen. If such a document is formatted using standard LaTeX it will result in a pagination with many issues as demonstrated here. If the same document is formatted using the new framework then one will get a globally optimized solution as shown here. At the moment the framework is still in its early stages and not yet publicly available as further research and development is needed.

Video of the talk recorded by River Valley TV: Alice goes floating (audio near the end fails unfortunately)



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.



Publications in 2015

Automated LaTeX(3) testing

A discussion of our Continuous Integration testing setup for LaTeX3 sources using l3build and Travis-CI. These days we also use this to continuously test the LaTeX2e sources!



TUG Conference 2015 (Darmstadt)

Twenty-one is only half the truth (mindmap)

Hidden behind this title is a presentation of the new LaTeX kernel compatibility concept that was introduced with 2015 release of LaTeX (42/2 years after the first release).


Reconciling unicode-math with LaTeX2e mathematics (slides)


Joseph’s Adventures in Unicodeland


Through the \parshape, and what Joseph found there


Recollections of a spurious space catcher



The box-glue-penalty algebra of TeX and its use of \prevdepth

This article discusses certain aspects of TeX’s approach to line breaking and its consequences for automatically calculating the right amount of vertical space between lines in more complex layouts.


Publications in 2014


UK-TUG meeting in 2014

Some video footage from the meeting in November 2014 on LaTeX2e and LaTeX3 development topics.

Fixing LaTeX2e (video)

A talk describing the plans for a better maintenance approach (compared to fixltx2e which doesn’t work)


Reliable releases: l3build (video)

A new build environment for LaTeX packages and documentation (works with all flavors)! Unfortunately, the demo session on l3build is not visible in the video as it only provides audio and displays of the slides used.


Case changing in the Unicode world (video)

A companion to Joseph’s talk on l3build is the published paper on this topic by Will and Frank.



How to influence the position of float environments like figure and table in LaTeX?

In 2012, a question “How to influence the float placement in LaTeX” was asked on TeX.stackexchange and as there had been many earlier questions around this topic I decided to treat the topic in some depth and explain most of the mysteries that the underlying mechanism poses to people trying to use it successfully. Once my answer appeared on the web, people asked to see this converted into an article and I foolishly replied “only if this answer ends up becoming a `great’ answer” (gets 100 votes). At the time of writing this article, the answer stands at 222 votes, so I had better make good on that promise.


l3build — A modern Lua test suite for TeX programming

Regression tests are an important tool in any moderately complex programming environment. They allow the programmer to make extensive changes to their code while providing confidence that something that used to work still does. Extensive regression test suites have been an essential component of the maintenance and development of LaTeX2e and LaTeX3. A regression test suite is typically composed of a number of individual files that contain one or more testable units of the code being tested. A testable unit might be either a certain computation with an expected outcome, a series of logic tests, or—in particular for TeX-based code—material that is typeset and intended to achieve some particular formatting. During code development and before any new code is released to the public, this test suite can be compiled to ensure that any changes to the code have not introduced bugs or changed the behaviour compared to previous versions. As bugs in the code are reported, minimal examples demonstrating the bug often form test files of their own, showing that the bug has been fixed and won’t re-occur. As TeX-based code operates in at least three different `modes’ (mouth, stomach, and output), regression testing is more complex than simply asserting the outcome of certain programming logic. As part of the work of the LaTeX3 project, a new Lua-based testing environment has been written to support ongoing development. This testing environment, presented at the 2014 TUG conference in Portland, is suitable for use by the general TeX community.



TUG 2014 Conference (Portland, USA)

A Modern Regression Test Suite for TeX Programming (slides)


LaTeX3 and expl3 in 2014: Recent developments (slides)



Mathematical Markup Language (MathML) Version 3.0 2nd Edition

This specification defines the Mathematical Markup Language, or MathML. MathML is a markup language for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the World Wide Web, just as HTML has enabled this functionality for text.

This specification of the markup language MathML is intended primarily for a readership consisting of those who will be developing or implementing renderers or editors using it, or software that will communicate using MathML as a protocol for input or output. It is not a User’s Guide but rather a reference document.

MathML can be used to encode both mathematical notation and mathematical content. About thirty-eight of the MathML tags describe abstract notational structures, while another about one hundred and seventy provide a way of unambiguously specifying the intended meaning of an expression. Additional chapters discuss how the MathML content and presentation elements interact, and how MathML renderers might be implemented and should interact with browsers. Finally, this document addresses the issue of special characters used for mathematics, their handling in MathML, their presence in Unicode, and their relation to fonts.

While MathML is human-readable, authors typically will use equation editors, conversion programs, and other specialized software tools to generate MathML. Several versions of such MathML tools exist, both freely available software and commercial products, and more are under development.

MathML was originally specified as an XML application and most of the examples in this specification assume that syntax. Other syntaxes are possible most notably [HTML5] specifies the syntax for MathML in HTML. Unless explicitly noted, the examples in this specification are also valid HTML syntax.


XML Entity Definitions for Characters (2nd Edition)

This document defines several sets of names, so that to each name is assigned a Unicode character or sequence of characters. Each of these sets is expressed as a file of XML entity declarations.


Publications in 2013


TUG Conference 2013 (Tokyo, Japan)

The stony road to complex layout (slides)

In this talk, Frank looks at the many and often conflicting user wishlists for automatic generation of complex layouts using the history and development of the multicol package through the years. What as been solved in this space and where are the typesetting challenges and what is simply not possible?


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.



Publications in 2012


TUG 2012 Conference (Boston, USA)

E-TeX: Guidelines to future TeX extensions — revisited

In 1990 shortly after Don Knuth announced TeX 3.0 Frank gave a paper analyzing TeX’s abilities as a typesetting engine. This paper now revisits the findings from more than two decades ago to see what has been achieved since then, and perhaps more importantly, what can be achieved now with computer power having multiplied by a huge factor and last not least by the arrival of a number of successors to TeX which have lifted some of the limitations identified back then.


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



The xtemplate package: An example

An evaluation by Clemens Niederberger of the ideas behind the template interface for LaTeX3.


Publications in 2011


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 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.



Reflections on the history of the LaTeX Project Public License (LPPL) - A software license for LaTeX and more

In August 2010 the LaTeX Project Public License (LPPL) was finally listed on the Open Source Initiative (OSI) web page as a free software license. This marks the endpoint of a long set of discussions around the TeX community’s predominant license. This article reflects on the history of the license; the way it came about and the reasons for its development and content. It explains why it was chosen even though alternative free licenses have been available at least from 1990 onwards. It appeared in the anniversary TUGboat issue No.100, TUGboat volume 32, number 1.


Publications in 2010


TUG Conference 2010 (San Francisco, USA)

A brief history of LaTeX — with a prediction


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.


Unicode mathematics in LaTeX: advantages and challenges

In this paper and talk Will discusses Unicode mathematics in the context of LaTeX with the unicode-math package.



From \newcommand to \DocumentNewCommand with xparse

A discussion by Joseph Wright of some of the new possibilities offered by the xparse package compared to those offered by \newcommand.


Beyond \newcommand with xparse

An introduction by Joseph Wright to the xparse package, a package that provides a powerful mechanism to define new user commands with different number of optional arguments, stars, etc.


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.


Publications in 2009 and earlier


TUG Conference 2009 (Notre Dame, Indiana, USA)

TeX-free LaTeX, an overview


Standards for LaTeX documents and processors


Next steps for breqn (slides)


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.



TUG Conference 2008 (Cork, Irland)

Windows of opportunity: A (biased) personal history of two decades of LaTeX development — Are there lessons to be learned?


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




TUG Conference 2007 (San Diego, USA)

LaTeX3 project update


The breqn package: revised and revived


Vistas for TeX



An exploration of the Latin Modern fonts

Will Robertson’s look at the Latin Modern font families and their features.


Interview of Frank Mittelbach – A combined interview of the LaTeX Project director


Page design in LaTeX3

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


Everything we want to know about Font Resources


pdfTeX workshop 2005/09/24-26

HTML presentation of the material from the September 2005 pdfTeX workshop between Thanh The Han, Morten Høgholm, and Frank Mittelbach. The main topic of the workshop was grid typesetting. The material is available both for on-line browsing and download as a zip file (1364 kB).

Please note that some external links contained in the online browsing material are no longer functional.


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).


Some note on templates

A discussion by Lars Hellström of the current implementation of the concept of templates.


The trace package

This article describes the trace package that is useful when debugging complex (or not so complex) LaTeX code.



From the twentieth annual ACM symposium on Principles of distributed computing in 2001 (Newport, Rhode Island, USA)

The LaTeX Legacy



Formatting documents with floats – A new algorithm for LaTeX2e

At the GUTenberg meeting in Toulouse, Frank presented a paper about a new output routine that is intended to enhance the way LaTeX deals with floating objects in multicolumn environments.


ACM DL Author-ize serviceOpenMath, MathML, and XSL
David Carlisle
ACM SIGSAM Bulletin - Special issue of OpenMath, 2000

The above link enables free download of the paper from the ACM Digital Library. (Due to ACM restrictions it unfortunately doesn’t work from the “all-publications” page. If you are there please use the one on the topic page instead.)



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).


TUG99 poster exhibition: Text of the Apocalypse as Graphics

Paper and auxiliary material introducing the exhibition held during the TUG99 conference. It displayed the works of Prof. Alban Grimm using Metafont to generate Graphics out of the text of the Book of Revelation.



ACM DL Author-ize serviceOpenMath and MathML: semantic markup for mathematics
O. Caprotti, D. Carlisle
XRDS: Crossroads, The ACM Magazine for Students - Special issue on markup languages, 1999

Unambiguous representation of mathematics is crucial for communications among humans or among computer systems. OpenMath is a standard aimed at supporting a semantically rich interchange of mathematics among varied computational software tools such as computer algebra systems, theorem provers, and tools for visualizing or editing mathematical text. MathML is a W3C Recommendation for the encoding of mathematics ‘on the web’ which also includes mechanisms for encoding mathematical semantics. We introduce each of these two languages and describe their relationships.

The above link enables free download of the paper from the ACM Digital Library. (Due to ACM restrictions it unfortunately doesn’t work from the “all-publications” page. If you are there please use the one on the topic page instead.)


Notes on Oldenburg e-TeX/LaTeX3/ConTeXt meeting

Ideas for e-TeX/NTS math typesetting

Early in 1998 a meeting was held between the e-TeX project and the LaTeX3 project. From this meeting we made some notes. A separate topic during the meeting was the improvement of TeX’s math typesetting.


Default docstrip headers

An article about docstrip headers appeared in TUGboat volume 19, number 2. It describes a change in the wording of the default headers and gives some hints on how to have your own specific headers on your files.


A regression test suite for LaTeX2e

An article describing the regression test suite that has been built for LaTeX over the past years. It describes some of the history and outlines the results we have had from it.


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. These days expl3 is part of the LaTeX format named “L3 programming layer”.



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.




Unicode Conference 1996 (Mainz, Germany)

Application-independent representation of text for document processing – will Unicode suffice?

A paper about application-independent representation of text for document processing; it discusses some of the Unicode shortcomings.



LaTeX2e encoding interfaces

A presentation held at Brno about the encoding interfaces that LaTeX offers. It discusses the various issues related to input and output encodings.


TUG Conference 1989 (Stanford, USA)

With LaTeX into the Nineties

The paper of the talk given at the 1989 conference in Stanford that started the LaTeX project.



Publications by year

By selecting an entry in the table of contents you will find links to Portable Document Format (PDF) versions of various articles and papers published by the LaTeX3 project and links to videos of their conference presentations. Some of this list has been assembled 'after the fact'; please inform us if you notice anything missing.

Publications by topic

A different view is given on Publication by Topic page where the Publications are ordered by important topics.

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.