Tutorial on the L3 programming layer (expl3)

In Spring 2020 the LaTeX3 programming language expl3 was integrated into the LaTeX format to make it directly accessible to package developers and for future LaTeX kernel programming. Since that date LaTeX announces itself with something like

LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-10-27> xparse <2020-03-03>

Up to now the documentation for expl3 that we provide consists of a short introduction (expl3.pdf), its reference manual (interface3.pdf) and its source code (source3.pdf) all of which you can easily access using the texdoc program, e.g.,

texdoc interface3

What was missing, however, was a tutorial to help progammers to get familiar with the features and approaches when they want to use the L3 programming layer in their own packages. Such a tutorial has now been written by Ziyue “Alan” Xiang, currently a PhD student at Purdue University and we strongly recommend to check it out if you are interested in L3 programming or in understanding code written in it:

Thanks Alan for your work; it is much appreciated!

Enjoy — Frank