Utilisations particulières
Photocopie du sujet
Comme expliqué dans Impression du sujet, il n’est pas toujours possible de photocopier une feuille de réponses pour en donner à plusieurs étudiants. Cependant, dans le cas de l’utilisation de la feuille de réponses séparée, et quand les questions et réponses ne doivent pas être mélangées, il est possible de photocopier le sujet et imprimer les feuilles de réponses séparément. La conduite à suivre pour obtenir un tel résultat est indiquée ici.
-
Utiliser l’option
ensemble
(voir Options du paquet). -
Écrire le sujet avant l’utilisation de la commande
exemplaire
, ou de l’environnementcopieexamen
. -
Utiliser la commande
\AMCformS
pour restituer les cases à cocher sur chaque feuille de réponses, à l’intérieur deexemplaire
/copieexamen
.
Voici un exemple minimal de fichier LaTeX :
\documentclass[a4paper]{article}
\usepackage[ensemble]{automultiplechoice}
\begin{document}
\noindent{\bf Sujet}
\begin{question}{sum}
Combien font un plus un ?
\begin{reponses}
\mauvaise{1}
\bonne{2}
\mauvaise{3}
\end{reponses}
\end{question}
\begin{question}{k2}
Quelle est l'altitude du K2?
\begin{reponses}
\mauvaise{around 8000m}
\bonne{around 8600m}
\mauvaise{around 9000m}
\end{reponses}
\end{question}
\AMCcleardoublepage
\exemplaire{5}{
\AMCdebutFormulaire
{\large\bf Feuille de r\'eponses :}
\hfill \champnom{\fbox{
\begin{minipage}{.5\linewidth}
Nom:
\vspace*{.5cm}\dotfill
\vspace*{1mm}
\end{minipage}
}}
\AMCformS
}
\end{document}
Correction a posteriori
Supposons que vous souhaitez utiliser une unique feuille de réponses générique pour tous vos examens. Elle contiendra simplement des cases à cocher (par exemple 5 cases par question, et 40 questions). Les sujets des examens seront rédigés à part. Le problème ici est que les bonnes réponses ne sont pas indiquées dans le fichier LaTeX, ce qui fait que AMC ne peut pas les connaître. La solution consiste à demander à l’enseignant de cocher sur une feuille de réponse les bonnes réponses, qui sera transmise à AMC pour qu’il y lise les bonnes réponses.
Pour mettre en œuvre ce schéma de fonctionnement, vous devez :
-
utiliser les options
postcorrect
,insidebox
etnoshuffle
(voir Options du paquet) ; -
utiliser
\mauvaise
pour toutes les réponses (jamais\bonne
).
Voici un exemple minimal :
\documentclass[a4paper]{article}
\usepackage{multicol}
\usepackage[insidebox,noshuffle,postcorrect]{automultiplechoice}
\begin{document}
\exemplaire{5}{
\noindent
\begin{tabular}{|l|l|l|}
\hline
num\'ero d'\'etudiant & classe & sujet\\
\hline
\vspace{-0.25cm}
& &\\
\AMCcodeGridInt{NumEtud}{10}\hspace*{\fill}&
\AMCcodeGridInt{Classe}{2}\hspace*{\fill}&
\AMCcodeGridInt{Sujet}{3}\hspace*{\fill}
\\
\hline
\end{tabular}
\hfill\namefield{\fbox{
\begin{minipage}{.25\linewidth}
Nom :
\vspace*{.5cm}\dotfill
\vspace*{.5cm}\dotfill
\vspace*{1mm}
\end{minipage}
}}\hfill
\vspace{.5cm}
\noindent\hrulefill
\begin{multicols}{2}\columnseprule=.4pt
\begin{question}{01}
\begin{reponsesperso}
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\end{reponsesperso}
\end{question}
\begin{question}{02}
\begin{reponsesperso}
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\mauvaise{}%
\end{reponsesperso}
\end{question}
% continuez ici pour ajouter autant de questions que souhaité...
\end{multicols}
}
\end{document}
Après traitement du fichier LaTeX par AMC, imprimez les feuilles de réponses obtenues, faites passer l’examen et demandez à l’enseignant de remplir une feuille. Scannez ensuite les feuilles de réponses, et lancez la saisie automatique dans AMC (y compris de la feuille remplie par l’enseignant). Quand vous cliquez sur Corriger dans l’onglet Notation, en laissant la case Mettre à jour le barème cochée, AMC vous demandera le numéro de la copie remplie par l’enseignant. La suite des opérations est la même que dans le cas standard.
Vous pouvez aussi écrire les lettres des cases à l’extérieur de
celles-ci : utilisez pour cela l’option
|
Pour utiliser cette option uniquement pour le formulaire de réponse (et
non pour la saisie du numéro d’étudiant), vous pouvez définir, juste
après le
Puis utiliser cette nouvelle commande localement (à l’intérieur des accolades) dans le formulaire :
|
Copies pré-remplies
Dans certaines situations, il peut être souhaitable de préparer des copies nominatives pour tous les étudiants, à partir d’une liste d’étudiants. La démarche suivante, basée sur l’utilisation du paquet LaTeX csvsimple, permet d’obtenir ce résultat.
-
La liste des étudiants doit être au format CSV. On suppose dans la suite que le fichier
liste.csv
, placé dans le répertoire du projet, utilise l’encodage UTF8 et est sous la forme suivante :nom,prenom,id Boulix,Jojo,001 Golin,André,002 Moniuszko,Stanisław,003
ou
nom,prenom,id,mail Boulix,Jojo,001,jojo@boulix.fr Golin,André,002,andre@golin.fr Moniuszko,Stanisław,003,Moniuszko@Stanisław.fr
ou
nom,prenom,id,mail Boulix,Jojo,001,"jojo@boulix.fr,tata@boulix.fr" Golin,André,002,"andre@golin.fr,golin@andre.fr" Moniuszko,Stanisław,003,"Moniuszko@Stanisław.fr,stan@stanislaw.fr"
ou
nom;prenom;id;mail Boulix;Jojo;001;jojo@boulix.fr,tata@boulix.fr Golin;André;002;andre@golin.fr,golin@andre.fr Moniuszko;Stanisław;003;Moniuszko@Stanisław.fr,stan@stanislaw.fr
Ne pas utiliser le symbole _ (underscore) dans le nom ou prénom des étudiants. Une erreur de compilation sera affichée.
-
\exemplaire{1}
doit être égal à un. -
Le nombre de copies doit être à zéro (interface graphique).
-
Le sujet LaTeX doit charger le paquet csvsimple, grâce à une ligne
\usepackage{csvsimple}
-
Dans le fichier source, le sujet doit être défini sous la forme d’une commande LaTeX produisant un seul sujet, qui sera appelée (autant de fois qu’il y a d’étudiants) par la commande
\csvreader
de la façon suivante :\documentclass[a4paper]{article} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} %\usepackage[french]{babel} %\usepackage[babel=true,kerning=true]{microtype} (1) \usepackage[francais,bloc,completemulti]{automultiplechoice} \usepackage{csvsimple} \newcommand{\sujet}{% \exemplaire{1}{% %\shorthandon{;} %%% debut de l'en-tête des copies : \noindent{\bf QCM \hfill TEST} \vspace*{.5cm} \begin{minipage}{.4\linewidth} \centering\large\bf Histoire et géographie\\ Examen du 01/01/2008 \end{minipage} \champnom{\fbox{\begin{minipage}{.5\linewidth} \nom{} \prenom{} : \vspace*{.5cm}\dotfill \vspace*{1mm} \end{minipage}}} %%% fin de l'en-tête \begin{center} \hrule\vspace{2mm} \bf\Large Géographie \vspace{1mm}\hrule \end{center} \restituegroupe{geographie} \begin{center} \hrule\vspace{2mm} \bf\Large Histoire \vspace{2mm}\hrule \end{center} \restituegroupe{histoire} \AMCassociation{\id}%association %\AMCassociation[\nom-\prenom]{\id} (2) }%fin commande \exemplaire }%fin commande \newcommand \begin{document} %%% préparation des groupes \setdefaultgroupmode{withreplacement} \element{geographie}{ \begin{question}{Paris} Dans quel continent se situe Paris~? \begin{reponses} \bonne{L'Europe} \mauvaise{L'Afrique} \mauvaise{L'Asie} \mauvaise{La planète Mars} \end{reponses} \end{question} } \element{geographie}{ \begin{question}{Cameroun} Quelle est la capitale du Cameroun~? \begin{reponses} \bonne{Yaoundé} \mauvaise{Douala} \mauvaise{Abou-Dabi} \end{reponses} \end{question} } \element{histoire}{ \begin{question}{Marignan} En quelle année a eu lieu la bataille de Marignan~? \begin{reponseshoriz} \bonne{1515} \mauvaise{1915} \mauvaise{1519} \end{reponseshoriz} \end{question} } \element{histoire}{ \begin{questionmult}{Nantes} Que peut-on dire de l'Édit de Nantes~? \begin{reponses} \bonne{Il a été signé en 1598} \bonne{Il a été définitivement révoqué par Louis XIV} \mauvaise{Il a été signé par Henri II} \end{reponses} \end{questionmult} } %protection par mot de passe %\AMCstudentslistfile{liste.csv}{id} (3) %%génération des sujets \csvreader[head to column names]{liste.csv}{}{\sujet} (4) (5) %\shorthandoff{;} (6) %\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\sujet} (7) \end{document}
1 | Si vous utilisez un fichier similaire au 4e exemple avec le paquet
\usepackage[french]{babel} , le caractère ";" est activé, ce qui
interfère avec la détection de ce caractère en tant que séparateur
dans le fichier CSV.
+
L’astuce est de recourir à microtype pour corriger ce problème (et on
peut profiter des avantages de microtype). Pensez à décommenter cette
ligne pour l’activer. |
2 | Option pour inclure le nom de l’élève dans le nom de fichier lors de l’impression. |
3 | Pour protéger chaque copie avec un mot de passe unique. |
4 | Utilisez cette commande si le fichier CSV correspond à un des 3 premiers exemples. |
5 | Notez l’utilisation de l’option head to column names de
\csvreader qui définit des commandes basées sur les en-tête du
fichier CSV (ici \nom , \prenom et \id ) utilisables dans la
production du sujet personnalisé, et l’appel de \AMCassociation
qui indique à AMC que la copie produite doit être associée à
l’identifiant d’étudiant \id . |
6 | Au lieu d’utiliser \usepackage[babel=true,kerning=true]{microtype} ,
cette solution est possible pour contourner le problème. Décommentez
cette ligne et celle avec \shorthandon . |
7 | Utilisez cette commande si le fichier CSV correspond au 4e exemple. |
Après l’impression, le scan, la saisie automatique et la notation des copies, au moment de l’association des copies avec les étudiants, utiliser la valeur "pré-association" pour le champ Titre du code pour association automatique, et "id" pour le champ Identifiant unique dans cette liste.
Évaluation par compétences
À partir de la version , on peut
regrouper les scores de certaines questions et afficher un score
partiel (et éventuellement un niveau de réussite) sur les copies
annotées et dans l’export ODS, à partir d’une description des
questions à agréger dans un fichier
topics.yml
au format YAML placé
dans le répertoire projet.
AMC aura besoin des paquets perl supplémentaires suivants qui doivent
donc être installé dans votre environnement : YAML::Syck
, Hash::Merge
.
Principe
Le format de fichier YAML est très sensible à l’indentation. Vous devez donc bien respecter le nombre d’espaces au début des lignes. |
---
preferences:
clé_niveau_1: valeur
topics:
- clé_niveau_1: valeur
clé_niveau_1:
clé_niveau_2:
clé_niveau_3: valeur
Exemples de fichiers
Exemple complet
---
preferences:
odscolumns: level (1)
skip_indicatives: 0 (2)
decimal_separator: "," (3)
answered_only: 1 (4)
topics:
- text: "Rappel : Ne pas oublier les retenues dans les opérations" (5)
- id: addition2 (6)
name: Savoir calculer la somme de deux nombres à deux chiffres (7)
questions: (8)
- "add2:*" (9)
- somme2ch (10)
annotate_color: "#B22222" (11)
levels: (12)
- min: 75 (13)
message: très bonne maîtrise (14)
color: "#1ab407" (15)
code: 4 (16)
- min: 50
message: maîtrise satisfaisante
color: "#2aea62"
code: 3
- min: 25
message: maîtrise fragile
color: "#ffad26"
code: 2
- message: maîtrise insuffisante
color: "#ff262c"
code: 1
decimals: 0 (17)
decimalsratio: 2 (18)
decimalspc: 0 (19)
floor: 0 (20)
# Commentaire pour aérer le code. (21)
- id: soustraction2
name: Savoir calculer la différenc de deux nombres à deux chiffres
format: "%{name} : %{score}/%{max}" (22)
questions:
- "sous2"
- "sous1"
annotate_color: "#006c8c"
#
- text: "-------bilan--------"
- id: global
questions: "*"
value: "ratio:20:0.25" (23)
decimals: 2 (24)
decimalspc: 2
format: | (25)
%{name} : %{code} %{message}
Pour les questions %{nums:c} (addition et soustraction), ton score est de %{score}
ta note est de %{value}/20
exclude_questions: (26)
- bonus
- question-difficile
#
- id: aggregate
name: Valeur agrégée
aggregate: xxx (27)
value: xxx (28)
questions:
- "*" (29)
1 | De nouvelles colonnes (Export ODS (OpenOffice, LibreOffice)) seront affichées avec le texte de chaque <id> et le pourcentage du niveau. Vous pouvez choisir d’afficher la valeur de la variable <code> . |
2 | Pour tenir compte des questions indicatives dans les pourcentages. |
3 | Séparteur décimal utilisé dans l’affichage sur les copies annotées. |
4 | N’affiche pas un topic pour lequels aucune question n’a été traitée. |
5 | Un texte brut quelconque affiché sans condition de score. |
6 | L’identifiant de la compétence sans lettes accentuées ou espaces. |
7 | Le nom complet de la compétence. |
8 | Les questions reliées à la compétence. |
9 | Toutes les questions dont l’identifiant commence par add2: sont incluses (voir Identifiant des questions). |
10 | La question avec l’identifiant somme2ch est incluse (voir Identifiant des questions). |
11 | Couleur utilisée sur la copie annotée suivant les scores
correspondants aux questions.
Si une question n’appartient à aucun |
12 | Les différents niveaux de réussite exprimés en pourcentage. |
13 | Minimum à atteindre pour ce niveau. |
14 | Le message affiché sur la copie en fonction du niveau. |
15 | La couleur du message affiché sur la copie en fonction du niveau. |
16 | <code> qui pourra être affichée dans les colonne du fichier ods. Voir Export ODS (OpenOffice, LibreOffice) . |
17 | Nombre de décimales pour un score, 0 par défaut. |
18 | Nombre de décimales pour une proportion, 2 par défaut. |
19 | Nombre de décimales pour un pourcentage, 0 par défaut. |
20 | Valeur plancher. Si le calcul de la valeur obtenue au topic donne une valeur inférieure à la valeur plancher, cette valeur est ramenée à la valeur plancher. |
21 | Les commentaires commencent par le symbole dièse. |
22 | La mise en forme de l’affichage (voir Les variables pour les variables disponibles).
Par défaut l’affichage est :
|
23 | La note correspondante sera le ratio multiplié par 20 et arrondi au multiple de 0.25 le plus proche. |
24 | Changement du nombre de décimales. |
25 | Pour écrire un texte qui contient plusieurs lignes. |
26 | Les questions suivantes seront exclues. |
27 | Voir Fonctions d’aggrégation. |
28 | Peut prendre plusieurs options : score , ratio , "ratio:a:b" . Si
laissé vide, le pourcentage sera affiché. |
29 | Joker qui sélectionne toutes les questions. |
Les variables
Valeurs générales relatives au topic :
-
%{id}
: id du topic -
%{name}
: nom du topic
Valeurs relatives au score de l’étudiant :
-
%{score}
: score atteint par l’étudiant -
%{max}
: score maximal -
%{ratio}
: quotient du score sur le score maximal (entre 0 et 1) -
%{value}
: même chose mais en pourcentage
Valeurs relatives aux questions du topic :
-
%\{nums:s}
: liste des numéros de questions -
%\{nums:c}
: liste des numéros de questions, en remplaçant les suites par des intervalles (ex: 2-4 au lieu de 2,3,4)
Valeurs qui proviennent du niveau atteint :
-
%{message}
-
%{code}
-
%{i}
: palier
Fonctions d’aggrégation
Les fonctions d’aggrégation des notes disponibles sont les suivantes :
- sumscore
-
on prend la somme des scores, et au dénominateur la somme des scores maximaux.
- sumratio
-
on prend la somme des quotients entre le score de la question et le score maximal pour la question. Au dénominateur, le nombre de questions.
Si on veut que le topic soit égal à la somme des ratios, on prend <value:score>, et si on veut que le topic soit la moyenne des ratios (donc entre 0 et 1), on prend <value:ratio>. Si laissé vide, le pourcentage sera affiché.
- minscore
-
on prend le minimum des scores, et au dénominateur le minimum des scores maximaux aux questions.
Si on veut que le topic soit égal au min des scores on choisit <value:score>, et si on veut que le topic soit égal au rapport des deux, on prend <value:ratio>.
- maxscore
-
on prend le maximum des scores, et au dénominateur le maximum des scores maximaux aux questions.
Si on veut que le topic soit égal au max des scores on choisit <value:score>, et si on veut que le topic soit égal au rapport des deux, on prend <value:ratio>.
- maxratio
-
on prend la valeur maximale du rapport, pour chaque question, entre le score obtenu pour la question et le score optimal pouvant être obtenu pour la question. Avec cette valeur d’aggregate, <value:score> et <value:ratio> donnent la même chose.
- minratio
-
on prend la valeur minimale du rapport, pour chaque question, entre le score obtenu pour la question et le score optimal pouvant être obtenu pour la question. Avec cette valeur d’aggregate, <value:score> et <value:ratio> donnent la même chose .
- count(a)
-
nombre de questions ayant le score <a>.
- count(a,b)
-
nombre de questions ayant le score entre <a> et <b>.
Niveaux communs
On peut définir un ensemble de niveaux qui servira pour plusieurs topics différents, comme dans cet exemple :
---
conf:
niveauxstandard: (1)
levels:
- min: 75
message: très bonne maîtrise
color: "#1ab407"
- min: 50
message: maîtrise satisfaisante
color: "#2aea62"
- min: 25
message: maîtrise fragile
color: "#ffad26"
- message: maîtrise insuffisante
color: "#ff262c"
decimals: 2
decimalsratio: 2
decimalspc: 0
floor: 0
topics:
- id: addition2
name: Savoir calculer la somme de deux nombres à deux chiffres
questions:
- "add2:*"
- somme2ch
conf: niveauxstandard (2)
- id: soustraction2
name: Savoir calculer la différence de deux nombres à deux chiffres
format: "%{name} : %{score}/%{max}"
questions:
- "sous2:*"
- "sous1:*"
conf: niveauxstandard
1 | On définit une configuration, nommée niveauxstandard , qui pourra servir à plusieurs topics. |
2 | Appel de cette configuration. |
Inclusion de fichier
Créer un fichier levels.yml
qui se trouve dans le répertoire parent du
répertoire projet (donc le répertoire commun à tous les projets AMC).
levels.yml
# fichier nommé levels.yml
preferences:
odscolumns: level
decimal_separator: ","
#
conf:
niveauxstandard:
levels:
- min: 75
message: très bonne maîtrise
color: "#1ab407"
- min: 50
message: maîtrise satisfaisante
color: "#2aea62"
- min: 25
message: maîtrise fragile
color: "#ffad26"
- message: maîtrise insuffisante
color: "#ff262c"
decimals: 2
decimalsratio: 2
decimalspc: 2
floor: 0
topics.yml
du projet---
include:
- ../levels.yml
topics:
- id: addition2
name: Savoir calculer la somme de deux nombres à deux chiffres
questions:
- "add2:*"
- somme2ch
conf: niveauxstandard
- id: soustraction2
name: Savoir calculer la différence de deux nombres à deux chiffres
format: "%{name} : %{score}/%{max}"
questions:
- "sous2:*"
- "sous1:*"
conf: niveauxstandard
Anonymat des copies
En utilisation classique, cette option n’est pas recommandée. Elle
nécessite l’utilisation d’un fichier source au format LaTeX, et une
version d’AMC supérieure ou égale à |
On commencera par activer cette fonctionnalité en cochant la case
.Principe pour la création des fichiers pdf anonymes
-
Préparer votre sujet (Préparation du sujet).
-
Saisir les copies (Lecture des copies)
-
Dans l’onglet Notation, un nouveau menu est apparu : cliquer sur Anonymiser.
-
Ouvrir pour accéder aux fichier pdf anonymes.
-
Corriger manuellement certaines questions à partir de ces PDF.
-
Transmettre à AMC les notes de ces questions via le fichier csv.
Ces fichiers ne sont pas modifiables et ne doivent pas être saisis pour une correction automatique. |
Les commandes utilisables avec l’option d’anonymat
-
\AMCzone[id]
La commande
\AMCzone[id]{code LaTeX}
permet de cacher une zone définie.Par défaut, la zone
\champnom
sera invisble après l’anonymisation.
-
\AMCexternalQuestion
La commande
\AMCexternalQuestion{identifiant à choisir}{score maximal}
permet de déclarer une question qui sera notée hors AMC, avec un score maximal.Lorsque vous utilisez cette commande, vous pouvez gérer librement le numéro de la question et le texte de la question (AMC ne s’en chargera pas).
Il est impossible de rajouter cette commande après la préparation complète du sujet.
Lors de l’anonymisation des copies, un fichier csv est créé. Ce fichier devra être rempli avec les notes puis lu par AMC pour continuer avec la correction (voir Correction).