LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

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

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

Print Reply
Subject:
From:
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Sun, 6 Apr 2008 21:22:21 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (116 lines)
Paul,

 > 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

  http://www.latex-project.org/papers/tug99.pdf


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

   http://www.latex-project.org/svnroot/experimental/trunk/l3in2e/

e.g. run source3.tex  (guess i should add a pdf version of that into the
directory)

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

   http://www.latex-project.org/svnroot/experimental/trunk/xpackages/xbase

see also for example

   http://www.latex-project.org/papers/template-notes.pdf

and as already mentioned above

  http://www.latex-project.org/papers/tug99.pdf

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



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

That is found as part of 

   http://www.latex-project.org/svnroot/experimental/trunk/xpackages/xbase

and again already discussed in 

  http://www.latex-project.org/papers/tug99.pdf

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.


regards
frank

ATOM RSS1 RSS2