Vincent Hennebert wrote:

I've had a quick look, that's not handled currently. At some place in
the code the space-before set on the separator is converted into a
MinOptMax(opt, opt, opt).

If I remember correctly, the separator bpd is taken from the generated area (so there isn't any stretch or shrink) instead of the element sequence. I think I (?) did so after a few unsuccessful tries to get the dimension in a better way.

Anyway, even if defining some elastic height for the separator would
certainly help improve the situation, that's not something we can expect
from users.

I agree, the algorithm should be able to handle the most common situation without any special hint.

I think that, after all, this could be fixed just by checking some
additional condition before calling handleNode() the first time (when
footnotes and before floats are not not taken into account).

Not sure it's that simple. Is a page containing only two lines of normal
text with no deferred footnote more desirable than a full page with a
deferred footnote? I think that might disturb the reader as well. That's
why I got the idea of a minimum fill ratio. But obviously, as this is
currently implemented that's not enough. I'll think more about it.

You are right, there should probably be an upper limit to the amount of footnotes, and probably a user-configurable limit would be the ideal solution, so that the users could set it in the document using an extension property.

While the old code forbade pages with too few footnotes, the minimum fill ratio avoids pages with too few content lines: we should find a way to combine these techniques, without eliminating each possible solution! :-)

Regards
    Luca

Reply via email to