Received: via tmail-4.1(11) (invoked by user schoepf) for schoepf; Tue, 25 Jan 2000 10:46:14 +0100 (MET) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id KAA06257 for ; Tue, 25 Jan 2000 10:46:13 +0100 (MET) MIME-Version: 1.0 Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mailgate2.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id KAA03280 for ; Tue, 25 Jan 2000 10:46:14 +0100 (MET) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01BF6719.04ADB700" Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <9.D422EEBF@mail.listserv.gmd.de>; Tue, 25 Jan 2000 10:45:58 +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 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 In-Reply-To: References: Return-Path: x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil]["3239" "Tue" "25" "January" "2000" "10:46:09" "+0100" "Frank Mittelbach" "frank.mittelbach@LATEX-PROJECT.ORG" nil "95" "Re: templates for galley (paragraph) formatting" "^Date:" nil nil "1" nil nil nil nil nil]nil) X-Authentication-Warning: istrati.zdv.uni-mainz.de: design set sender to design@istrati.zdv.uni-mainz.de using -f Content-class: urn:content-classes:message Subject: Re: templates for galley (paragraph) formatting Date: Tue, 25 Jan 2000 10:46:09 +0100 Message-ID: <200001250946.KAA00253@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: 3505 This is a multi-part message in MIME format. ------_=_NextPart_001_01BF6719.04ADB700 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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 =3Di {measure} hj-setup =3Di {hj} or instead of the last one justification-setup =3Di {justification} linebreak-setup =3Di {linebreak} hyphenation-setup =3Di {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 =3D 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. ------_=_NextPart_001_01BF6719.04ADB700 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Re: templates for galley (paragraph) formatting

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 =3Di {measure}
 hj-setup      =3Di = {hj}

or instead of the last one

 justification-setup =3Di {justification}
 linebreak-setup     =3Di = {linebreak}
 hyphenation-setup   =3Di = {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 =3D 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.

------_=_NextPart_001_01BF6719.04ADB700--