LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

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

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

Print Reply
Frank Mittelbach <[log in to unmask]>
Mon, 24 Aug 2009 09:03:20 +0200
text/plain (87 lines)
Joel C. Salomon writes:

 > > As a short summary:
 > >
 > >  layer -1 = user interface definition for layer 0
 > >  layer 0  = DTD document type definition (no layout aspects)
 > >  layer 1  = layout/design definition for given DTD from layer 0
 > >  layer 2  = predefined, customizable templates for use in layer 1 (applicable
 > >             to more than one DTD)
 > >  layer 3  = programming constructs to build objects of layer 2
 > De-lurking to clarify a point:
 > In other words, an author will only (yeah, right) use layer -1, while
 > the designer who customizes the layout for the book series will use layer
 > 0.

Not quite. Authors will use layer 1 do write their documents but designers
will use layer 1 to describe the layout.

 > Who uses layer 1?  I$,1ry(Bd guess it$,1ry(Bll be the guy who decides how to
 > logically divide the book$,1rt(Binto Parts, Chapters, &c.  Is that right?

In layer 0 "document type designers" define the logical elements of a
certain document class, e.g., in 2e that the book class has \frontmatter but
article and report have not, or that the article title has \author \title
\date but for some strange reason no concept of \address

However, I don't expect a 100% role seperation and in fact, as I wrote
elsewhere, one of the strengths of LaTeX 2e was that there was always a
possibility to change role. E.g., I envision that mechanisms will be available
to alter layout decisions in the preamble of a document (ie the author using
layer 1 elements to manipulate the layout for a single document if necessary)

Or take the current \usepackage concept: most packages offer additional
document elements so that by loading additional packages you effectively extend
layer 0 for a given document.

 > Then who uses layers 2 & 3?

layer 3 is used to build layer 2 elements (eg templates). ready made elements
of layer 2 are in turn used by designers specifying layout on layer 1.

That's the "use side". And who writes new templates in layer 2?

 Essentially people with TeX expertise (or say expl3 expertise) and hopefully
also some good background in typography. You could say they are
TeX-consultants whether or not formally. Just like it is now: packages and
document classes are written by people that have interest in the matter,
sometimes for money, but often just for fun or interest.

Those people may be designers who find that they need some layout on layer 1
that isn't available. But it may also be that such designers only explain what
they typographically search for and then somebody else is writing it for them.

To give one explicit example from the 2e world:

 layer -1    =  \section with * [..]{...} syntax

 layer 0     =  documents of type article have sections that may be numbered
                and may have different titles in the document and the TOC

 layer -1    =  \@startsection with some parameter settings to produce the
                famous :-) look and feel of sections in article.cls

As many people were not quite satisfied with the possibilities of the
\@startsection "template" Javier Bezos produced an alternative template on
layer 2: by writing the titlesec package

He used for this layer 3 which are the commands and functions offered by the
2e kernel.

Having done so, designers can now specify headings on layer -1 by using
\titleformat \titlespacing and the like.

Of course this is only an analgoy as we don't have formal "templates" in 2e
and if you look at titlesec package, that cuts across several layers also
offering structural additions (i.e., for layer 0 and -1) though \titleclass

hope this explains my thinking a bit clearer and I haven't muddied the waters
even further