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

19 Mar, 10:08

Pathe's gravatar image

Pathe
7.6k49208252

Mauvais lien hypertarget hyperlink avec paramètre dépendant d'un compteur

Je cherche à créer un document de TD sous la forme de 3 parties: énoncés, indications, corrigés. Chaque exercice est composé d'une commande \exocor `\exocor` avec 3 paramètres qui sont l'énoncé, les indications et le corrigé. Je souhaite pouvoir faire des liens entre l'énoncé, les indications et le corrigé d'un exercice. J'ai réussi à créer ceci pour un ou deux exercices en complétant les paramètres des \hypertarget `\hypertarget` et \hyperlink `\hyperlink` à la main, voici l'ECM: \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} % inclusion des exercices de mon td \def\TD{ % début du fichier exercice-01.tex \exocor{ \hypertarget{eno1}{\textbf{Énoncé}} \hyperlink{ind1}{\textbf{Lien vers les indications}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 1. }{ \hypertarget{ind1}{\textbf{Indications}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 1. }{ \hypertarget{cor1}{\textbf{Solutions}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind1}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 1. } % Fin du fichier exercice-01.tex \newpage % début du fichier exercice-02.tex \exocor{ \hypertarget{eno2}{\textbf{Énoncé}} \hyperlink{ind2}{\textbf{Lien vers les indications}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 2. }{ \hypertarget{ind2}{\textbf{Indications}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 2. }{ \hypertarget{cor2}{\textbf{Solutions}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind2}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 2. } % Fin du fichier exercice-02.tex } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document} L'objectif est d'automatiser ceci en faisant appel à un nombre plus conséquent d'exercices et surtout sur beaucoup de TD, ce qui fait que compléter les paramètres pour \hypertarget `\hypertarget` et \hyperlink `\hyperlink` est trop lourd. J'ai tenté ceci, mais sans succès, les liens sont fantaisistes. Voici un ECM avec 2 exercices (définis à l'aide de \def): `\def`) : \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} \newcounter{en} % 3 compteurs distincts pour les énoncés, indications et corrigés, 1 seul compteur est indenté trop de fois \newcounter{in} \newcounter{co} \def\exercice{ \exocor{% Enoncé \hypertarget{eno\theen{}}{\textbf{Énoncé}} \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice \theen{}. }{ %Indications \hypertarget{ind\thein{}}{\textbf{Indications}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mes indications de l'exercice \thein{}. }{% Corrigé \hypertarget{cor\theco{}}{\textbf{Solutions}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice \theco{}. } } \def\TD{ \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice \newpage \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document}
cliquez ici pour masquer/afficher la révision 1

19 Mar, 00:05

nico56's gravatar image

nico56
112

Mauvais lien hypertarget hyperlink avec paramètre dépendant d'un compteur

Je cherche à créer un document de TD sous la forme de 3 parties: énoncés, indications, corrigés. Chaque exercice est composé d'une commande \exocor avec 3 paramètres qui sont l'énoncé, les indications et le corrigé. Je souhaite pouvoir faire des liens entre l'énoncé, les indications et le corrigé d'un exercice. J'ai réussi à créer ceci pour un ou deux exercices en complétant les paramètres des \hypertarget et \hyperlink à la main, voici l'ECM: \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} % inclusion des exercices de mon td \def\TD{ % début du fichier exercice-01.tex \exocor{ \hypertarget{eno1}{\textbf{Énoncé}} \hyperlink{ind1}{\textbf{Lien vers les indications}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 1. }{ \hypertarget{ind1}{\textbf{Indications}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor1}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 1. }{ \hypertarget{cor1}{\textbf{Solutions}} \hyperlink{eno1}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind1}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 1. } % Fin du fichier exercice-01.tex \newpage % début du fichier exercice-02.tex \exocor{ \hypertarget{eno2}{\textbf{Énoncé}} \hyperlink{ind2}{\textbf{Lien vers les indications}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice 2. }{ \hypertarget{ind2}{\textbf{Indications}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor2}{\textbf{Lien vers les solutions}} Mes indications de l'exercice 2. }{ \hypertarget{cor2}{\textbf{Solutions}} \hyperlink{eno2}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind2}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice 2. } % Fin du fichier exercice-02.tex } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document} L'objectif est d'automatiser ceci en faisant appel à un nombre plus conséquent d'exercices et surtout sur beaucoup de TD, ce qui fait que compléter les paramètres pour \hypertarget et \hyperlink est trop lourd. J'ai tenté ceci, mais sans succès, les liens sont fantaisistes. Voici un ECM avec 2 exercices (définis à l'aide de \def): \documentclass[a4paper,11pt]{article} \usepackage{hyperref} \usepackage{ifthen} \newboolean{enonce} \newboolean{indication} \newboolean{corrige} \newcommand{\exocor}[3]{ %énoncé + indications + corrigé : \ifthenelse{\boolean{enonce}}{#1}{} \ifthenelse{\boolean{indication}}{#2}{} \ifthenelse{\boolean{corrige}}{#3}{} } \begin{document} \begin{center} \exocor{Enoncés}{Indications}{Corrigés} \end{center} \newcounter{en} % 3 compteurs distincts pour les énoncés, indications et corrigés, 1 seul compteur est indenté trop de fois \newcounter{in} \newcounter{co} \def\exercice{ \exocor{% Enoncé \hypertarget{eno\theen{}}{\textbf{Énoncé}} \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mon énoncé de l'exercice \theen{}. }{ %Indications \hypertarget{ind\thein{}}{\textbf{Indications}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{cor\theco{}}{\textbf{Lien vers les solutions}} Mes indications de l'exercice \thein{}. }{% Corrigé \hypertarget{cor\theco{}}{\textbf{Solutions}} \hyperlink{eno\theen{}}{\textbf{Lien vers l'énoncé}} - \hyperlink{ind\thein{}}{\textbf{Lien vers les indications}} Mon corrigé de l'exercice \theco{}. } } \def\TD{ \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice \newpage \exocor{ \refstepcounter{en} }{ \refstepcounter{in} }{ \refstepcounter{co} } \exercice } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \TD \newpage \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document}

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

×