Environnement exercice et référence cliquable

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Environnement exercice et référence cliquable

Messagepar Aleg356987 » Samedi 19 Novembre 2016, 16:08

Bonjour, je souhaite créer un environnement exercice et un autre correction. Les deux environnements numérotent automatiquement les exercices et les corrections. Je voudrais insérer un lien cliquable à la fin de chaque exercice vers la correction associée et la même chose dans les corrections mais pour un retour vers l'exercice.
Voici ce que j'ai fait mais ça ne fonctionne pas les liens ne pointent pas aux bons endroits. Avez-vous des idées ?

Merci.

Code: Tout sélectionner
%%%%%%%%%%%%% Exercice
\newcounter{exo}[chapter]
\newenvironment{exercice}[1][]{%
\stepcounter{exo}

{\vspace{2cm}
\begin{center}
\hypertarget{exercice\theexo}{}
{\section{Exercice \arabic{exo} #1} }
\end{center}}
}%
{\par

\vspace{0.5cm}

\hyperlink{correction\thecor}{Correction}
\hrulefill}



%%%%%%%%%%%%% Correction
\newcounter{cor}[chapter]
\newenvironment{correction}[1][]{%
\stepcounter{cor}

{\vspace{2cm}
\begin{center}
\hypertarget{correction\thecor}{}
{\section{Correction de l'exercice \arabic{cor} #1} }
\end{center}}
}%
{\par

\vspace{0.5cm}

\hyperlink{exercice\theexo}{Retour à l'exercice}
\hrulefill}

Aleg356987
Déca-utilisateur
 
Messages: 11
Inscription: Lundi 30 Mars 2015, 04:44
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Environnement exercice et référence cliquable

Messagepar rebouxo » Samedi 19 Novembre 2016, 18:29

Déjà, je mettrais l'hypertarget après l'appel de \exo.

Il y a l'extension exercise qui fait cela très bien.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6704
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Environnement exercice et référence cliquable

Messagepar marco56 » Dimanche 20 Novembre 2016, 12:03

De mon côté, j'utilise cela :

Code: Tout sélectionner
% exercices avec titres
\newcounter{NumeroExerciceNew}
\newcounter{NumeroSolutionNew}

\newcommand\exercicenew[1]{%
   \par\medskip%
   \stepcounter{NumeroExerciceNew}%
   \setlength{\parindent}{0cm}%
   \setlength{\hangindent}{0cm}%
   \psshadowbox[linewidth=1.5pt,fillcolor=yellow!30,shadowsize=5pt,shadow=true,shadowcolor=orange!20,linecolor=orange]{$ \blacktriangleright $ \textbf{Exercice \thechapter .\,\arabic{NumeroExerciceNew}~: #1\ifeleve\else\label{#1-solu} \hyperref[#1-enon]{$\Rightarrow$ Corrigé}\fi}}%
   \addcontentsline{exonew}{exercicenew}{\protect\numberline{\theNumeroExerciceNew}#1}%
   \par
}
\newcommand*\seteleve[1]{%
   \elevefalse\ifcsname eleve#1\endcsname\csname eleve#1\endcsname\fi
}



\newcommand{\solutionnew}[1]%
{%
%\hypertarget{#1-enon}{
\par%
\stepcounter{NumeroSolutionNew}%
\medskip%
\setlength{\parindent}{0cm}%
\setlength{\hangindent}{0cm}%
\par%
\psshadowbox[linewidth=1.5pt,fillcolor=blue!10,shadowsize=5pt,shadow=true,shadowcolor=violet!10,
linecolor=violet]{$ \blacktriangleright $ \textbf{Solution de l'exercice \thechapter .\,\arabic{NumeroSolutionNew}~: #1 %\begin{Prof}
\label{#1-enon} \hyperref[#1-solu]{$\Rightarrow$ \'Enoncé}
%\end{Prof}
}
}
\addcontentsline{solnew}{solutionnew}{\protect\numberline{\theNumeroSolutionNew}#1}
\par%}
}
marco56
Giga-utilisateur
 
Messages: 649
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Environnement exercice et référence cliquable

Messagepar Aleg356987 » Lundi 28 Novembre 2016, 02:34

Bonjour, je voulais essayer ta solution marco56 mais j'ai un problème de compilation à chaque fois.
Je compile en latex + dvips + ps2pdf + voir pdf. Pour appeler créer un exercice tu fais bien :
Code: Tout sélectionner
\exercicenew{énoncé de ton exercice}
?

Merci
Aleg356987
Déca-utilisateur
 
Messages: 11
Inscription: Lundi 30 Mars 2015, 04:44
Statut actuel: Actif et salarié | Enseignant

Re: Environnement exercice et référence cliquable

Messagepar marco56 » Lundi 28 Novembre 2016, 08:31

Aleg356987 a écrit:Bonjour, je voulais essayer ta solution marco56 mais j'ai un problème de compilation à chaque fois.
Je compile en latex + dvips + ps2pdf + voir pdf. Pour appeler créer un exercice tu fais bien :
Code: Tout sélectionner
\exercicenew{énoncé de ton exercice}
?

Merci



Oui, mais il y a des packages nécessaires (pstricks, ...).
Je vais essayer de te faire un ecm.
marco56
Giga-utilisateur
 
Messages: 649
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Environnement exercice et référence cliquable

Messagepar marco56 » Lundi 28 Novembre 2016, 19:53

Voici un exemple d'utilisation.
Il y a sans doute moyen de faire mieux, plus simple et qui fonctionne ailleurs.
Pour l'instant, cela fonctionne en classe "book".

Code: Tout sélectionner
\RequirePackage{etex}
\documentclass [fleqn,a4paper,openany]{book}
\usepackage{morewrites}
\usepackage{savesym}
\usepackage{etex}
\reserveinserts{28}
\usepackage{ucs}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage[francais]{babel}

\usepackage [T1]{fontenc}

\usepackage{amsmath}                  % Utilisation de la librairie de Maths
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage[a4paper]{geometry}
\geometry{lmargin=3cm,rmargin=3cm,tmargin=2cm,bmargin=1.5cm}
\usepackage{pstricks}
\usepackage{pst-all}
\usepackage[subfigure]{tocloft}
\usepackage{subfigure}
\usepackage[french]{minitoc}
\setcounter{minitocdepth}{2}

\newcommand{\zerocompt}{\setcounter{NumeroExerciceNew}{0}
\setcounter{NumeroSolutionNew}{0}
\setcounter{NumeroActivite}{0}
\setcounter{NumeroReponse}{0}
}

\usepackage[bookmarks=true,bookmarksnumbered=true,breaklinks=true,
hypertexnames=false,colorlinks=true,linkcolor=blue,citecolor=blue,urlcolor=blue]{hyperref}


%%% nouvelle liste d'exercices
\newcommand{\listexercicenewname}{Liste des exercices}
\newlistof[chapter]{exercicenew}{exonew}{\listexercicenewname}
\cftsetindents{exercicenew}{1.5em}{3.0em}%
\setlength{\cftexercicenewnumwidth}{1.5cm}
% exercices avec titres
\newcounter{NumeroExerciceNew}
\renewcommand{\theNumeroExerciceNew}{\thechapter .\,\arabic{NumeroExerciceNew}}

\newcommand{\listsolutionnewname}{Liste des solutions}
\newlistof[chapter]{solutionnew}{solnew}{\listsolutionnewname}
\cftsetindents{solutionnew}{1.5em}{3.0em}%
\setlength{\cftsolutionnewnumwidth}{1.5cm}

\newcounter{NumeroSolutionNew}
\renewcommand{\theNumeroSolutionNew}{\thechapter .\,\arabic{NumeroSolutionNew}}

\newif\ifeleve

\newcommand\exercicenew[1]{%
   \par\medskip%
   \stepcounter{NumeroExerciceNew}%
   \setlength{\parindent}{0cm}%
   \setlength{\hangindent}{0cm}%
   \psshadowbox[linewidth=1.5pt,fillcolor=yellow!30,shadowsize=5pt,shadow=true,shadowcolor=orange!20,linecolor=orange]{$ \blacktriangleright $ \textbf{Exercice \thechapter .\,\arabic{NumeroExerciceNew}~: #1\ifeleve\else\label{#1-solu} \hyperref[#1-enon]{$\Rightarrow$ Corrigé}\fi}}%
   \addcontentsline{exonew}{exercicenew}{\protect\numberline{\theNumeroExerciceNew}#1}%
   \par
}
\newcommand*\seteleve[1]{%
   \elevefalse\ifcsname eleve#1\endcsname\csname eleve#1\endcsname\fi
}

\newcommand{\solutionnew}[1]%
{%
%\hypertarget{#1-enon}{
\par%
\stepcounter{NumeroSolutionNew}%
\medskip%
\setlength{\parindent}{0cm}%
\setlength{\hangindent}{0cm}%
\par%
\psshadowbox[linewidth=1.5pt,fillcolor=blue!10,shadowsize=5pt,shadow=true,shadowcolor=violet!10,
linecolor=violet]{$ \blacktriangleright $ \textbf{Solution de l'exercice \thechapter .\,\arabic{NumeroSolutionNew}~: #1 %\begin{Prof}
\label{#1-enon} \hyperref[#1-solu]{$\Rightarrow$ \'Enoncé}
}
}
\addcontentsline{solnew}{solutionnew}{\protect\numberline{\theNumeroSolutionNew}#1}
\par%}
}

\begin{document}

\newpage
\listofexercicenew

\newpage
\listofsolutionnew

\chapter{Exercices}
\exercicenew{Coucou}
Premier exo

\newpage
\exercicenew{Coucou}
Deuxième exo

\newpage
\chapter{Solutions}
\solutionnew{Coucou}
Premier exo

\newpage
\solutionnew{Coucou}
Deuxième exo

\end{document}
marco56
Giga-utilisateur
 
Messages: 649
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot], Yahoo [Bot] et 22 invités