> Is there some document somewhere which lays out the objectives of the new
> system? I have long had some notions which I believe will improve
> functionality. Before making them, I would like to see that plans for the
my all means make them please.
as to your question:
objectives for LaTeX3 have been layed out in various places, however they
somewhat changed over times.
My view is that of a three tier architecture separating
- programming layer
- configuration layer
- presentation layer
That is what we have been working on for a long time (far too long as many
people think) and and over the last years for a number of reasons more as a
research activity rather than with the immediate goal of producing a new
system "next year". Part of the reason for that is that we came to the
conclusion that you need something very different from the evolution path of
LaTeX2.9 -> LaTeX2e to get any significant improvements.
Be it as it may (as this is a different discussion) here is a bit more detail
on the different layers mentioned above.
Not a bad overview on all three layers (though in specific details somewhat
provide a underlying programming language which works on the "TeX" engine (or
rather its most common successors) but is significantly more structured and
useful than current days extensions of "plain TeX" including the LaTeX kernel
which is just a mess of nonexistent interfaces (largely).
To that end we came up with expl3 in a number of incarnations and although it
is still changing we now feel that it has turned into a useful basis.
best source to look at it is
e.g. run source3.tex (guess i should add a pdf version of that into the
There is also a TUB paper on expl3.
the core of the configuration layer is the concept of templates which is
implemented through the template.sty package found at
see also for example
and as already mentioned above
The strength of the configuration layer is that it provides mechanisms to
build high-level configurable (by key/val structures) objects to enable design
work to become more a matter of configuration by declaration than
configuration by coding (as it is required in 2e in 99% of the cases).
But to make this a reality a suitable number of such high-level objects needs
building beforehand which is something where still a lot is missing or not
The basic idea for the presentation layer was that we didn't want to have
one, or rather that we wanted to have a separation that allows you to stick
different representation layers on top. What we implemented as an example
layer is the xparse interface what is a kind of LaTeX2e+ in that it supports
the typical LaTeX constructs for document level commands with some
That is found as part of
and again already discussed in
But notice that this interface is and was meant to be an example and as such
one of the more simpler ones. The example given by Will in his reply to you
(i.e., a more elaborate key/val syntax on the document level) could be build
as well without changes to the other layers.
Personally that is the layer that I'm not getting involved with (at least not
currently) as my interest lies in the Configuration Layer. This is not to say
this work here wouldn't be equally important just that it will not be mine