You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by Apache Wiki <wi...@apache.org> on 2005/09/13 14:38:49 UTC
[Xmlgraphics-fop Wiki] Update of "SpaceResolution" by LucaFurini
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: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org