Passage en UTF-8 des fichiers TML, 1 : recodage

Last-change: ignore this commit
This commit is contained in:
Marc Mezzarobba 2009-09-20 12:27:14 +02:00 committed by Marc Mezzarobba
parent 46474fbdc3
commit bbc57c52cd
227 changed files with 25795 additions and 25795 deletions

View file

@ -10,199 +10,199 @@ PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
<h1>Faire un index avec MakeIndex</h1>
<p>Vous disposez d'un fichier TeX qui contient votre maîtrise, votre
<p>Vous disposez d'un fichier TeX qui contient votre maîtrise, votre
autobiographie, ce que vous voulez. Pour faciliter la vie du lecteur
de votre document final, vous désirez indexer les termes clefs de
votre texte. Le package MakeIndex vous permet de créer un index. Tout
de votre document final, vous désirez indexer les termes clefs de
votre texte. Le package MakeIndex vous permet de créer un index. Tout
au long de ce cours nous allons utiliser un petit texte d'exemple,
tiré des <cite>Mémoires</cite> du duc de Luynes (vous pouvez le
télécharger : <a href="exemple.txt">exemple.txt</a>) :</p>
tiré des <cite>Mémoires</cite> du duc de Luynes (vous pouvez le
télécharger : <a href="exemple.txt">exemple.txt</a>) :</p>
<pre>
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs n'en jetteroient ; mais que si
MM. de Rohan et de Bouillon y étoient, les ducs jetteroient de l'eau
bénite avant eux : ce qui arriva effectivement ; mais MM. de Rohan et
de Bouillon, voyant les ducs passer avant eux, s'en allèrent. Ce qui
avoit été décidé en faveur de MM. les ducs fut écrit sur le registre
de M. de Dreux ; mais deux ans après, les représentations de Mme de
Maintenon déterminèrent le Roi à faire un changement et à ordonner à
M. de Dreux que cet article seroit rayé sur le registre. Il fut mis en
marge que le Roi n'avoit jamais voulu décider entre les ducs et MM. de
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs n'en jetteroient ; mais que si
MM. de Rohan et de Bouillon y étoient, les ducs jetteroient de l'eau
bénite avant eux : ce qui arriva effectivement ; mais MM. de Rohan et
de Bouillon, voyant les ducs passer avant eux, s'en allèrent. Ce qui
avoit été décidé en faveur de MM. les ducs fut écrit sur le registre
de M. de Dreux ; mais deux ans après, les représentations de Mme de
Maintenon déterminèrent le Roi à faire un changement et à ordonner à
M. de Dreux que cet article seroit rayé sur le registre. Il fut mis en
marge que le Roi n'avoit jamais voulu décider entre les ducs et MM. de
Rohan et de Bouillon. </pre>
<h2>Avant toute chose</h2>
<p>Commencez par indiquer dans le préambule de votre document que vous
voulez le charger (attention, il faut bien écrire <code>makeidx</code>
et non <code>makeindex</code>) :</p>
<p>Commencez par indiquer dans le préambule de votre document que vous
voulez le charger (attention, il faut bien écrire <code>makeidx</code>
et non <code>makeindex</code>) :</p>
<pre>\usepackage{makeidx}</pre>
<p class="continue">Ensuite, dans la suite du préambule, mettez la
<p class="continue">Ensuite, dans la suite du préambule, mettez la
commande</p>
<pre>\makeindex</pre>
<p class="continue">qui demande à MakeIndex de se mettre au travail.
<p class="continue">qui demande à MakeIndex de se mettre au travail.
Enfin, placez la commande</p>
<pre>\printindex</pre>
<p class="continue">à l'endroit où vous désirez placer l'index (à la
<p class="continue">à l'endroit où vous désirez placer l'index (à la
fin, normalement).</p>
<h2>Les bases</h2>
<p>Pour obtenir une entrée dans l'index, il faut l'indiquer par la
commande <code>\index{<var>mon_entree</var>}</code>. Lors d'une première
compilation, LaTeX repérera tous les <code>\index</code> et écrira
pour chacun d'entre eux une entrée dans <a
<p>Pour obtenir une entrée dans l'index, il faut l'indiquer par la
commande <code>\index{<var>mon_entree</var>}</code>. Lors d'une première
compilation, LaTeX repérera tous les <code>\index</code> et écrira
pour chacun d'entre eux une entrée dans <a
href="exemple.idx"><code>exemple.idx</code></a>. Ensuite il faudra
faire une deuxième compilation à l'aide de la commande
<code>makeindex</code> :</p>
faire une deuxième compilation à l'aide de la commande
<code>makeindex</code> :</p>
<pre>makeindex exemple.idx</pre>
<p class="continue">MakeIndex interprétera les entrées de
<code>exemple.idx</code> et les formatera, générant deux nouveaux
<p class="continue">MakeIndex interprétera les entrées de
<code>exemple.idx</code> et les formatera, générant deux nouveaux
fichier, <a href="exemple.ilg"><code>exemple.ilg</code></a> qui
contient les messages de compilation de MakeIndex, et <a
href="exemple.ind"><code>exemple.ind</code></a> qui contient l'index
formaté. Il faut ensuite une troisième compilation, avec latex, pour
que <code>exemple.ind</code> soit intégré à <code>exemple.tex</code>
formaté. Il faut ensuite une troisième compilation, avec latex, pour
que <code>exemple.ind</code> soit intégré à <code>exemple.tex</code>
et produise l'index.</p>
<div class="encadre">
<strong>Important</strong> : il faut préciser <strong>à chaque
fois</strong> à <code>makeindex</code> ce que vous voulez indexer, il
<strong>Important</strong> : il faut préciser <strong>à chaque
fois</strong> à <code>makeindex</code> ce que vous voulez indexer, il
ne le fait pas automatiquement.
</div>
<p>
Pourquoi ? Bien sûr, vous préfereriez avoir à ne donner le mot à
Pourquoi ? Bien sûr, vous préfereriez avoir à ne donner le mot à
indexer qu'une seule fois et laisser l'ordinateur faire le reste, mais
cette procédure <em>manque de souplesse</em>. Admettons que vous
vouliez créer une entrée d'index « Louis XIV ». Un indexage
automatique vous permettrait bien sûr de recenser toutes les
occurrences de « Louis XIV ».
cette procédure <em>manque de souplesse</em>. Admettons que vous
vouliez créer une entrée d'index « Louis XIV ». Un indexage
automatique vous permettrait bien sûr de recenser toutes les
occurrences de « Louis XIV ».
</p>
<p class="continue">
Mais vous aimeriez sans doute aussi recenser les pages ou vous n'avez
pas écrit textuellement « Louis XIV », mais où vous en avez parlé sous
les périphrases « le roi de France », « le monarque », voire un bête
« il ». Ce que vous permet l'apposition à la main de commandes
<code>\index{Louis XIV}</code> après chaque mot ou expression que vous
voulez voir référencé.</p>
pas écrit textuellement « Louis XIV », mais où vous en avez parlé sous
les périphrases « le roi de France », « le monarque », voire un bête
« il ». Ce que vous permet l'apposition à la main de commandes
<code>\index{Louis XIV}</code> après chaque mot ou expression que vous
voulez voir référencé.</p>
<h3>Récapitulatif</h3>
<h3>Récapitulatif</h3>
<p>Il faut en tout <strong>trois compilations</strong> pour que
l'index soit effectif :</p>
l'index soit effectif :</p>
<pre>latex exemple.tex
makeindex exemple.idx
latex exemple.tex</pre>
<h2>Spécifier les entrées de l'index</h2>
<h2>Spécifier les entrées de l'index</h2>
<p>La procédure de base est la suivante : vous voulez indexer, dans le texte
d'exemple, les ducs et pairs. Vous placez donc, après l'expression à
référencer, un <code>\index{}</code> :</p>
<p>La procédure de base est la suivante : vous voulez indexer, dans le texte
d'exemple, les ducs et pairs. Vous placez donc, après l'expression à
référencer, un <code>\index{}</code> :</p>
<pre>
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
À la mort de M. le duc de Bourgogne, lorsqu'il fut question d'aller
jeter de l'eau bénite, le feu Roi décida que si les princes lorrains
s'y presenteroient, qu'eux ni les ducs\index{Ducs et pairs} n'en
jetteroient (...)
</pre>
<h3>Caractères accentués</h3>
<h3>Caractères accentués</h3>
<p>
MakeIndex n'a pas été conçu pour les langues possédant des accents :
dès qu'un mot contenant des caractères accentués se trouvera dans
votre <code>\index{}</code>, il le classera au début des mots
commençant par cette même lettre... Il vous faut donc indiquer
vous-même à MakeIndex où classer la référence : on utilise pour cela
MakeIndex n'a pas été conçu pour les langues possédant des accents :
dès qu'un mot contenant des caractères accentués se trouvera dans
votre <code>\index{}</code>, il le classera au début des mots
commençant par cette même lettre... Il vous faut donc indiquer
vous-même à MakeIndex où classer la référence : on utilise pour cela
une arobase (<code>@</code>) et le code
<code>\index{<var>sans_accents</var>@<var>avec_accents</var>}</code>.
Par exemple,
</p>
<pre>\index{Princes etrangers@Princes étrangers}</pre>
<pre>\index{Princes etrangers@Princes étrangers}</pre>
<p class="continue">veut dire que vous demandez à MakeIndex de classer
« Princes étrangers » comme s'il n'y avait pas d'accent dans
<p class="continue">veut dire que vous demandez à MakeIndex de classer
« Princes étrangers » comme s'il n'y avait pas d'accent dans
l'expression.</p>
<p><strong>À noter :</strong> Vous pouvez utiliser cette technique pour
classer par exemple des membres d'une même famille dans l'ordre
chronologique, et non pas par ordre alphabétique de leur prénom :</p>
<p><strong>À noter :</strong> Vous pouvez utiliser cette technique pour
classer par exemple des membres d'une même famille dans l'ordre
chronologique, et non pas par ordre alphabétique de leur prénom :</p>
<pre>
\index{Guise1@Guise, Henri de Lorraine, duc de}
\index{Guise2@Guise, Charles de Lorraine, duc de}
</pre>
<p class="continue">Vous pouvez également l'utiliser pour formater à
votre goût l'aspect d'une entrée d'index. Ainsi,</p>
<p class="continue">Vous pouvez également l'utiliser pour formater à
votre goût l'aspect d'une entrée d'index. Ainsi,</p>
<pre>\index{Bourgogne@\textsc{Bourgogne}, Louis de France, duc de}</pre>
<p class="continue">vous permet d'avoir le nom de famille en petites
majuscules. Vous pouvez évidemment remplacer <code>\textsc{}</code> par
n'importe quel type de fonte (italique, gras, penché...).</p>
majuscules. Vous pouvez évidemment remplacer <code>\textsc{}</code> par
n'importe quel type de fonte (italique, gras, penché...).</p>
<h3>Entrées et sous-entrées</h3>
<h3>Entrées et sous-entrées</h3>
<p>Pour produire une sous-entrée, vous devez d'abord indiquer l'entrée
principale puis la sous-entrée, séparée par un point d'exclamation.
<p>Pour produire une sous-entrée, vous devez d'abord indiquer l'entrée
principale puis la sous-entrée, séparée par un point d'exclamation.
Ainsi, si l'on reprend notre exemple, vous voulez faire du mot
« registres » une sous-entrée de « service des Cérémonies » :</p>
« registres » une sous-entrée de « service des Cérémonies » :</p>
<pre>\index{Ceremonies@Cérémonies, service de!registres}</pre>
<pre>\index{Ceremonies@Cérémonies, service de!registres}</pre>
<p>Vous pouvez faire des sous-sous-entrées. MakeIndex et LaTeX ne
supportent que trois niveaux d'indexation : vous ne pouvez pas avoir de
sous-sous-sous-entrées.</p>
<p>Vous pouvez faire des sous-sous-entrées. MakeIndex et LaTeX ne
supportent que trois niveaux d'indexation : vous ne pouvez pas avoir de
sous-sous-sous-entrées.</p>
<h3>Références croisées</h3>
<h3>Références croisées</h3>
<p>MakeIndex vous permet de faire des références croisées, qui ne renvoient
pas à une page, mais à une autre entrée. Ainsi, dans notre exemple, on
veut que le lecteur qui cherche une entrée à Bouillon soit renvoyé à
« princes étrangers » :</p>
<p>MakeIndex vous permet de faire des références croisées, qui ne renvoient
pas à une page, mais à une autre entrée. Ainsi, dans notre exemple, on
veut que le lecteur qui cherche une entrée à Bouillon soit renvoyé à
« princes étrangers » :</p>
<pre> \index{Bouillon|see{Princes étrangers}}</pre>
<pre> \index{Bouillon|see{Princes étrangers}}</pre>
<p class="continue">vous donnera :</p>
<p class="continue">vous donnera :</p>
<pre>Bouillon, voir Princes étrangers</pre>
<pre>Bouillon, voir Princes étrangers</pre>
<p>La traduction de <code>|see{}</code> dépend du package de Babel que
<p>La traduction de <code>|see{}</code> dépend du package de Babel que
vous utilisez.</p>
<h2>Formatage de l'index</h2>
<p>Par défaut, l'index ressemble à ceci (c'est le résultat de
<a href="exemple.tex"><code>exemple.tex</code></a>) :</p>
<p>Par défaut, l'index ressemble à ceci (c'est le résultat de
<a href="exemple.tex"><code>exemple.tex</code></a>) :</p>
<div class="illustration"><img src="index.jpg" alt="Un index"/></div>
<p>Le texte s'étend sur deux colonnes. Si vous voulez modifier le
formatage de l'index, il vous faudra créer un fichier <code>.ist</code>
<p>Le texte s'étend sur deux colonnes. Si vous voulez modifier le
formatage de l'index, il vous faudra créer un fichier <code>.ist</code>
(<code>perso.ist</code>, par exemple) contenant vos personnalisations.
Pour utiliser ce fichier <code>.ist</code>, il faut le donner en option à
MakeIndex pendant la deuxième compilation :</p>
Pour utiliser ce fichier <code>.ist</code>, il faut le donner en option à
MakeIndex pendant la deuxième compilation :</p>
<pre>makeindex -s perso.ist exemple.idx</pre>
<h3>Ajouter une lettre entre chaque groupe</h3>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<pre>
heading_prefix "{\\bfseries\\hfil "
@ -214,7 +214,7 @@ headings_flag 1
<h3>Ajouter des lignes de points</h3>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<p>Il faut insérer dans votre perso.ist les lignes suivantes :</p>
<pre>
delim_0 "\\dotfill"
@ -225,8 +225,8 @@ delim_2 "\\dotfill"
<div class="illustration"><img src="mylist.jpg" alt="Encore plus joli" /></div>
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000) et
François-Xavier Coudert (2002).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:51 $" />.
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000) et
François-Xavier Coudert (2002).
Dernière modification : le <date value="$Date: 2007-07-17 10:02:51 $" />.
</div>
</body> </html>