Implementation of the LaTeX3 Bundle in Tralics


This document explains the implementation of the LaTeX3 expl3.sty package. This consists in an extension of the C++ code, a style file (using normal latex syntax) and a big tex file (using latex3 syntax) which is expl3-code.tex minus the C++ code.

A partial implementation is available in Tralics version 2.15.4.

The most evident feature of LaTeX3 is that command names contain underscore and colon characters (no atsign) and are much more explicit. For instance \@ne and \thr@@ are LaTeX constants, with value one and three; in LaTeX3, they are named \c_one and \c_three. instead of \@tempboxa and \@tempcnta there will be \l_tmpa_box and \g_tmpa_int; the first one should be used for local assignment, the second one for global assignment. A variable of the form \l_module_foo_tl is local, defined in the module module, named foo and contains a token list, while \l__module_foo_tl is a private variable of that module. In the case of the kernel, the module part is omitted from the name.

The two commands \module_foo:nnn and \__module_foo:nnn are macro names, respectively public and private, defined in the module; they take three arguments (there are three letters after the colon). The meaning of these letters is the following

Valid XHTML 1.0 Strict back to home page © INRIA 2015 Last modified $Date: 2015/11/24 17:08:44 $