bonjour à tous,
je souhaiterais intégrer une ancre de type \hypertarget{tablematieres} au début de ma table des matières (générée avec \tableofcontents) de manière à ce que je puisse y référer tout le long de mon document grâce à \hyperlink{tablematieres}.
J'ai bien regardé le manuel de hyperref et je n'ai pas réussi à intégrer le moindre hyperlien dans cette table des matières.
Quelqu'un aurait-il une solution à me proposer ?
Bien cordialement,
toth
Mettre \hypertarget dans la table des matières
-
- Utilisateur confirmé
- Messages : 19
- Inscription : mardi 17 août 2010, 12:07
- Statut actuel : Enseignant
Mettre \hypertarget dans la table des matières
version latex : Texlive2018 / compilation : lualatex / éditeur : texstudio
-
- Modérateur spécialisé
- Messages : 2621
- Inscription : vendredi 15 juin 2007, 00:31
Re: mettre \hypertarget dans la table des matières
\hypertarget et \hyperlink prennent *deux* arguments : un nom interne et le texte affiché. Par exemple, on met \hypertarget{toc}{} avant la table des matières puis on y fait référence avec \hyperlink{toc}{Table des matières} :
Code : Tout sélectionner
\documentclass{book}
\usepackage{blindtext}% pour du texte bidon
\usepackage{hyperref}
\title{Titre}
\author{moi}
\begin{document}
\maketitle
\cleardoublepage
\hypertarget{toc}{}
\tableofcontents
\Blinddocument
Voir la \hyperlink{toc}{Table des mati\`eres}.
\end{document}
-
- Utilisateur confirmé
- Messages : 19
- Inscription : mardi 17 août 2010, 12:07
- Statut actuel : Enseignant
Re: mettre \hypertarget dans la table des matières
bonjour,
effectivement \hypertarget et \hyperlink prennent *deux* arguments je ne l'avais pas précisé dans mon post mais dans mon code j'en mets bien deux.
J'ai essayé de compiler le code que tu m'as donné et j'ai eu exactement le même pb que dans mon document à savoir que le \hypertarget crée une page avant la table des matières juste pour créer l'ancre de la cible et que c'est vers cette page que renvoie le \hyperlink.
J'ai également essayé : \addtocontents{toc}{\hypertarget{toc}{~}} sans plus de succès, le code refuse de compiler.
effectivement \hypertarget et \hyperlink prennent *deux* arguments je ne l'avais pas précisé dans mon post mais dans mon code j'en mets bien deux.
J'ai essayé de compiler le code que tu m'as donné et j'ai eu exactement le même pb que dans mon document à savoir que le \hypertarget crée une page avant la table des matières juste pour créer l'ancre de la cible et que c'est vers cette page que renvoie le \hyperlink.
J'ai également essayé : \addtocontents{toc}{\hypertarget{toc}{~}} sans plus de succès, le code refuse de compiler.
version latex : Texlive2018 / compilation : lualatex / éditeur : texstudio
-
- Modérateur spécialisé
- Messages : 2621
- Inscription : vendredi 15 juin 2007, 00:31
Re: mettre \hypertarget dans la table des matières
?????
Le code que j'ai donné ne crée aucune page blanche indésirable avant la table des matières (en mode book, c'est normal qu'il y ait une page blanche avant la table des matières) et renvoie au bon endroit. Voici le PDF pour preuve :
\addtocontents{toc}{\hypertarget{toc}{~}} ne peut pas marcher. Avec un \protect devant \hypertarget, c'est mieux (mais il y a toujours une erreur de missing item).
Le code que j'ai donné ne crée aucune page blanche indésirable avant la table des matières (en mode book, c'est normal qu'il y ait une page blanche avant la table des matières) et renvoie au bon endroit. Voici le PDF pour preuve :
\addtocontents{toc}{\hypertarget{toc}{~}} ne peut pas marcher. Avec un \protect devant \hypertarget, c'est mieux (mais il y a toujours une erreur de missing item).
-
- Utilisateur confirmé
- Messages : 19
- Inscription : mardi 17 août 2010, 12:07
- Statut actuel : Enseignant
Re: mettre \hypertarget dans la table des matières
ce que tu dis est assez intéressant, ca signifie que l'origine du pb n'est pas tout à fait où je le pensais. Pour pouvoir compiler ton exemple j'ai dû rajouter dans l'entête \usepackage[francais]{babel}, pourquoi ça je ne sais pas...
Quoi qu'il en soit, le document .pdf alors généré est alors un document avec deux pages blanches en plus de celle crée par le mode book. (je ne peux pas joindre de fichier à mon post pour illustrer mon propos). D'où ma remarque.
Ceci étant dit, j'ai trouvé une autre solution, rajouter une section et un label juste avant ma table des matières :
et le lien à utiliser est alors :
Merci pour les explications et la rapidité !
toth
Quoi qu'il en soit, le document .pdf alors généré est alors un document avec deux pages blanches en plus de celle crée par le mode book. (je ne peux pas joindre de fichier à mon post pour illustrer mon propos). D'où ma remarque.
Ceci étant dit, j'ai trouvé une autre solution, rajouter une section et un label juste avant ma table des matières :
Code : Tout sélectionner
\phantomsection\label{toc}
\tableofcontents
Code : Tout sélectionner
\hyperref[toc]{text}
toth
version latex : Texlive2018 / compilation : lualatex / éditeur : texstudio