Skip to content
This repository
branch: master
Fetching contributors…


Cannot retrieve contributors at this time

file 100 lines (73 sloc) 3.005 kb

LaTeX3 Programming Conventions


The files of the l3kernel bundle provide a low-level API for TeX programmers with special syntax conventions, completely separating it from document level syntax. Hence, the commands provided are not intended for use at the document level nor for use in describing design layouts in document class files.

This API provides the foundation on which the LaTeX3 kernel and other advanced extensions are built. Special care has been taken so that they can be used within a LaTeX2e context as regular packages.

While l3kernel is still experimental, the bundle is now regarded as broadly stable. The syntax conventions and functions provided are now ready for wider use. There may still be changes to some functions, but these will be minor when compared to the scope of l3kernel.

Programmers making use of l3kernel are strongly encouraged to subscribe to the LaTeX-L mailing list (see below): announcements concerning the deprecation or modification of functions are made on the list.


The l3kernel bundle requires the e-TeX extensions and the functionality of the \pdfstrcmp primitive. As a result, the bundle will only work with the following engines:

  • pdfTeX v1.30 or later
  • XeTeX v0.9994 or later
  • LuaTeX v0.40 or later

pdfTeX v1.30 was released in 2005, and so any recent TeX distribution will support l3kernel. Both XeTeX and LuaTeX have developed more actively over the past few years, and for this reason only recent releases of these engines are supported.


Discussion concerning the approach, suggestions for improvements, changes, additions, etc. should be addressed to the list LaTeX-L.

You can subscribe to this list by sending mail to

with the body containing

subscribe LATEX-L


The issue tracker for LaTeX3 bugs is currently located at

Please report specific issues with LaTeX3 code there. More general discussion should be directed to the LaTeX-L lists.

The LaTeX3 Project

Development of LaTeX3 is carried out by The LaTeX3 Project. Currently, the team members are

  • Johannes Braams
  • David Carlisle
  • Robin Fairbairns
  • Bruno Le Floch
  • Thomas Lotze
  • Frank Mittelbach
  • Will Robertson
  • Chris Rowley
  • Rainer Schöpf
  • Joseph Wright

Former members of The LaTeX3 Project team were

  • Michael Downes
  • Denys Duchier
  • Morten Høgholm
  • Alan Jeffrey
  • Martin Schröder

The development team can be contacted by e-mail:; for general LaTeX3 discussion the LaTeX-L list should be used.

Copyright (C) 1998-2012 The LaTeX3 Project All rights reserved

Something went wrong with that request. Please try again.