Hi Georg,

Georg Datterl wrote:
> Hi Vincent, 
> 
> I thought of a workaround and found a new problem. Since the problem is 
> caused by a span change, I inserted a new empty block with span="all" before 
> the offending block. Voilá, table moves to the next page. Problem avoided.

That’s ‘Voilà’ :-P

Clever. The empty block generates a box of 0 length, which should
provide that too-short node I was talking about in my previous answer
(didn’t re-run a debug session to check though...).


> And then I decided to push my luck and see what happens, when I play with 
> keeps...
> 
>                       <fo:block >
>                               <fo:inline>Table headline</fo:inline>
>                       </fo:block>
>                       <fo:block span="all" background-color="blue" 
> keep-with-next.within-page="always" keep-with-previous.within-page="always" />
>                       <fo:block span="all" background-color="red"> Here's my 
> table...</fo:block>
> 
> I'm not quite sure what I expected in this case, Most likely the table being 
> moved back to the first page, less likely (but more preferable in my case) 
> the table and the headline on the second page. Maybe your expectations are 
> different. 

That’s the latter: the table and the headline should both be moved to
the second page, since the table is unbreakable and doesn’t fit on the
first one.


> What I got was: The same picture as before. Headline on one page, table on 
> the second page. Still no change when adding a span="all" to the headline:
> 
>                       <fo:block span="all" >
>                               <fo:inline>Table headline</fo:inline>
>                       </fo:block>
>                       <fo:block span="all" background-color="blue" 
> keep-with-next.within-page="always" keep-with-previous.within-page="always" />
>                       <fo:block span="all" background-color="red"> Here's my 
> table...</fo:block>

You’re hitting the same bug again. Move the empty block before the
headline and that should work fine. Of course, if in your real-life
document you must actually keep the last block of the multi-column part
with the spanning table, then you’re stuck I’m afraid.


> Only when I added a span to the headline AND a new spanning block before the 
> headline, I got what I wanted, headline and table on a new page:
> 
>                       <fo:block span="all" />
>                       <fo:block span="all" >
>                               <fo:inline>Table headline</fo:inline>
>                       </fo:block>
>                       <fo:block span="all" background-color="blue" 
> keep-with-next.within-page="always" keep-with-previous.within-page="always" />
>                       <fo:block span="all" background-color="red"> Here's my 
> table...</fo:block>

The second empty block shouldn’t be necessary. Just put the keep on the
block containing the headline.


> If you expected this results, I'd be happy if you could give me an 
> explanation, if you did not expect the results either, maybe they'll help you 
> with the new logic or somebody else (or me, if I find a problem I can't 
> navigate around) when fixing the bug.

A thing I’m not sure of is if keeps between a multi-column part and
a span have been implemented at all...

<snip/>

HTH,
Vincent

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to