Ajouter des éléments de correction en dehors des environnements questions

Added by DENIS Sébastien almost 2 years ago

[Liquid Syntax Error] Tag '{%' was not properly terminated with regexp: /\%\}/
Bonjour à tous J'utilise cette commande qui fait des textes "à trou" %commandeTexteATrou avec pointillé \newlength{\trouwidth} \newcommand{\trou}[1]{% \iftrou% \settowidth{\trouwidth}{#1}% \setlength{\trouwidth}{1.8\trouwidth} \hbox to \trouwidth{\dotfill}% \else% {\color{red}#1} % \fi } Ensuite j'utilise soit \newif\iftrou\troufalse pour afficher le texte soit \newif\iftrou\troutrue pour afficher des pointillés Il y a t-il un moyen d'utiliser \newif\iftrou\troufalse dans la correction et \newif\iftrou\troutrue dans le sujet? D'avance merci

Replies (8)

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by Frédéric Bréal almost 2 years ago

Si vous avez la version test, il y a la commande \explaincontext qui affiche son argument dans le mode corrigé.
Sinon vous la créer avec ce code :

\newcommand{\explaincontext}[1]{ %
\ifAMC@correc%
#1%
\fi%
}

Vous devriez pouvoir mettre 2 arguments et vous affranchir du \iftrou

\newcommand{\explaincontext}[2]{ %
\ifAMC@correc%
#1% mode corrigé donc du texte
\else%
#2% pas mode corrigé donc pointillés avec votre longueur
\fi%
}

ou

\newcommand{\explaincontext}[1]{ %
\ifAMC@correc%
#1%
\else%
la commande pointillé si elle est toujours identique
\fi%
}

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by DENIS Sébastien almost 2 years ago

Une dernière question
Connaissez vous un moyen de forcer un retour à la ligne
J'ai un problème lorsque le texte est trop long (ie il fait plus d'une longueur de ligne); les pointillés "dépassent" la largeur de la feuille

PS: je me rappelle plus si j'ai mis la version beta mais j'ai la commande explaincontext qui est définie. J'ai donc créer une nouvelle commande mais pour qu'elle fonctionne je l'ai mise entre \makeatletter et \makeatother

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by DENIS Sébastien almost 2 years ago

\newlength{\largeurEspace}%

\makeatletter

\newcommand{\PointilleOuCorrec}[1]{

\settowidth{\largeurEspace}{#1}

\ifAMC@correc

\begin{minipage}{\largeurEspace}

#1%

\end{minipage}

\else

\setlength{\largeurEspace}{1.8\largeurEspace}

\hbox to \largeurEspace{\dotfill}

\fi
}
\makeatother

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by DENIS Sébastien almost 2 years ago

Je m'en sui sorti mais cela me semble...pourri!
Si quelqu'un amieux... je suis preneur

Pour afficher des pointillés remplacer par du tete dans la correction
\newlength{\largeurEspace}

\newlength{\NewlargeurEspace}%
\makeatletter%
\newcommand{\PointilleOuCorrec}[1]{
\settowidth{\largeurEspace}{#1}

\ifAMC@correc%
\ifthenelse{\largeurEspace > \textwidth} {\begin{minipage}{\textwidth}%
\begin{BCouleur} ~
#1

\end{BCouleur}%
\end{minipage}%
} {
\begin{minipage}{\largeurEspace}%
\begin{BCouleur} ~
#1

\end{BCouleur}%
\end{minipage}%
}
\else%
\setlength{\largeurEspace}{1.8\largeurEspace}%
\ifthenelse{\largeurEspace > \textwidth} {\setlength{\NewlargeurEspace}{\textwidth}
\begin{minipage}{\textwidth}%
\whiledo{\NewlargeurEspace < \largeurEspace}{
\hbox to \textwidth{\dotfill}%
\setlength{\NewlargeurEspace}{\NewlargeurEspace + \textwidth}
}
\end{minipage}%
} {
\begin{minipage}{\largeurEspace}%
\hbox to \largeurEspace{\dotfill}%
\end{minipage}%
}
\fi%
}%
\makeatother%

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by Frédéric Bréal almost 2 years ago

Il existe le paquet linegoal qui fournit la longueur linegoal restante de la ligne.
Un test pourrait être :

\if \linegoal < ma longueur pt  \par \else pointillés \fi

Je pense qu'il faut comparer les longueurs en pt.

Sinon, je viens de penser à ce paquet qui pourrait vous faciliter le travail.

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by DENIS Sébastien almost 2 years ago

Tout simplement simple..et simplement génial! (et ça marche partout, même dans les titres etc)

Dans le préambule
\RequirePackage{dashundergaps}
\dashundergapssetup{gap-numbers=false,gap-format =dot}

\makeatletter
\ifAMC@correc%
\TeacherModeOn
\else%
\TeacherModeOff
\fi%
\makeatletter

puis:
\gap{le texte ou mot}

il faut juste enlever le package ulem vu qu'il est appelé dans le package dashundergaps

Un grand merci!

RE: Ajouter des éléments de correction en dehors des environnements questions - Added by DENIS Sébastien almost 2 years ago

Ca marche aussi avec

\makeatletter
\def\AMCforcecorrect{\AMC@correctrue\TeacherModeOn}
\makeatother
%\AMCforcecorrect

et pour faire comme mes commandes \explain:

\section{ La gravitation est une action \gap{\fcolorbox{red}{gray!8}{\red à distance}}}

Encore merci

(1-8/8)