Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Sun, 6 Apr 2008 22:00:56 +0200 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id m36K0pru012661 for ; Sun, 6 Apr 2008 22:00:51 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id m36JqtrT028317 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 6 Apr 2008 21:52:55 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m36706X8029582; Sun, 6 Apr 2008 21:53:33 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 12107 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 6 Apr 2008 21:53:33 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m36JrWx1006461 for ; Sun, 6 Apr 2008 21:53:32 +0200 Received: from web82003.mail.mud.yahoo.com (web82003.mail.mud.yahoo.com [66.163.178.247]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with SMTP id m36JqaCn028202 for ; Sun, 6 Apr 2008 21:52:37 +0200 Received: (qmail 32105 invoked by uid 60001); 6 Apr 2008 19:53:15 -0000 X-YMail-OSG: Tq_IzjAVM1lswBOXwg2DTN64YgQ1sO3x3XSxfQ..S3GIDEf1t6a0wFw9Fa1CCD8MiGd_EvxUywbbtH42jzu1KgcFRA-- Received: from [70.225.79.231] by web82003.mail.mud.yahoo.com via HTTP; Sun, 06 Apr 2008 12:53:15 PDT X-Mailer: YahooMailRC/902.40 YahooMailWebService/0.7.162 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-986717287-1207511595=:30247" Message-ID: <360719.30247.qm@web82003.mail.mud.yahoo.com> Date: Sun, 6 Apr 2008 12:53:15 -0700 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Paul Thompson Subject: Re: LaTeX3 Plans and objectives To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -2.224 () BAYES_00,HTML_30_40,HTML_MESSAGE X-Scanned-By: MIMEDefang 2.64 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 06 Apr 2008 20:00:56.0578 (UTC) FILETIME=[ED2FFE20:01C89820] Status: R X-Status: X-Keywords: X-UID: 5197 --0-986717287-1207511595=:30247 Content-Type: text/plain; charset=us-ascii 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 To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE Sent: Sunday, April 6, 2008 2:22:21 PM Subject: Re: LaTeX3 Plans and objectives 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 --0-986717287-1207511595=:30247 Content-Type: text/html; charset=us-ascii
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 <frank.mittelbach@LATEX-PROJECT.ORG>
To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE
Sent: Sunday, April 6, 2008 2:22:21 PM
Subject: Re: LaTeX3 Plans and objectives

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

--0-986717287-1207511595=:30247--