LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Fri, 29 Oct 1999 17:51:51 +0200
text/plain (167 lines)
James Kilfiger writes:

 > I was thinking rather vaguely about templates for sectional heading.
 > I can think of at three style for authors to make sectional headings.
 > As now, with section commands, with section evironments, and in a
 > list-like manner. Templates for headings should be able of supporting
 > classes that use a mixture of these styles.

right, templates should support different styles of user syntax but
then the separation between user syntax, via xparse for example, and
actual formatting etc via the template mechanism does support this (or

as far as section commands ala latex and section environments are
concerned i don't see any difficulties. can you be a bit more specific
in what you mean by "in a list-like manner"? e.g. show a syntax
example of what you mean

 >   About the syntax for sectional commands, the most useful thing would
 > be a separation of the numbering/nonumbering and table of contents
 > options.

well i would be interested in hearing some additional opinions on
that. questions:

 o should there be user level control on whether or not a heading has
   a number? (or are those things logically simply different tags and
   we are only used to saying \chapter* instead of \frontmatterchapter
   or whatever because nothing else was available)

   in other words is this really a flexibility that is needed/wanted
   or only there to hide the fact that some general functionality is

 o assuming that such flexibility above is wanted, should it be
   possible to individually change

     - number on/off
     - heading in TOC (yes/no)
     - heading in running head (yes/no)

   clearly it does not make sense to have a numbered heading but not
   put it into the TOC if other headings of the same level appear in
   the TOC. on the other hand in many cases were a heading has no
   number (eg in front or back matter) it is still desirable to have a
   TOC entry, typical example being "Bibliography".  Normally i would
   claim, however, that all this is something that really ought be
   decided by the document class rather than manually by the user
   (even though there might be a good argument to allow the user a
   manual overwrite possibility)

   as for the running head info i don't really see that there is any
   reason for the user to meddle with the decision to put some info in
   or not (on an individual basis that is). there is a good argument
   for enabling the user to input a text variation, eg if the heading
   title is rather long, there should be a possibility to specify a
   meaningful abbreviation, but i can't think of any case where i
   would like to say: "don't put the heading text for this heading
   into the running head but do so for all others".

   anybody having a good argument against this? or a good example when
   this is helpful/needed?

 > A possible approach would be two true/false arguments, would
 > a specification like {s o m s} be hard to remember and use? so perhaps
 > the specification should be something like {s o m o}, the final argument
 > defaulting to [t] for `table of contents' or [ht] for header and table
 > of contents.  (BTW this seems to show a general problem in Latex syntax
 > when two or more indepedent optional arguments are required.)

it is correct that the current LaTeX syntax is a bit poor in this respect
but so it is. by separating xparse and templates we are free to
provide a better front-end one day by using something else than xparse.

as far as the template arguments are concerned i think they should be
of type boolean here (how this is mapped to latex top level syntax is
a different matter)

my current idea about the template type heading is like this:

  #1    boolean         number or not
  #2    boolean         text into toc or not
  #3    boolean         text into running head/foot or not
  #4    text            heading text (required)
  #5    text/NoValue    text for toc (use #4 if NoValue)
  #6    text/NoValue    text for runhead (use #4 if NoValue)
  #7    text/NoValue    supplementary text like a motto

as i said above i'm not at all sure about the need or the
"sensibility" of #2/#3 except perhaps for compatibility purposes to
latex2e classes --- to tell me your thoughts.

with the above type the current chapter command could look like this
(ignoring most of the added functionality):

 \DeclareDocumentCommand \chapter { s o m }
         {#1} {#1} {#1} {#3} {#2} {#2} \NoValue

ie if thereis a star we suppress number toc and runhead (first three
args) we pass the mandatory argument as the forth template arg and the
optional goes into the variant for toc and runhead and we never
typeset a motto

who could we make the extended functionality available in latex like
syntax? in many ways of course, here is one, whether it is a good one
i don't know:

 \DeclareDocumentCommand \chapter { s o s o s m o }
         {#1} {#3} {#5} {#6} {#2} {#4} {#7}

this may look like madness :-) but there is some logic behind it:

 *   means no number
 []  the text for the toc
 *   don't put text in toc
 []  text for runhead
 *   don't put text in runhead
 {}  main heading text
 []  motto if any



makes a heading with no number but BAR in the toc and in runhead


makes a heading with no number and no toc entry but BAR  in runhead

if you really would like to have a number but no toc entry this would
be possible as well but only with some difficulty:


ie we have to give an alternate toc entry and then say we don't really
meant this :-)

and so on.


 >   It would be useful if the templates allowed putting stuff before or
 > after the section heading, useful for drawing rules and so on.  Is this
 > worthy of a an argument to the template.

it would definitley be useful if templates allowed putting stuff like
rules etc before and after a heading text, but would it reall be
correct to give this functionality to the user level? i think
not. this is something that would be a key to the individual template
and it would be fixed by the instance, ie headings in this layout have
rules and in other layouts (read document classes) they have not.

or do you see this differently?