Une table des matières à points de conduite

Tout le monde a déjà vu la table des matières où les points viennent buter contre le numéro de page sur une ligne et s'arrêtent deux centimètres trop tôt sur la suivante. C'est qu'ils ont été tapés à la main, et le jour où un titre change de longueur, le compte est faux. Personne ne le voit pendant qu'on écrit le document : ça se découvre sur l'exemplaire imprimé, chez le client.

Ici, personne ne tape un point. Chaque ligne est remplie d'exactement autant de points que la place restante en contient, une fois le titre et le numéro de page en place. Changez un titre, traduisez tout le document, composez-le dans une autre police : les points rejoignent toujours les numéros, sur chaque ligne, sans que personne reprenne la liste.

Ce que montre cet exemple

  • Des lignes de points remplies à la place restante, jamais tapées à la main.
  • Les titres à gauche et les numéros de page collés à droite.
  • Des entrées qui survivent à une traduction sans que les points se dérèglent.

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 en anglais Ouvrir le document en français

Une table des matières à points de conduite, première page

Optimisé, ce document pèse 14.2 ko — au moins 85 % de moins que ce qu'écriraient la plupart des générateurs de PDF

Le document est plus léger qu'avant, et chaque page a exactement le même aspect. Voir la ligne de ce document dans le tableau de tous les exemples.

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