Received: via tmail-4.1(11) (invoked by user schoepf) for schoepf; Sun, 2 Jan 2000 22:44:29 +0100 (MET) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by mailserver1.zdv.Uni-Mainz.DE (8.9.3+Sun/8.9.1) with ESMTP id WAA19910 for ; Sun, 2 Jan 2000 22:44:29 +0100 (MET) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01BF556A.8BCC9C80" 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 WAA06075 for ; Sun, 2 Jan 2000 22:44:26 +0100 (MET) Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <8.5D58301C@mail.listserv.gmd.de>; Sun, 2 Jan 2000 22:44:17 +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 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 Return-Path: x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil]["4782" "Sun" "2" "January" "2000" "22:15:22" "+0100" "Frank Mittelbach" "frank.mittelbach@LATEX-PROJECT.ORG" nil "223" "Naming conventions for template keys" "^Date:" nil nil "1" nil "Naming conventions for template keys" 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: Naming conventions for template keys Date: Sun, 2 Jan 2000 22:15:22 +0100 Message-ID: <200001022115.WAA00533@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: 3489 This is a multi-part message in MIME format. ------_=_NextPart_001_01BF556A.8BCC9C80 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D =3D+C par-penalty =3D+C penalty =3D+L par-parindent =3D+L par-vspace =3D+L parindent =3D+L space =3D+L vspace =3D+f0 decls =3D+f0 label-format =3D+f0 leaders-text =3D+f0 post-action =3D+f0 pre-action =3D+f1 page-format =3D+f1 title-format =3D+f1 title-format-nolabel =3D+l label-width =3D+l leaders-width =3D+l left-margin =3D+l right-adjust =3D+l right-margin =3DC penalty =3DC post-penalty =3DC pre-penalty =3DL h-adjust =3DL leaders-sep =3DL mark-sep =3DL nominal-height =3DL number-title-sep =3DL number-width =3DL object-indent =3DL object-width =3DL pnum-title-sep =3DL pnum-width =3DL post-sep =3DL quote-sep =3DL right-margin-sep =3DL text-sep =3DL title-sep =3DL top-sep =3DL v-adjust =3Db afterindent-boolean =3Db number-boxed-boolean =3Db numbered-boolean =3Db running-boolean =3Db toc-boolean =3Dc contents-depth =3Dc item-penalty =3Dc post-penalty =3Dc pre-penalty =3Df0 afterhead-pre-v-action =3Df0 body-style =3Df0 color-action =3Df0 decls =3Df0 end-action =3Df0 file-extension =3Df0 file-name =3Df0 h-level-id =3Df0 head-default-text =3Df0 head-punct =3Df0 head-style =3Df0 header-format =3Df0 heading =3Df0 initial-font =3Df0 label-format =3Df0 leaders-action =3Df0 leaders-code =3Df0 multi-mark-sep =3Df0 note-style =3Df0 object-decls =3Df0 page-action =3Df0 para-action =3Df0 parshape-list =3Df0 post-action =3Df0 post-h-action =3Df0 post-head-action =3Df0 post-v-action =3Df0 pre-action =3Df0 pre-h-action =3Df0 pre-v-action =3Df0 punct-end =3Df0 punct-sep =3Df0 punct-sub =3Df0 punct-sup =3Df0 punct-sup-sup =3Df0 start-action =3Df0 stop-action =3Df0 text-font =3Df0 widelabel-action =3Df1 initial-format =3Df1 item-label-format =3Df1 mark-format =3Df1 number-format =3Df1 page-format =3Df1 pnum-format =3Df1 quote-format =3Df1 title-format =3Df1 title-format-nolabel =3Df3 head-format =3Di footnote-area-setup =3Di footnote-mark-setup =3Di footnote-text-setup =3Di head-setup =3Di headed-para-setup =3Di hyphenation-setup =3Di item-hmaterial-setup =3Di item-post-hmaterial-setup =3Di item-vmaterial-setup =3Di justification-setup =3Di label-position-setup =3Di linebreak-setup =3Di measure-setup =3Di numbered-setup =3Di numhead-setup =3Di post-hmaterial-setup =3Di post-vmaterial-setup =3Di pre-hmaterial-setup =3Di pre-vmaterial-setup =3Di unnumbered-setup =3Dl head-indent =3Dl head-sep =3Dl item-sep =3Dl label-indent =3Dl label-sep =3Dl label-width =3Dl leaders-sep =3Dl left-margin =3Dl left-margin-width =3Dl number-indent =3Dl number-width =3Dl object-indent =3Dl object-width =3Dl par-sep =3Dl pnum-title-sep =3Dl pnum-width =3Dl post-skip =3Dl post-space =3Dl pre-sep =3Dl pre-skip =3Dl pre-space =3Dl right-margin =3Dl right-margin-sep =3Dl right-margin-width =3Dl space =3Dn area-id =3Dn collection-id =3Dn counter-id =3Dn file-extension =3Dn file-name =3Dn item-label-text =3Dn level-id =3Dn name =3Dn type-id =3Ds footnote-below-floats-boolean =3Ds footnote-bottom-boolean =3Ds indent-boolean =3Ds item-accumulate-left-boolean =3Ds item-accumulate-right-boolean =3Ds item-implicit-boolean =3Ds number-boxed-boolean =3Ds topfloats-boolean ------_=_NextPart_001_01BF556A.8BCC9C80 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Naming conventions for template keys

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
          &nbs= p;     Type is f0

 -action:       = typesetting action to be carried out that does *not* have
          &nbs= p;     arguments. Type is f0

 -format:       = typesetting action to be carried out that does have arguments
          &nbs= p;     (typically one). Type is f1/f2/f3/...

 -list:         = comma separated list of values (need braces around it because
          &nbs= p;     of commas). Type is f0.

 -adjust:       = "length" specifying an adjustment to a default = placement
          &nbs= p;     if direction is important use -adjust-x or = -adjust-y
          &nbs= p;     Type: l/L

 -sep:         = ; "length" specifying a separation between two points

 -height:       = "length" specifying a height of some object

 -width:        = "length" specifying a <guess> :-) of some object

 -id:         =   abstract "name" for some object or for some = action
          &nbs= p;     Type is n

 -boolean:      receives = either "true" or "false"
          &nbs= p;     Type is b or s

 -setup:        = receives an instance name for some template
          &nbs= p;     (this was originally called -instance but i = changed my mind)
          &nbs= p;     Type is i


 -text:         = receives text eg a fixed heading string etc.
          &nbs= p;     Type is f0




Keywords as currently used
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D

=3D+C par-penalty
=3D+C penalty
=3D+L par-parindent
=3D+L par-vspace
=3D+L parindent
=3D+L space
=3D+L vspace
=3D+f0 decls
=3D+f0 label-format
=3D+f0 leaders-text
=3D+f0 post-action
=3D+f0 pre-action
=3D+f1 page-format
=3D+f1 title-format
=3D+f1 title-format-nolabel
=3D+l label-width
=3D+l leaders-width
=3D+l left-margin
=3D+l right-adjust
=3D+l right-margin
=3DC penalty
=3DC post-penalty
=3DC pre-penalty
=3DL h-adjust
=3DL leaders-sep
=3DL mark-sep
=3DL nominal-height
=3DL number-title-sep
=3DL number-width
=3DL object-indent
=3DL object-width
=3DL pnum-title-sep
=3DL pnum-width
=3DL post-sep
=3DL quote-sep
=3DL right-margin-sep
=3DL text-sep
=3DL title-sep
=3DL top-sep
=3DL v-adjust
=3Db afterindent-boolean
=3Db number-boxed-boolean
=3Db numbered-boolean
=3Db running-boolean
=3Db toc-boolean
=3Dc contents-depth
=3Dc item-penalty
=3Dc post-penalty
=3Dc pre-penalty
=3Df0 afterhead-pre-v-action
=3Df0 body-style
=3Df0 color-action
=3Df0 decls
=3Df0 end-action
=3Df0 file-extension
=3Df0 file-name
=3Df0 h-level-id
=3Df0 head-default-text
=3Df0 head-punct
=3Df0 head-style
=3Df0 header-format
=3Df0 heading
=3Df0 initial-font
=3Df0 label-format
=3Df0 leaders-action
=3Df0 leaders-code
=3Df0 multi-mark-sep
=3Df0 note-style
=3Df0 object-decls
=3Df0 page-action
=3Df0 para-action
=3Df0 parshape-list
=3Df0 post-action
=3Df0 post-h-action
=3Df0 post-head-action
=3Df0 post-v-action
=3Df0 pre-action
=3Df0 pre-h-action
=3Df0 pre-v-action
=3Df0 punct-end
=3Df0 punct-sep
=3Df0 punct-sub
=3Df0 punct-sup
=3Df0 punct-sup-sup
=3Df0 start-action
=3Df0 stop-action
=3Df0 text-font
=3Df0 widelabel-action
=3Df1 initial-format
=3Df1 item-label-format
=3Df1 mark-format
=3Df1 number-format
=3Df1 page-format
=3Df1 pnum-format
=3Df1 quote-format
=3Df1 title-format
=3Df1 title-format-nolabel
=3Df3 head-format
=3Di footnote-area-setup
=3Di footnote-mark-setup
=3Di footnote-text-setup
=3Di head-setup
=3Di headed-para-setup
=3Di hyphenation-setup
=3Di item-hmaterial-setup
=3Di item-post-hmaterial-setup
=3Di item-vmaterial-setup
=3Di justification-setup
=3Di label-position-setup
=3Di linebreak-setup
=3Di measure-setup
=3Di numbered-setup
=3Di numhead-setup
=3Di post-hmaterial-setup
=3Di post-vmaterial-setup
=3Di pre-hmaterial-setup
=3Di pre-vmaterial-setup
=3Di unnumbered-setup
=3Dl head-indent
=3Dl head-sep
=3Dl item-sep
=3Dl label-indent
=3Dl label-sep
=3Dl label-width
=3Dl leaders-sep
=3Dl left-margin
=3Dl left-margin-width
=3Dl number-indent
=3Dl number-width
=3Dl object-indent
=3Dl object-width
=3Dl par-sep
=3Dl pnum-title-sep
=3Dl pnum-width
=3Dl post-skip
=3Dl post-space
=3Dl pre-sep
=3Dl pre-skip
=3Dl pre-space
=3Dl right-margin
=3Dl right-margin-sep
=3Dl right-margin-width
=3Dl space
=3Dn area-id
=3Dn collection-id
=3Dn counter-id
=3Dn file-extension
=3Dn file-name
=3Dn item-label-text
=3Dn level-id
=3Dn name
=3Dn type-id
=3Ds footnote-below-floats-boolean
=3Ds footnote-bottom-boolean
=3Ds indent-boolean
=3Ds item-accumulate-left-boolean
=3Ds item-accumulate-right-boolean
=3Ds item-implicit-boolean
=3Ds number-boxed-boolean
=3Ds topfloats-boolean

------_=_NextPart_001_01BF556A.8BCC9C80--