Breaking paragraphs into lines

@article{Knuth1981BreakingPI,
  title={Breaking paragraphs into lines},
  author={Donald Ervin Knuth and Michael F. Plass},
  journal={Software: Practice and Experience},
  year={1981},
  volume={11}
}
  • D. Knuth, M. Plass
  • Published 1 November 1981
  • Computer Science
  • Software: Practice and Experience
This paper discusses a new approach to the problem of dividing the text of a paragraph into lines of approximately equal length. [] Key Method A system based on three simple primitive concepts called ‘boxes’, ‘glue’, and ‘penalties’ provides the ability to deal satisfactorily with a wide variety of typesetting problems in a unified framework, using a single algorithm that determines optimum breakpoints. The algorithm avoids backtracking by a judicious use of the techniques of dynamic programming.

Globally optimal page breaking with column balancing: a case study

The paper presents a dynamic programming algorithm that finds the globally optimal sequence of page breaks for a book avoiding widows and orphans when the only source of variation is the possibility

High‐quality pagination for publishing

TLDR
A page‐breaking algorithm is presented that extends the original Knuth and Plass line‐breaking approach and produces high‐quality documents without unwanted empty areas and an application to XSL‐FO is presented, with an extension of the language that allows users to drive the pagination process.

A Probabilistic Line Breaking Algorithm

  • R. Bouckaert
  • Computer Science
    Australian Conference on Artificial Intelligence
  • 2003
TLDR
It is shown how a probabilistic interpretation of an ill defined problem, the problem of finding line breaks in a paragraph, can lead to an efficient new algorithm that performs well and allows for easy incorporation of subtle typographical rules.

Toward tighter tables

TLDR
This work presents two new independently-applicable techniques for table layout and investigates two hybrid approaches both of which use iterative column widening to improve the quality of an initial solution found using a different technique.

Document Formatting Systems: Survey, Concepts, and Issues

TLDR
Again, as with RUNOFF, many commands manipulate concrete page-oriented physical objects: groups of lines (filling, justification, defining length) and pages (breakup, numbering, defining height, multiple columnation, specifying headers and footers).

Knuth-Plass Revisited: Flexible Line-Breaking for Automatic Document Layout

TLDR
A modification to the Knuth-Plass algorithm is presented to return several results for a given column of text, each corresponding to a different height, and steps to quantify the amount of expected flexibility in a given paragraph are described, to lead to a better overall document layout.

Transformational Programming and the Paragraph Problem

  • R. Bird
  • Computer Science
    Sci. Comput. Program.
  • 1986

Balancing font sizes for flexibility in automated document layout

TLDR
This paper presents an improved approach for automatically laying out content onto a document page, where the number and size of the items are unknown in advance and an analytical approximation for text placement is presented, refined by using curve fitting over TeX-generated data.

Separate Compilation of Structured Documents

TLDR
A block-based document model is described which allows for separate compilation of various portions of a document which is brought together and merged by a linker program, called dlink, whose pilot implementation is based on ditroff and on its underlying intermediate code.

On the Pagination of Complex Documents

TLDR
It is shown that the total number of page turns necessary for reading the document and for looking up all referenced objects works only in a very restricted document model; but in a realistic setting no online algorithm can approximate optimal pagination quality.
...

References

SHOWING 1-7 OF 7 REFERENCES

Optimal pagination techniques for automatic typesetting systems

TLDR
The approach taken here is to define a badness function that depends on the way the document is broken up, and then to design an algorithm to find a way to minimize the value of this function.

Review of "TEX and METAFONT, New Directions in Typesetting by Donald Knuth", Digital Press and the American Mathematical Society.

TLDR
TEX and METAFONT, New Directions in Typesetting consists of three parts each of which is self-contained and gives an overview of both TEX andMETAFONT and puts them in perspective.

There is more to typesetting than setting type

Some typographic conventions relating to line composition and page makeup are presented in the context of the problems they pose to the designer of a computer program for typographic composition.

The Construction of Discrete Dynamic Programming Algorithms

Certain sequencing and scheduling problems are formulated as shortest-route problems and treated in a uniform manner by dynamic programming. Computational considerations are discussed.