LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

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

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

Print Reply
Frank Mittelbach <[log in to unmask]>
Wed, 21 Sep 2011 20:36:47 +0200
text/plain (47 lines)
Am 21.09.2011 18:48, schrieb Joseph Wright:
> On 21/09/2011 17:34, Bruno Le Floch wrote:
>> Context uses it in \keeplinestogether, but I don't see why they
>> couldn't have used \clubpenalties instead. I don't understand the
>> difference between \interlinepenalties and \clubpenalties as described
>> in etex_man:
>> - the ith interline penalty value is used after line i of the paragraph;
>> - the ith club penalty value is used after line i of a partial paragraph;
> My reading of this was that the variation comes down to whether there is
> any display math about, but in such a case I'm doubtful you'd want to
> 'keep together' in any case. As you say, in most realistic circumstances
> \clubpenalties seems to be quite usable, as you have to start from line
> 1 with \interlinepenalties too.

I beg to disagree. The two arrays serve different purposes and in fact 
\insertpenalties is the one that is more useful (and was the original 
reason for providing the this additional functionality (the others are 
more an afterthought to make thing orthogonal).

Main use case:

   Ensure that after a section x lines are kept together with the section

for this use have to use \insertpenalties as you do *not* want to 
restart counting after a displayed equation, but you just want x-lines 
once. (in that case you need a mechanism to restore the default status 
after the first paragraph, as LaTeX today does (or rather attempts as it 
not always works in TeX) with \clubpenalty for ensuring 2 lines after a 

Minor use case:

   At the beginning of a paragraph (or after a displayed equation as 
that is visually simiar) you want at least 2 lines but preferably 3) 
then something like

  \clubpenalties = 2 10000 8000

That would be a setting you could use for a whole range of paragraphs or 
even for a whole document.

you can think of others also in combination with \insertpenalties