Dear Wiki user, You have subscribed to a wiki page or wiki category on "Xmlgraphics-fop Wiki" for change notification.
The following page has been changed by LucaFurini: http://wiki.apache.org/xmlgraphics-fop/SpaceResolution The comment on the change is: Sequence simplification in particular situations ------------------------------------------------------------------------------ = General pattern for the Knuth layout system = + In the most general situation, the elements needed to represent the space between two block-level formatting objects (say block 1 and block 2) are: + {{{ - glue - penalty - glue - box - PENALTY - glue + glue #1 - penalty - glue #2 - box - PENALTY - glue #3 }}} with: * glue #1 is the resolved space after block 1 if a break occurs - * glue #2 is the resolved space before block 2 if a break occurs + * glue #3 is the resolved space before block 2 if a break occurs * penalty is a feasible break * PENALTY forbids a break - * glue #2 is the difference between glue #1 + glue #3 and the resolved space if there is no break + * glue #2 is the difference between glue #1 + glue #3 and the resolved space between the blocks if there is no break + + Note that glue #1 is a feasible break too, but it won't never be chosen as a page break as the following penalty is much better: it adds the stretch and shrink of glue #3 to the available stretch and shrink of the page, so the adjustment ratio will be smaller and the demerits fewer. + + == Particular situations == + + The sequence of elements can be simplified in some particular situations. + + === All spaces are conditional === + + If the resolved space after block 1 and the resolved space before block 2 are both conditional, one element is enough: + + {{{ + glue A + }}} + + where glue A is the resolved space between block 1 and block 2 when there is no break. + + If there is a keep condition between the block 1 and block 2, a penalty is needed in order to prevent a page break: + + {{{ + penalty + glue A + }}} + + where the penalty value can be +inf or a finite value. = Examples = --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
