Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 3

02 Nov '15, 10:36

unbonpetit's gravatar image

unbonpetit
1.8k18

Je vous fais remarquer que `xindy` n'y est pour rien. C'est le package `imakeidx` (ou son fork `indextools`) qui définit `\printindex` pour que celle-ci ferme le fichier où sont écrites les entrées. Dans votre premier code, vous auriez observé le même comportement en utilisant le package `imakeidx` ou `indextools` ! Cette définition de `\printindex` fait qu'après son exécution, les entrées d'index ne sont plus écrites dans le fichier rassemblant les entrées d'index, ce qui d'ailleurs me semble tout à fait logique. Pourquoi diable voudriez-vous rajouter des entrées d'index après l'impression de l'index ? EDIT À l'aide de `\AtEndDocument`, je propose de reléguer en fin de document la fermeture du fichier et l'appel au programme externe. \documentclass{article} \usepackage{fontspec} \usepackage[xindy]{indextools} \makeatletter \def\indtl@putindex#1{% \ifindtl@nonewpage\else \indtl@clearpage \fi \let\indtl@indexname\indexname % keep \indexname \@nameuse{indtl@set@#1}\indtl@decide \AtEndDocument{% \indtl@clearpage \immediate\closeout\csname #1@idxfile\endcsname \if@tempswa % we can call the external program \indtl@exec{\indtl@program\indtl@options#1.idx}% \else \indtl@finalmessage{#1}% \fi}% \ifKV@indtl@intoc \def\indtl@maybeaddtotoc{\@nameuse{phantomsection}% \addcontentsline{toc}{\indtl@toclevel}{\indtl@title}}% \else \def\indtl@maybeaddtotoc{}% \fi \ifx\indtl@title\indtl@check@indexname\else \def\indexname{\indtl@title}% \fi \@input@{#1.ind} \let\indexname\indtl@indexname % restore \indexname } \makeatother \makeindex \begin{document} Blablabla\index{index1} \newpage \printindex \newpage Blablabla\index{index2} \end{document}
cliquez ici pour masquer/afficher la révision 2
ortograf

02 Nov '15, 07:06

Pathe's gravatar image

Pathe
7.6k53211254

Je vous fais remarquer que `xindy` n'y est pour rien. C'est le package `imakeidx` (ou son fork `indextools`) qui définit `\printindex` pour que celle-ci ferme le fichier où son sont écrites les entrées. Dans votre premier code, vous auriez observé le même comportement en utilisant le package `imakeidx` ou `indextools` ! Cette définition de `\printindex` fait qu'après son exécution, les entrées d'index ne sont plus écrites dans le fichier rassemblant les entrées d'index, ce qui d'ailleurs me semble tout à fait logique. Pourquoi diable voudriez-vous rajouter des entrées d'index après l'impression de l'index ?
cliquez ici pour masquer/afficher la révision 1

02 Nov '15, 01:00

unbonpetit's gravatar image

unbonpetit
1.8k18

C'est votre première visite ici ? Consultez la FAQ !

×