IndexMatic² | Stratégie d'indexation des noms propres
June 18, 2015 | IndexMatic² | fr
Bien que ce sujet ait été abordé sous diverses facettes dans la Foire aux questions d'IndexMatic², l'indexation des noms propres d'un ouvrage reste un « cas d'école » pour de nombreux utilisateurs. Voici une procédure facile à mettre en œuvre quand vous ne disposez ni d'une base de données, ni d'une stylisation préalable des entrées.
Isoler une condition nécessaire
Par nature, le moteur d'IndexMatic² réclame des critères formels pour identifier une catégorie de mots. Or, la majuscule initiale n'est pas une contrainte suffisante pour dégager la catégorie des noms propres, car le texte contient aussi de nombreuses occurrences de mots communs avec majuscule initiale. Tout terme susceptible de figurer en début de phrase (déterminant, conjonction, adverbe, etc.) serait anormalement analysé comme un nom propre si l'on s'en tenait au critère de la majuscule initiale.
Néanmoins, on peut considérer cette condition comme nécessaire. Employée dans un contexte de sensibilité à la casse, la requête simple /\m\w+/
commandera à IndexMatic² de rechercher tous les mots porteurs d'une majuscule initiale — et parmi eux, les noms propres. La fonction « Occurrences » permet de constituer cette liste de candidats à destination d'un traitement de texte. Il reste alors à supprimer manuellement les intrus. Vous obtenez par soustraction une « liste de requêtes » visant spécifiquement les noms propres, prête à être réinjectée dans IndexMatic² pour la production de l'index.
Mise en œuvre
Voici une illustration de cette stratégie, étape par étape, appliquée à Madame Bovary.
On commence par créer la requête unique /\m\w+/
en vue d'extraire les candidats :
Clic sur le bouton « Occurrences... » et réglage des paramètres :
IndexMatic² ouvre la liste d'occurrences dans votre traitement de texte par défaut. L'étape la plus fastidieuse consiste à supprimer les mots parasites. Le cas échéant, on transforme les clés simples en motifs plus élaborés. À gauche un extrait de la liste brute, à droite un extrait de la liste éditée après tri et affinage :
De retour dans IndexMatic², on passe en mode « Liste de requêtes » et on insère la liste finalisée (par copier-coller ou via un fichier texte) :
Rappel. — Dans les versions récentes d'InDesign avec lesquelles IndexMatic² n'est pas officiellement compatible, certaines fonctionnalités s'obtiennent parfois par des voies détournées. Le clic droit peut vous sauver.
Une fois les requêtes chargées, assurez-vous (à nouveau) que le respect de la casse est actif. Il n'y a plus qu'à cliquer sur « Produire l'index » :
Comments
Hi Marc,
You could make the most fastidious stage a bit less tedious by filtering out the most frequent words which aren't part of names (Mais, Et, On, etc.).
Regards,
Peter
Hi Peter,
Yep, I definitely should add a stop-words feature to IndexMatic, both in “Automatic” mode and in the “Hit Report” window. That's indeed a long-standing feature request, and probably the most needed.
@+
Marc
Hi Marc,
Very good this tutorial. Thanks.
Could you suggest some greps to catch words in uppercase with prepositions or conjunctions, or two names, or composed surnames, that are very usual in other languages? For example:
Luisa de Brigard
Maria de Brigard Goetz
Juana Ricaurte y Caro
Lucía Tanco de los Rios
or
Diego Caro Castro
Leo Pizano
Usual connectors: de, del, de la, de los, de las, y
Hi, Marc,
It is possible to catch initials like this?
Leo S. Castello
S. Krupp
etc?
I am using this:
/[\w ]+/u\.
but the results are not satisfactory: for example, the entry
N. Griessmann
is converted to
Griessmann 1
N 1
Thanks
@Camilo (#3)
Try the query:
/\m\w+(?: (?:del |de los |de las |de la |de |y )?\m\w+)*/Is
@+
Marc
@Camilo (#4)
Try the query:
/\m(?:\.|\w+)(?: \m(?:\.|\w+))*/Is
@+
Marc
Marc, mercie, mercie, mercie.
I got 50% more of entries with these powerful combinations.
My sincere thanks.
I need to exclude some words in a search. Seems straight to tag these items with a character style.
Now, run IM and select the sub menu «Character styles» and select NONE, that is the style for the rest of required words. But this option is not available. Only ANY.
Therefore, I have to modify the Indesign file and mark these words to be indexed (90%) with a new character style and come back to IM and select this style.
I tried other paths and nothing was better. May be a suggestion to add this NONE choice in the menu?
Thanks
This grep catches words between commas:
/\w+(, \w+)+/
How to tag only uppercase entries?
Thanks
Hi, it is possible to update these regex?
Thanks!
http://indesignsecrets.com/topic/pr...
To retrieve proper nouns, you can target all words which start with an uppercase letter. Use then the Single Query mode and send the following query:
/[A-Z]w+/I
To also grab composite terms such as “Battle of Arras”, or “Marshal Joffre”, use rather the following query:
/w+( w{1,2})?( w+)?/I