next up previous contents index
Next: Optional Spaces Up: Whitespace Previous: Margin Control

Line Breaking

Line-breaking formats  divide the display into nested break zones. There are 3 kinds of break zone  : hard , linear , and soft . The effect of {
a}
( break) formats depends on the break zone kind:

The zones are started and ended by zone delimiters. There is one end delimiter { ]} ( ezone) for all kinds of zones. Each kind of zone has its own start delimiter:

A linear zone is special in that all zones nested inside are also forced to be linear. Therefore a linear zone contains no line-breaks and always is laid out on one line. If a linear zone doesn't fit on a single line, the layout algorithm chooses subterms to elide to try and make it fit.

When laying out a soft zone, the layout algorithm first tries treating it as a linear zone. If that results in any elision, then it treats the zone as a hard zone.

The soft break format {
a}
sbreak is similar to the break format but is not as sensitive to the zone kind. Soft breaks in linear zones are never taken, but otherwise, the layout algorithm uses a separate procedure to choose which soft breaks to take and which not. This procedure uses various heuristics to try and layout a term sensibly in a given size window with at little elision of subterms as possible.

Display form format sequences should usually include matching start and end zone formats.


next up previous contents index
Next: Optional Spaces Up: Whitespace Previous: Margin Control



Karla Consroe
Wed Oct 23 13:48:45 EDT 1996