Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ?

Added by BERNARD GRAVOUIL over 7 years ago

J'ai créé des exercices à valeurs aléatoires et je souhaiterais rendre la copie de chaque élève corrigée par AMC avec, en plus, un corrigé personnalisé (en fonction des valeurs aléatoires). Pour se faire, j'ai laissé un espace vide après chaque question posée à l'élève et, en recompilant (avec les mêmes options aléatoires de manière à avoir les cases au mêmes endroits) avec un booléen modifié, cet espace est rempli par les réponses personnalisées. Est-il possible de faire en sorte que ce "nouveau formulaire" puisse être en filigrane de celui rempli par l'élève qui est après coup corrigé par AMC ?


Replies (20)

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

Je n'arrive pas à compiler votre sujet. AMC refuse le moteur XeLatex, j'ai donc supprimé le paquet xltxtra et déplacé les \def après le begin pour tester.

  • Lignes commentées 19,28,35,51
  • lignes ajoutées 193 à 202
  • lignes supprimées avec un iffalse 371,389
  • lignes ajoutées pour l'affichage en mode corrigé 391 à 405

Il doit être possible de calculer la hauteur/longueur du texte, j'ai mis 2 cm au hasard, avec une commande height/width mais je ne sais pas comment récupérer cette valeur. Il faudra que je pose la question sur le forum LaTeX.

En espérant que cela répond à votre question.

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Alexis Bienvenüe over 7 years ago

AMC refuse le moteur XeLatex

Oups : ça c'était un très méchant bug qui empêchait de modifier certaines préférences… Ça devrait aller mieux avec la modification hg:dea7f6d6d858.

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

OK Gérard, j'ai testé votre proposition pour affichage des corrigés personnalisés ; ça marche super bien avec la nouvelle option de génération des sujets corrigés par AMC 1.3 !
Merci !

Sinon, je reprends votre réponse concernant une autre solution :
"Pour votre question, il faudrait rajouter une commande qui efface le texte déjà écrit avec \phantom pour ne laisser apparaître que la réponse car si j'ai bien compris vous voulez repasser les feuilles des étudiants dans la photocopieuse pour que les réponses individuelles s'impriment. J'ai une commande +/- similaire pour mes sujets mais qui efface tout ce qui est inutile lors de la correction (consignes, schémas ... ), il faut que je trouve le temps de la réadapter."

Je suis preneur ! Et vous avez parfaitement bien compris ma question (merci) ! Il faudrait effectivement que rien ne s'imprime sauf le contenu des cases de corrigé détaillé ...

Merci encore pour votre réactivité et votre aide !
Bernard

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

J'ai repris le sujet original qui fonctionne puisque AMC est à jour.
Je n'ai pas réussi à utiliser \phantom, j'ai l'impression que cette commande refuse les sauts de lignes ou autres commandecodes.

Je n'arrive pas à calculer automatiquement la hauteur du corrigé.

Lignes ajoutées : 194, 318 (commentaires),371

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

Merci beaucoup Gérard !
Autre idée : est-il possible de faire en sorte que AMC inscrive ses corrections sur le fichier obtenu par le bouton "Correction individuelle" ?
De cette manière, il serait possible de n'imprimer qu'un jeu de QCM corrigés à donner aux élèves, dans lequel ils auraient leurs notes, la correction individualisée des questions et ce sans être obligé d'utiliser \phantom (qui paraît difficilement utilisable). L'objectif étant d'économiser au max les impressions papier ...

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

Autre idée : est-il possible de faire en sorte que AMC inscrive ses corrections sur le fichier obtenu par le bouton "Correction individuelle" ?

Cette fonction existe, c'est la commande \explain{#1} (dans la version 1.3) à inscrire dans l'environnement question (avant ou après l'environnement reponses)
Cependant, elle ajoute l'argument en plus donc la mise en page du sujet et de la correction sont différentes.

Je n'arrive pas à calculer automatiquement la hauteur du corrigé.

Il faudrait trouver comment calculer cette hauteur pour laisser l'espace vide sur le sujet.
J'ai +/- trouvé que le paquet calc a une commande \settototalheight mais je n'ai pas fait de tests.

Vous pouvez toujours rajouter une demande.

Je sais/crois me rappeler/souvenir qu'Alexis est en train de développer une option (ou alors j'invente à partir de mes mauvaises traductions des demandes en langue anglaise) qui produit juste un calque mais c'est limité aux annotations (qui sont calculées grâce aux programmes en perl alors que explain est du latex).

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

Je ne suis pas sûr d'avoir bien compris ; quel est l'argument de la commande \explain{#1}?

A la limite, si la mise en page est différente ce n'est pas grave ; de toute façon je suis obligé de réimprimer les QCM une fois pour avoir les notes (à gauche de chaque question et en haut en première page du formulaire de chaque élève) et les annotations (sur les cases) donc si la commande explain peut faire ça sur la correction individuelle (avec mes explications détaillées en plus) ça me va !

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

un exemple

\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}   

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

OK ! Mais cette "explication" apparaît dans le fichier DOC-corrige.pdf mais pas dans le fichier DOC-indiv-solution.pdf.
Est-il possible de faire en sorte que ce le soit ? (dans ce cas, cette solution pourrait m'aller !)

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

Même si vous avez réussi entre temps, je mets la réponse

Avec ubuntu

sudo gedit  /usr/share/texmf/tex/latex/AMC/automultiplechoice.sty

ligne 1048 enlever head de correchead

\newcommand{\explain}[1]{ %
\ifAMC@correchead% <===== ici
\AMCif@env{question}{\par\noindent{\AMC@loc@explain #1}}{\AMC@error@explain}\vspace{1ex}%

J'ai la version 1.3.0+hg2017-04-14 donc le numéro de la ligne peut changer.
C'est une opération qu'il faudra refaire à chaque mise à jour.
J'ignore pourquoi l'auteur n'a pas changé cette ligne (l'astuce m'a été donné par quelqu'un d'autre sur le forum) en tout cas je n'ai pas constaté de dysfonctionnement depuis que je fais ça et j'en oublie que la version normale n'affichait pas explain en mode correction individuelle.

  • Les annotations ne seront pas affichées sur le document corrigé.
  • Pour faire des économies de papiers vous pouvez envoyer la copie anotée aux lycéens.

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

Autre piste possible (?) :
est-il possible de forcer la couleur d'impression à "blanc" pour tout une portion de code (y compris les tableaux, graphiques, boîtes AMCnumericChoices et autres) ?

exemple (qui ne marche que pour le texte) :
ifthenelse{ \ImpressionBlanc = 1 }{ \color{white} }{}
... (code)
ifthenelse{ \ImpressionBlanc = 1 }{ \color{black} }{}

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

J'ai modifié ma première commande

\makeatletter
\newcommand{\AffichageSiCorrige}{\ifAMC@correc \color{black}  \else \color{white}\fi}
\makeatother

il faut encadrer le code entre guillement.

{\AffichageSiCorrige%
code 
}

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

[Liquid Syntax Error] Tag '{%' was not properly terminated with regexp: /\%\}/
Merci Gérard ! En exploitant votre idée et en l'adaptant à mes besoins j'ai enfin ce que je souhaitais, à savoir: 1- impression des sujets avec encadré vide où sera imprimé, après coup, le corrigé de chaque question (qui est aléatoire, donc avec un corrigé adapté) 2- auto-correction par AMC avec annotation automatique des réponses et des notes sur le sujet de chacun des élèves 3- après avoir mis les sujets auto-corrigés par AMC dans l'imprimante, réimpression cette fois en ne faisant apparaître que les corrigés détaillés dans les encadrés réservés à cet effet. De cette manière, le sujet remis aux élèves est auto-corrigé par AMC avec un corrigé détaillé par question. Le principe adopté est effectivement de jouer sur les couleurs d'impression : "blanche" si on veut faire "disparaître" les informations, et autre si on veut faire apparaître les informations. J'ai créé la macro suivante juste avant le \begin{document} : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Mode de génération des QCM : % "sujets" seuls (#1 = 0), % "corrigés détaillés" seuls (#1 = 1) ou % "sujets+corrigés détaillés" (#1 = 2). % % Ces modes font basculer les valeurs des couleurs des textes, graphiques et cases à cocher en % fonction de : % l'entrée dans une zone de code d'un sujet (#2 = 0) (par défaut) % l'entrée dans une zone de code d'un corrigé détaillé (#2 = 1) % la sortie d'une zone de code d'un corrigé détaillé correspond à l'entrée dans une zone de code d'un sujet. % \newcommand\ModeGenerationQCM[2]{% \ifthenelse { #2 = 1 }% Entrée dans une zone de code d'un corrigé {% \ifthenelse { #1 = 0 }% Mode "sujets seuls" : couleur blanche {% \edef\VQcouleurgraphique{white} \edef\VQcouleurgrille{white} \color{white}\xspace% \AMCboxColor{white}% }% {% Mode "corrigé détaillé seul ou avec sujet" : couleur noire \edef\VQcouleurtexte{black} \edef\VQcouleurgraphique{black} \edef\VQcouleurgrille{lightgray} \color{black}\xspace% \AMCboxColor{gray}% }% }% {% Entrée dans une zone de code d'un sujet ou sortie d'un corrigé \ifthenelse { #1 = 1 }% Mode "corrigé seul" : couleur blanche {% \edef\VQcouleurgraphique{white} \edef\VQcouleurgrille{white} \color{white}\xspace% \AMCboxColor{white}% }% {% Mode "sujets seuls" ou "sujets+corrigés" : couleur noire \edef\VQcouleurtexte{black} \edef\VQcouleurgraphique{black} \edef\VQcouleurgrille{lightgray} \color{black}\xspace% \AMCboxColor{gray}% }% }% }% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% et, ensuite, au début du document : \begin{document} % Génération de la version "sujets" et "sujets annotés par AMC" (\Avecreponses = 0) ou % de la version "corrections détaillées" (\Avecreponses = 1). \ModeGenerationQCM{\Avecreponses}{0} puis, pour chaque section de code détaillant le corrigé : % Corrigé personnalisé : \fbox{\begin{minipage}{\linewidth} % encadrement réservé pour le corrigé. \begin{center} \textsc{\tiny{Ne rien écrire ci-dessous}} \end{center} \begin{footnotesize} % pour ne pas prendre trop de place pour chaque corrigé. % Ecriture en blanc ou noir selon le mode choisi : \ModeGenerationQCM{\Avecreponses}{1} ... % Fin d'écriture du corrigé ; repositionnement des couleurs noires et blanches. \ModeGenerationQCM{\Avecreponses}{0} \end{footnotesize} % fin du texte du corrigé (écrit en "petit"). \end{minipage} } % fin de l'encadrement réseré pour le corrigé. Et voilà. Il suffit de générer les sujets avec la variable globale définie comme suit dans le préambule : \def\Avecreponses{0} pour générer les sujets élèves \def\Avecreponses{1} pour générer uniquement le corrigé à réimprimer sur les sujets élèves auto-corrigés par AMC \def\Avecreponses{2} pour générer les sujets+corrigés si on veut les avoir ensemble (pour le professeur ...). Merci encore pour toute votre aide précieuse Gérard !

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

  • J'ai eu une autre idée avec pdftk : si aucun élève n'est absent ce serait de coller le corrigé sur le document annoté par AMC puis de le redécouper en différents pdf tout en gardant la structure du nom créé par AMC (ça je ne sais pas faire ni en avec un terminal ni avec un script) pour l'envoyer par mail aux élèves.
  • Avec ce code, n'allez-vous pas devoir compiler 3 fois avec AMC ?
\def\Avecreponses{0}    pour générer les sujets élèves
\def\Avecreponses{1}    pour générer uniquement le corrigé à réimprimer sur les sujets élèves auto-corrigés par AMC
\def\Avecreponses{2}    pour générer les sujets+corrigés si on veut les avoir ensemble (pour le professeur ...).

Pourriez-vous remettre votre sujet loi-binomiale.tex avec votre commande ? J'ai du mal à visualiser l'effet de la commande sans support.

Merci

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

Si, je vais devoir compiler 3 fois mais, 2 fois simplement sont nécessaires ce qui ne fait qu'une seule fois de plus qu'avec une procédure normale.

Je vous remet le sujet dès que possible avec les pdf générés. A ce propos, comment faire pour insérer des portions de code "propres" dans mes réponses/questions à ce forum (mon dernier message est pitoyable à cet égard ...) ?

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

A ce propos, comment faire pour insérer des portions de code

Il faut cliquer sur la case pre puis inscrire le code LaTex.
Vérifiez que le signe % ne soit pas précédé de { (tout au moins le premier, il me semble) sinon la mise est page ressemble à celle de votre message précédent.

<pre>
ici le code
</pre>

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Al DUS over 7 years ago

Personnellement, je fournis aussi des sujets et donc des corrigés personnalisés. Mais j'ai choisi, compte tenu du volume d'information que je veux pouvoir donner, de créer des pages supplémentaires pour cela (en général 3 pages de corrigé).

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by BERNARD GRAVOUIL over 7 years ago

Bonjour Gérard,

Je réponds enfin (la fin de l'année solaire arrive toujours trop vite ...) :
je joins le source de mon QCM le plus à jour (mais qui génère pour l'instant encore une erreur par AMC : "Aucune mise en page n'a été fabriquée ..." ???).

Je continue à rêver de la possibilité de passer tout le code non pas en "blanc" mais en "transparent" ce qui me permettrait d'utiliser l'utilitaire pdftk pour rajouter la partie "correction détaillée" aux formulaires annotés par AMC... (ou utiliser la notion de "calques" ? Je ne sais pas ce que ça implique ni où ça en est mais je continue à espérer ...).

Par ailleurs, quelle est éventuellement la variable qui se cache derrière :
- la commande \explain,
- le bouton Corrigé
- le bouton Catalogue
- le bouton Correction individuelle ?

(Je pourrai alors faire un test du style \ifthenelse{}{}{} avec d'autres variables par exemple et, du coup, faire générer en une seule fois à AMC le questionnaire élève (bouton Sujet), le formulaire faisant intervenir uniquement les "corrections détaillées" (bouton Corrigé) et le catalogue (bouton Catalogue) avec tout dedans, comme aussi la correction individuelle).

Merci encore pour toutes les réponses déjà fournies (et pour ce logiciel fantastique !).

RE: Possibilité de rajouter un corrigé personnalisé sur la feuille rendue par l'élève ? - Added by Frédéric Bréal over 7 years ago

Il faudra demander plus d'explications à Alexis car les langages de programmation restent obscures pour moi.

Je pense qu'explain fonctionne si le mode corrigé est vrai et que AMCcorrechead doit être un si de condition AMCcorrecheadfalse ou AMCcorrecheadtrue.

(1-20/20)