Static analysis of expl3 programs (5): Frank Mittelbach in Brno, the first public release of explcheck, and expl3 usage statistics
This week has been an exciting one for the TeX and LaTeX community in Brno, with Frank Mittelbach, a key figure from the LaTeX team, visiting Masaryk University to deliver talks on the history and the future of LaTeX.
Alongside his visit, I introduced explcheck, a static analysis tool for the expl3 programming language, with its first public release now available on CTAN.
As part of my seminar talk, I demonstrated explcheck’s capabilities, including a deep dive into 11 years of expl3 usage statistics, which reveal intriguing trends about its adoption and integration into the TeX ecosystem.
Frank Mittelbach in Brno
This week, Frank Mittelbach from the LaTeX team visited my alma mater, the Faculty of Informatics at the Masaryk University in Brno, which is home to a vibrant community of TeX users and where Hàn Thế Thành studied and developed pdfTeX during 1991–2001.
During his visit, Frank gave two talks, one on Monday, where he addressed the students of an undergraduate course about electronic document preparation, and another one on Tuesday, where he also addressed the faculty members and the general public.
Before heading back to his hometown of Mainz earlier today, Frank also visited Petr Sojka’s seminar on digital typography, where he spoke about his research into a globally optimized pagination algorithm for LaTeX.
The first public release of explcheck
For this special occasion, I prepared the first public release of explcheck, a static analysis tool (so-called linter) for the expl3 programming language that I have been working on recently. I also released explcheck on the Comprehensive TeX Archive Network (CTAN) to make it more easily available to early adopters.
On today’s seminar, I also gave an invited talk, in which I introduced explcheck and showed a demo of the first release.
Expl3 usage statistics
As a part of my demo, I used explcheck to compute the usage statistics of expl3 over the past eleven years.
The proportion of expl3 files within all TeX files has been rising steadily from 4% in TeX Live 2013 to 9% in TeX Live 2023 and 11% in the current release of TeX Live 2024. This steady rise demonstrates that expl3 is gaining traction as a programming language for TeX development, moving beyond its initial niche to broader adoption across the community.
In contrast, the proportion of expl3 code within expl3 files has steadily declined, dropping from 94% in TeX Live 2013 to 66% in TeX Live 2023 and further to 64% in the latest TeX Live 2024 release. This trend suggests a significant shift in how expl3 is being adopted. While it was initially used almost exclusively in dedicated expl3 packages, it is now increasingly integrated into existing packages originally written in traditional TeX.