Breaking a paragraph up, and aligning it
A paragraph broken into lines, then laid out four ways: left, right, centred, justified.
The giveaway of a document a program assembled is a list whose second line starts under the bullet instead of under the words. It is a small thing, and every word processor in the world gets it right.
Here the marker sits in the room the item opens for it, and every line after the first starts under the words instead of under the marker — however long the item runs, and whatever it is translated into. A list inside a list is the same arrangement again, one step further in, so the marker can be anything at all — a dot, a number, a letter, a dash, a symbol of your own — and the lines still hang where they should.
Nothing is left out and nothing is simplified: this is the program exactly as it runs, for the developer who uses this library. The third is the description itself: a plain list of what the page has to say, which is what the service is sent.
Read the Rust source Read the Python source Read the JSON source
The document is lighter than it was, and every page still looks exactly the same. See this document's row in the table of every example.
A paragraph broken into lines, then laid out four ways: left, right, centred, justified.
A word longer than the column that holds it: the library leaves it whole, or cuts it at the column's edge.
A justified column set twice: the long words breaking at their soft hyphens with a hyphen shown, or left whole, and a figure a no-break space keeps together.
A justified column set twice: file paths and compounds running past the edge with no break points, then wrapping where a break after a slash or a hyphen is allowed.
A title, a rule, two paragraphs, a heading, a table of twenty-six rows and a footnote, handed over in reading order and broken across two pages by the engine.
One line of statuses set twice: in a company font alone, where the characters it has no glyph for come out as empty boxes, then with a second font behind it that draws them.