Michael F. Plass is a computer scientist whose work connects typography with mathematical optimization. With Donald E. Knuth, he coauthored the 1981 paper that describes the Knuth-Plass line-breaking algorithm: choosing breaks for an entire paragraph with dynamic programming, allowing later text to influence earlier choices. The original byline places both authors in Stanford University's Computer Science Department.[ref]
Breaking paragraphs into lines by Donald E. Knuth and Michael F. Plass. Page1119: original byline, affiliation and summary
The authors' historical account credits Michael F. Plass with introducing feasible breakpoints into the developing algorithm in summer 1977, reducing the active possibilities considered. They report its implementation in the first complete version of TeX in March 1978. These dates describe the development of the method, rather than the later publication date.[ref]
Breaking paragraphs into lines by Donald E. Knuth and Michael F. Plass. Page1176: feasible-breakpoint refinement and implementation chronology
An illustrative spacing calculation shows one ingredient of the model. Suppose fixed boxes total 24 width units and two spaces each have normal width 3 and stretchability 2. Their natural total width is 30. For a target width of 32, the adjustment ratio is ; each space becomes , giving . This original numerical example shows proportional stretching, before the paragraph-wide choice of breaks.
The full method also represents break preferences with penalties and accounts for relevant relationships between successive lines. Line breaking with squared slack cost is a useful simpler model for understanding global choices, while the published Knuth-Plass line-breaking algorithm handles adjustable spacing and additional preferences.[ref]
Breaking paragraphs into lines by Donald E. Knuth and Michael F. Plass. Pages1121–1122: boxes, glue and penalties; pages1158–1159: active-node state
New to topics? Read the docs here!