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 should). 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 missing? 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 } { \UseInstance{heading}{chapter} {#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 } { \UseInstance{heading}{chapter} {#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 so \chapter*{BAR} makes a heading with no number but BAR in the toc and in runhead \chapter**{BAR} 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: \chapter[]*{BAR} ie we have to give an alternate toc entry and then say we don't really meant this :-) and so on. comments? > 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? frank