transformer \element{#1}{...} en \begin{element}{#1} ... \end{element}

Added by Mikaël MAUNIER over 5 years ago

Bonjour,
Tout d'abord, merci pour ce super projet. Je commence à peine à découvrir son potentiel, et je sens que cela va me faciliter énormément la tâche.

Je suis en train de fabriquer mes propres macro afin de "simplifier" l'écriture des questions.
Avec des environnement comme \begin{maquestion}[nom=Q1, points=2, mult, bareme={b=1, m=-0.5}] ... \end{ma question}.

En utilisant le package environ, je suis parvenu à faire quasiment tout ce que je veux : types de questions, barèmes, réponses intégrées, correction .. etc
SAUF à utiliser \element{}{...} comme un environnement plutôt qu'une commande.
A chaque fois, soit le nom du groupe n'est pas pris en compte (et les questions se retrouvent en tête de devoir, soit le contenu est complétement "absorbé")

Je ne suis pas très doué avec les expandafter, quelqu'un aurait-il déjà fait cette manipulation (à savoir transformer la macro \element{#1}{...} en \begin{element}{#1} ... \end{element}
qui se trouve dans le automultiplechoice.sty :

\newcommand{\element}[2]{ %
  \AMC@prepare@element{#1}%
  \csname #1@\romannumeral\AMCtok@k\endcsname={#2}%
}

Merci d'avance,
Mikaël


Replies (2)

RE: transformer \element{#1}{...} en \begin{element}{#1} ... \end{element} - Added by Alexis Flesch over 5 years ago

Bonjour,

J'ai eu le même souci il y a peu, on m'a apporté la solution ici :
https://tex.stackexchange.com/questions/337515/wrap-a-command-with-two-arguments-inside-an-environment

J'ai même écrit un script Python pour modifier mes anciens QCM :
http://alexisfles.ch/en/texamator/amc.html

Bon courage,

Alexis.

RE: transformer \element{#1}{...} en \begin{element}{#1} ... \end{element} - Added by Mikaël MAUNIER over 5 years ago

Ah, génial !
J'avais bien pensé au coup du global dans la définition, mais je ne m'en sortais pas avec les expandafter dans environ ...

Merci Alexis et encore bravo pour tout le boulot accompli.
Mikaël

(1-2/2)