Incompatibilité d'usage avec Pythontex (Bug #890)


Added by Jean-Matthieu Etancelin 7 months ago. Updated 7 months ago.


Status:New Start date:09/19/2023
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:LaTeX
Target version:1.6.0

Description

Bonjour,
J'utilise pythontex pour générer des QCM à valeurs aléatoires et bénéficier des outils avancés de calcul numérique et formel de numpy et sympy.
Afin de faciliter la conception de qcm, j'ai développé une fonction python qui génère les macros latex de proposition de réponses tout en vérifiant l'unicité des propositions.
Le problème est que l'ordre de génération des commandes pythontex diffère de l'ordre dans lequel les réponses sont mises en page pour les questions n’utilisant pas cette fonction python.

Je joins un modèle de qcm permettant de reproduire le bug (voir le 2e exemplaire généré).

J'ai trouvé une astuce pour contourner le problème: re-initialiser la graine aléatoire de AMC à chaque environnement 'question'. Je joins également un patch.

Y a-t-il une incompatibilité d'usage entre AMC et mon utilisation de pythontex ? Peut-être qu'une solution plus élégante pourrait s'appliquer.

En tout cas, merci pour cet outil !


AMC_pythontex_bug-sujet.pdf (116.3 kB) Jean-Matthieu Etancelin, 09/19/2023 07:50 pm

pythontex-amc.patch (431 Bytes) Jean-Matthieu Etancelin, 09/19/2023 07:50 pm

bugPythonTex.tgz (2.7 kB) Jean-Matthieu Etancelin, 09/19/2023 07:50 pm


History

Updated by Frédéric Bréal 7 months ago

Je ne suis pas sûr de comprendre pas votre question. Je ne maîtrise pas python et pythontex.

Le problème est que l'ordre de génération des commandes pythontex diffère de l'ordre dans lequel les réponses sont mises en page pour les questions n’utilisant pas cette fonction python

AMC mélange les réponses donc pour toujours garder le même ordre, il faut écrire

\usepackage[francais,bloc,completemulti,ordre]{automultiplechoice}

ou

  \begin{reponseshoriz}[o
    \bonne{$0\leqslant x^2 < \py{latex(b*b)}$}
    \mauvaise{$\py{latex(a*a)}<x^2<\py{latex(b*b)}$}
    \mauvaise{$0\leqslant x^2 < \py{latex(a*b)}$}
  \end{reponseshoriz}

Je n'ai pas utiliser votre patch.

Updated by Frédéric Bréal 7 months ago

Frédéric Bréal wished to write:

Je n'ai pas utilisé votre patch.

Updated by Jean-Matthieu Etancelin 7 months ago

Merci pour votre réponse.
L'utilisation de pythontex avec AMC implique une compilation (latex dans mon cas) supplémentaire, le filtre, afin de construire un fichier tex qui est injecté dans le fichier source. L'ordre des propositions de réponse n'est pas identique entre la compilation de pré-processeur et les compilations usuelles d'AMC.
Je souhaite conserver un mélange systématique des propositions de réponse.
Est-il possible de fixer (ou transférer) les paramétrages utilisés dans les compilations usuelles d'AMC garantissant un ordre donné d'une compilation à l'autre (sujet, calage, barème, ...) également à l'étape de pré-processing ?

Also available in: Atom PDF