Home/Blog/LaTeX3 and expl3: What Researchers Actually Need to Know in 2026
LaTeX3 and expl3: What Researchers Actually Need to Know in 2026
Technical 11 min readMarch 15, 2026

LaTeX3 and expl3: What Researchers Actually Need to Know in 2026

LaTeX3 has been quietly maturing for years. In 2026, expl3 syntax is stable enough that researchers should understand it. A practical guide to what changed, what matters, and whether you should care.

Prof. Elena Voronova

Applied Mathematics, ETH Zurich

LaTeX3 has been "coming soon" for over two decades. The joke in the TeX community is that it will be ready around the same time as Perl 6 — which already shipped and rebranded as Raku. But here is the thing: LaTeX3 is not vaporware. The programming layer, expl3, has been stable and usable since 2020. Major packages like siunitx, xparse, and l3keys are built on it. If you write custom macros or maintain a document class, you should understand what expl3 offers.

What LaTeX3 Actually Is (and Is Not)

LaTeX3 is not a new document preparation system that replaces LaTeX2e. Your documents still compile exactly the same way. What LaTeX3 provides is a modern programming layer — expl3 — that sits underneath and makes package development sane. Think of it as upgrading the engine while keeping the same car body.

The old LaTeX2e macro system is powerful but chaotic. Category codes, expansion control, and argument parsing are all handled through conventions that require deep expertise to navigate. expl3 standardizes these patterns with consistent naming, reliable argument handling, and data structures that actually work.

The Key Innovations That Matter

1. Consistent Naming Conventions

Every expl3 function follows the pattern \module_function:signature. The signature tells you exactly what arguments the function takes: n means a braced group, N means a single token, V means extract the value of a variable. Once you learn to read signatures, you can understand any expl3 code without documentation.

Tip

Example: \tl_if_empty:nTF { #1 } { true branch } { false branch } — this tests if the braced argument is empty and executes the appropriate branch. The :nTF tells you it takes one braced argument, then True branch, then False branch.

2. Proper Data Structures

LaTeX2e has no native concept of lists, arrays, or dictionaries. Packages hack around this with comma-separated values and brittle parsing. expl3 provides: sequences (ordered lists), property lists (key-value stores), token lists (string-like objects), integers, floating point numbers, and regular expressions. These work reliably across edge cases that would break traditional LaTeX code.

3. Robust Argument Parsing

The xparse package, built on expl3, lets you define document-level commands with optional arguments, starred variants, verbatim arguments, and more — without the fragile hacks that traditional LaTeX requires. If you have ever tried to write a macro that accepts an optional bracketed argument followed by a braced argument, you know the pain xparse eliminates.

Should You Learn expl3?

For most researchers: no, not urgently. If you are writing papers and using standard packages, LaTeX2e knowledge is sufficient. The packages you depend on are increasingly built with expl3, but that is an implementation detail you do not need to care about.

For researchers who: maintain a custom document class for their lab or department, write packages others use, need to do complex programmatic document generation, or are curious about how modern LaTeX works — yes, learning expl3 is worth a weekend of study. The Interface3 documentation is dense but comprehensive.

How AI LaTeX Editors Handle This

Bibby AI supports expl3 syntax highlighting and autocomplete. If you are writing expl3 code, the AI understands module prefixes and function signatures. It will not suggest \tl_set:Nn when you need \tl_gset:Nn (the global variant). This is a small detail, but getting expl3 expansion wrong is one of the most common debugging headaches in package development.

Note

Most researchers will never write expl3 code directly. But understanding that it exists — and that modern packages are built on a cleaner foundation — helps explain why LaTeX development is healthier in 2026 than skeptics predicted.

Resources for Going Deeper

  • The expl3 interface documentation (texdoc interface3)
  • Joseph Wright's blog posts on LaTeX3 development
  • The xparse package documentation for document-level commands
  • The LaTeX3 GitHub repository for source code and issue tracking
LaTeX3 expl3 LaTeX programming LaTeX macros advanced LaTeX AI LaTeX editor

Ready to write faster?

Try Bibby AI free — the top-rated AI LaTeX editor at $9/month. No credit card required.

Start Free Trial