xindy, hyperref et |see - commentaires xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-29T15:00:07Z https://geekographie.maieul.net/-190-#comment1661 2016-01-29T15:00:07Z <p>Merci pour le conseil. J'ai même décider de passer sur XeLaTeX avec tes conseils.<br class="autobr"> Avec ta solution, tout fonctionne super bien. Merci<small class="fine d-inline"> </small>!</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-21T09:14:32Z https://geekographie.maieul.net/-190-#comment1660 2016-01-21T09:14:32Z <p>J'ai ajouté un dernier paragraphe donnant une solution.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-20T13:41:20Z https://geekographie.maieul.net/-190-#comment1659 2016-01-20T13:41:20Z <p>Bon, effectivement limite d'hyperref. Je pose la question sur <a href="http://tex.stackexchange.com/q/288553/7712" class="spip_url spip_out auto" rel="nofollow external">http://tex.stackexchange.com/q/288553/7712</a></p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-20T10:01:41Z https://geekographie.maieul.net/-190-#comment1658 2016-01-20T10:01:41Z <p>Je vais regarder cela. Peux tu par contre utiliser la balise <code class="spip_code spip_code_inline" dir="ltr"><code></code> pour marquer des bouts de code.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-20T09:51:25Z https://geekographie.maieul.net/-190-#comment1657 2016-01-20T09:51:25Z <p>Voici un exemple minimal complet.<br class="autobr"> le fichier .tex</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>% A compiler avec xelatex -shell-escape \documentclass{article} \usepackage{fontspec} \usepackage{polyglossia} \setmainlanguage{french} \usepackage{setspace} \onehalfspacing \usepackage[xindy]{indextools}%On précise qu'on veut utiliser xindy \usepackage[hyperindex=false]{hyperref} \def\xindyopt{ -I xelatex -M style_index1 -L french } \makeindex[program=truexindy, options=\xindyopt, intoc] \begin{document} toto \index{toto} \newpage téte\index{téte} toti\index{toti} \index{toti|seealso{toto}} \index{toti|see{téte}} \newpage ta\index{ta|see{toto}}\index{ta|seealso{toti}} \newpage tata\index{tata} \printindex \hyperlink{index:téte}{téte} \end{document} </code></pre></div> <p>avec le fichier style_index1.xdy :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>(define-location-class "arabic-page-numbers" ("arabic-numbers") :min-range-length 2) (define-attributes (("definition" "usage" "default" "hyperpage"))) (define-crossref-class "see") (markup-crossref-list :class "see" :open "\seelink{" :sep "; " :close "}{}") (define-crossref-class "seealso") (markup-crossref-layer-list :sep ", ") (markup-crossref-list :class "seealso" :open "\seealsolink{" :sep "; " :close "}{}") (define-crossref-class "hyperindexformat") (markup-crossref-list :class "hyperindexformat" :open "\hyperindexformat{" :sep "; " :close "}{}") (define-location-class-order ( "arabic-page-numbers" "see" "seealso")) (markup-index :open "~n\begin{theindex} \providecommand*\lettergroupDefault[1]{} \providecommand*\lettergroup[1]{% \par\textbf{#1}\par \nopagebreak } \newcommand{\targetindexentry}[1]{\hypertarget{index:#1}{#1}} \newcommand{\seelink}[1]{\see{\hyperlink{index:#1}{#1}}} \newcommand{\seealsolink}[1]{\seealso{\hyperlink{index:#1}{#1}}} ~n" :close "~n~n\end{theindex}~n" :tree) (markup-indexentry :open "~n \item " :depth 0) (markup-indexentry :open "~n \subitem " :depth 1) (markup-indexentry :open "~n \subsubitem " :depth 2) (markup-locref-list :sep ", ") (markup-locclass-list :open "\dotfill " :close "" ) (markup-locref :open "\hyperpage{" :close "}") (markup-locref :open "\hyperpage{" :close "}" :attr "hyperpage") (markup-keyword-list :open "\targetindexentry{" :close "}" )</code></pre></div> <p>Après compilation, il y a bien des liens hypertextes. Mais ceux sur le mot «<small class="fine d-inline"> </small>téte<small class="fine d-inline"> </small>» ne fonctionnent pas, je suppose que cela est causé par le caractère «<small class="fine d-inline"> </small>é<small class="fine d-inline"> </small>».<br class="autobr"> J'espère que c'est plus claire comme ça.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-19T16:03:19Z https://geekographie.maieul.net/-190-#comment1656 2016-01-19T16:03:19Z <p>il me faudrait un exemple complet minimal pour que je puisse comprendre le problème.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-19T15:50:40Z https://geekographie.maieul.net/-190-#comment1655 2016-01-19T15:50:40Z <p>Merci, en effet tu as bien compris et bien répondu à ma question. <br class="autobr"> Je comprend un peu mieux comment cela fonctionne à présent.</p> <p>Par contre, je me suis aperçu d'un bug que je n'arrive pas à comprendre. J'ai reproduis l'exemple fourni ici, en utilisant <code class="spip_code spip_code_inline" dir="ltr">polyglossia</code> et <code class="spip_code spip_code_inline" dir="ltr">XeLaTeX</code> et je n'arrive pas a avoir un hyperlink sur les mots accentués. <br class="autobr"> Dans le fichier .ind la commande <code class="spip_code spip_code_inline" dir="ltr">\item \targetindexentry{chat}, \seelink{félin}{}</code> ou si je rajoute à la suite de mon fichier .tex la commande <code class="spip_code spip_code_inline" dir="ltr">\hyperlink{index:félin}{félin}</code> créent bien une un hyperlien contenant le félin, mais ce lien est vide, il ne mène lorsqu'on clique dessus. Est-ce normal<small class="fine d-inline"> </small>? Ou ai-je mal compris quelque chose<small class="fine d-inline"> </small>?</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-18T17:47:11Z https://geekographie.maieul.net/-190-#comment1654 2016-01-18T17:47:11Z <p>Si je comprend bien, tu veux donc avoir à la fois un renvoi à la page du terme et un renvoi à une autre entrée.</p> <p>Dans ce cas il faut que tu fasse deux indexations : une avec <code class="spip_code spip_code_inline" dir="ltr">|see</code> et une sans.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-18T14:49:50Z https://geekographie.maieul.net/-190-#comment1653 2016-01-18T14:49:50Z <p>En réalité mon problème n'est pas sur la référence après <code class="spip_code spip_code_inline" dir="ltr">|see</code>, mais sur le numéro de page.<br class="autobr"> En effet, pour reprendre ton exemple si j'ai une entrée du fichier .idx qui est <code class="spip_code spip_code_inline" dir="ltr">\indexentry{chat|see{félin}}{1}</code><br class="autobr"> avec ta solution nous obtenons un résultat dans le fichier .ind <code class="spip_code spip_code_inline" dir="ltr">\item \targetindexentry{chat}, \seelink{félin}{}</code>.<br class="autobr"> Mais est-il possible d'obtenir <code class="spip_code spip_code_inline" dir="ltr">\item \targetindexentry{chat} \hyperpage{1}, \seelink{félin}{}</code><small class="fine d-inline"> </small>?</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-15T17:02:21Z https://geekographie.maieul.net/-190-#comment1652 2016-01-15T17:02:21Z <p>Merci pour le conseil, même si je n'utilise pas babel (notamment à cause de ce genre de problème).</p> <p>Concernant le second point, je pense que la lecture de l'article "<a href='https://geekographie.maieul.net/-120-' class="spip_in" rel='nofollow'>Indexation et renvoi</a>" devrait résoudre le problème.</p> xindy, hyperref et <code class="spip_code spip_code_inline" dir="ltr">|see</code> 2016-01-15T16:49:20Z https://geekographie.maieul.net/-190-#comment1651 2016-01-15T16:49:20Z <p>Merci pour ces explications très utiles. Par contre j'ai deux remarques. <br class="autobr"> La première est un conseil : l'utilisation de package <code class="spip_code spip_code_inline" dir="ltr">\usepackage[shorthands=;!?]{babeltools}</code> peut aider pour ceux qui utilisent le package <code class="spip_code spip_code_inline" dir="ltr">\usepackage[french]{babel}</code>. Car sinon l'utilisation de <code class="spip_code spip_code_inline" dir="ltr">index:#1</code> est parasitée par babel.<br class="autobr"> La deuxième est une question. Est-ce normal que chez moi, le numéro de page associé à l'entrée qui utilise <code class="spip_code spip_code_inline" dir="ltr">|see</code>, ne s'affiche pas<small class="fine d-inline"> </small>? comment résoudre ce problème<small class="fine d-inline"> </small>?</p>