Zwei Bestellungen, ein Rahmen, eine Unterkante

Ein Block bedruckten Geschäftspapiers hat den Rahmen bereits auf dem Papier: einen Rahmen für die Positionen, eine Linie darunter, die Summe unter der Linie. Was in den Rahmen kommt, ist jedes Mal unterschiedlich lang. Eine Bestellung mit vier Positionen lässt eine Handbreit Weiß über der Linie, eine mit einem Dutzend füllt sie, sodass zwei Blätter vom selben Block wie zwei verschiedene Dokumente aussehen — und die übliche Antwort, die kurze mit leeren Zeilen aufzufüllen, ergibt eine Zeile, in die jemand nachträglich schreiben kann.

Hier wird stattdessen der Rahmen gefüllt. Der Raum, den die Zeilen lassen, wird zu gleichen Teilen unter ihnen verteilt, sobald alle gemessen sind, sodass die letzte Zeile auf der Unterkante landet, welche Bestellung auch gedruckt wird. Die Überschriften und die Summe bleiben genau dort, wo das Papier sie hinsetzt. Die beiden Notizen am Fuß der Seite tun dasselbe mit Wörtern statt Zeilen: Ihre Zeilen werden auseinandergerückt, bis jede Notiz den Fuß ihres Rahmens erreicht, sodass ungleich lange Notizen auf einer Linie enden — und mit dem Rahmen wird eine Grenze angegeben, sodass eine zweizeilige Notiz den Abstand behält, mit dem sie kam.

Was dieses Beispiel zeigt

  • Die Unterkante ist dieselbe, ob die Bestellung vier Positionen umfasst oder fünfzehn.
  • Die Überschriften und die Summe bleiben dort, wo das bedruckte Papier sie hinsetzt.
  • Zwei Notizen ungleicher Länge, auf eine gemeinsame letzte Zeile gebracht.

Der Quellcode, vollständig

Nichts ist weggelassen und nichts vereinfacht: Das ist das Programm genau so, wie es läuft, für den Entwickler, der diese Bibliothek nutzt. Die dritte ist die Beschreibung selbst: eine schlichte Liste dessen, was die Seite sagen muss, und das wird dem Dienst gesendet.

Den Rust-Quellcode lesen Den Python-Quellcode lesen Den JSON-Quellcode lesen

Das Dokument selbst

Das Dokument auf Englisch öffnen Das Dokument auf Französisch öffnen Das Dokument auf Deutsch öffnen Das Dokument auf Spanisch öffnen Das Dokument auf Italienisch öffnen Das Dokument auf Portugiesisch öffnen

Beispiele in der Nähe

Eine Tabelle, die sich selbst umbricht

Eine lange, als Ganzes übergebene Tabelle, die selbst entscheidet, wo die Seiten umbrechen: ihre Überschrift oben auf jeder Seite, ihre Fußnote unter jeder Seite, die Zelle eines Quartals über ihre Zeilen gespannt und oben auf der nächsten Seite erneut geschrieben, wenn eine Seite sie teilt, und eine Notiz, die Sie unter jede Seite genau an die Stelle zeichnen, die die Tabelle meldet.

Über die Zeilen verbundene Zellen

Ein Datenblatt, dessen Zellen über die Zeilen verbunden sind: Jede Gruppe wird einmal neben all ihren Zeilen genannt, mit einer Notiz daneben; die dünnen Linien enden an den Kanten dieser Zellen, und eine Notiz, die für die von ihr abgedeckten Zeilen zu lang ist, lässt diese wachsen.

An ihren Zellen gemessene Spalten

Eine Teileliste zweimal: vier Spalten, die sich die Breite gleichmäßig teilen, dann Referenz, Menge und Preis jeweils so breit wie ihre eigene breiteste Zelle und die Beschreibung mit allem, was sie übrig lassen.

Jedes Beispiel, nach Thema