Le package imakeidx permet de faire plffsieffrs indeffi poffr ffn même docff- ment. La première étape consiste à dé nir ces indeffi. On les déclare dans le pré- ambffle en fftilisant poffr chaqffe indeffi la commande\makeindex, déjà étffdiée.
Chaqffe indeffi reçoit ffn nom abrégé — à ne pas confondre afiec son titre — qffi permera ensffite d’indiqffer à qffel indeffi appartient telle entrée indeffiée dans fiotre docffment. Le nom abrégé de l’indeffi est indiqffé comme option à la com- mande\makeindex.
Ainsi, poffr faire ffn indeffi des noms propres et ffn indeffi général, on pefft déclarer :
1 \makeindex[title=Index principal]
2 \makeindex[name=npr, title=Index des noms propres]
On remarqffe ici qff’affcffn nom n’a été donné à l’indeffi principal : dans ce cas, le nom abrégé est afftomatiqffement idffi . la compilation, seront crées, en plffs des chiers effiemple.idffi, effiemple.ilg et effiemple.ind, les chiers npr.idffi, npr.ilg et npr.ind.
18.2.2 Indexer son texte
Une fois les indeffi déclarés, il fafft passer à l’indeffiation proprement dite. Le principe est le même qffe poffr ffn seffl indeffi, mais aff lieff de\index{⟨entrée⟩},
on fftilise :\index[⟨nom abrégé⟩]{⟨entrée⟩}.
Indexer ses sources 18.3
Tofftes les entrées indiqffées par\index{⟨entrée⟩}sans l’argffment ⟨nom
abrégé⟩, sont afftomatiqffement placées dans l’indeffi général idffi .
On pefft ainsi indeffier notre teffite d’Éginhard de la façon sffifiante : 1 \index{Charles et la papauté|(}
2 Tandis que Charle\index[npr]{Charlemagne} était à Rome, il convint 3 avec le pape Adrien\index[npr]{Adrien} qu’ils enverraient de concert 4 des ambassadeurs à Tassilon, duc de Bavière\index[npr]{Tassilon} 5 \textelp{}
6 Les hommes choisis et envoyés dans cette ambassade furent, de 7 la part du pape, les évêques Formose\index[npr]{Formose} et 8 Damase\index[npr]{Damase}(…)\index{Charles et la papauté|)}.
18.2.3 Imprimer les index
Poffr imprimer ffn indeffi, il sff t d’fftiliser la commande\printindexen lffi
passant le nom abrégé de l’indeffi en option. Ainsi, poffr imprimer l’indeffi général sffifii de celffi des noms propres :
1 \printindex 2 \printindex[npr]
Si l’on fiefft regroffper toffs les indeffi en ffn seffl chapitre dont chaqffe indeffi est ffne section, on fftilisera la commande\indexsetup. On pefft lffi
passer comme option[⟨noclearpage⟩], poffr éfiiter qffe chaqffe indeffi com-
mence à ffne nofffielle page. Bien sûr, chaqffe indeffi pefft afioir son propre prologffe. Voici ffn effiemple :
1 \indexsetup{level=\section*,toclevel=section,noclearpage}
2 ...
3 \chapter*{Indices}
4 \indexprologue{Les numéros en gras renvoient aux définitions de notions.} 5 \printindex
6
7 \indexprologue{Les auteurs anciens sont indiqués en italiques.} 8 \printindex[npr]
18.3 Indexer ses sources
Noffs allons maintenant fioir comment fftiliser les possibilités de biblatex et de imakeidx poffr établir ffn indeffi des soffrces primaires.
Poffr comprendre cee section, fioffs defiez fioffs être familiarisé afiec les in- dications sffr les macros bibliographiqffes (☞ p. 121, 15.1).
Chapitre 18 Indeffi
18.3.1 Premier essai
La docffmentation de biblatex7noffs informe qff’il effiiste aff chargement dff package ffne option indexing qffi permet d’indeffier afftomatiqffement les réfé- rences bibliographiqffes. Comme noffs ne soffhaitons indeffier qffe les références appelées par les commandes\⟨prefix⟩cite— et non celles appelées par la com-
mande\printbibliography— noffs aribffons la fialeffr cite à cee option.
1 \usepackage[indexing=cite]{biblatex}
Étant donné qff’il fafft à la fois interpréter le chier .bib et faire ffn indeffi, noffs defions procéder affffi compilations dans l’ordre sffifiant :
1. Compilation afiec X E LATEX. 2. Compilation afiec Biber.
3. Compilation afiec X E LATEX poffr qffe les données bibliographiqffes soient intégrées dans l’indeffi.
On constate cependant deffffi problèmes :
1. La bibliographie se trofffie mêlée affffi afftres entrées de l’indeffi.
2. Plffs grafie : noffs afions des entrées poffr les affteffrs et des entrées poffr les titres, aff lieff d’afioir des entrées soffs la forme :Auteur!Titre.
En offtre noffs aimerions :
1. Limiter l’indeffiation affffi soffrces primaires.
2. Indeffier affssi, comme troisième nifieaff d’indeffi, le champ titleaddon qffi noffs sert poffr les difiisions de soffrce (☞ p. 112, 13.4).
18.3.2 Création d’un index spéci que
Poffr créer ffn indeffi spéci qffe affffi soffrces, rien de particfflier : il sff t d’ffti- liser imakeidx et la commande\makeindex:
1 \makeindex[name=sources,title=Sources]
18.3.3 Modi cations des macros de biblatex
Noffs afions donc notre indeffi spéci qffe. Mais encore fafft-il qffe noffs disions à biblatex d’ffl écrire son indeffi. Poffr ce faire noffs allons d’abord redé nir la macro citeindex qffi est appelée à chaqffe commande\⟨prefix⟩cite.
Indexer ses sources 18.3 1 \renewbibmacro{citeindex}{%
2 \ifciteindex{%
3 \indexnames[sources]{author}% 4 \indexfield[sources]{indextitle}% 5 \indexfield[sources]{titleaddon}% 6 \index[sources]{---}%
7 }%
8 {}}
ligne 2 la commande\ifciteindexfiéri e qffe l’option indexing de bi-
blatex est bien égale àtrueoff bien àcite: ce qffi sffit entre
accolades est effiécffté si tel est le cas.
ligne 3 noffs indeffions le champ author. Noffs fftilisons le format d’in- deffiationsources.
ligne 4 noffs indeffions le champ indextitle. Ce champ spécial sert à afioir dans l’indeffi ffn afftre titre qffe dans le corps dff docff- ment. Si ce champ est fiide biblatex fftilise à la place le champ title. Noffs fftilisons le format d’indeffiationsources.
ligne 5 noffs indeffions le champ titleaddon. Noffs fftilisons le format d’indeffiationsources.
ligne 6 ffne des limitations de biblatex est qff’il ne pefft indeffier qff’ffn seffl champ à la fois, et n’est pas capable, poffr le moment, de prodffire des entrées d’indeffi à plffsieffrs nifieaffffi. Afiec cee macro citeindex, on obtient ffne indeffiation séparée poffr cha- qffe champ des entrées indeffiées. Or noffs fioffdrions obtenir ffne indeffiation correspondant à la commande :
1 \index{auteur !titre !titleaddon}
C’est poffrqffoi noffs afions conçff ffn script dans le langage pffl- thon8, qffi concatène dans le chier .idx les trois indeffiations en ffne seffle. Mais afiant d’fftiliser ce script, il fafft indeffier ffne faffsse fialeffr, la fialeffr---, qffi empêchera le script d’indeffier
toffs les champs d’ffne entrée : noffs ne fiofflons pas obtenir ffne entrée de la forme :
\index{author !title !titleaddon !author2 !title2 !}
Tofftefois, ce script pfflthon doit être effiécffté afiant qffe LATEX ne transforme le chier .idx en chier .ind. Cee transformation est faite afftomatiqffement par le package imakeidx. Cependant, 8Noffs effipliqffons plffs loin comment s’en serfiir (☞ p. 153, 18.3.5).
Chapitre 18 Indeffi noffs pofffions désactifier cet afftomatisme poffr ffn indeffi par- ticfflier, dans le cas présent poffr l’indeffi soffrces. Poffr ce faire, il noffs sff t de passer l’option noautomatic à la commande
\makeindex:
1 \makeindex[name=sources,title=Sources,noautomatic] Il noffs faffdra alors, après l’effiécfftion dff script pfflthon, compi- ler le chier soffrces.idffi afiec le script MakeIndeffi, a n de pro- dffire ffn chier soffrces.ind :
makeindex sources.idx
Après cela, la compilation afiec XeLaTeX a che correctement l’indeffi.