CTAN update: expl3

CTAN Announcements ctan-ann at dante.de
Sat Nov 21 21:21:36 CET 2009

just as massenet prepares werther to kill himself (on the radio), up
pops the daemon and says:

> The following information was provided by the package's contributor.
> Name of contribution: expl3
> Author's name: LaTeX Team
> Location on CTAN: /macros/latex/contrib/expl3
> Summary description: Low-level LaTeX3 programming conventions
> License type: lppl
> Announcement text given by the package's contributor:
> ----------------------------------------------------------------------
> ----------------------------------------------------------------
> ----------------------------------------------------------------
> The expl3 bundle: Low-level LaTeX3 programming conventions
> ----------------------------------------------------------------
> The files of the expl3 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.
> The TeX and eTeX primitives are all given a new name according
> to these conventions. However, in the main direct use of the 
> primitives is not required or encouraged: the expl3 modules
> define an independent low-level LaTeX3 programming language.
> At present, the expl3 modules are designed to be loaded on top 
> of LaTeX2e:
>   \usepackage{expl3}
> In time, a LaTeX3 format will be produced based on this code.
> This allows the code to be used in LaTeX2e packages now while a
> stand-alone LaTeX3 is developed.
> ----------------------------------------------------------------
> This release (SVN 1733)
> ----------------------------------------------------------------
> Since SVN 1550, internal changes have been made to switch from
> \cs_new:Nn to \cs_new:npn (and of forth) for performance
> reasons. Some numerical code has switched from using "num" to
> "int" storage.
> The messaging system (l3msg) now allows messages to use up to
> four arguments. At the same time, the "recovery code" concept
> has been removed from l3msg, which now focusses purely on 
> messages. These changes may therefore require changes to other code.
> Kernel messages are now divided up into groups, so that they can
> be named more freely. More details of these changes are included
> in l3obsolete.txt
> In the l3keys module, there have been some improvements to 
> choices. An error is now issued if .generate_choices:n is given
> before .choice_code:n has defined the necessary code. The value
> \l_keys_choice_int is now indexed from 0, rather than from 1,
> so that it is more easily used with \if_case:w and so on.
> New functions \chk_if_free_cs:c and  \seq_if_in:NV(TF) have
> been added. The \exp_args:x function has been removed from the
> core of expl3, as it is only of significant benefit when using
> LuaTeX.
> Documentation has been improved at various places. Some changes
> have been made the font loading system, so that the use of
> lmodern is documented, and details of using l3doc.cfg to change the
> behaviour are provided.
> ----------------------------------------------------------------
> The LaTeX3 Project
> ----------------------------------------------------------------
> ----------------------------------------------------------------
> Users may view the package catalogue entry at
>   http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/expl3.html
> or they may browse the package directory at
>   http://www.tex.ac.uk/tex-archive//macros/latex/contrib/expl3

the catalogue entry will change overnight (though the difference will
hardly be noticeable).

Robin Fairbairns

For the CTAN team

More information about the Ctan-ann mailing list