Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Wed, 19 Aug 2009 09:49:00 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n7J7n0T7032360 for ; Wed, 19 Aug 2009 09:49:00 +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 n7J7icCJ021996 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 19 Aug 2009 09:44:38 +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 n7J7Z36k021751; Wed, 19 Aug 2009 09:39:46 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 286915 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 19 Aug 2009 09:39:46 +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 n7J7dgLX005120 for ; Wed, 19 Aug 2009 09:39:46 +0200 Received: from ueamailgate01.uea.ac.uk (ueamailgate01.uea.ac.uk [139.222.131.184]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id n7J7bYpQ019147 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 19 Aug 2009 09:38:48 +0200 Received: from ueams02.uea.ac.uk (ueams02.uea.ac.uk [139.222.131.131]) by ueamailgate01.uea.ac.uk (8.13.1/8.13.1) with ESMTP id n7J7bY2a011887 for ; Wed, 19 Aug 2009 08:37:34 +0100 Received: from [139.222.203.165] by ueams02.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1Mdfje-0003fe-5U for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 19 Aug 2009 08:37:30 +0100 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 References: <4A8986E9.5090209@morningstar2.co.uk> <3F0FECF5-03FB-44C2-99D6-07C3F6987F05@gmail.com> <4A8B0DFC.8060001@morningstar2.co.uk> <4A8B1604.6050809@morningstar2.co.uk> <27990a880908181836p383e40bck75fa52395dd7df5@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Canit-CHI2: 0.01 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN, outgoing) X-CanItPRO-Stream: UEA:outgoing (inherits from UEA:default,base:default) X-Canit-Stats-ID: 28508129 - d9a52b29cb81 X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 X-Scanned-By: CanIt (www . roaringpenguin . com) on 139.222.131.184 Message-ID: <4A8BABC2.3000504@morningstar2.co.uk> Date: Wed, 19 Aug 2009 08:37:38 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: template To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <27990a880908181836p383e40bck75fa52395dd7df5@mail.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 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 19 Aug 2009 07:49:00.0541 (UTC) FILETIME=[83BB8AD0:01CA20A1] Status: R X-Status: X-Keywords: X-UID: 5944 Will Robertson wrote: > Here I think it would be more "sensical" to write (respectively) > > Type: textual-note > Template: plain-footnote > Instance: with parameters for numbering per page, etc. > > Type: division > Template: plain-chapter > Instance: with parameters for fonts used, layout, etc. > > Note that different templates could be constructed such as > "chapter-like-section", "fancy-chapter", and so on which would all be > of type "division" (and hence take the same arguments) but use > different parameters. How does this fit with creating user functions? For example, I'd imagine that at some point there has to be something like: \DeclareDocumentCommand \chapter { s o m } % or whatever { \UseInstance {division} {plain-chapter} {} } However, that ties the definition of \chapter to the design, whereas something like: \DeclareDocumentCommand \chapter { s o m } % or whatever { \UseInstance {division} {chapter} } % no type means that you can alter the appearance of a document by doing \DeclareInstance {division} {chapter} { } without having to actually touch the definition of \chapter. I'd also bear in mind that collections are meant for things like "number sections in the main body, but not in the front matter or appendix", and therefore doesn't want to include anything covered by a collection. Making "numberless-sections" numbered using a collection seems very confusing. Further to the collections idea, I'd imagine that LaTeX3 could supply a set of basic collections of design decisions, and it would then be possible to apply them to the entire document. For example, continuing with the example of sections, we might provide collections standard-sections numberless-sections fancy-sections Tufte-sections and so on, meaning that changing the document design could be done using \UseInstance{} in the document class. Here again I think it makes more sense if instance names are more structural than design-led. Of course, there will be some "design" instances, but I'd think that should be very much as a class level. Taking the example from xfmgalley \DeclareTemplateType{pshape}{0} \DeclareTemplate{pshape}{cutout}{0}{ } { } \DeclareInstance{pshape}{staggered}{cutout}{ } I'd think we could imagine \DeclareTemplate{paragraph-cutout}{0}{ } { } \DeclareInstance{paragraph-cutout}{staggered}{ } working without too much difficulty. The idea of "staggered" isn't tied to design, although any one \DeclareInstance will have to set things like distances. -- Joseph Wright