Un roman entier en anglais

La plupart des exemples de ce site tiennent sur une page, ce qui ne dit rien de ce qui se passe à la page soixante. Ici, tout Alice au pays des merveilles de Lewis Carroll, publié en 1865, entre tel que le fichier texte le contient et ressort en un seul PDF : une page de titre, un sommaire, douze chapitres, soixante-deux pages numérotées. Le programme reçoit une seule information sur ce texte — une ligne qui dit CHAPTER I ouvre un chapitre — et tous les titres, tous les en-têtes courants et tous les numéros de page en découlent.

Personne n'a compté une page ni mesuré une ligne pour faire ça. Où finit chaque ligne, où finit chaque page, comment une ligne justifiée est espacée : tout est décidé au moment où le livre s'écrit, ce qui est la seule façon de produire soixante-deux pages sans que quelqu'un lise les soixante-deux. La table des matières est le morceau délicat : elle doit être en place avant que les chapitres commencent après elle, et ne peut être remplie qu'une fois qu'ils sont tombés — et chacune de ses lignes est un lien qui mène droit à son chapitre. Le roman est dans le domaine public : ses droits ont expiré et il n'impose aucune condition d'usage.

Ce que montre cet exemple

  • Un livre entier remis en texte brut, sans la moindre consigne de mise en page.
  • Douze chapitres trouvés dans le texte lui-même, chacun ouvrant sa propre page.
  • Soixante-deux pages numérotées derrière une table des matières où l'on clique.

Le code source complet

Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.

Voir le code Rust Voir le code Python Voir le code JSON

Le document lui-même

Ouvrir le document

Des exemples voisins de celui-ci

Couper un mot trop long

Un mot plus long que la colonne qui le contient : la bibliothèque le laisse entier, ou le coupe au bord de la colonne.

Couper aux barres obliques et aux traits d'union

Une colonne justifiée composée deux fois : des chemins de fichiers et des mots composés qui débordent du bord faute de points de coupure, puis qui passent à la ligne là où une coupure après une barre oblique ou un trait d'union est autorisée.

Une police derrière la police

Une même ligne d'états composée deux fois : d'abord dans la police de l'entreprise seule, où les caractères dont elle n'a pas le glyphe sortent en cases vides ; puis avec une seconde police derrière elle, qui trace ces caractères.

Tous les exemples, par sujet