Bonsoir,
On Wed, 21 Feb 2007 23:57:00 +0100
Jean-Côme Charpentier <jean-come.charpentier@wanadoo.fr> wrote:
> > Le lien sur le troisième exercice ne marche pas. Il renvoie à la
> > page de l'index. Et si le nombre d'exercices est bien supérieur, le
> > lien ne donne rien :(
>
> Oui, oui. J'ai fait n'importe quoi. En fait, il faut poser un «
> hyperlabel » dans l'environnement Exo et appeler une sorte de
> \hyperref special au niveau de l'index. L'hyperlabel s'appelle
> \hypertarget et l'hyper-ref s'appelle \hyperlink. Elles demandent
> toutes les deux un premier argument qui est l'étiquette de cette
> référence et un deuxième argument qui est un texte tout bête. Pour
> \hypertarget on peut laisser le deuxième argument vide si on place la
> commande à l'intérieur de l'environnement. J'ai préféré la mettre de
> façon automatique au niveau du titre. Pour \hyperlink, c'est un peu
> plus compliqué, il faut absolument le passer directement dans la
> définition de \@@numwrindex (toujours ces problèmes de synchronisation
> avec la commande \@sanitize). Si tu veux une commande \numindex qui ne
> pose pas de lien hypertextes, je te conseille de te créer une commande
> \numindex comme avant et d'appeler celle que je vais décrire
> \hnumindex (en collant un h au début de toutes les macros privées).
> Donc, cela donne (exemple complet pour voir que cela fonctionne au
> petit oignons) :
>
> \documentclass{article}
> \usepackage[T1]{fontenc}
> \usepackage[latin1]{inputenc}
> \usepackage[a4paper]{geometry}
> \usepackage{lmodern}
> \usepackage{makeidx}
> \usepackage[frenchb]{babel}
> \usepackage{amsmath,amsthm}
> \usepackage{hyperref}
>
> %Énoncés
> \newtheoremstyle{perso}
> {\baselineskip}% Espace vertical avant
> {0pt}% Espace vertical après
> {\upshape}% Police texte courant
> {}% Retrait horizontal en-tête
> {\bfseries\itshape}% Police en-tête
> {.}% Ponctuation après en-tête
> {\newline}% Espace après en-tête (par ex. 1em ou \newline)
> {}% (normalement vide, voir doc.)
>
>
> \theoremstyle{perso}
> % Attention ! modification ci-dessous
> \newtheorem{Exo}{\hypertarget{Exo\theExo}{Exercice}}
>
> \makeindex
>
> \makeatletter
> \newcommand*\numindex{%
> \@bsphack
> \begingroup
> \@sanitize
> \@numwrindex
> }
> \newcommand*\@numwrindex[1]{%
> \gdef\@numwritefirst{#1}%
> \endgroup
> \@@numwrindex
> }
> \newcommand*\@@numwrindex[1]{%
> \protected@write\@indexfile
> {}{\string\indexentry{\@numwritefirst|hyperlink{Exo\theExo}}{#1}}%
> \@esphack
> }
> \makeatother
>
> \begin{document}
> \begin{Exo}
> \numindex{theoreme@théorème!de toto}{\theExo}
> totototot
> \end{Exo}
> \begin{Exo}
> \numindex{theoreme@théorème!de titi}{\theExo}
> titititit
> \end{Exo}
> \begin{Exo}
> \numindex{theoreme@théorème!de tutu}{\theExo}
> tutututut
> \end{Exo}
> \begin{Exo}
> \numindex{theoreme@théorème!de tete}{\theExo}
> tetetetet
> \end{Exo}
> \begin{Exo}
> %\numindex{theoreme@théorème!de tyty}{\theExo}
> % finalement ce théorème n'est pas intéressant
> % et ne sera donc pas indexer. et toc !
> % (il n'y aura donc pas de numéro 5 dans l'index)
> tytytytyt
> \end{Exo}
> \clearpage
> \begin{Exo}
> \numindex{theoreme@théorème!de sysy}{\theExo}
> sysysysys
> \end{Exo}
> \begin{Exo}
> \numindex{theoreme@théorème!de ryry}{\theExo}
> ryryryryr
> \end{Exo}
>
> \printindex
> \end{document}
Effectivement, il marche avec beaucoup de petits oignons :)
Bien continuons alors les réjouissances.
Comment mettre un texte (de remerciements à JCC par exemple :-) ), juste
après le titre index mais juste avant l'index lui-même ?
>
> Jean-Côme Charpentier
>
>
Christophe.
_______________________________________________
Liste de diffusion Syracuse
Syracuse@melusine.eu.org
http://melusine.eu.org/cgi-bin/mailman/listinfo/syracuse
Adresse alternative du site :
http://syracuse.eu.org/syracuse/
Received on Thu Feb 22 21:09:11 2007
Cette archive a été créée par hypermail 2.1.8 : jeu fév 22 2007 - 22:37:02 CET