The LaTeX Project logoThe LaTeX Project


Below 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 in 2018

A rollback concept for packages and classes (to appear)

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.

A General LuaTeX Framework for Globally Optimized Pagination (to appear)

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 article is an extended version (37 pages) of the 2016 ACM article “A General Framework for Globally Optimized Pagination” listed below, providing a lot more details and additional research results.

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

LaTeX table columns with fixed widths Flattr this

A short article discussing how to produce table columns with a fixed width using the array package.

TUG/GUST 2017 Conference (Bachotek, Poland)

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.

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 (Vienna, Austria)

ACM DL Author-ize serviceA General Framework for Globally Optimized Pagination
Frank Mittelbach
DocEng '16 Proceedings of the 2016 ACM Symposium on Document Engineering, 2016

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

The above link enables free download of the paper from the ACM Digital Library.

TUG 2016 Conference (Toronto, Canada)

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 publically available as further research and development is needed.

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 Continious Integration testing setup for LaTeX3 sources using l3build and Travis-CI. These days we also use this to continuously the LaTeX2e sources!

TUG 2015 Conference (Darmstadt, Germany)

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

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

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.

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

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

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 Flattr this

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)

Publications in 2013

TUG 2013 Conference (Tokyo, Japan)

E-TeX: Guidelines to future TeX extensions — revisited Flattr this

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.

Publications between 2012 and 2010

TUG 2012 Conference (Boston, USA)

The xtemplate package: An example

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

TUG 2011 Conference (Trivandrum, India)

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

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.

Unicode mathematics in LaTeX: advantages and challenges

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

TUG 2010 Conference (San Francisco, USA)

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 2009 Conference (Notre Dame, Indiana, USA)

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 2008 Conference (Cork, Irland)

TUG 2007 Conference (San Diego, USA)

An exploration of the Latin Modern fonts

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

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

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.

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.

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

Notes on Oldenburg e-TeX/LaTeX3/ConTeXt meeting

Ideas for e-TeX/NTS

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. For the current state of the LaTeX3 programming language, please see the documentation in the CTAN distribution of expl3.

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.

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.