LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

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
Subject:
From:
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 9 Nov 2009 23:17:48 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (130 lines)
Hi Ulrich

 > > (As a final comment, I thought briefly whether it made sense to split  
 > > this object type into three: "heading", "contents-entry", and "running- 
 > > header-entry", but I couldn't see a good argument for it.)
 > >
 > > -- Will
 > 
 > I would like to see a better control for these three types. I often run in
 > 'difficulties' when I need to separate what goes to the toc, the running
 > head, and the section title (if present).

I agree with you, we need better control from the document level as well as
from the designer level for all three independently of each other.

However, as far as Will's remark goes: I do also believe that there is no
point in separating an object type "heading" into three object types. Why is
that?

simply because the mechanics for controlling the three parts is one thing, but
on a design level a heading is just collecting these values and passing them
(controlled) to a running header or to a toc. As a result, one can imagine all
kind of heading layout templates, but all of them would all do the same thing
in terms of passing the some of that data (or not) to a toc, where there would
be independent templates to format the values. in other words: we would have
one transformation from document level (that allows you to control whether or
not you want a toc entry and or a running header, etc but from that point on
a heading template will only be concerned with formatting the heading. So
rather than

\DeclareDocumentCommand \section { <arg syntax> }
  {
   \UseInstance{heading}{sectionheading}   {<arg>}
   \UseInstance{headingtotoc}{std}         {<arg>} 
   \UseInstance{headingtorunninghead}{std} {<arg>} 
  }

we might as well put everything into the "heading" as for "headingtotoc" and
"headingtorunninghead" there will be nothing to format/layout and each command
will use the same mechanics.


 > Most of the time I have to use the titlesec/titletoc package to get what I
 > want but still have to adjust a lot.
 > 
 > Here is a small (incomplete) list:

it is really good to get this kind of  use cases as that helps to pin down the
boundaries that a heading object should support.


 > 1. When typesetting sectioning titles typesetting has to be manually
 > adjusted (e.g. telling where to break or special formatting). Which requires
 > adjustment of the running head and toc-entry.

to reformulate that: it is necessary that a heading object accepts separate
text for the sectioning title compared to the title for the toc and / or the
title text for the running head, ie there should be three arguments to it:

 - title text
 - title text for toc
 - title text for running head

(with an convenience default of some sort, ie that the first is used for the
others if they aren't given)


 > 2. Sometimes the sectioning title is so long that one needs a short form for
 > the running head only.

another reason for the above 


 > 3. Sometimes the running head contains additional information that doesn't
 > come from a section title but doesn't go into the toc. This is also true for
 > dictionary-like headers.

again that is talking about the same arguments to the object type. As to the
additional formatting requirements: some of them could be supported by a
template that offers formatting each of such texts. if the formatting is a
function with one argument then you can added extra information and/or
reformatting this way if it applies to all headings of a document (or rather
to all headings of a certain instance).

 
 > 4. As already mentioned not always should a section number go into the toc
 > of header.

good point, but unrelated to the heading object type: that would be a function
of a template itself: it could for example support that via a flag, or it
could support it by formatting the running header with a function with 2
arguments (text + number) or ...

unless, that is, you say, that you think it is necessary to control this
individually from the document level, ie you can see applications where for a
particular heading you want to suppress just the number in the toc but not in
the document while for others you want it (sort of a generalized * of 2e)

i don't think that is what you are asking for though, or is it?


 > 5. Sometimes (I had an application in an omnibus volume) sectioning commands
 > in a big special chapter should not go into the tocą.

again that asks for handling toc/runhead and main head text independently.

 > 6. Sectioning commands should not only thought of in hierarchical order.
 > Some should have the same level but with different 'behavior' concerning the
 > toc or running head (the simpliest form in LaTeX2e is \section & \section*
 > but with unwanted side-effects).

that is a generalization of 5, ordo I miss something?

in summary I think you are making a bunch of strong arguments for supporting
(on document level) the data that goes into all three directions - or doesn't
go there, and to be able to do so the object type for headings must be able to
receive threee different texts (if necessary). So form me the the conclusion
from this is

 a) - mandatory title text
 b) - title text for toc (or \NoValue in which case a) is being used)
 c) - title text for running head (or \NoValue in which case a) is being used)

how that is offered on the document level is a different story (and I don't
want to concern myself with it here ... once we have a defined document type
we can certainly discuss xparse or other document level support for it)

cheers
frank

ATOM RSS1 RSS2