Lien à la table de matière principale
Bonjour à tous. J’ai trouvé sur le net une manière d’utiliser les sections comme pointeurs (c’est-à-dire, lorsque je clique sur le titre de la section, je reviens à la table de matière principale). Pour cela, il suffit de mettre dans le préambule le code suivant :
1. Premièrement, les sections pointent vers la mini table du chapitre en question, et non pas à la table de matière principale..
2. Deuxièmement, lors de la compilation, j’ai l’affichage suivant : « Label `toc` multiply defined » et « There were multiply-defined labels ».
Donc je cherche une solution pour que Latex reconnaisse seulement la table de matière principale comme référence (vers laquelle on fait référence). Voici un ECM de mon fichier sur le quel je travaille.
zenon
\AtBeginDocument{ \addtocontents{toc}{\protect\label{toc}}}et de mettre au niveau de la section la commande suivante:
\section[Titre de la section]{\protect\hyperref[toc]{Titre de la section}}Cependant, deux problèmes surgissent (je comprend que c’est dû à la présence des mini tables) :
1. Premièrement, les sections pointent vers la mini table du chapitre en question, et non pas à la table de matière principale..
2. Deuxièmement, lors de la compilation, j’ai l’affichage suivant : « Label `toc` multiply defined » et « There were multiply-defined labels ».
Donc je cherche une solution pour que Latex reconnaisse seulement la table de matière principale comme référence (vers laquelle on fait référence). Voici un ECM de mon fichier sur le quel je travaille.
\documentclass[twoside]{memoir} \RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc} \RequirePackage[french]{babel} \RequirePackage{lmodern} \usepackage{tikz} \usetikzlibrary{shadows.blur} \RequirePackage{titletoc} \RequirePackage{titlesec} \RequirePackage{hyperref} \hypersetup{colorlinks=true} \AtBeginDocument{ \addtocontents{toc}{\protect\label{toc}}} %%%%%%%%%%%%%%%%%%% \definecolor{gris}{RGB}{192,192,192} %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% %commande pour l'affichage de la minitoc \newcommand{\printmyminitoc}{\noindent\hspace{1cm}\begin{tikzpicture} \node[rounded corners,align=left,fill=gris, blur shadow={shadow blur steps=2}, inner sep=4mm]{% \color{black}% \hspace{-2cm} \begin{minipage}{8cm}%minipage trick \printcontents[chapters]{1}{1}[1]{}% profondeur différente entre la minitable et la table de matière \end{minipage}}; \end{tikzpicture}} %%%%%%%%%%%%%%%%%%%%% \setcounter{secnumdepth}{3} \setcounter{tocdepth}{2} \begin{document} \include{titlepage} \tableofcontents* \chapter{Optimisation}\label{chap-Optim} \startcontents[chapters] %Imprimer ici la minitable de matières \printmyminitoc \newpage \section[Généralités]{\protect\hyperref[toc]{Généralités}} Bla............. \newpage \section[Principe du gradient]{\protect\hyperref[toc]{Principe du gradient}} BlaBla..... \end{document}Merci à l’avance pour toutes vos suggestions et je profite de l’occasion pour passer mes salutations à Brian.
zenon
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[/code]
Dans le texte, au niveau de chaque section il faudrait mettre Bien sûr vous pourriez changer section en chapitre ou tout autre niveau.
Cependant, j'ai une question pour Brian concernant l'environnement qu'il a brillamment concocté. Puisque je ne sais pas comment adapter cette solution à l'environnement exercice. C'est-à-dire, en cliquant sur exercice il me renvoie à la table de matière. Si c'est assez compliqué à faire, tu peux oublier ma question Brian (c'est un caprice de plus de ma part). Bonne journée.
zenon
La solution avec n'est pas bonne à mon avis, car pour la même raison que précédemment, elle va définir plusieurs fois la même cible via \hypertarget. Je préconise de reprendre le code du premier message, de retirer et de mettre juste avant le \tableofcontents*. Pour l'adaptation de l'environnement 'exercice', je n'ai pas cherché mais ne vois pas le problème : ne suffit-il pas de mettre un \hyperref[toc]{...} au bon endroit ? L'utilité de tout ça me semble limitée, cela dit.
Edit : ajout du \phantomsection, nécessaire pour hyperref.
Je définis ci-dessous une petite commande \sectionAvecLienVersToc pour limiter la redondance. Son argument optionnel peut prendre des valeurs telles que 'subsection', 'subsubsection', etc., si l'on souhaite utiliser cette commande pour faire autre chose que des \section.
Merci beaucoup Brian et bonne fin de semaine.
zenon.
Merci beaucoup et bonne fin journée.