Forums » Utilisation d'AMC (french) »
Évaluation de paramètre pour l'attribut answer de AMCOpen
Added by Ines Klimann 4 months ago
Dans un `AMCOpen` je voudrais spécifier un élément de réponse avec l'attribut `answer`, mais cet élément de réponse est paramétré (c'est le contenu d'un fichier et le nom du fichier dépend d'un paramètre qui varie selon la copie). Or quand j'essaie d'évaluer une variable dans la valeur associée à `answer`, elle est systématique évaluée en vide. Quelqu'un(e) aurait-il/elle une idée du problème ?
Voici un bout de mon code :\FPeval\VQa{trunc(1+random*9,0)}
\AMCOpen{lines=5,question=g,answer=\input{fichier_\VQa}}{\wrongchoice[F]{f}\scoring{0}\wrongchoice[P1]{p1}\scoring{1}\wrongchoice[P2]{p2}\scoring{2}\correctchoice[J]{j}\scoring{3}}
À la mise à jour j'ai l'erreur suivante :! Undefined control sequence.
<argument> fichier_VQa
puis! LaTeX Error: File `code/fichier_.tex' not found.
J'ai essayé avec \protect{...} mais ça ne change rien.
Replies (14)
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Miguel J Ruiz Benítez 4 months ago
ChatGPT answer:
\FPeval\VQa{trunc(1+random*9,0)}
\edef\AMCanswerfile{fichier_\VQa}
\AMCOpen{lines=5,question=g,answer=\input{\AMCanswerfile}}{%
\wrongchoice[F]{f}\scoring{0}
\wrongchoice[P1]{p1}\scoring{1}
\wrongchoice[P2]{p2}\scoring{2}
\correctchoice[J]{j}\scoring{3}
}
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
Merci. Malheureusement ça ne fonctionne pas. L'énoncé est fabriqué correctement, mais il y a une erreur à la fabrication de la correction :! Undefined control sequence.
<argument> AMCanswerfile
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Frédéric Bréal 4 months ago
Le symbole _ doit être utilisé en mode mathématique.
Remplacez-le par -.
Qu'en est-il ?
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
C'est la même chose. Avec la même erreur.
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Frédéric Bréal 4 months ago
Pour être sur de comprendre : vous voulez inclure un code tex ?
Si oui, vous ne pouvez pas inclure un tex avec préambule.
Dans chaque fichier-i.tex enlever tout le préambule ainsi que \begin{document} et \end{document}.
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
Je n'ai pas de préambule, c'est un fichier qui contient une ligne.
L'idée est la suivante : j'ai plusieurs fichiers contenant chacun un programme. Chaque élève a une question sur un des programmes et doit répondre dans un champ ouvert, et essentiellement il doit mettre une équation liée au programme et la résoudre. Je voudrais mettre l'équation dans la feuille de correction pour corriger plus vite, sans avoir besoin de vérifier l'énoncé tiré. Le fichier à inclure contient cette équation.
De ce que je vois mon problème à la compilation se situe avant le fichier à inclure. Comme si les variables de LaTeX n'étaient pas vues par l'attribut answer. De fait si je fais l'input hors de \AMCOpen, tout se passe bien.
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Frédéric Bréal 4 months ago
Je vous envoie mon test qui fonctionne.
test-inclusion.zip (15.4 kB)
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
Bonjour, bonne année et merci pour votre réponse.
Après avoir testé, je me rends compte qu'il manquait une information dans mon message initial (qui semble modifier la donne) : j'ai activé l'option ensemble.
Je vous joins le fichier fichier-inclusion.tex mis à jour à partir du vôtre avec la séparation de la feuille de réponse, ça fait la même erreur que dans ma source.
test-inclusion.tex (1.7 kB)
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Alexis Bienvenüe 4 months ago
Le plus simple est peut-être de créer 9 versions différentes de la question, de les mettre dans un groupe et d'en prendre une au hasard dans chaque copie ?
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
Merci beaucoup. Grâce à cette réponse, et à mes errements pour la mettre en place, j'ai résolu le problème initial : il faut faire le tirage aléatoire dans la commande exemplaire. Pour mémoire je joins le nouveau fichier.
test-inclusion.tex (1.7 kB)
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Frédéric Bréal 4 months ago
il faut faire le tirage aléatoire dans la commande
exemplaire
Ça je ne le savais pas. À voir si c'est une information à noter dans la documentation.
Puisque vous n'avez qu'une équation, j'ai trouvé une parade avec le paquet listofitems. Cela évite de créer les fichiers tex.
test-inclusion.tex (1.7 kB)
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Ines Klimann 4 months ago
Merci, je note pour une utilisation future.
Là je génère les fichiers contenant les programmes et les fichiers contenant les équations de façon automatique, je ne les saisis pas à la main. Je suis plus sereine en ayant des numéros dans les noms des fichiers qui sont identiques pour le programme et l'équation correspondante plutôt qu'en ayant un numéro dans le nom pour le programme et un numéro de ligne pour l'équation.
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Alexis Bienvenüe 4 months ago
il faut faire le tirage aléatoire dans la commande exemplaire
Avec cette approche, il faut faire très attention à ne pas utiliser le même nom VQa pour plusieurs questions différentes… En plus, toutes les informations concernant la question ne sont pas regroupées (il y a la question elle-même quelque part et le tirage de VQa ailleurs, ce qui complique la tâche quand on veut gérer une banque de questions.
À voir si c'est une information à noter dans la documentation.
Pour cette raison je ne pense pas qu'il faille le mettre dans la doc, ça va embrouiller les choses plus que nécessaire.
je génère les fichiers contenant les programmes et les fichiers contenant les équations de façon automatique
Personnellement, j'aurais demandé à mon programme de générer un fichier question-zozo.tex du genre
\element{question-zozo}{
\begin{question}{zozo-1}
... version 1
\end{question}
}
\element{question-zozo}{
\begin{question}{zozo-2}
... version 2
\end{question}
}
% ... et autres versions
\setgroupmode{question-zozo}{withoutreplacement}
Puis, dans le fichier principal :
\input{question-zozo.tex}
% ... toutes les questions standard dans le groupe general avec l'utilisation pour chacune de \element{general}{ ... }
\setgroupmode{general}{withoutreplacement}
\setgroupmode{qcopie}{withoutreplacement}
\exemplaire{10}{
% ... entête
\cleargourp{qcopie}
\copygroup{general}{qcopie} % on met toutes les questions du groupe general
\copygroup[1]{question-zozo}{qcopie} % on prend une question du groupe question-zozo
\insertroup{qcopie} % on produit le tout
% ...
}
mais c'est une affaire de goût.
RE: Évaluation de paramètre pour l'attribut answer de AMCOpen
-
Added by Alexis Bienvenüe 4 months ago
Par ailleurs l'utilisation du answer=\input{fichier-\VQa} est assez délicate et risque de ne plus fonctionner lors de petits changements éventuels de la définition de \AMCOpen.
(1-14/14)