[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Page breaking in Lists

From: Jeff Kingston
Subject: Re: Page breaking in Lists
Date: Tue, 01 Apr 2008 07:55:01 +1100

> Can anybody tell me which part of the @RawList elements
> actually allows lout to break multiple items over several pages?

If you mean a page break *within* an item, it's a tricky area
because of internal magic; basically Lout will break between
lines of a paragraph if it can see that this would not bother
anything nearby (e.g. it will break between lines of a paragraph
which is an item of an indented list, but not between lines of a
paragraph that is an item in a table).

If you mean a page break *between* items, then it is simpler:
you just need to ensure that there is a // at the outer level;
Lout will break there.  If the // has a gap attached, as in
//1vx (gap of one line spacing, measured baseline-to-baseline)
then the gap gets discarded if a break occurs there.

In the definition of @RawList it is the //gap symbols towards
the end of each kind of item that cause the gap.  But for them
to work they need to lie at the outer level; if you inadvertently
cause them to be enclosed in something (e.g. a box, or a horizontal
concatenation, or anything really) then Lout can't break there.

If you've cloned the definition of @RawList and fiddled with it
and this is the result, then most likely what you've done is
added an indent to the whole list, or something like that, which
has caused the gaps to no longer be at the top level.  If you
look carefully at @RawList you will see that all the indenting
and so forth is applied to each individual item, never to the
list as a whole, for just this reason - so that the //gap
symbols remain at the outer level where they allow page breaks.

Hope this helps.  I'm not a big fan of @RawList, even though
I wrote it myself.  It works, but only just, and it's complicated.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]