Forums » Utilisation d'AMC (french) »
Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue)
Added by Al DUS about 10 years ago
Bonjour !
D'abord plus j'utilise cet outil plus je le trouve adapté par avance à ce que je veux faire ! La preuve d'une grande maturation sur des cas réels. Bravo !
Si j'ai bien compris, "catalogue" présente l'ensemble des réponses correctes aux questions susceptibles d'être proposées dans un QCM. Au-delà des cases cochées, j'ai des questions ouvertes qui nécessitent une rédaction de la part de l'étudiant. Le correcteur coche ensuite des cases qui lui sont réservées pour indiquer par exemple correct, partiellement correct, incorrect.
Existe-t-il une variable ou des variables qui permettent de distinguer que le texte est compilé en vue d'être le questionnaire ou au contraire un corrigé ou un catalogue ?
Cela me permettrait de faire apparaître une réponse rédigée voire des commentaires pour aider le correcteur à cocher les cases d'évaluation. Cela est d'autant plus nécessaire quand les questions sont tirées au hasard dans un lot de questions possibles.
Replies (15)
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Al DUS about 10 years ago
voire dans les copie annotées (pour mettre un commentaire explicatif par exemple).
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Alexis Bienvenüe about 10 years ago
Vous pouvez utiliser \explain
,
\begin{question}{combustion} Quel gaz apparaît lors de la combustion incomplète du butane~? \begin{reponses} \bonne{Le monoxyde de carbone.} \mauvaise{Le dioxyde de carbone.} \mauvaise{Le dioxygène.} \end{reponses} \explain{Le monoxyde de carbone est un gaz incolore, inodore et toxique.} \end{question}
ou bien définir une commande similaire:
\makeatletter \def\surcorrections#1{\ifAMC@correchead #1\fi} \makeatother
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal about 10 years ago
Est-ce que cette commande
\makeatletter \def\surcorrections#1{\ifAMC@correchead #1\fi} \makeatother
permettrait de différencier une mauvaise réponse et d'afficher en conséquence un texte prédéfini.
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Alexis Bienvenüe about 10 years ago
Non : elle permet seulement d'écrire quelque chose uniquement sur le document corrigé, et non sur le sujet.
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal about 10 years ago
Toute l'annotation se fait via les fichiers perl ?
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Alexis Bienvenüe about 10 years ago
Ce sont des programmes perl qui se chargent du calcul des notes, et de l'annotation des copies, en effet.
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Al DUS about 10 years ago
\explain{...} n'est pas "défini" sur ma version. Par contre l'alternative définie tel qu'indiqué \surcorrection fonctionne parfaitement bien.
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal about 10 years ago
J'aimerais effacer les consignes sur le corrigé. J'ai créé cette fonction sur la base de l'exemple précédent.
Cela fonctionne mais à l'envers, les consignes s'affichent sur le mode corrigé.
\makeatletter \def\EffacementConsignesCorrige{\ifAMC@correchead} \makeatother
\EffacementConsignesCorrige Ici les consignes \fi
J'ai essayé
\makeatletter \def\EffacementConsignesCorrige{\ifAMC@correcheadtrue} \makeatother
et
\makeatletter \def\EffacementConsignesCorrige{\ifAMC@correcheadfalse} \makeatother
J'ai l'erreur
Undefined control sequence. Extra \fi.
Je préférerais cette solution à l'exemple proposé à Al Dus pour des questions mise en page du fichier tex et de compréhension de latex.
Merci
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Al DUS about 10 years ago
Il me semble que ceci devrait fonctionner:
\makeatletter
\def\ConsigneHorsCorrige #1{\if\not AMC@correchead #1 \fi}
\makeatother
Les consignes à effacer du corrigé seraient alors encapsulées par \ConsigneHorsCorrigé de la manière suivante:
\ConsigneHorsCorrigé{Voici une consigne qui n'est pas destinée à apparaître dans le corrigé}
A tester !
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Al DUS about 10 years ago
... ou encore en utilisant la syntaxe proposée, genre environnement :
\ConsignesEffaceesDuCorrige
Ici les consignes
\fi
avec
\makeatletter
\def\ConsignesEffaceesDuCorrige{\if\not AMC@correcheadtrue}
\makeatother
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Al DUS about 10 years ago
Oups, erreur sur le nom de la variable ! Il faut lire:
\makeatletter
\def\ConsignesEffaceesDuCorrige{\if\not AMC@correchead}
\makeatother
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal about 10 years ago
La commande \if\not ne fonctionne pas. Soit tout s'affiche cas 1 soit rien cas 2. J'ai fait ceci, basé sur l'exemple, mais cela ne me plaît pas car je dois appeler la commande dans le sujet. J'aurais préféré la solution genre environnement, cela aurait été plus facile pour ma lecture du sujet.
\makeatletter \def\EffacementConsignesCorrige{\ifAMC@correchead \makeatother \else Ici les consignes \fi}
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Alexis Bienvenüe about 10 years ago
J'aurais préféré la solution genre environnement
Pour transformer une commande en environnement : package environ
.
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal about 10 years ago
J'ai mis un temps certain avent de comprendre que la commande \BODY\\ était nécessaire pour inscrire un texte qui n'est pas dans l'argument.
Dans le préambule :
\usepackage{environ} \makeatletter \NewEnviron{EffacementConsignesSiCorrige}{ \ifAMC@correchead \vspace*{-1em} \else \BODY\\ \fi } \makeatother
Ici je n'ai pas mis d'argument, juste afficher les consignes.
Dans le sujet :
\begin{EffacementConsignesSiCorrige} Ici mes consignes \end{EffacementConsignesSiCorrige}
RE: Texte différent sur le corrigé ou dans catalogue grâce à une variable indiquant le contexte (questionnaire, corrigé ou catalogue) - Added by Frédéric Bréal almost 10 years ago
J'ai créé un environnement similaire pour la commande \explain (version test)
En argument : le texte à afficher. Je m'en sers pour effacer le cadre des réponses ouvertes (gain de place sur le corrigé à imprimer)
\makeatletter \NewEnviron{EffacementCadreAMCOpenSiCorrige}[1]{ \ifAMC@correchead \explain{#1} \vspace{2ex} \else \BODY\\ \fi } \makeatother
\begin{question}{Texte03} \'A l'aide d'un schéma légendé, expliquez l'expérience de \emph{Pline l'Ancien}. \begin{EffacementCadreAMCOpenSiCorrige}{Voir schéma question \AMCref{Schema}. \vspace{-3ex}} \AMCOpen{lines=3,dots=false,lineheight=0.8cm}{\mauvaise{1}\scoring{1}\bonne{2}\scoring{2}} \end{EffacementCadreAMCOpenSiCorrige} \end{question}
(1-15/15)