Pour information, voilà comment procéder avec `ConTeXt`.
[ConTeXt][1].
J’ai un fichier `env_QCM_1ere.tex` dans lequel je stocke ainsi les questions:
%%%%%%%%%% questions du chapitre 1 %%%%%%%%%%%%
\startbuffer [MereMichel]
La mère Michel a perdu son:
\startitemize [8,random]
\startitem kââ
\stopitem
\startitem chat
\stopitem
\startitem rat
\stopitem
\startitem bras
\stopitem
\stopitemize
\stopbuffer
Lorsque je créé une éval, je place dans le fichier du DS
\useenvironment [env_QCM_1ere]
\starttext
\dorecurse{2}{
\getbuffer [MereMichel]}
\stoptext
L’option `random` me permet d’avoir deux versions du QCM dans un ordre aléatoire différent
Je ne suis pas sûr qu’un listing pdf soit très utile, car le fichier source à l’avantage d’être facile à parcourir avec les fonctions de recherche d’un éditeur, et un `grep -A8 startbuffer env_QCM_1ere` en console me permettrait d’avoir la teneur des QCM.
Néanmoins, en rajoutant
\startmode [catalogue]
MereMichel\par
\stopmode
après chaque `startbuffer` (et en automatisant avec une macro), on peut ensuite produire le pdf en compilant un fichier `catalogue.tex` ainsi composé
\enablemode [catalogue]
\starttext
\getbuffer [MereMichel]
\stoptext
Lequel fichier serait créé en redirigeant `grep startbuffer env_QCM_1ere | sed 's/star/get/` vers le fichier.fichier.
[1]: https://wiki.contextgarden.net/Main_Page