référence AMCref à des réponses

Added by Flo V 4 months ago

Bonjour,

Je souhaiterais reproduire la "Question 1" suivante en conservant le mélange automatique des réponses d'AMC (donc sans bloquer l'ordre des réponses en utilisant l'option [o]) :


Question 1 : Pour les questions C D et E, on considère une section en béton armé où les fibres supérieures sont comprimées et les fibres inférieures sont tendues. Cochez la (ou les) bonne(s) proposition(s) :

A • Il peut y avoir dans une section, du moment fléchissant sans effort tranchant
B • Il peut y avoir dans une section, de l’effort tranchant sans moment fléchissant
C • Les contraintes tangentes sont maximales sous l’axe neutre
D • Les contraintes tangentes varient paraboliquement sous l’axe neutre
E • Les contraintes tangentes varient paraboliquement au-dessus de l’axe neutre

J'ai lu ici (https://project.auto-multiple-choice.net/boards/2/topics/4092) que l'on pouvait utiliser la commande suivante mais avec le code en pièce jointe, j'obtiens l'erreur également en pj. Cette erreur survient dès l'utilisation de la commande \AMCanslabel avec l'option francais ou non.

\newcommand{\AMCanslabel}[1]{ %
  \protected@write\@auxout{}{\string\newlabel{\the\AMCid@etud-#1}{ {\the\AMCrep@count}{\thepage}}}
}

Quelqu'un aurait-il une solution ?

Merci beaucoup par avance pour votre aide !
Flov

test1.tex (1 kB)

bug.png (23.3 kB)


Replies (1)

RE: référence AMCref à des réponses - Added by Gérard Carpeaux 4 months ago

Il faut encadrer la commande par \makeatletter et \makeatother

\makeatletter
\newcommand{\AMCanslabel}[1]{
  \protected@write\@auxout{}{\string\newlabel{\the\AMCid@etud-#1}{ {\the\AMCrep@count}{\thepage}}}
}
\makeatother

Cependant, si vous enlevez l'option [o], les références ne sont plus correctes.
AMC enregistre chaque réponse dans un compteur \AMCrep et ensuite le mélange se fait.

Peut-être que c'est cette partie du code qu'il faudrait utiliser pour faire ce que vous souhaitez mais je n'ai pas les compétences pour cela.

\newcommand{\AMC@box}[2]{ %
  \ifAMC@ensemble%
    \ifAMC@zoneformulaire% for codes inside form sheet
      \protect\AMC@formBox{#1}{#2}{1}{case:\AMCid@name:\the\AMCid@quest,\the\AMCrep@count}%
    \else%
      \ifAMCformulaire@dedans% for answer boxes inside form sheet
        \protect\AMC@formBox{#1}{#2}{1}{case:\AMCid@name:\the\AMCid@quest,\the\AMCrep@count}%
      \else% outside form sheet: not to be read during data capture
        \AMC@formBox{#1}{#2}{1}{casequestion:\AMCid@name:\the\AMCid@quest,\the\AMCrep@count}%
    \fi\fi%
  \else% no separate sheet for answers: always read
    \ifAMC@inside@box%
      \AMC@formBox{#1}{#2}{1}{case:\AMCid@name:\the\AMCid@quest,\the\AMCrep@count}%
    \else%
      \AMC@formBox@{}{#2}{1}{case:\AMCid@name:\the\AMCid@quest,\the\AMCrep@count}%
    \fi%
  \fi%
}

Vous pouvez faire une demande pour que cette option soit ajoutée dans les prochaines versions si c'est faisable.

(1-1/1)