Ein ganzer Roman auf Englisch

Die meisten Beispiele auf dieser Website sind eine Seite lang, und das sagt nichts darüber, was bei Seite sechzig geschieht. Hier geht der ganze Text von Lewis Carrolls Alice's Adventures in Wonderland, 1865 erschienen, genau so hinein, wie die reine Textdatei ihn enthält, und kommt als ein PDF heraus: eine Titelseite, ein Inhaltsverzeichnis, zwölf Kapitel, zweiundsechzig nummerierte Seiten. Dem Programm wird über diesen Text eine einzige Sache gesagt — dass eine Zeile CHAPTER I ein Kapitel eröffnet —, und jede Überschrift, jeder Kolumnentitel und jede Seitenzahl folgt daraus.

Niemand hat eine Seite gezählt oder eine Zeile gemessen, um das zu erzeugen. Wo jede Zeile endet, wo jede Seite endet, wie eine Blocksatzzeile verteilt wird: All das wird berechnet, während das Buch ausgeschrieben wird; nur so lassen sich zweiundsechzig Seiten erzeugen, ohne dass jemand alle zweiundsechzig liest. Das Inhaltsverzeichnis ist der knifflige Teil, denn es muss stehen, bevor die Kapitel danach beginnen können, und lässt sich erst ausfüllen, wenn sie gelandet sind — und jede Zeile davon ist ein Link direkt zu ihrem Kapitel. Der Roman ist gemeinfrei: Sein Urheberrecht ist abgelaufen, und seine Nutzung ist an keine Bedingung geknüpft.

Was dieses Beispiel zeigt

  • Ein ganzes Buch, als reiner Text übergeben, ohne Layoutanweisungen.
  • Zwölf im Text selbst gefundene Kapitel, jedes beginnt auf einer eigenen Seite.
  • Zweiundsechzig nummerierte Seiten hinter einem anklickbaren Inhaltsverzeichnis.

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 öffnen

Beispiele in der Nähe

Ein überlanges Wort umbrechen

Ein Wort, länger als die Spalte, die es enthält: Die Bibliothek lässt es ganz, schneidet es am Rand der Spalte ab oder schneidet es ab und schließt die Zeile mit einem Bindestrich.

Umbruchstellen nach einem Schrägstrich oder einem Bindestrich

Eine Blocksatzspalte, viermal gesetzt: Dateipfade und Komposita, die ohne Umbruchstellen über den Rand hinauslaufen, dann dort umbrechen, wo ein Umbruch nach Schrägstrich oder Bindestrich erlaubt ist, danach überall, wo ihre Interpunktion es zulässt, und schließlich mit geschützten Bindestrichen, die jedes Kompositum zusammenhalten.

Jedes Beispiel, nach Thema