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