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 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 \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 J'ai tenté ceci, mais sans succès, les liens sont fantaisistes. Voici un ECM avec 2 exercices (définis à l'aide de \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} |
Voici le code modifié et rectifié, si cela peut servir. J'ai créé 3 compteurs un, deux, trois, qui correspondent à la numérotation de chaque partie (énoncé, indications, solutions), ils n'étaient pas ordonné correctement. \documentclass[a4paper,11pt]{article} \usepackage{ifthen} \usepackage{hyperref} \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{un} \newcounter{deux} \newcounter{trois} \def\exercice{ \exocor{% Enoncé \refstepcounter{un} \hypertarget{eno\theun}{\textbf{Énoncé}}% \texttt{Identifiant : eno\theun} Pour débogage \hyperlink{ind\theun}{\textbf{Lien vers les indications}}%\texttt{Identifiant : ind\theun} \hyperlink{cor\theun}{\textbf{Lien vers les solutions}}%\texttt{Identifiant : cor\theun} Mon énoncé de l'exercice \theun. }{ %Indications \refstepcounter{deux} \phantomsection\hypertarget{ind\thedeux}{\textbf{Indications}}%\texttt{Identifiant : ind\thedeux} \hyperlink{eno\thedeux}{\textbf{Lien vers l'énoncé}}%\texttt{Identifiant : eno\thedeux} \hyperlink{cor\thedeux}{\textbf{Lien vers les solutions}}%\texttt{Identifiant : cor\thedeux} Mes indications de l'exercice \thedeux. }{% Corrigé \refstepcounter{trois} \hypertarget{cor\thetrois}{\textbf{Solutions}}%\texttt{Identifiant : cor\thetrois} \hyperlink{eno\thetrois}{\textbf{Lien vers l'énoncé}}%\texttt{Identifiant : eno\thetrois} \hyperlink{ind\thetrois}{\textbf{Lien vers les indications}}%\texttt{Identifiant : ind\thetrois} Mon corrigé de l'exercice \thetrois. } } \def\TD{ \exercice \newpage \exercice \newpage \exercice } \setboolean{enonce}{true} \setboolean{indication}{false} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{true} \setboolean{corrige}{false} \TD \newpage \setboolean{enonce}{false} \setboolean{indication}{false} \setboolean{corrige}{true} \TD \end{document} |
L'extension xsim peut être adaptée.
Je suis sur une piste, problème de compteur mal incrémenté, j'ai rajouté les commandes
\texttt{Identifiant : eno\theen}
(et variantes selon le compteur) en face de chaque\hypertarget
et chaque\hyperlink
et il y a un problème de numérotation, je cherche à me dépatouiller et à rectifier mon erreur.