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:26:13 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7O7QCYG006390 for ; Mon, 24 Aug 2009 09:26:13 +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 n7O7MFdw025516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Aug 2009 09:22:15 +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 n7NM24im019680; Mon, 24 Aug 2009 09:22:13 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 285951 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 24 Aug 2009 09:22:13 +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 n7O7MDOi030224 for ; Mon, 24 Aug 2009 09:22:13 +0200 Received: from rv-out-0708.google.com (rv-out-0708.google.com [209.85.198.248]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id n7O7M83J025240 for ; Mon, 24 Aug 2009 09:22:12 +0200 Received: by rv-out-0708.google.com with SMTP id c5so591098rvf.10 for ; Mon, 24 Aug 2009 00:22:07 -0700 (PDT) Received: by 10.140.142.15 with SMTP id p15mr1975162rvd.140.1251098527278; Mon, 24 Aug 2009 00:22:07 -0700 (PDT) Received: from ?129.127.15.244? ([129.127.15.244]) by mx.google.com with ESMTPS id g14sm11001928rvb.45.2009.08.24.00.22.05 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 24 Aug 2009 00:22:06 -0700 (PDT) Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes Mime-Version: 1.0 (Apple Message framework v935.3) 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: Apple Mail (2.935.3) X-Spam-Whitelist: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id n7O7MDOi030225 Message-ID: Date: Mon, 24 Aug 2009 16:52:01 +0930 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Will Robertson 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: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED 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:26:13.0357 (UTC) FILETIME=[28E491D0:01CA248C] Status: R X-Status: X-Keywords: X-UID: 5992 Hi, I've been meaning to thank you, Frank, for the clear and insightful basis for discussion with the language layers. It's very helpful to be able to refer to these ideas in more concrete terms. I also see that you've now answered Joel's questions as well, but I figured another viewpoint could hurt (much). Interesting to see if what I write makes sense to you :) On 24/08/2009, at 10:47 AM, Joel C. Salomon wrote: > Frank Mittelbach wrote: >> 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. > > Who uses layer 1? I’d guess it’ll be the guy who decides how to > logically divide the book—into Parts, Chapters, &c. Is that right? > > Then who uses layers 2 & 3? I'd like to draw a nice info-graphic to illustrate these layers, but for now I'll just try and answer your questions as I see the situation. (Please chime in with alternative interpretations.) - Yes, the document author writes in Layer -1. - Layer 0 defines the structure of the document sufficiently to be able to write the document in terms of abstract "content", separate from the "presentation". This layer doesn't define \part, \chapter, {figure}, and so on, it simply defines that those elements exist and can be used. (Perhaps also with an loose understanding of the way they interact.) - Layer 0 is also the layer than an automated system could output. In LaTeX2e, there is no difference between layer 0 and layer -1 (hence the odd numbering scheme, perhaps). - Layer 1 is used by the author who wishes to adjust the design of the document (different spacing, different fonts, etc.) and for the designer who sets up a local modification of a class (say, a university thesis style for others to use). In LaTeX2e, this could be thought of as loading a package such as geometry and then using its methods to change the page size. - Layer 2 is a set of document styles that each fulfil certain generic design elements. There might be a set of templates that can be used to generate an "article-like" class that allows everything in LaTeX2e's article, but with a keyval interface (through template) for all of the design parameters. - Layer 3 is the code that turns the source itself plus the design parameters into a typeset document. In LaTeX2e terms, this is simply what exists inside the standard classes, since they offer no (or few) options for direct modification. Layer 3 is the mechanics that performs the (a) typesetting algorithms of paragraphs and lists, (b) automatic numbering, (c) page layout with footnotes and floats, (d) resolving cross-references, and so on and so on. I hope, like Frank, that this explains *my* thinking and that it correlates with his explanations as well. If not, then I've got some more pondering to do. Will