automatisation de l'identification des questions (Support #559)
Description
Bonjour à tous,
Dans un effort de simplification de la conception des tests, je cherche à construire
une base d'exercices depuis laquelle les récupérer simplement dans un test en construction.
Pour cela, j'ai mis en place 3-4 bricoles qui marchent fort bien… mais je bute
sur la question de la numérotation automatique des questions (identifiers).
Dans l'archive ci-jointe, vous pouvez voir une version simplifiée de la structure :
- test.sty : une feuille de style qui étend les fonctionnalités d'AMC avec
la commande \addexercise{…} qui récupère les exercices (consignes et
questions) depuis un repository et la commande \generate qui déclenche
la production du document [1] ;
- database/ : la racine du repository
- sample.tex : un test qui récupère les exercices depuis le repository et montre
l'intérêt de la démarche, car tout le reste est géré par test.sty ;
- students.csv : la liste des étudiants ;
- sample.pdf : le résultat de la compilation.
Dans test.sty, l'environnement \question*{…} réécrit le contenu transmis sous la forme
\question{\questionlabel}{…}, de sorte à incrémenter un compteur et produire un label
qui devrait permettre, après correction, de récupérer les questions bien rangées
dans l'ordre (<#exercice>-<#question>).
En l'état, sample.pdf montre que le label est correctement construit (encadré après
le texte "Question X"), mais tous les identifiers réellement utilisés sont à "00-000"
(en dur pour la démonstration).
PREMIER PROBLÈME : l'identifier est recréé pour chaque copie générée, ce qui pose
problème lors de la randomisation des questions.
Lorsqu'on commente les lignes 29-32 marquées DEBUGGING et qu'on décommette la ligne 27
marquée FIXME, alors surgit…
SECOND PROBLÈME : "Missing \endcsname"…
J'ai conscience qu'il s'agit d'un problème classique avec les éléments itinérants
comme les labels, mais je n'arrive pas à passer outre (e.g. avec \protect).
Et voici mes questions :
- Quelqu'un d'autre (que j'aurais pas identifié…) a-t-il déjà arpenté (avec succès ?)
cette simplification de la création des examens ?
- Y aurait-il une suggestion qui permettrait d'éviter que les identifiers soient
régénérés pour chaque copie, rendant la correction par AMC impraticable lorsque
les questions sont randomisées ? (e.g. construire un hash des questions <-> label
lors de l'\input puis récupérer les labels dedans => une seule construction ? …)
- Une réponse adéquate à la question précédente résoudrait-elle la question de
la fragilité de la génération du label ?
- Quel est le sens de la vie ?
J'espère que vous saurez me permettre d'avancer dans cette direction qui faciliterait
grandement l'adoption d'AMC par des utilisateurs moins versés dans la technique :-)
Avec mes remerciements anticipés,
--javier
[1] Question subsidiaire : comment déclencher automatiquement \generate à la fin
du chargement du fichier sans avoir besoin de l'appeler explicitement ?!
History
Updated by Javier Iglesias over 6 years ago
Oups ! ce n'est pas un bug mais une demande de support… sorry :-(
Updated by Alexis Bienvenüe over 6 years ago
- Tracker changed from Bug to Support