Received: via tmail-4.1(11) (invoked by user schoepf) for schoepf; Tue, 25 Jan 2000 14:43:02 +0100 (MET) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id OAA03824 for ; Tue, 25 Jan 2000 14:43:02 +0100 (MET) MIME-Version: 1.0 Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mailgate2.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id OAA22308 for ; Tue, 25 Jan 2000 14:42:59 +0100 (MET) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01BF673A.194E7700" Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <15.E6EC64A1@mail.listserv.gmd.de>; Tue, 25 Jan 2000 14:42:43 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 449204 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Tue, 25 Jan 2000 14:41:32 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id OAA29159 for ; Tue, 25 Jan 2000 14:41:31 +0100 (MET) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id OAA07548 for ; Tue, 25 Jan 2000 14:41:25 +0100 (MET) Received: from mail.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate2.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id OAA22293 for ; Tue, 25 Jan 2000 14:42:49 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (root@dialin376.zdv.Uni-Mainz.DE [134.93.175.76]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id OAA03756 for ; Tue, 25 Jan 2000 14:42:47 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id OAA01742; Tue, 25 Jan 2000 14:42:38 +0100 In-Reply-To: References: Return-Path: x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil]["7977" "Tue" "25" "January" "2000" "14:42:38" "+0100" "Frank Mittelbach" "frank.mittelbach@LATEX-PROJECT.ORG" nil "164" "template interfaces and what they mean" "^Date:" nil nil "1" nil nil nil nil nil]nil) X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f Content-class: urn:content-classes:message Subject: template interfaces and what they mean Date: Tue, 25 Jan 2000 14:42:38 +0100 Message-ID: <200001251342.OAA01742@istrati.zdv.uni-mainz.de> X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Frank Mittelbach" Sender: "Mailing list for the LaTeX3 project" To: "Multiple recipients of list LATEX-L" Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 3507 This is a multi-part message in MIME format. ------_=_NextPart_001_01BF673A.194E7700 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable part of Achim's reply to "templates for galley" tempted me to think = about this once more and offer some thoughts for discussion. main point is i would like you to think about is, what are the = invariants of that interface, ie what can be assumed to be the same from one template = to the next (within a type) and what can differ. Here is the extract from Achim's mail that triggered this: > o pshape template. Perhaps it would be a good idea to add two = arguments > to the pshape template for the horizontal and vertical dimension > (where the exact meaning depends on the template). Say, a template > for a rectangular cutout could interpret the horizontal dimension > as width of the cotout and the vertical dimension as number of = lines > to be indented. > > o justification template. I'm not quiet sure how the galley templates > are intented to be used -- the package only defines the templates > themselve no commands to use them. But I think that the = justification > templates shouldn't be able to choose whether they affect all > paragraphs or only the next one. Instead the user should be able to > tell the system which case is desired everywhere such a template is > used. to formulate those a bit more abstractly: 1) how much freedom has a template to interpret its arguments (ie data = passed to it from the document)? 2) what is the scope a template instance apply itself? is it = well-defined? let's tackle 1) first. Achim suggests that the pshape type should get = two arguments those meaning should depend on the template. in my opinion = this is likely to result in chaos. the main idea behind the template types is that logical structure of the document, i.e., the commands and environments therein, are transformed = into instance calls of templates of certain types. this is defined via, say, = an xpare interface and does define the document class (no formatting yet) structure. now the task of the designer is to declare such instances (whose names = are fixed by the structural part above). He/she does that by declaring = instances using \DeclareInstance{}{}{