Un index peut réunir des passages éloignés sans déplacer un seul chapitre. Suzanne souhaite donner ce service à un livre privé entièrement inventé : chercher les noms de lieux par leur début, puis retrouver leurs pages. Elle dispose des occurrences et choisit une règle de classement explicite. Nous allons remplir les listes, leurs recherches et leurs corrections sur papier. Aucun logiciel, manuscrit réel ou usage observé d'un lecteur n'est testé.
Verne nomme Londres.
Loti nomme Nantes.
Hugo nomme Guernesey.
Ces passages donnent seulement trois repères de lieux. Les noms courts, les pages et le classement suivants sont créés pour notre index ; nous n'en reprenons ni itinéraire ni personnage. Les lettres servent à rendre chaque comparaison visible, sans prétendre décrire la règle d'un dictionnaire ou d'un outil de recherche.
Comparer les lettres avant de comparer les longueurs
Les lieux du volume portent AN, ANA, ANNE, ANNIE, AUNE et B. Nous fixons l'ordre des caractères A, B, E, I, N, O, R, U. Comparer deux noms consiste à lire leurs caractères depuis la gauche, jusqu'au premier différent. Celui dont ce caractère arrive le premier dans notre alphabet précède l'autre. Si tous les caractères du nom court sont identiques au début du long, le court vient avant. Cette seconde convention concerne une fin de nom, pas une lettre invisible ajoutée au texte.
Suzanne commence par AN et ANA. Le A initial est commun, puis le N ; AN est alors terminé tandis qu'ANA possède encore A. Elle place AN avant ANA. ANA et ANNE partagent A et N, mais leurs troisièmes caractères sont A et N : A précède N, donc ANA précède ANNE. Entre ANNE et ANNIE, les trois premiers caractères sont identiques ; le quatrième est E dans le premier, I dans le second. E précède I. La liste commence ainsi AN, ANA, ANNE, ANNIE, et chaque voisinage possède une comparaison remplie.
AUNE ne suit pas ANNIE parce qu'il serait plus long ou moins fréquent. Son deuxième caractère U vient après le N de chacun des quatre noms précédents. B arrive après tous les noms commençant par A, puisque la différence est cette fois au premier caractère. Suzanne remet AN, ANA, ANNE, ANNIE, AUNE, B. Elle écarte une liste triée par longueur : celle-ci aurait placé B avant AN et AUNE avant ANNIE. La longueur intervient uniquement quand un nom est le préfixe entier de l'autre ; elle ne remplace pas la comparaison au premier caractère différent.
Camille lui demande où placer ANN, que Suzanne vient d'ajouter au livre fictif. ANN ne va pas avant ANA : leur troisième caractère est N contre A. Il vient après ANA. Il précède en revanche ANNE et ANNIE parce qu'il est leur début commun complet. La nouvelle liste est AN, ANA, ANN, ANNE, ANNIE, AUNE, B. Suzanne vérifie les deux voisins de l'insertion, ANA et ANNE, plutôt que de placer le nom à la fin puis de supposer que les anciennes positions lui donneront son rang.
Chercher tous les noms qui commencent par AN
Repartons d'abord de la liste à six noms, avant l'ajout d'ANN. Camille demande tous les noms commençant par AN. Suzanne donne AN, ANA, ANNE et ANNIE ; AUNE et B restent hors de la réponse. Elle peut retrouver cette suite par deux bornes dans le classement : commencer au premier nom qui n'est pas inférieur à AN, puis s'arrêter avant le premier qui n'est pas inférieur à AO. O vient immédiatement après N dans l'alphabet choisi. Le nom AN lui-même appartient à la réponse, car nous acceptons un préfixe égal au nom entier.
Pourquoi AO peut-il fermer cette plage ? Un nom commençant par AN compare son deuxième caractère N au O de AO, donc il précède AO. Un nom commençant par A suivi d'un caractère placé avant N serait inférieur à AN et aurait été écarté au départ. Si ce deuxième caractère suit N, il vaut au moins O et ne précède plus AO. Les noms commençant par une autre première lettre n'entrent pas entre les deux bornes. La réponse est donc un intervalle de positions dans notre liste, plutôt que quatre recherches indépendantes dont on réunirait les résultats par intuition.
Suzanne remplit un contrôle de borne sur les six positions numérotées de un à six. Pour AN, elle examine d'abord le nom de la troisième position, ANNE. Il n'est pas inférieur à AN ; le départ est donc parmi les trois premières positions. ANA, en deuxième, n'est pas inférieur non plus ; AN, en première, est égal. Le départ est un. Pour AO, la troisième position ANNE est inférieure ; la cinquième, AUNE, ne l'est pas ; la quatrième, ANNIE, est inférieure. La première position exclue est cinq. Suzanne remet les positions un à quatre, avec cinq comme borne de fin exclue.
Camille affine sa demande en ANN. La borne de départ devient ANN et la borne de fin ANO, puisque c'est cette fois le troisième N dont O est le suivant. ANA est inférieur à ANN à la troisième lettre et quitte la réponse ; AN est également inférieur, parce qu'il s'achève avant le troisième caractère. ANNE et ANNIE demeurent entre les bornes. AUNE n'y entre pas : son deuxième caractère U dépasse déjà N. Le résultat comprend exactement deux noms. Allonger le préfixe a changé la réponse avant d'ouvrir les pages ; Suzanne n'a pas simplement masqué les deux premières lignes de l'index sans justification.
L'insertion d'ANN change ensuite ces deux recherches. Dans la liste à sept noms, le préfixe AN donne cinq entrées, de la première à la cinquième ; AUNE devient la sixième et ferme encore la plage. Le préfixe ANN donne ANN, ANNE et ANNIE, positions trois à cinq. Les bornes textuelles AN, AO, ANN et ANO sont restées les mêmes, mais leurs positions ont changé. Suzanne ne conserve pas « positions un à quatre » comme une propriété permanente du préfixe AN. Elle retrouve les limites dans la liste effectivement remise après l'insertion.
Les pages ont leur propre ordre
AN apparaît dans le livre aux pages 5, 9 et 17. ANA apparaît aux pages 9 et 21 ; ANNE à 5 et 17 ; ANNIE à 12 ; AUNE à 9 ; B à 4. Pour chaque entrée, Suzanne choisit de présenter les pages par leur valeur entière croissante. La suite d'AN est donc 5, 9, 17. Si elle classait leurs écritures comme des noms, 17 viendrait avant 5, puisque le premier caractère 1 précède 5. Cette comparaison serait bien une opération déterminée, mais elle ne produirait pas les pages du début à la fin comme sa demande l'exige.
Camille teste deux requêtes différentes : un lieu et une page. Chercher AN rend 5, 9, 17. Chercher les lieux présents à la page 9 rend AN, ANA et AUNE. Suzanne construit cette seconde réponse depuis les occurrences données, pas depuis les voisins d'AN dans l'ordre des noms. ANNE, pourtant proche dans la liste, ne possède pas le renvoi 9 ; AUNE, hors du préfixe AN, le possède. Le classement des noms et l'appartenance à une page portent ainsi sur deux relations distinctes que la réponse doit réellement combiner.
Camille demande maintenant les lieux commençant par AN et présents à la page 9. Suzanne prend l'ensemble AN, ANA, ANNE, ANNIE, puis conserve ceux qui possèdent 9 : AN et ANA. Si elle partait plutôt de la page 9, elle obtiendrait AN, ANA, AUNE, puis retirerait AUNE par le préfixe. Les deux parcours donnent le même couple final. Elle vérifie cette égalité sur les listes remplies. Elle ne remplace pas les deux conditions par « les deux premières entrées », qui aurait réussi seulement par hasard dans cet état de notre index.
Une autre demande garde le préfixe AN mais exige au moins une occurrence entre les pages 10 et 20, bornes comprises. AN convient par 17 ; ANA ne convient pas, puisque ses pages sont 9 et 21 ; ANNE convient par 17 et ANNIE par 12. La réponse est AN, ANNE, ANNIE. Suzanne précise ce qu'elle remet : ce sont les noms ayant une occurrence dans la plage. Si Camille demande aussi les renvois restreints à cette plage, les lignes deviennent AN : 17 ; ANNE : 17 ; ANNIE : 12. Les renvois 5 et 9 ne disparaissent pas de l'index complet.
Camille exige ensuite que toutes les occurrences d'un lieu soient dans cette plage, plutôt qu'au moins une. ANNIE reste seule : son unique page 12 convient. AN et ANNE possèdent chacun 5, hors de la plage ; ANA possède 9 et 21. Suzanne retire donc ces trois entrées de cette seconde réponse. Changer « au moins une » en « toutes » modifie effectivement les lignes retenues. Le mot plage et les bornes 10 et 20 demeurent identiques, mais ils ne suffisent pas à reconstruire une demande dont la condition sur les occurrences a changé.
Fusionner deux relevés sans répéter les pages
Suzanne avait préparé l'index en deux relevés partiels. Le premier contient AN : 5, 17 ; ANNE : 5 ; B : 4. Le second contient AN : 9, 17 ; ANA : 9, 21 ; ANNE : 17 ; ANNIE : 12 ; AUNE : 9. Chacun est déjà classé selon notre alphabet. Elle doit produire l'index complet, avec une seule ligne par nom et un seul renvoi par page dans cette ligne. Coller le second relevé après le premier ne respecte ni le classement global ni l'unicité des lignes : AN et ANNE apparaîtraient deux fois.
Elle compare les premières entrées des deux relevés. AN est égal à AN ; elle ouvre une seule ligne AN et réunit leurs pages. Pour les pages, 5 précède 9 ; 9 précède 17 ; les deux 17 désignent le même renvoi affiché et ne sont inscrits qu'une fois. La ligne choisie est AN : 5, 9, 17. Les deux relevés avancent au-delà de leur AN. Suzanne ne conserve pas seulement celui du premier sous prétexte qu'il a été commencé plus tôt : cette préférence aurait perdu la page 9 portée uniquement par le second.
Les têtes restantes sont ANNE dans le premier et ANA dans le second. ANA précède ANNE ; Suzanne prend ANA : 9, 21, puis avance seulement dans le second. Les deux têtes sont maintenant ANNE. Elle réunit 5 et 17, produit ANNE : 5, 17, puis avance dans les deux. Le premier propose B ; le second ANNIE, puis AUNE. Ces deux noms précèdent B. Elle les prend successivement depuis le second, qui s'achève, puis termine par B : 4. Toutes les décisions de la fusion ont porté sur les entrées encore disponibles, sans revenir à une ligne déjà émise.
Ce parcours permet de contrôler la fin d'un relevé. Dès que le second s'achève, les noms restants du premier peuvent être recopiés dans leur ordre : aucune tête concurrente ne demande encore une comparaison. Cela ne signifie pas que toute fin de relevé soit automatiquement plus grande que toute entrée de l'autre. B a été laissé en attente précisément parce qu'ANNIE puis AUNE le précédaient. Suzanne retire un essai qui prenait B dès l'épuisement des deux ANNE ; le second possédait encore ces deux entrées. L'arrêt d'une ligne commune n'était pas l'arrêt du relevé qui la contenait.
Une occurrence supprimée ne retire pas toujours son renvoi
À la page 9, le texte fictif comporte deux mentions distinctes d'AN, dans deux phrases. L'index n'affiche pourtant 9 qu'une fois sous AN. Suzanne conserve dans son relevé de préparation le nombre de mentions : une à 5, deux à 9, une à 17. La liste affichée des pages contient trois éléments, le relevé contient quatre occurrences. Il ne s'agit pas d'ajouter un numéro de page pour la seconde phrase. La quantité interne lui permettra de décider si une future suppression de phrase doit aussi retirer un renvoi.
Elle supprime la première des deux mentions d'AN à 9 dans une nouvelle rédaction créée. Le nombre de mentions à cette page passe de deux à une. Le renvoi 9 reste dans l'index, et AN conserve 5, 9, 17. Un essai avait retiré 9 dès la suppression ; il ne correspondait plus à la seconde phrase où AN demeurait écrit. Suzanne rectifie cet essai en rétablissant 9. Elle ne recrée pas la phrase supprimée pour expliquer le renvoi : celui-ci est soutenu par l'autre occurrence encore présente dans cette version.
Une correction suivante supprime également la seconde mention d'AN à 9. Le compte passe de une à zéro ; cette fois, 9 quitte la ligne d'AN, qui devient 5, 17. ANA et AUNE gardent leurs renvois 9, puisque leurs mentions n'ont pas été supprimées. Chercher les lieux à la page 9 donne désormais ANA et AUNE, puis le croisement avec le préfixe AN donne ANA seule. La suppression a changé deux réponses effectives sans supprimer la page ni faire sortir ANA de l'intervalle alphabétique. Suzanne vérifie ces nouvelles réponses depuis les occurrences, pas depuis la seule ancienne liste imprimée.
Donner au préfixe la règle de l'index courant
Dans une proposition distincte, Suzanne place U avant N dans l'alphabet, tout en conservant A, B, E, I et O à leurs positions relatives. La liste devient AN, ANA, ANNE, ANNIE, AUNE, B ? Camille refuse cette liste restée ancienne : au deuxième caractère, U doit maintenant précéder N. Suzanne corrige en AUNE, AN, ANA, ANNE, ANNIE, B. Les quatre noms commençant par AN restent contigus, mais occupent les positions deux à cinq. La plage AN jusqu'à AO fonctionne encore, car O suit N ; son départ doit être recherché dans cette nouvelle liste.
Camille utilise la règle nouvelle sur AUNE et ANNIE. Leur première lettre A est commune ; U précède maintenant N, donc AUNE arrive avant ANNIE sans qu'il faille comparer leurs troisièmes lettres. Suzanne ne déduit pas ce résultat d'une autre orthographe du lieu : ses noms ont exactement les mêmes caractères. C'est la règle de comparaison qui a changé. Pour la remise, elle retient finalement le premier alphabet et sa liste AN, ANA, ANNE, ANNIE, AUNE, B. La proposition avec U avant N reste une comparaison séparée dont les positions ne sont pas reportées dans l'index choisi.
Abréger les renvois sans remplir les pages absentes
Dans une branche distincte de notre essai de suppression, Suzanne compose un nouvel état du livre où AN apparaît aux pages 5, 9, 10, 11, 13 et 17. Camille souhaite raccourcir la ligne imprimée sans perdre ni ajouter une seule page consultable. Elles autorisent une écriture où deux nombres reliés par un tiret représentent toutes les pages entières de l'un à l'autre, bornes comprises. Cette convention ne vaut pas pour les noms des lieux et n'efface pas la liste détaillée qui permet de contrôler la proposition. Suzanne doit maintenant décider quelles suites peuvent réellement recevoir cette écriture.
Elle commence à 5. Le nombre suivant, 9, n'est pas 6 : la première suite s'arrête donc à 5. À partir de 9, le suivant 10 ajoute exactement un, puis 11 ajoute encore un ; 13 n'est pas 12 et ferme cette seconde suite. Le suivant 17 ne prolonge pas 13 non plus. Suzanne imprime AN : 5, 9–11, 13, 17. Camille redéveloppe la ligne et obtient exactement 5, 9, 10, 11, 13, 17. Une proposition 5, 9–17 aurait ajouté 12, 14, 15 et 16. Elle conduirait notamment une recherche sur la page 12 vers AN alors qu'aucune occurrence ne justifie cet accès dans la branche créée. La continuité des pages, et non leur simple ordre croissant, autorise le tiret.
Une correction du texte retire ensuite l'unique occurrence d'AN à 10. Suzanne repart de la liste 5, 9, 11, 13, 17. Elle ne peut plus conserver 9–11 en retirant seulement 10 de son relevé caché : l'écriture imprimée continuerait à inclure cette page. Elle remplace la plage par deux renvois isolés, 9 et 11, et transmet AN : 5, 9, 11, 13, 17. Camille vérifie deux recherches : la page 10 ne renvoie plus à AN, la page 11 y renvoie encore. La correction a fait éclater une plage sans retirer ses deux extrémités. Dans un autre état ajoutant aussi une occurrence à 12, Suzanne réunirait 11, 12 et 13 en 11–13 ; elle n'applique pas cet ajout hypothétique à la remise où 12 demeure absent.
L'index retenu conserve ses noms classés, ses renvois numériques et les occurrences qui justifient chaque page. Le sommaire du livre garde l'ordre des chapitres. Notre index permet de chercher un début de nom, de croiser cette recherche avec une plage de pages et de reprendre une liste après une suppression réelle dans le texte créé. Ces opérations ne prétendent pas choisir les noms d'une famille ni garantir le comportement d'un logiciel : elles donnent une remise précise, contrôlable dans les données de notre volume fictif.
Les Éditions privées donnent une forme aux voix, aux archives et aux histoires que vous souhaitez transmettre.
Découvrir Codex de Maison →