Received: by nummer-3.proteosys id <01C19443.406D11FC@nummer-3.proteosys>; Thu, 3 Jan 2002 11:41:50 +0100 MIME-Version: 1.0 x-vm-v5-data: ([nil nil nil nil nil nil nil t nil][nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C19443.406D11FC" X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message Subject: RE: RE: PUNCTUATION AFTER SECTION HEADS Date: Tue, 9 Apr 1991 19:28:28 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "MITTELBACH FRANK" Sender: "LaTeX-L Mailing list" To: "Rainer M. Schoepf" Reply-To: "LaTeX-L Mailing list" Status: R X-Status: X-Keywords: X-UID: 317 This is a multi-part message in MIME format. ------_=_NextPart_001_01C19443.406D11FC Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Don send some interesting suggestions how to handle punctuation characters in `certain' situations (not only headings). But I think only the last might work and even this one will work only if we define things carefully. > > (1) pull items off the horizontal list and decompose them to see > if there's a punctuation mark at the end Splitting something up at the right end of a token list is difficult and will not work if the list contains braces and the like. But if anybody has a good algorithm for this general problem I'm interested to see it. > > (2) just before reading the argument containing the section > title, make !, ? and . active and have them set a flag in > addition to printing the appropriate mark. If that flag is true, > don't add a period onto the end yourself. Active characters won't do due to the problems that TeX fixes catcode whenever it reads arguments. The only possibiltiy I see when such a strategy is used is to have all these chars *always* active with a default definition that produces the non active equiv. But this will slow down processing very much. Anyway, something like this will be implmented to provide short references but I think it isn't justified to use this for punctuation in general. > > (3) take a look at the spacefactor. If it is 3000, we've just > had end-of-sentence punctuation. It's not too difficult to > justify the occasional \@ which would be necessary under these > circumstances. That's an interesting idea but assumes that punctuation chars always have a \spacefactor that distinguishs them from other characters. This means that we need to change \frenchspacing and I'm not sure what happens then, how many applications depend on things like this. But it looks certainly promising. Frank ------_=_NextPart_001_01C19443.406D11FC Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: RE: PUNCTUATION AFTER SECTION HEADS

Don send some interesting suggestions how to = handle
punctuation characters in `certain' situations (not = only
headings). But I think only the last might work and = even
this one will work only if we define things = carefully.

>
>  (1) pull items off the horizontal list and = decompose them to see
>  if there's a punctuation mark at the = end

Splitting something up at the right end of a token = list is
difficult and will not work if the list contains = braces and the
like. But if anybody has a good algorithm for this = general problem
I'm interested to see it.

>
>  (2) just before reading the argument = containing the section
>  title, make !, ? and . active and have = them set a flag in
>  addition to printing the appropriate mark. = If that flag is true,
>  don't add a period onto the end = yourself.

Active characters won't do due to the problems that = TeX fixes
catcode whenever it reads arguments. The only = possibiltiy I see
when such a strategy is used is to have all these = chars *always*
active with a default definition that produces the = non active
equiv. But this will slow down processing very = much.
Anyway, something like this will be implmented to = provide short
references but I think it isn't justified to use this = for
punctuation in general.

>
>  (3) take a look at the spacefactor. If it = is 3000, we've just
>  had end-of-sentence punctuation. It's not = too difficult to
>  justify the occasional \@ which would be = necessary under these
>  circumstances.

That's an interesting idea but assumes that = punctuation chars
always have a \spacefactor that distinguishs them = from other
characters. This means that we need to change = \frenchspacing and
I'm not sure what happens then, how many applications = depend
on things like this. But it looks certainly = promising.

Frank


------_=_NextPart_001_01C19443.406D11FC--