1-Jan-2000 10:15:34-GMT,2884;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id DAA07800 for ; Sat, 1 Jan 2000 03:15:32 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id LAA12456; Sat, 1 Jan 2000 11:14:00 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id LAA01264; Sat, 1 Jan 2000 11:09:39 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446746 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sat, 1 Jan 2000 11:09:35 +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 LAA01255 for ; Sat, 1 Jan 2000 11:09:30 +0100 (MET) Received: from obelix.ee.duth.gr (obelix.ee.duth.gr [193.92.243.100]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id LAA12389 for ; Sat, 1 Jan 2000 11:10:29 +0100 (MET) Received: from localhost (apostolo@localhost) by obelix.ee.duth.gr (8.8.7/8.8.7) with SMTP id MAA17857; Sat, 1 Jan 2000 12:09:51 +0200 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Message-ID: Date: Sat, 1 Jan 2000 12:09:51 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Apostolos Syropoulos Subject: Re: Greetings To: Multiple recipients of list LATEX-L In-Reply-To: <14445.11877.401145.120147@n15ux24.nets.de.eds.com> On Fri, 31 Dec 1999, Frank Mittelbach wrote: > Hallo everybody, > > a peaceful and successful 2000 to all of you. Wishing you and all the list members all the best! > ps half an hour too early but who knows whether or not listserv > software is Y2K complient :-) If you do receive this message, then there is no problem;-))) A.S. **************************************************************** *Apostolos Syropoulos * *snail mail: 366, 28th October Str., GR-671 00 Xanthi, HELLAS * *email : apostolo@obelix.ee.duth.gr * *phone num.: +30-(0)541-28704 * *home page : http://obelix.ee.duth.gr/~apostolo * **************************************************************** 2-Jan-2000 21:44:59-GMT,3162;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id OAA10926 for ; Sun, 2 Jan 2000 14:44:57 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA01233; Sun, 2 Jan 2000 22:44:04 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id WAA04935; Sun, 2 Jan 2000 22:42:48 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446778 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sun, 2 Jan 2000 22:42:47 +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 WAA04919 for ; Sun, 2 Jan 2000 22:42:41 +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.1b+Sun/8.9.1) with ESMTP id WAA01191 for ; Sun, 2 Jan 2000 22:43:35 +0100 (MET) Received: from mailserver1.zdv.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 WAA06047 for ; Sun, 2 Jan 2000 22:43:45 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin375.zdv.Uni-Mainz.DE [134.93.175.75]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA19493 for ; Sun, 2 Jan 2000 22:43:44 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id UAA00361; Sun, 2 Jan 2000 20:36:00 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: <87a2301a@corona.oche.de> Message-ID: <200001021936.UAA00361@istrati.zdv.uni-mainz.de> Date: Sun, 2 Jan 2000 20:36:00 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: theorem templates To: Multiple recipients of list LATEX-L In-Reply-To: <87a2301a@corona.oche.de> Achim wrote: > I've updated my templates to the latest AMS-LaTeX release and wrote > some documentation. thanks a lot. i have added an installation xtheorem.ins and a test file xtheorem-test.tex and placed all of that into the experimental code section at http://www.latex-project.org/code/experimental both as xtheorem.tgz and as a subdirectory xtheorem. don't hesitate to come up with further examples like that :-) again thanks frank 2-Jan-2000 21:45:03-GMT,7434;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id OAA10930 for ; Sun, 2 Jan 2000 14:45:01 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA01250; Sun, 2 Jan 2000 22:44:07 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id WAA04956; Sun, 2 Jan 2000 22:43:08 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446782 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sun, 2 Jan 2000 22:43:07 +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 WAA04921 for ; Sun, 2 Jan 2000 22:42:43 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA01189 for ; Sun, 2 Jan 2000 22:43:33 +0100 (MET) Received: from mailserver1.zdv.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id WAA27806 for ; Sun, 2 Jan 2000 22:43:38 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin375.zdv.Uni-Mainz.DE [134.93.175.75]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA19409 for ; Sun, 2 Jan 2000 22:43:36 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id WAA00533; Sun, 2 Jan 2000 22:15:22 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f Message-ID: <200001022115.WAA00533@istrati.zdv.uni-mainz.de> Date: Sun, 2 Jan 2000 22:15:22 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Naming conventions for template keys To: Multiple recipients of list LATEX-L Some time ago James (i think) remarked that one important aspect of the template mechanism is to come up with sensible names for the keywords. This is certainly true and unfortunately far from easy. I've just found some notes written late last century on possible naming conventions for template keyword suffixes. i'm not really happy with them but perhaps one or the other of you has some better ideas. further down i have listed all keywords that i have found in my working directory. (some are part of files not yet distributed or obsolete). they are rather unstructured but i hope that they help a bit to come up with ideas frank Key name suffixes: ------------------ The following suffixes denote special types of keywords: -font: receives a font specification Type is f0 -action: typesetting action to be carried out that does *not* have arguments. Type is f0 -format: typesetting action to be carried out that does have arguments (typically one). Type is f1/f2/f3/... -list: comma separated list of values (need braces around it because of commas). Type is f0. -adjust: "length" specifying an adjustment to a default placement if direction is important use -adjust-x or -adjust-y Type: l/L -sep: "length" specifying a separation between two points -height: "length" specifying a height of some object -width: "length" specifying a :-) of some object -id: abstract "name" for some object or for some action Type is n -boolean: receives either "true" or "false" Type is b or s -setup: receives an instance name for some template (this was originally called -instance but i changed my mind) Type is i -text: receives text eg a fixed heading string etc. Type is f0 Keywords as currently used ========================== =+C par-penalty =+C penalty =+L par-parindent =+L par-vspace =+L parindent =+L space =+L vspace =+f0 decls =+f0 label-format =+f0 leaders-text =+f0 post-action =+f0 pre-action =+f1 page-format =+f1 title-format =+f1 title-format-nolabel =+l label-width =+l leaders-width =+l left-margin =+l right-adjust =+l right-margin =C penalty =C post-penalty =C pre-penalty =L h-adjust =L leaders-sep =L mark-sep =L nominal-height =L number-title-sep =L number-width =L object-indent =L object-width =L pnum-title-sep =L pnum-width =L post-sep =L quote-sep =L right-margin-sep =L text-sep =L title-sep =L top-sep =L v-adjust =b afterindent-boolean =b number-boxed-boolean =b numbered-boolean =b running-boolean =b toc-boolean =c contents-depth =c item-penalty =c post-penalty =c pre-penalty =f0 afterhead-pre-v-action =f0 body-style =f0 color-action =f0 decls =f0 end-action =f0 file-extension =f0 file-name =f0 h-level-id =f0 head-default-text =f0 head-punct =f0 head-style =f0 header-format =f0 heading =f0 initial-font =f0 label-format =f0 leaders-action =f0 leaders-code =f0 multi-mark-sep =f0 note-style =f0 object-decls =f0 page-action =f0 para-action =f0 parshape-list =f0 post-action =f0 post-h-action =f0 post-head-action =f0 post-v-action =f0 pre-action =f0 pre-h-action =f0 pre-v-action =f0 punct-end =f0 punct-sep =f0 punct-sub =f0 punct-sup =f0 punct-sup-sup =f0 start-action =f0 stop-action =f0 text-font =f0 widelabel-action =f1 initial-format =f1 item-label-format =f1 mark-format =f1 number-format =f1 page-format =f1 pnum-format =f1 quote-format =f1 title-format =f1 title-format-nolabel =f3 head-format =i footnote-area-setup =i footnote-mark-setup =i footnote-text-setup =i head-setup =i headed-para-setup =i hyphenation-setup =i item-hmaterial-setup =i item-post-hmaterial-setup =i item-vmaterial-setup =i justification-setup =i label-position-setup =i linebreak-setup =i measure-setup =i numbered-setup =i numhead-setup =i post-hmaterial-setup =i post-vmaterial-setup =i pre-hmaterial-setup =i pre-vmaterial-setup =i unnumbered-setup =l head-indent =l head-sep =l item-sep =l label-indent =l label-sep =l label-width =l leaders-sep =l left-margin =l left-margin-width =l number-indent =l number-width =l object-indent =l object-width =l par-sep =l pnum-title-sep =l pnum-width =l post-skip =l post-space =l pre-sep =l pre-skip =l pre-space =l right-margin =l right-margin-sep =l right-margin-width =l space =n area-id =n collection-id =n counter-id =n file-extension =n file-name =n item-label-text =n level-id =n name =n type-id =s footnote-below-floats-boolean =s footnote-bottom-boolean =s indent-boolean =s item-accumulate-left-boolean =s item-accumulate-right-boolean =s item-implicit-boolean =s number-boxed-boolean =s topfloats-boolean 2-Jan-2000 22:43:16-GMT,3637;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id PAA11958 for ; Sun, 2 Jan 2000 15:43:14 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id XAA05766; Sun, 2 Jan 2000 23:42:31 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id XAA08532; Sun, 2 Jan 2000 23:41:32 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446798 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sun, 2 Jan 2000 23:41:31 +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 XAA08518 for ; Sun, 2 Jan 2000 23:41:30 +0100 (MET) Received: from knatte.tninet.se (knatte.tninet.se [195.100.94.10]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with SMTP id XAA05741 for ; Sun, 2 Jan 2000 23:42:22 +0100 (MET) Received: (qmail 23223 invoked from network); 2 Jan 2000 23:42:31 +0100 Received: from garibaldi.tninet.se (195.100.94.103) by knatte.tninet.se with SMTP; 2 Jan 2000 23:42:31 +0100 Received: from [195.100.226.130] (du130-226.ppp.su-anst.tninet.se [195.100.226.130]) by tninet.se (BLUETAIL Mail Robustifier1.1.7) with ESMTP id s2168757t204089-bmr-garibaldi for ; Sun, 02 Jan 2000 23:42:29 +0100 X-Sender: haberg@pop.matematik.su.se Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Message-ID: Date: Sun, 2 Jan 2000 23:41:46 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Hans Aberg Subject: Re: Naming conventions for template keys To: Multiple recipients of list LATEX-L In-Reply-To: <200001022115.WAA00533@istrati.zdv.uni-mainz.de> At 22:15 +0100 2000/01/02, Frank Mittelbach wrote: >Some time ago James (i think) remarked that one important aspect of >the template mechanism is to come up with sensible names for the >keywords. This is certainly true and unfortunately far from easy. > >I've just found some notes written late last century on possible And probably late last millenium, too. :-) >frank I will try to be frank, too, even though it sometimes can be hard. :-) >Key name suffixes: >------------------ ... > -sep: "length" specifying a separation between two points > > -height: "length" specifying a height of some object > > -width: "length" specifying a :-) of some object > > -id: abstract "name" for some object or for some action > Type is n I can note that all suffix names are complete English words, except -sep. If one is inconsistent in this respect, names can be difficult to remember. (As everybody knows, "id" is the primitive undifferentiated part of the psychic apparatus that reacts blindly on a pleasure pain-level, and was the downfall of the Krells in the movie "Forbidden Planet".) -- Just some the "millennium-after" comments. HA 3-Jan-2000 21:47:54-GMT,3878;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id OAA08549 for ; Mon, 3 Jan 2000 14:47:53 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA26432; Mon, 3 Jan 2000 22:46:05 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id WAA14709; Mon, 3 Jan 2000 22:44:05 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447441 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Mon, 3 Jan 2000 22:44:04 +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 WAA14695 for ; Mon, 3 Jan 2000 22:44:02 +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.1b+Sun/8.9.1) with ESMTP id WAA26316 for ; Mon, 3 Jan 2000 22:44:56 +0100 (MET) Received: from mailserver1.zdv.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 WAA12312 for ; Mon, 3 Jan 2000 22:45:05 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin407.zdv.Uni-Mainz.DE [134.93.175.107]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA19171 for ; Mon, 3 Jan 2000 22:45:04 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id VAA00406; Mon, 3 Jan 2000 21:15:40 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: <200001022115.WAA00533@istrati.zdv.uni-mainz.de> Message-ID: <200001032015.VAA00406@istrati.zdv.uni-mainz.de> Date: Mon, 3 Jan 2000 21:15:40 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: Naming conventions for template keys To: Multiple recipients of list LATEX-L In-Reply-To: Hans Aberg writes: > >frank > > I will try to be frank, too, even though it sometimes can be hard. :-) yes i do have definitely an advantage here > I can note that all suffix names are complete English words, except -sep. > If one is inconsistent in this respect, names can be difficult to remember. good point, but do you also have a good idea what to you instead? either as short forms always or a long form for the other. i must confess that that i already hate writing foo-bar-baz-boolean = true but then one doesn't do this that often so undertstandable names could be of some help if one is looking at some template instances. > (As everybody knows, "id" is the primitive undifferentiated part of the > psychic apparatus that reacts blindly on a pleasure pain-level, and was the > downfall of the Krells in the movie "Forbidden Planet".) that rather seems i have chosen the wrong suffix here as well. any other comments? perhaps not only on the sufixes but also on naming conventions for the whole keyword name still frank 3-Jan-2000 21:51:13-GMT,5093;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id OAA08610 for ; Mon, 3 Jan 2000 14:51:11 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA26452; Mon, 3 Jan 2000 22:46:07 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id WAA14836; Mon, 3 Jan 2000 22:45:06 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447445 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Mon, 3 Jan 2000 22:45:03 +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 WAA14702 for ; Mon, 3 Jan 2000 22:44:03 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id WAA26322 for ; Mon, 3 Jan 2000 22:44:58 +0100 (MET) Received: from mailserver1.zdv.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id WAA11825 for ; Mon, 3 Jan 2000 22:45:02 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin407.zdv.Uni-Mainz.DE [134.93.175.107]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA19145 for ; Mon, 3 Jan 2000 22:45:01 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id WAA00547; Mon, 3 Jan 2000 22:45:50 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: <87a2301a@corona.oche.de> Message-ID: <200001032145.WAA00547@istrati.zdv.uni-mainz.de> Date: Mon, 3 Jan 2000 22:45:50 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: theorem templates To: Multiple recipients of list LATEX-L In-Reply-To: <87a2301a@corona.oche.de> A few comments on Achim nice piece of work: > % This template starts a new environment, typesets the head of a > % theorem, and sets fonts for the body of the theorem. The > % environment is ended by an \verb|\@endtheorem| command. in my implementation for lists (not ready yet) I used something like \EndThisList to denote the reference to the code. The idea is that that pointer should appear in places used class designers building document commands from templates and xparse. Now that should in my opinion be distinguisable from coding actions (eg stuff that needs @ in names) but at the same time should clearly also be distinguishable from stuff which is part of a document. Syntaxwise our idea was to give those class commands mixed-case names (not all people like that idea but so far we found that it gives a nice middle layer) for the theoremstyle template type a good name could then be something like \EndThisTheorem. what is perhaps more important is that such a command is actually dependent on the template chosen. For this reason it can't be defined globally as done by Achim. After all, somebody else might define a template for this type which does not use trivlist at all (okay, okay, one could have a default definition and overwrite it only in templates which can't make use of this but while this might work in this case it will produce havoc with templates that could be nested as you will imagine). So I think a safer approach is to explicitly define the meaning of this command as part of the template definition. > % \paragraph{Problem.} > % The current solution for `head-format' is very clumsy. Perhaps it would > % be better to pass just the name of a template which does the layout > % instead of the actual code. i guess this observation is correct and we should provide some sort of heading templates that could be used in that place. This will get easier onces my long promised galley stuff will be ready. For the moment i think it is enough to get what you want even though it might be more complicated than necessary. more interesting at the moment seems to me the question i've already posed with regards to toc entries: - what kind of layouts are desirable which cannot be produced by this template - are the keys adequate (should they be named differently, should there be additional ones, others ...) frank 5-Jan-2000 3:58:58-GMT,3158;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id UAA18289 for ; Tue, 4 Jan 2000 20:58:56 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id EAA27960; Wed, 5 Jan 2000 04:57:38 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id EAA24667; Wed, 5 Jan 2000 04:55:37 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447632 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Wed, 5 Jan 2000 04:55:36 +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 EAA24658 for ; Wed, 5 Jan 2000 04:55:34 +0100 (MET) Received: from downtown.oche.de (downtown.oche.de [194.94.253.3]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id EAA27896 for ; Wed, 5 Jan 2000 04:56:39 +0100 (MET) Received: from corona.oche.de (uucp@localhost) by downtown.oche.de (8.9.3/8.9.3/Debian/GNU) with UUCP id EAA06169 for URZ.UNI-HEIDELBERG.DE!LATEX-L; Wed, 5 Jan 2000 04:50:01 +0100 Received: by corona.oche.de (wUUCP 1.10) id <1k7q@corona.oche.de>; Tue, 4 Jan 00 21:35:09 CET X-Mailer: AmiGate 1.6 (13.11.95) Message-ID: <891840a5@corona.oche.de> Date: Tue, 4 Jan 2000 21:30:02 CET Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Achim Blumensath Subject: Re: theorem templates To: Multiple recipients of list LATEX-L Frank Mittelbach wrote: > A few comments on Achim nice piece of work: > > > % This template starts a new environment, typesets the head of a > > % theorem, and sets fonts for the body of the theorem. The > > % environment is ended by an \verb|\@endtheorem| command. > > in my implementation for lists (not ready yet) I used something like > \EndThisList to denote the reference to the code. [snip] > for the theoremstyle template type a good name could then be something > like \EndThisTheorem. I think it would be a good idea to uniformly call those commands \EndThisEnvironment. Achim ________________________________________________________________________ _ | \_____/ | // Achim Blumensath | \ _ \O/ \___/\ | // blume@corona.oche.de |-< /_\ =o= \ /\ \| \X/ (p^2 - m^2)\psi = 0 |_/ \_ /"\ o----| ____________________________________________________________________\___| 7-Jan-2000 8:36:07-GMT,3494;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id BAA27451 for ; Fri, 7 Jan 2000 01:36:05 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id JAA28729; Fri, 7 Jan 2000 09:33:08 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id JAA16590; Fri, 7 Jan 2000 09:31:39 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446590 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Fri, 7 Jan 2000 09:31:36 +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 JAA16581 for ; Fri, 7 Jan 2000 09:31:34 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id JAA28672 for ; Fri, 7 Jan 2000 09:32:31 +0100 (MET) Received: from mailserver1.zdv.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id JAA01930 for ; Fri, 7 Jan 2000 09:32:41 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin425.zdv.Uni-Mainz.DE [134.93.175.125]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id JAA14487 for ; Fri, 7 Jan 2000 09:32:40 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id HAA00191; Fri, 7 Jan 2000 07:58:14 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: <891840a5@corona.oche.de> Message-ID: <200001070658.HAA00191@istrati.zdv.uni-mainz.de> Date: Fri, 7 Jan 2000 07:58:14 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: environment templates To: Multiple recipients of list LATEX-L In-Reply-To: <891840a5@corona.oche.de> Achim Blumensath writes: > > for the theoremstyle template type a good name could then be something > > like \EndThisTheorem. > > I think it would be a good idea to uniformly call those commands > \EndThisEnvironment. the problem with this and perhaps the problem with the whole mechanism is that a lot of people have learned to write environments like this: \newenvironment{foo}{...\quote ...}{ ... \endquote ...} ie without using \begin/\end internally. if all such things like \quote internally use \EndThisEnviornment then guess what happens. so this needs some thoughts. a) do not allow above usage b) do implement your independent stack handling for these things c) do provide your own groups already at the environment-template level d) ...? ideas? frank 8-Jan-2000 3:58:15-GMT,4132;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id UAA24349 for ; Fri, 7 Jan 2000 20:58:13 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id EAA03484; Sat, 8 Jan 2000 04:56:56 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id EAA20293; Sat, 8 Jan 2000 04:55:12 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446525 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sat, 8 Jan 2000 04:55:10 +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 EAA20280 for ; Sat, 8 Jan 2000 04:55:09 +0100 (MET) Received: from downtown.oche.de (downtown.oche.de [194.94.253.3]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id EAA03437 for ; Sat, 8 Jan 2000 04:56:06 +0100 (MET) Received: from corona.oche.de (uucp@localhost) by downtown.oche.de (8.9.3/8.9.3/Debian/GNU) with UUCP id EAA25468 for URZ.UNI-HEIDELBERG.DE!LATEX-L; Sat, 8 Jan 2000 04:50:00 +0100 Received: by corona.oche.de (wUUCP 1.10) id <1k9y@corona.oche.de>; Fri, 7 Jan 00 21:31:45 CET X-Mailer: AmiGate 1.6 (13.11.95) Message-ID: Date: Fri, 7 Jan 2000 21:25:39 CET Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Achim Blumensath Subject: Re: environment templates To: Multiple recipients of list LATEX-L Frank Mittelbach wrote: > Achim Blumensath writes: > > > for the theoremstyle template type a good name could then be > > > something like \EndThisTheorem. > > > > I think it would be a good idea to uniformly call those commands > > \EndThisEnvironment. > > the problem with this and perhaps the problem with the whole mechanism > is that a lot of people have learned to write environments like this: > > \newenvironment{foo}{...\quote ...}{ ... \endquote ...} > > ie without using \begin/\end internally. > > if all such things like \quote internally use \EndThisEnviornment then > guess what happens. so this needs some thoughts. > > a) do not allow above usage IMHO such hacks as above shouldn't be allowed anyway. If someone directly accesses internals of some package instead of using the defined interface he deserves his code breaking when the implementation is changed. Besides, what happenes if someone uses two nested lists in the above way? So you have the problem regardless of whether all templates share a common name or each uses its own one. One way to allow hacks like this could be to define \newenvironment as \newenvironment := \def\{ \begingroup } \def\end{ \endgroup } that is, to move the \begingroup, \endgroup from \begin and \end into the \foo, \endfoo commands. > b) do implement your independent stack handling for these things > c) do provide your own groups already at the environment-template level > d) ...? Achim ________________________________________________________________________ _ | \_____/ | // Achim Blumensath | \ _ \O/ \___/\ | // blume@corona.oche.de |-< /_\ =o= \ /\ \| \X/ (p^2 - m^2)\psi = 0 |_/ \_ /"\ o----| ____________________________________________________________________\___| 9-Jan-2000 17:44:04-GMT,4445;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id KAA05604 for ; Sun, 9 Jan 2000 10:44:03 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id SAA22133; Sun, 9 Jan 2000 18:42:40 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id SAA26964; Sun, 9 Jan 2000 18:41:02 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 446979 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sun, 9 Jan 2000 18:40:59 +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 SAA26880 for ; Sun, 9 Jan 2000 18:40:54 +0100 (MET) Received: from knatte.tninet.se (knatte.tninet.se [195.100.94.10]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with SMTP id SAA21979 for ; Sun, 9 Jan 2000 18:41:53 +0100 (MET) Received: (qmail 16123 invoked from network); 9 Jan 2000 18:41:59 +0100 Received: from sinclair.tninet.se (195.100.94.101) by knatte.tninet.se with SMTP; 9 Jan 2000 18:41:59 +0100 Received: from [195.100.226.136] (du136-226.ppp.su-anst.tninet.se [195.100.226.136]) by tninet.se (BLUETAIL Mail Robustifier1.1.7) with ESMTP id s3557292t339650-bmr-sinclair for ; Sun, 09 Jan 2000 18:41:57 +0100 X-Sender: haberg@pop.matematik.su.se References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Message-ID: Date: Sun, 9 Jan 2000 18:36:23 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Hans Aberg Subject: Re: environment templates To: Multiple recipients of list LATEX-L In-Reply-To: <200001082054.VAA00296@istrati.zdv.uni-mainz.de> At 21:54 +0100 2000/01/08, Frank Mittelbach wrote: > > One way to allow hacks like this could be to define \newenvironment as > > > > \newenvironment := > > \def\{ > > \begingroup > > > > } > > \def\end{ > > > > \endgroup > > } > > > > that is, to move the \begingroup, \endgroup from \begin and \end > > into the \foo, \endfoo commands. > >That could be a solution to get the best of both (costing a few tokens per >defined environment but this is not really an issue) I have not followed this thread much. But when I worked on "environments with hooks", I arrived at the conclusion that the environment definition should be such that the user does not enter the \begingroup and \endgroup commands explicitly. The reason is that in order to control the nesting of environments, one needs to have some local variables, so the group localities must always be present. Further, in order to allow for proper nesting of environments also in the environment definition, I had to make use of more local variables than the current LaTeX. If one writes \newenvironment{list}{...}{...} \newenvironment{mylist}{...\begin{list}...}{...\end{list}...} I thus had to keep track of both the ``list'' and ``mylist'' environments when executing the ``mylist'' environment. In order to properly accomodate for the use of environment hooks, I had to make an additional difference with LaTeX: In LaTeX2, the \begingroup (resp \endgroup) command is executed by the \begin{...} (resp. \end{...}) commands. I had to change this, so that the \newenviroment{}{...}{...} command creates commands \/begin containing the \begingroup command and \/end containing the \endgroup command. The \begingroup (resp \endgroup) command then executes \/begin (resp. \/end) command. -- Perhaps this is the change you are looking for. Hans Aberg 13-Jan-2000 18:59:50-GMT,3389;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id LAA21936 for ; Thu, 13 Jan 2000 11:59:47 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id TAA15589; Thu, 13 Jan 2000 19:58:02 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id TAA07602; Thu, 13 Jan 2000 19:56:12 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447687 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 13 Jan 2000 19:56:09 +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 TAA07489 for ; Thu, 13 Jan 2000 19:56:05 +0100 (MET) Received: from snowdrop.csv.warwick.ac.uk (snowdrop.csv.warwick.ac.uk [137.205.192.31]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id TAA15460 for ; Thu, 13 Jan 2000 19:57:15 +0100 (MET) Received: from mimosa.csv.warwick.ac.uk (mapdn@mimosa [137.205.192.34]) by snowdrop.csv.warwick.ac.uk (8.9.3/8.9.3) with ESMTP id SAA15734 for ; Thu, 13 Jan 2000 18:57:15 GMT Received: (from mapdn@localhost) by mimosa.csv.warwick.ac.uk (8.9.3/8.9.3) id SAA07752 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Thu, 13 Jan 2000 18:57:14 GMT X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-ID: <200001131857.SAA07752@mimosa.csv.warwick.ac.uk> Date: Wed, 13 Jan 0100 18:57:14 +0000 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: James Kilfiger Subject: Re: environment templates To: Multiple recipients of list LATEX-L In-Reply-To: <200001070658.HAA00191@istrati.zdv.uni-mainz.de> from Frank Mittelbach at "Jan 7, 0 07:58:14 am" > the problem with this and perhaps the problem with the whole mechanism is that > a lot of people have learned to write environments like this: > > \newenvironment{foo}{...\quote ...}{ ... \endquote ...} > > ie without using \begin/\end internally. > > if all such things like \quote internally use \EndThisEnviornment then guess > what happens. so this needs some thoughts. > > a) do not allow above usage I don't know how verbatim environments will be implemented in latex3, but the verbatim package requires this short hand. One posiblity that comes to mind is that there should be a class writer's version of \begin and end (\BeginEnvironment ?) that do not set the current environment, and could perhaps be used with verbatim and other unusual things. BTW, how is the vertical space handling and the rest of latex2e coming along, now that Y2K has come and gone. James 13-Jan-2000 19:43:11-GMT,4391;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id MAA23417 for ; Thu, 13 Jan 2000 12:43:09 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id UAA21879; Thu, 13 Jan 2000 20:41:10 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id UAA16459; Thu, 13 Jan 2000 20:39:51 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447714 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 13 Jan 2000 20:39:47 +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 UAA16339 for ; Thu, 13 Jan 2000 20:39:43 +0100 (MET) Received: from knatte.tninet.se (knatte.tninet.se [195.100.94.10]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with SMTP id UAA21778 for ; Thu, 13 Jan 2000 20:40:32 +0100 (MET) Received: (qmail 3544 invoked from network); 13 Jan 2000 20:40:41 +0100 Received: from sinclair.tninet.se (195.100.94.101) by knatte.tninet.se with SMTP; 13 Jan 2000 20:40:41 +0100 Received: from [195.100.226.150] (du134-226.ppp.su-anst.tninet.se [195.100.226.134]) by tninet.se (BLUETAIL Mail Robustifier1.1.7) with ESMTP id s4574985t452343-bmr-sinclair for ; Thu, 13 Jan 2000 20:40:39 +0100 X-Sender: haberg@pop.matematik.su.se References: <200001070658.HAA00191@istrati.zdv.uni-mainz.de> from Frank Mittelbach at "Jan 7, 0 07:58:14 am" Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Message-ID: Date: Thu, 13 Jan 2000 20:39:40 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Hans Aberg Subject: Re: environment templates To: Multiple recipients of list LATEX-L In-Reply-To: <200001131857.SAA07752@mimosa.csv.warwick.ac.uk> At 18:57 +0000 2000/01/13, James Kilfiger wrote: >> the problem with this and perhaps the problem with the whole mechanism >>is that >> a lot of people have learned to write environments like this: >> >> \newenvironment{foo}{...\quote ...}{ ... \endquote ...} >> >> ie without using \begin/\end internally. >> >> if all such things like \quote internally use \EndThisEnviornment then guess >> what happens. so this needs some thoughts. >> >> a) do not allow above usage > >I don't know how verbatim environments will be implemented in latex3, >but the verbatim package requires this short hand. One posiblity that >comes to mind is that there should be a class writer's version of \begin >and end (\BeginEnvironment ?) that do not set the current environment, >and could perhaps be used with verbatim and other unusual things. I think that I already implemented (while implementing "environments with hooks") what is asked for in this discussion: In the example above, the environment "quote" would merely execute something like \quote/begin (resp \quote/end) when calling \begin{quote} (resp \end{quote}). However, I also kept track of the name "quote" in an extra variable. Thus, when it is time to end an environment, one merely needs to end the environment on the top of the internal variable stack. This allows for commands such as \EndEnvironment, or whatever you want to name it. Thus, the version \newenvironment{foo}{...\begin{quote} ...}{ ... \EndEnvironment ...} \newenvironment{foo}{...\quote/begin ...}{ ... \EndEnvironment ...} would be legal. Or one could have a command \end[quote], with the quote legal. The trick in the implementation is to keep track of both the defining environment ("foo" above), and the currently executing environment (which will be "quote" above, when that is executing). Hans Aberg 13-Jan-2000 21:49:33-GMT,4503;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id OAA27058 for ; Thu, 13 Jan 2000 14:49:31 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id WAA08344; Thu, 13 Jan 2000 22:43:25 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id WAA07156; Thu, 13 Jan 2000 22:42:02 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447755 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 13 Jan 2000 22:41:59 +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 WAA07082 for ; Thu, 13 Jan 2000 22:41:57 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id WAA08288 for ; Thu, 13 Jan 2000 22:43:07 +0100 (MET) Received: from mailserver1.zdv.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id WAA20062 for ; Thu, 13 Jan 2000 22:43:07 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin411.zdv.Uni-Mainz.DE [134.93.175.111]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA07896 for ; Thu, 13 Jan 2000 22:43:06 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id VAA00448; Thu, 13 Jan 2000 21:25:55 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: <200001070658.HAA00191@istrati.zdv.uni-mainz.de> <200001131857.SAA07752@mimosa.csv.warwick.ac.uk> Message-ID: <200001132025.VAA00448@istrati.zdv.uni-mainz.de> Date: Thu, 13 Jan 2000 21:25:55 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: environment templates To: Multiple recipients of list LATEX-L In-Reply-To: <200001131857.SAA07752@mimosa.csv.warwick.ac.uk> James, > I don't know how verbatim environments will be implemented in latex3, > but the verbatim package requires this short hand. One posiblity that > comes to mind is that there should be a class writer's version of \begin > and end (\BeginEnvironment ?) that do not set the current environment, > and could perhaps be used with verbatim and other unusual things. i know that the current verbatim needs to be used in a special way to build other environments. but I doubt that this is a serious problem. verbatim and \verb are special in the way they circument several conventions and syntax rules within LaTeX (due to their very nature) and if they need a special interface or different handling that would not be too bad in my opinion. > BTW, how is the vertical space handling and the rest of latex2e coming > along, now that Y2K has come and gone. well contratry to common believe Y2K may has come but it is far from gone. in fact in the area I earn my living the problems are now starting to surface (quite interesting that) but yes it is now proceeding more on normal pace again and I'm about to publish what I promised. In fact the two modules now run to about 70 pages documentation (including code) so I have done something inbetween perhaps I should put out the first (the one containing the high-level paragraphing interfaces) while finishing the documentation of the second (low-level interfaces to build modules from). They need each other to actually run (ie to be used) but the code itself is not the interesting part but the interfaces (types/templates/instances) and the documentation of this is ready or mostly anyway :-) ... frank 14-Jan-2000 15:47:15-GMT,9296;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id IAA20427 for ; Fri, 14 Jan 2000 08:47:13 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id QAA16589; Fri, 14 Jan 2000 16:44:42 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id QAA28757; Fri, 14 Jan 2000 16:42:53 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447686 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Fri, 14 Jan 2000 16:42:51 +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 QAA28725 for ; Fri, 14 Jan 2000 16:42:49 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id QAA16452 for ; Fri, 14 Jan 2000 16:44:02 +0100 (MET) Received: from mailserver1.zdv.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id QAA15977 for ; Fri, 14 Jan 2000 16:44:01 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (dialin374.zdv.Uni-Mainz.DE [134.93.175.74]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id QAA18647 for ; Fri, 14 Jan 2000 16:43:59 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id QAA00970; Fri, 14 Jan 2000 16:08:42 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f Message-ID: <200001141508.QAA00970@istrati.zdv.uni-mainz.de> Date: Fri, 14 Jan 2000 16:08:42 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: templates for galley (paragraph) formatting To: Multiple recipients of list LATEX-L As promised this is the first installment of templates and code for galley formatting, the rest will hopefully follow in couple of days. The complete document can be found at http://www.latex-project.org/code/experimental/galley/xhj.dtx as an introduction I've added the first part to this mail below. I think that this document already serves as a good introduction to the high-level aspects of the new galley mechanism and though one can't make use of the code without the low-level interfaces I hope that the documentation will spawn a lively discussion. A lot of issues and requests for comments are already added into the documentation. Enjoy (and please don't just denote agreement with polite silence :-) Frank % \begin{abstract} % This module contains basic templates for interfacing with the % galley mechanism as set up by the module % \texttt{galley2}. These templates are intended for class % designers and are mostly usable out of the box (i.e., this is one % of the modules where providing a suitable number of default % instances is probably sensible since they would cover 98\% of all % usage. In contrast the \texttt{galley2} module contains only % low-level interfaces for % direct manipulation of the galley mechanism which are geared % towards package writers having special needs which are not % fulfilled by the templates in this module. % \end{abstract} % % % % % \section{Introduction} % % In \LaTeXplus{} terminology a galley is a rectangular area which % receives text and other material filling it from % top.\footnote{The predominant direction depends on the writing % system and with extensions to \TeX{} such as Omega there are % possibilities to define galleys with a different filling direction.} % The vertically extend of a galley is normally not restricted % (there are exceptions); instead certain chunks are taken off the top % of an % already partially filled galley to form columns or similar areas % on a page. This process is typically asynchronous but there are ways % to control or change its behavior. % % Examples for galleys are `the main galley', where the continuous % document data gets formatted into and from which columns and pages are % constructed, and `vbox galley's, such as the body of a minipage % environment or the body of a float (in \LaTeXe only---the new float % mechanism for \LaTeXplus{} will employ horizontally oriented float % bodies). The latter galleys are typically not being split after % formatting though there can be exceptions. % % Low-level interfaces for setting up such galleys and the way objects % are formatted into them are provided by the module % \texttt{galley2}. % % \subsection{Formatting layers} % % The present module is mainly concerned with the % formatting of text in such galleys. % The galley mechanism provides interfaces at four different layers % some of which can be manipulated through the templates provided by % this module. % % \subsubsection{Outer galley dimensions} % % In the bottom layer the external dimensions of a galley are % fixed. In most cases only the horizontal dimension is defined while % the vertical dimension (i.e., the filling direction) remains % unspecified. These dimensions are fixed when initiating a new galley, % using low-level functions, and are not modifiable. The horizontal % overall width of the current galley is available for inspection in % the register |\hsize|.\footnote{This is going to change once there % is a final concept for handling this part of the interface, e.g., % the relation of \texttt{\textbackslash hsize}, % \texttt{\textbackslash columnwidth}, and \texttt{\textbackslash % textwidth}. The latter are actually parameters of the text-page and % should probably not be handled as it is done in \LaTeXe{}, i.e., by % also using \texttt{\textbackslash columnwidth} as a measure for the % current galley width. Perhaps one should introduce a % \texttt{\textbackslash galleywidth} parameter instead of using % \texttt{\textbackslash hsize}.} % There are no templates that only set variable of this layer, though % higher level % templates (e.g., a template for providing minipage functionality) % will of course address this part of the galley mechanism. % % % \subsubsection{Inner galley dimensions} % % The second layer defines the inner horizontal galley dimensions of % the galley, i.e., the measure used for paragraph text and its % positioning within the galley. The current measure of the galley is % available for inspection in the register |\linewidth| and the % indentation from the left outer margin is available in the register % |\@totalleftmargin|.\footnote{The two registers are already % available in \LaTeXe{} and their names have been retained to make % it easier to use a mixture of old and new code. However at some % point the interface should be made more uniform by either providing % two user accessible or two user inaccessible names.} % % This layer can (and should) be manipulated by higher-level templates % through template instances of the type `measure'. These templates % make long-term changes. % % % % % \subsubsection{Paragraph shapes} % % The third layer defines the paragraph shape within the measure as % provided by the second layer. In the absence of any specification % for that layer the paragraph shape used will be that of a % rectangular area of the width of the current measure. % % For this layer we are restricted by the mechanisms offered by % \TeX{}. This means that it is possible to define particular % paragraph shapes such as cutouts only from the top of a paragraph % but not relative to its bottom. % % This layer can (and should) be manipulated by higher-level templates % through template instances of the type `pshape'. Templates in this % layer typically make short-term changes only (i.e. applicable only % to the upcoming paragraph), however templates for long-term changes % are also permissable though none are provided right now. % % A future implementation of the \texttt{galley2} module is probably % going to support pshapes spanning several paragraphs, however at the % moment pshapes apply per paragraph only. % % % \subsubsection{Text formatting within the paragraph shape} % % The forth (and currently final) layer deals with the paragraph % formatting aspects such as hyphenation and justification (h\&j which % gave the current module its name). % % There are several template types in this layer: `hj' is a type that % sets all aspects of h\&j in a single template whereas the types % `justification', `linebreak', and `hyphenation' deal with individual % aspects. % 19-Jan-2000 3:57:58-GMT,4580;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id UAA06597 for ; Tue, 18 Jan 2000 20:57:56 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id EAA20686; Wed, 19 Jan 2000 04:55:32 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id EAA07868; Wed, 19 Jan 2000 04:54:54 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 447890 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Wed, 19 Jan 2000 04:54:52 +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 EAA07843 for ; Wed, 19 Jan 2000 04:54:51 +0100 (MET) Received: from downtown.oche.de (downtown.oche.de [194.94.253.3]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id EAA20653 for ; Wed, 19 Jan 2000 04:54:47 +0100 (MET) Received: from corona.oche.de (uucp@localhost) by downtown.oche.de (8.9.3/8.9.3/Debian/GNU) with UUCP id EAA16939 for URZ.UNI-HEIDELBERG.DE!LATEX-L; Wed, 19 Jan 2000 04:50:00 +0100 Received: by corona.oche.de (wUUCP 1.10) id <1kmc@corona.oche.de>; Tue, 18 Jan 00 21:13:22 CET X-Mailer: AmiGate 1.6 (13.11.95) Message-ID: Date: Tue, 18 Jan 2000 21:03:47 CET Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Achim Blumensath Subject: Re: templates for galley (paragraph) formatting To: Multiple recipients of list LATEX-L Frank Mittelbach wrote: > As promised this is the first installment of templates and code for > galley formatting, the rest will hopefully follow in couple of days. > > I think that this document already serves as a good introduction to the > high-level aspects of the new galley mechanism and though one can't make > use of the code without the low-level interfaces I hope that the > documentation will spawn a lively discussion. A lot of issues and > requests for comments are already added into the documentation. Here are my first impressions: o Name of parameters. At the moment the old LaTeX2e names like \hsize, \@totalleftmargin, etc. are used so that old code does still work. IMHO one should introduce new names right from the start while keeping the old versions in addition. Otherwise, you get in trouble when the interface is finally cleaned up since all LaTeX2e* code using the galley package has to be rewritten as well. 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 hyphenation template. This template should IMHO be dropped. The only important parameters it sets are (ex)hyphenpenalty which can be moved to the linebreak template. 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. o As mentioned in the item above, the user-level interface is missing. Achim ________________________________________________________________________ _ | \_____/ | // Achim Blumensath | \ _ \O/ \___/\ | // blume@corona.oche.de |-< /_\ =o= \ /\ \| \X/ (p^2 - m^2)\psi = 0 |_/ \_ /"\ o----| ____________________________________________________________________\___| 19-Jan-2000 10:11:17-GMT,2937;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id DAA14415 for ; Wed, 19 Jan 2000 03:11:16 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id LAA28040; Wed, 19 Jan 2000 11:07:21 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id LAA17667; Wed, 19 Jan 2000 11:06:44 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 448110 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Wed, 19 Jan 2000 11:06:40 +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 LAA17625 for ; Wed, 19 Jan 2000 11:06:38 +0100 (MET) Received: from mons.uio.no (mons.uio.no [129.240.130.14]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.1) with ESMTP id LAA27897 for ; Wed, 19 Jan 2000 11:06:38 +0100 (MET) Received: from dioscuri.uio.no ([129.240.222.166]) by mons.uio.no with esmtp (Exim 2.12 #7) id 12As1s-000524-00 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Wed, 19 Jan 2000 11:07:56 +0100 Received: by dioscuri.uio.no ; Wed, 19 Jan 2000 11:07:56 +0100 References: User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5.93 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Lines: 17 Message-ID: <200001191007.LAA01534@dioscuri.uio.no> Date: Wed, 19 Jan 2000 11:07:56 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Rune Kleveland Subject: Re: templates for galley (paragraph) formatting To: Multiple recipients of list LATEX-L In-Reply-To: Achim Blumensath's message of "Tue, 18 Jan 2000 21:03:47 CET" Achim Blumensath writes: > o hyphenation template. This template should IMHO be dropped. The only > important parameters it sets are (ex)hyphenpenalty which can be moved > to the linebreak template. There exist quite simple change files that enables TeX to assign different penalties to different hyphen points. ftp://peano.mathematik.uni-freiburg.de/pub/etex/hyphenation/ If this makes it into eTeX or pdfTeX, more parameters can be set. How many depends on the hyphenation patterns used. So the hyphenation settings becomes even more language dependent. -- Regards, Rune Kleveland 25-Jan-2000 9:48:19-GMT,5968;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id CAA26730 for ; Tue, 25 Jan 2000 02:48:17 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id KAA18442; Tue, 25 Jan 2000 10:45:32 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id KAA04461; Tue, 25 Jan 2000 10:44:48 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 448818 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Tue, 25 Jan 2000 10:44:44 +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 KAA04436 for ; Tue, 25 Jan 2000 10:44:42 +0100 (MET) Received: from mailgate1.zdv.Uni-Mainz.DE (mailgate1.zdv.Uni-Mainz.DE [134.93.8.56]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id KAA18213 for ; Tue, 25 Jan 2000 10:44:44 +0100 (MET) Received: from mail.Uni-Mainz.DE (mailserver1.zdv.Uni-Mainz.DE [134.93.8.30]) by mailgate1.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id KAA24368 for ; Tue, 25 Jan 2000 10:46:05 +0100 (MET) Received: from istrati.zdv.uni-mainz.de (root@dialin426.zdv.Uni-Mainz.DE [134.93.175.126]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id KAA06184 for ; Tue, 25 Jan 2000 10:46:02 +0100 (MET) Received: (from design@localhost) by istrati.zdv.uni-mainz.de (8.9.3/8.9.3) id KAA00253; Tue, 25 Jan 2000 10:46:09 +0100 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: Message-ID: <200001250946.KAA00253@istrati.zdv.uni-mainz.de> Date: Tue, 25 Jan 2000 10:46:09 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: templates for galley (paragraph) formatting To: Multiple recipients of list LATEX-L In-Reply-To: Achim, sorry for the late answer but my family caught scarlet fever and that stopped everything and all for a good number of days > Here are my first impressions: thanks, they have been helpful --- any more by anybody else? > o Name of parameters. At the moment the old LaTeX2e names like \hsize, > \@totalleftmargin, etc. are used so that old code does still work. > IMHO one should introduce new names right from the start while keeping > the old versions in addition. Otherwise, you get in trouble when > the interface is finally cleaned up since all LaTeX2e* code using the > galley package has to be rewritten as well. you may as well be right. on the other hand I don't mind rewriting --- there is nearly nothing that shouldn't get rewritten at some point at least once (as the code refer to galley"2" you can imagine that I have indeed already rewritten that bit twice (actually three times by now)) but assuming I want to use new names now: do you have any good naming suggestions? I couldn't make up my mind which is one reason why the situation is as it is now. > o As mentioned in the item above, the user-level interface is missing. I think this is the most important statement --- and if it isn't clear to Achim who already wrote a couple of templates himself then I assume that it isn't clear to others as well (and I thought this would be obvious :-) so let me help and explain it: THERE IS NO INTENDED USER INTERFACE TO THE GALLEY TEMPLATES well, perhaps not quite so (see below), but in essense the above is true. so what are they good for then? they are intended for use in other templates. for example, take Achim's theoremstyle template, or a template for specifying list layouts, or a template for specifying captions to a float. a template like that normally would like to be able to specify things like - the measure - how to justify the text within the measure - how to do linebreaking - whether or not to allow hyphenation it can do so by using the `i' key in the template declaration, eg measure-setup =i {measure} hj-setup =i {hj} or instead of the last one justification-setup =i {justification} linebreak-setup =i {linebreak} hyphenation-setup =i {hyphenation} or a subset thereof. so to get my captions look like the current para- graph (or not as it <-- overfull hbox :-) looks horrible :-) i could specify in a caption template justification-setup = centerfirst, a design I had to implement in the past for some journal of Wiley. Does this make the intended use of those low-level templates a bit clearer? Does it makes some sense? ----------------- As for a document user interface ... of course one can and probably should provide things comparable to \raggedright or \begin{flushleft} or \fuzzy, e.g., \DeclareDocumentCommand\raggedright {} { \UseInstance{justification}{raggedright} } and so on but I don't consider this the foremost reason for providing these templates and instances.[1] frank [1] in fact the above declaration is quite different from the \raggedright of 2e as it applies to the next (and any following) and not to the current paragraph as in 2e, but this is a different issue. 25-Jan-2000 10:19:56-GMT,3350;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id DAA27313 for ; Tue, 25 Jan 2000 03:19:54 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id LAA25373; Tue, 25 Jan 2000 11:17:21 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id LAA08465; Tue, 25 Jan 2000 11:17:08 +0100 (MET) Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 448882 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Tue, 25 Jan 2000 11:17:05 +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 LAA08454 for ; Tue, 25 Jan 2000 11:17:03 +0100 (MET) Received: from mons.uio.no (mons.uio.no [129.240.130.14]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id LAA25309 for ; Tue, 25 Jan 2000 11:17:05 +0100 (MET) Received: from dioscuri.uio.no ([129.240.222.166]) by mons.uio.no with esmtp (Exim 2.12 #7) id 12D33H-0001Gz-00 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Tue, 25 Jan 2000 11:18:23 +0100 Received: by dioscuri.uio.no ; Tue, 25 Jan 2000 11:18:23 +0100 References: User-Agent: Gnus/5.0804 (Gnus v5.8.4) Emacs/20.5.93 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Lines: 26 Message-ID: <200001251018.LAA27771@dioscuri.uio.no> Date: Tue, 25 Jan 2000 11:18:23 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Rune Kleveland Subject: Re: templates for galley (paragraph) formatting To: Multiple recipients of list LATEX-L In-Reply-To: Achim Blumensath's message of "Tue, 18 Jan 2000 21:03:47 CET" Achim Blumensath writes: > o hyphenation template. This template should IMHO be dropped. The only > important parameters it sets are (ex)hyphenpenalty which can be moved > to the linebreak template. Just a small comment from a non-expert. There exist a quite simple change-file to TeX that allows different penalties at different hyphen points, and also a change file to Patgen to make hyphenation patterns that support this. ftp://peano.mathematik.uni-freiburg.de/pub/etex/hyphenation/ If this makes it into eTeX or pdfTeX, more parameters can be set, one for each hyphen class. There can be up to nine hyphen classes, the actual number depends on the patterns used. So as with left/righthyphenmin, the settings are language dependent. This change works for me, but the pattern files becomes huge. For Norwegian, a language with many compound words, I have 4 hyphen classes, and 300K patterns does the right thing on about 97% of the 575000 words I have collected. -- Regards, Rune Kleveland 25-Jan-2000 13:49:23-GMT,10695;000000000001 Return-Path: Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by csc-sun.math.utah.edu (8.9.3/8.9.3) with ESMTP id GAA01266 for ; Tue, 25 Jan 2000 06:49:21 -0700 (MST) Received: from relay.urz.uni-heidelberg.de (relay-eth.urz.uni-heidelberg.de [129.206.100.201]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id OAA07622; Tue, 25 Jan 2000 14:41:49 +0100 (MET) Received: from relay (relay.urz.uni-heidelberg.de [129.206.119.201]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with SMTP id OAA29166; Tue, 25 Jan 2000 14:41:33 +0100 (MET) 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 X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f References: Message-ID: <200001251342.OAA01742@istrati.zdv.uni-mainz.de> Date: Tue, 25 Jan 2000 14:42:38 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: template interfaces and what they mean To: Multiple recipients of list LATEX-L In-Reply-To: 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{}{}{