LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Paul Thompson <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Sun, 6 Apr 2008 12:53:15 -0700
text/plain (4 kB) , text/html (5 kB)
Thanks, Frank.  I will take a look at those documents.  I have a suggestion or two, but will do a little homework first.
Paul Thompson/Joy Hembel
25 Signal Hill Blvd
Belleville, IL   62223-1650

----- Original Message ----
From: Frank Mittelbach <[log in to unmask]>
To: [log in to unmask]
Sent: Sunday, April 6, 2008 2:22:21 PM
Subject: Re: LaTeX3 Plans and objectives


 > 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
 > system. 

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
dated) is

Programming Layer

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.

Configuration Layer

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

Presentation Layer

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
most likely.