Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Mon, 24 Aug 2009 09:07:46 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7O77kZk006094 for ; Mon, 24 Aug 2009 09:07:46 +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 n7O73crv015703 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Aug 2009 09:03:39 +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 n7NM24hG019680; Mon, 24 Aug 2009 09:03:28 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 285862 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 24 Aug 2009 09:03:27 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id n7O73Rvs028953 for ; Mon, 24 Aug 2009 09:03:27 +0200 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id n7O73Nt4003116 for ; Mon, 24 Aug 2009 09:03:27 +0200 Received: from morse.mittelbach-online.de (p54A84424.dip.t-dialin.net [84.168.68.36]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0MKv5w-1MfTaN11sP-0004DM; Mon, 24 Aug 2009 09:03:23 +0200 Received: by morse.mittelbach-online.de (Postfix, from userid 501) id 43F826F541; Mon, 24 Aug 2009 09:03:20 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=unknown Content-Transfer-Encoding: 7bit References: <4A7921CF.5020803@morningstar2.co.uk> <4A86949D.3090500@morningstar2.co.uk> <4A886BA8.2000209@morningstar2.co.uk> <0417DF73-EC19-4262-B9DF-5C870D47BFCE@gmail.com> <4A89058A.3060506@morningstar2.co.uk> <6E237F62-5DA8-4106-B270-F2D6BFBAA0EA@gmail.com> <4A895D7B.6030901@morningstar2.co.uk> <4A8A6E18.8090005@elzevir.fr> <4A8EC1AA.1090309@morningstar2.co.uk> <19086.63185.629124.75564@morse.mittelbach-online.de> <4A91EA40.3070304@gmail.com> X-Mailer: VM 7.19 under Emacs 21.3.1 X-Provags-ID: V01U2FsdGVkX1+RLsSfdzOViJacZnlFqnkP4exAJ2cSnhoMR/e B4lcjoZs61STr9ziIaWE+KQaN84lfeRh89TH1mhhgshC36P9+D eQXHQssx1S7tMgl6nMskQ== X-Spam-Whitelist-Provider: Message-ID: <19090.15160.218250.419093@morse.mittelbach-online.de> Date: Mon, 24 Aug 2009 09:03:20 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: language layers To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <4A91EA40.3070304@gmail.com> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -106.599 () BAYES_00,RCVD_IN_DNSWL_MED,USER_IN_WHITELIST X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 24 Aug 2009 07:07:46.0549 (UTC) FILETIME=[952F1250:01CA2489] Status: R X-Status: X-Keywords: X-UID: 5991 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 cheers frank