Line breaking primitives
Operator Arity Accessible Process Usage
border children
new-line 0 Yes - Typesetting Physical
next-line 0 Yes - Typesetting Physical
line-break 0 Yes - Typesetting Physical
no-break 0 Yes - Typesetting Physical

Table 1. Line breaking primitives

A simple document is a sequence of logical paragraphs, one for each subtree of a document node. Paragraphs whose width exceed the available horizontal space are broken in soft lines by the hyphenation algorithm. Hyphenated lines are filled, horizontal spaces can be shrunk or extended in order to produce a good-looking layout.

(start a new paragraph)

Split a logical paragraph in physical paragraphs. Physical paragraphs are typeset in the same way as logical paragraphs, but are not distinct subtrees of a document node.

Paragraphs are important structures for the typesetting process. Many primitives and environment variables (vertical spacing, paragraph style, indentation, page breaking, etc.) operate on whole paragraphs or at the boundaries of the enclosing paragraph.

(start a new line)

Split a paragraph in hard lines. Hard lines are typeset in a way similar to hyphenated lines, but their boundaries are specified by next-line tags. The last soft line in a hard line is never filled.

(line breaking hint, with filling)

Print an invisible space with zero hyphenation penalty. The line breaking algorithm searches for the set of hyphenation points minimizing the total penalty, so line breaking is much more likely to occur at a line-break than anywhere else in its vicinity.

Unlike next-line, this is a hint which may or may not be obeyed by the typesetter, and it does not prevent the previous line from being filled.

(forbid line breaking at this point)

Set an hyphenation point with an infinite penalty. That is useful when the hyphenation patterns for a language fall short of preventing some forbidden patterns like “arse-nal” or “con-genital”.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".