Interest in LaTeX3 developments has increased over the past couple of
years, as efforts have been made by the team to demonstrate that the
coding environment is ready for wider use. This has highlighted some
issues which need to be addressed with the code base. The team have
undertaken a review over the last couple of months, referred to as the
'big bang', and we will be updating CTAN with the results of this work
over the next few days. Here, I will try to highlight the main targets
of this work.
First, the team has recently expanded: Bruno Le Floch is now a team
member. Bruno is focussing at present on improving the reliability and
efficiency of various internal structures. This has already resulted in
new implementations for the sequence and property list modules, along
with a number of fixes for awkward cases in other areas. Some of these
changes were present in the last CTAN update, but they are now more
Secondly, we have tried to clarify the status of the code within the
LaTeX3 code base. Some of the code had been present in the repository
for long time without review, and when looked at critically not all of
the material was really suitable for wider use. At the same time, the
status of many parts of the code base was not clear, even to members of
the team! We have therefore rearranged the code both in the SVN and on
CTAN. There are now the following subdivisions:
- l3kernel. This takes over from l3in2e as the 'base layer' of LaTeX3.
This unit contains code which (1) is 'stable' and (2) will be present
in a LaTeX3 format in the current form. At present, this unit
consists of coding material only
- l3packages. This is (broadly) the former xbase package. It contains
'stable' packages which are tied to LaTeX2e. The interfaces provided
here will not change while the material is used with LaTeX2e,
although we do not know at this stage what parts will be transferred
into a LaTeX3 format
- l3experimental. This is made of material which is under more active
development, and where the interfaces are not yet determined.
Some modules which we have previously sent to CTAN has been removed from
the release material. Much of this has been 'retained for reference' and
may at some stage return, after suitable reviewing.
Part of the 'big bang' efforts have been focussed on making the released
code more consistent, and the documentation more accurate. The
significant number of deprecated functions, noted yesterday, reflect the
fact that in some places inconsistency remained which required
attention. Concerning the documentation, we have made some efforts to
tighten up the descriptions. Feedback on this is very welcome, and
undoubtedly there remain more areas which need further attention.
As part of the general 'tidy up' efforts, Morten Hoegholm's xfrac
package is being moved from his mh bundle to l3packages. This will allow
all of the team to make changes to xfrac, which will ensure that it will
be tested as part of updates to LaTeX3 and therefore should stay in sync
with changes to the supporting parts of LaTeX3 which it uses.
Although not strictly part of the 'big bang' work, it is also worth
noting here that we have established a mirror of the SVN on the popular
GitHub site (http://github.org/latex3/svn-mirror). While the primary
development repository remains our own SVN server, the GitHub mirror
provides benefits such as:
- Accessible visual interface for code and changesets.
- Issues database. Many LaTeX3 issues are transitory, but do need
to be tracked in some way.
- Simple route to submit patches for LaTeX3 using the Git 'pull