auto-multiple-choice.fr.in.xml

Frédéric Bréal, 05/08/2014 02:31 pm

Download (184.7 kB)

 
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
"/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
4
<article lang="fr">
5
  <title>Auto Multiple Choice</title>
6
7
  <articleinfo>
8
    <title>Auto Multiple Choice</title>
9
10
    <subtitle>Conception et correction automatisée de QCM.</subtitle>
11
12
    <abstract>
13
      <para>AMC est un ensemble d'utilitaires permettant l'utilisation de QCM
14
      rédigés en texte simple ou en LaTeX et leur correction automatique à
15
      partir des scans des copies des étudiants, grâce à une reconnaissance
16
      optique de marques (OMR). Le présent document décrit son utilisation
17
      (pour la version @/PACKAGE_V_DEB/@~@/PACKAGE_V_VC/@).</para>
18
19
      <para>Le projet AMC est hébergé par <ulink
20
      url="http://gna.org/">Gna !</ulink> : vous retrouverez son site internet
21
      à l'adresse <ulink
22
      url="http://home.gna.org/auto-qcm/">http://home.gna.org/auto-qcm/</ulink>,
23
      et la page d'hébergement du projet à l'adresse <ulink
24
      url="https://gna.org/projects/auto-qcm/">https://gna.org/projects/auto-qcm/</ulink>.</para>
25
    </abstract>
26
27
    <author>
28
      <firstname>Alexis</firstname>
29
30
      <affiliation>
31
        <address><email>paamc@passoire.fr</email></address>
32
      </affiliation>
33
34
      <surname>Bienvenüe</surname>
35
    </author>
36
37
    <othercredit>
38
      <surname>Abel</surname>
39
40
      <firstname>Benjamin</firstname>
41
42
      <contrib>Paragraphes concernant l'usage de tikz et de
43
      lualatex.</contrib>
44
    </othercredit>
45
46
    <copyright>
47
      <year>2008-2013</year>
48
49
      <holder>Alexis Bienvenüe</holder>
50
    </copyright>
51
52
    <legalnotice>
53
      <para>Ce document peut être utilisé selon les termes de la Licence
54
      publique générale de GNU version 2 ou suivante.</para>
55
    </legalnotice>
56
  </articleinfo>
57
58
  <sect1>
59
    <title>Licence</title>
60
61
    <para>Le programme Auto Multiple Choice est un logiciel libre ; vous
62
    pouvez le redistribuer ou le modifier suivant les termes de la “GNU
63
    General Public License” telle que publiée par la Free Software
64
    Foundation : soit la version 2 de cette licence, soit (à votre gré) toute
65
    version ultérieure.</para>
66
67
    <para>Ce programme est distribué dans l’espoir qu’il vous sera utile, mais
68
    SANS AUCUNE GARANTIE : sans même la garantie implicite de
69
    COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez
70
    la Licence Générale Publique GNU pour plus de détails. Vous devriez avoir
71
    reçu une copie de la Licence Générale Publique GNU avec ce programme ; si
72
    ce n’est pas le cas, consultez : <ulink
73
    url="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</ulink>.</para>
74
  </sect1>
75
76
  <sect1 id="prerequis">
77
    <title>Prérequis</title>
78
79
    <sect2>
80
      <title>Système d'exploitation</title>
81
82
      <para>Les utilitaires AMC sont pour l'instant écrits pour Linux. Ils
83
      devraient pouvoir être adaptés à MAC OS X ou Windows sans trop de
84
      difficulté, mais je n'ai pas prévu de le faire dans un avenir proche.
85
      N'hésitez pas à me contactez si vous souhaitez le faire : j'essayerai de
86
      vous aider et j'intègrerai les changements nécessaires dans AMC.</para>
87
    </sect2>
88
89
    <sect2>
90
      <title>Logiciels</title>
91
92
      <note>
93
        <para>Si vous installez AMC à l'aide d'un paquet debian (sur une
94
        distribution debian, ubuntu ou dérivés) ou RPM (distribution Mandriva,
95
        openSUSE, Fedora), tout ce dont AMC a besoin sera automatiquement
96
        installé.</para>
97
      </note>
98
99
      <para>Les paquets/logiciels principaux requis pour l'utilisation d'AMC
100
      sont les suivants :</para>
101
102
      <itemizedlist>
103
        <listitem>
104
          <para>LaTeX</para>
105
        </listitem>
106
107
        <listitem>
108
          <para>ImageMagick</para>
109
        </listitem>
110
111
        <listitem>
112
          <para>Perl, ainsi que Gtk2-Perl et Glade::XML pour l'interface
113
          graphique</para>
114
        </listitem>
115
      </itemizedlist>
116
117
      <sect3>
118
        <title>Versions conseillées pour les logiciels utilisés par
119
        AMC</title>
120
121
        <para>Quelques anciens bugs des logiciels utilisés par AMC sont
122
        particulièrement préjudiciables à son bon fonctionnement :</para>
123
124
        <itemizedlist>
125
          <listitem>
126
            <para>Avec d'anciennes versions de <package>Net::CUPS</package>
127
            (paquet debian <package>libnet-cups-perl</package>), la demande
128
            d'impression du sujet provoque la fermeture prématurée de toute
129
            l'interface graphique d'AMC. Ce bug a été corrigé à partir de la
130
            version 0.61 de <package>Net::CUPS</package>.</para>
131
          </listitem>
132
133
          <listitem>
134
            <para>Avec d'anciennes versions de ImageMagick, le regroupement
135
            des pages corrigées en un fichier PDF par étudiant ne fonctionne
136
            pas dans le cas où ces copies comprennent plusieurs pages. Ce bug
137
            a été corrigé à partie de la version 6.5.5 de ImageMagick.</para>
138
          </listitem>
139
        </itemizedlist>
140
      </sect3>
141
    </sect2>
142
143
    <sect2>
144
      <title>LaTeX</title>
145
146
      <para>À parti de la version 1.1.0 d'AMC, il n'est plus nécessaire de
147
      rédiger ses sujets de QCM en LaTeX (voir <xref linkend="AMC-TXT"/>).
148
      Cependant, ceci est toujours possible et permet une extraordinaire
149
      liberté dans la conception des sujets. Par ailleurs, les modèles fournis
150
      permettent à ceux qui ne sont pas réfractaires aux formats de documents
151
      du type LaTeX/XML/HTML d'écrire assez rapidement leurs premiers
152
      formulaires en LaTeX.</para>
153
    </sect2>
154
  </sect1>
155
156
  <sect1 id="notesutilisation">
157
    <title>Notes d'utilisation</title>
158
159
    <sect2>
160
      <title>Limitations numériques</title>
161
162
      <para>Dans la version actuelle (à partir de la version 0.156), le nombre
163
      de copies est limité à 4095 et le nombre de pages par copies est limité
164
      à 63.</para>
165
166
      <para>Le nombre de réponses proposées pour une même question est limité
167
      à 199.</para>
168
169
      <para>Par ailleurs, les limitations de LaTeX pourront bloquer la
170
      compilation avant ces limites (erreur du type « <errortext>No room for a
171
      new \toks</errortext> »). Dans ce cas, essayez en utilisant le package
172
      <package>etex</package>, grâce à la commande
173
      <code>\usepackage{etex}</code>.</para>
174
    </sect2>
175
176
    <sect2>
177
      <title>Versions</title>
178
179
      <para>Même si cela ne devrait pas avoir trop de conséquences, il vaut
180
      mieux essayer de ne pas changer de version du programme en cours
181
      d'utilisation pour un projet donné (entre le moment où les copies sont
182
      imprimé et le moment où les notes sont calculées et les copies
183
      annotées). Il existe quelques modifications qui risquent de perturber le
184
      fonctionnement d'AMC si vous les appliquez au cours de la gestion d'un
185
      projet :</para>
186
187
      <itemizedlist>
188
        <listitem>
189
          <para>Si vous avez compilé et imprimé un sujet avec une version
190
          d'AMC égale ou inférieure à 0.155, et que vous continuez la gestion
191
          du projet avec la version 0.156 ou postérieure, ajoutez l'option
192
          <option>versionA</option> dans l'appel au paquet
193
          <package>automultiplechoice</package> dans le fichier LaTeX. Exemple
194
          :</para>
195
196
          <programlisting>\usepackage[bloc,completemulti,versionA]{automultiplechoice}</programlisting>
197
        </listitem>
198
199
        <listitem>
200
          <para>À partir de la version 0.262, le dessin des cases à cocher est
201
          différent, légèrement plus gros, ce qui risque de modifier la
202
          disposition de vos sujets.</para>
203
        </listitem>
204
205
        <listitem>
206
          <para>À partir de la version 0.267, si vous souhaitez produire vos
207
          sujets en format A4, vous devez l'indiquer explicitement dans le
208
          sujet LaTeX :</para>
209
210
          <programlisting>\documentclass[a4paper]{article} </programlisting>
211
        </listitem>
212
213
        <listitem>
214
          <para>À partir de la version 0.345, les commandes
215
          <command>\AMCformulaireQuestion</command> et
216
          <command>\AMCformulaireReponse</command> ont été renommées
217
          respectivement <command>\AMCformQuestion</command> et
218
          <command>\AMCformAnswer</command>.</para>
219
        </listitem>
220
221
        <listitem>
222
          <para>À partir de la version 0.394, vous devez indiquer
223
          explicitement si vous utilisez le paquet LaTeX
224
          <package>graphicx</package> (dans les versions précédentes, il était
225
          chargé par AMC).</para>
226
        </listitem>
227
228
        <listitem>
229
          <para>La commande <command>\AMCcode</command> a été réécrite au
230
          passage à la version 0.518. La nouvelle version est plus propre et
231
          mieux configurable, mais vous aurez sans doute à adapter légèrement
232
          votre code LaTeX pour que le résultat reste semblable.</para>
233
        </listitem>
234
235
        <listitem>
236
          <para>À partir de la version 1.1.0, le stockage de toutes les
237
          informations manipulées par AMC se fait dans des bases de données
238
          SQLite, au lieu des multiples fichiers XML utilisés par les versions
239
          précédentes. Lors de l'ouverture d'un projet créé par une version
240
          antérieure, AMC transforme toutes ces données dans le nouveau
241
          format, mais conserve les anciens fichiers XML.</para>
242
        </listitem>
243
      </itemizedlist>
244
    </sect2>
245
246
    <sect2>
247
      <title>Installation</title>
248
249
      <para>Sur un système debian ou Ubuntu ou dérivés, Mandriva, openSUSE ou
250
      Fedora, l'installation est facilitée par l'utilisation des paquets deb
251
      et RPM contenant AMC. La procédure d'installation est décrite sur le
252
      <ulink url="http://home.gna.org/auto-qcm/download">site
253
      d'AMC</ulink>.</para>
254
255
      <para>Vous pouvez aussi télécharger l'archive des sources dans l'<ulink
256
      url="http://download.gna.org/auto-qcm/">espace de téléchargement</ulink>
257
      du projet, puis utiliser les commandes suivantes dans un
258
      terminal :</para>
259
260
      <screen>tar xvzf auto-multiple-choice_xxxx_precomp.tar.gz
261
cd auto-multiple-choice-xxx
262
make
263
sudo make install</screen>
264
    </sect2>
265
266
    <sect2>
267
      <title>Accès</title>
268
269
      <para>Une fois installé, l'interface graphique peut être appelée en
270
      choisissant <menuchoice>
271
          <guimenu>Applications</guimenu>
272
273
          <guisubmenu>Éducation</guisubmenu>
274
275
          <guimenuitem>Auto Multiple Choice</guimenuitem>
276
        </menuchoice> dans le menu général de Gnome (ou son équivalent dans
277
      KDE ou autre), mais on peut aussi utiliser la commande
278
      <userinput>auto-multiple-choice</userinput>.</para>
279
    </sect2>
280
  </sect1>
281
282
  <sect1 id="AMC-TXT">
283
    <title>Source au format AMC-TXT</title>
284
285
    <para>Pour les utilisateurs qui ne souhaitent pas se mettre à LaTeX, AMC
286
    embarque un filtre qui rédige pour vous le fichier LaTeX à partir d'une
287
    représentation en texte simple de votre questionnaire. Ce format est
288
    appelé AMC-TXT, et ce chapitre détaille la syntaxe à utiliser. Si vous
289
    souhaitez profiter de la puissance de LaTeX pour la rédaction de vos
290
    questionnaires, passez au chapitre suivant.</para>
291
292
    <para>Commençons par un exemple simple de fichier source utilisable par
293
    AMC :</para>
294
295
    <!--NAME: Exemple simple au format AMC-TXT
296
DESC: Un exemple très simple utilisant le format AMC-TXT qui permet de concevoir des questionnaires sans aucune connaissance de LaTeX.-->
297
298
    <programlisting id="modeles-simple-txt.txt"># AMC-TXT source
299
PaperSize: A4
300
Lang: FR
301
Title: Mon premier questionnaire
302
303
Presentation: Veuillez répondre aux questions
304
ci-dessous du mieux que vous pouvez.
305
306
* Quelle est la capitale du Cameroun ?
307
+ Yaoundé
308
- Douala
309
- Kribi
310
311
** Parmi les nombres suivants,
312
lesquels sont positifs ?
313
+ 2
314
- -2
315
+ 10</programlisting>
316
317
    <important>
318
      <para>Le fichier qui contient la description de votre sujet doit être
319
      codé en UTF-8. C'est le codage par défaut de plusieurs éditeurs de
320
      texte, dont fait partie <command>gedit</command> par exemple. N'utilisez
321
      pas d'éditeur de texte permettant d'appliquer des mise en forme à votre
322
      texte, comme OpenOffice/LibreOffice ou abiword : ils n'enregistrent pas
323
      seulement votre texte, mais beaucoup d'autres informations de mise en
324
      forme qu'AMC ne sait pas lire...</para>
325
    </important>
326
327
    <note>
328
      <para>La police de caractères qui sera utilisée par défaut pour votre
329
      questionnaire est la police <ulink
330
      url="http://www.linuxlibertine.org/">libertine</ulink>. C'est une police
331
      libre qui définit un très grand nombre de caractères de toutes langues.
332
      Cette police doit être installée sur votre système pour que votre sujet
333
      puisse être préparé (c'est le cas si vous installez AMC sur debian ou
334
      Ubuntu avec les paquets qu'il recommande).</para>
335
    </note>
336
337
    <para>Vous remarquez dès maintenant la structure du fichier de description
338
    du questionnaire : il commence par quelques définitions ou options
339
    générales de mise en forme, puis viennent les questions.</para>
340
341
    <sect2>
342
      <title>Commentaires</title>
343
344
      <para>Vous pouvez écrire des commentaires dans votre fichier AMC-TXT sur
345
      des lignes <emphasis>commençant</emphasis> par le caractère
346
      <code>#</code>. Ces lignes seront tout simplement ignorées par
347
      AMC.</para>
348
    </sect2>
349
350
    <sect2>
351
      <title>Options générales</title>
352
353
      <para>Voici les options que vous pouvez utiliser au début de votre
354
      fichier (dans n'importe quel ordre) :</para>
355
356
      <variablelist>
357
        <varlistentry>
358
          <term>PaperSize:</term>
359
360
          <listitem>
361
            <para>Indique le format de papier utilisé. Parmi les valeurs
362
            possibles, on trouve <code>A3</code>, <code>A4</code>,
363
            <code>A5</code>, <code>A6</code>, <code>B3</code>,
364
            <code>B4</code>, <code>B5</code>, <code>B6</code>,
365
            <code>letter</code>, <code>legal</code>, <code>ANSIA</code>,
366
            <code>ANSIB</code>, <code>ANSIC</code>, <code>ANSID</code>,
367
            <code>ANSIE</code>.</para>
368
          </listitem>
369
        </varlistentry>
370
371
        <varlistentry>
372
          <term>Lang:</term>
373
374
          <listitem>
375
            <para>donne la langue dans laquelle le questionnaire est écrit.
376
            Pour l'instant, les seules langues disponibles sont FR (français),
377
            ES (espagnol), DE (allemand), IT (Italien), NL (Néerlandais), NO
378
            (Norvégien), JA (Japonais, voir <xref linkend="txt-japanese"/>) et
379
            AR (arabe, voir <xref linkend="txt-arabic"/>). Si vous n'utilisez
380
            pas cette option, ce sera l'anglais qui sera choisi.</para>
381
          </listitem>
382
        </varlistentry>
383
384
        <varlistentry>
385
          <term>Title:</term>
386
387
          <listitem>
388
            <para>Le titre de l'examen, qui sera écrit en haut de la
389
            copie.</para>
390
          </listitem>
391
        </varlistentry>
392
393
        <varlistentry>
394
          <term>Presentation:</term>
395
396
          <listitem>
397
            <para>Un texte introductif pour l'examen, présentant par exemple
398
            la durée, les consignes...</para>
399
          </listitem>
400
        </varlistentry>
401
402
        <varlistentry>
403
          <term>ShuffleQuestions:</term>
404
405
          <listitem>
406
            <para>Si cette option est mise à 1 (c'est la valeur par défaut),
407
            les questions ne seront pas dans le même ordre dans chaque copie.
408
            Si vous lui donnez la valeur 0, les questions ne seront pas
409
            mélangées.</para>
410
          </listitem>
411
        </varlistentry>
412
413
        <varlistentry>
414
          <term>Code:</term>
415
416
          <listitem>
417
            <para>Affectez à cette option une valeur entière
418
            <replaceable>n</replaceable> (par exemple 8) pour demander la
419
            présence de cases à cocher pour que les étudiants codent leur
420
            numéro d'étudiant sur <replaceable>n</replaceable>
421
            chiffres.</para>
422
          </listitem>
423
        </varlistentry>
424
425
        <varlistentry>
426
          <term>CodeDigitsDirection:</term>
427
428
          <listitem>
429
            <para>Donnez à cette option la valeur <code>horizontal</code> ou
430
            <code>vertical</code> pour imposer la direction suivant laquelle
431
            les chiffres du code seront présentés. Si vous n'utilisez pas
432
            cette option, AMC choisira en fonction de la taille du code
433
            (direction horizontale pour un petit nombre de chiffres, et
434
            verticale pour un grand nombre de chiffres).</para>
435
          </listitem>
436
        </varlistentry>
437
438
        <varlistentry>
439
          <term>Columns:</term>
440
441
          <listitem>
442
            <para>Si vous donnez à cette option une valeur
443
            <replaceable>n</replaceable> entière supérieure à 1, le
444
            questionnaire sera écrit sur <replaceable>n</replaceable>
445
            colonnes.</para>
446
          </listitem>
447
        </varlistentry>
448
449
        <varlistentry>
450
          <term>CompleteMulti:</term>
451
452
          <listitem>
453
            <para>Cette option prend la valeur 1 par défaut, ce qui signifie
454
            qu'une réponse "Aucune des réponses ci-dessus n'est correcte" sera
455
            ajoutée à la fin de toutes les questions multiples de votre
456
            questionnaire. Sans celle-ci, il serait impossible de faire la
457
            différence entre "l'étudiant ne répond pas à cette question" et
458
            "l'étudiant pense qu'aucune des réponses proposées n'est exacte".
459
            Si vous ne souhaitez pas que cette dernière réponse soit ajoutée,
460
            donnez la valeur 0 à cette option.</para>
461
          </listitem>
462
        </varlistentry>
463
464
        <varlistentry>
465
          <term>L-None:</term>
466
467
          <listitem>
468
            <para>Cette option indique un texte qui remplacera
469
            <emphasis>Aucune des réponses ci-dessus n'est correcte</emphasis>
470
            (voir option précédente) pour votre questionnaire.</para>
471
          </listitem>
472
        </varlistentry>
473
474
        <varlistentry>
475
          <term>QuestionBlocks:</term>
476
477
          <listitem>
478
            <para>Si cette option prend la valeur 1 (sa valeur par défaut),
479
            toutes vos questions seront enfermées dans des boîtes
480
            (invisibles), de sorte qu'elles ne puissent pas être coupées sur
481
            deux pages, ou sur plusieurs colonnes. Avec la valeur 0, les
482
            questions pourront être coupées ci besoin, ce qui peut gagner de
483
            la place mais perd en lisibilité.</para>
484
          </listitem>
485
        </varlistentry>
486
487
        <varlistentry>
488
          <term>L-Question:</term>
489
490
          <listitem>
491
            <para>Cette option sert à remplacer le mot
492
            <emphasis>Question</emphasis> dans votre questionnaire si vous
493
            utilisez une autre langue que celle indiquée par l'option
494
            <option>Lang</option>.</para>
495
          </listitem>
496
        </varlistentry>
497
498
        <varlistentry>
499
          <term>L-Name:</term>
500
501
          <listitem>
502
            <para>Cette option sert à remplacer le texte <emphasis>Nom et
503
            prénom</emphasis> inscrit dans le cadre où l'étudiant doit
504
            inscrire son identité.</para>
505
          </listitem>
506
        </varlistentry>
507
508
        <varlistentry>
509
          <term>L-Student:</term>
510
511
          <listitem>
512
            <para>Cette option sert à remplacer le petit texte qui demande de
513
            coder son numéro d'étudiant et d'inscrire son nom sur les copies
514
            (quand l'option <option>Code</option> a été utilisée).</para>
515
          </listitem>
516
        </varlistentry>
517
518
        <varlistentry>
519
          <term>ManualDuplex:</term>
520
521
          <listitem>
522
            <para>Avec la valeur 1 (ce n'est pas la valeur par défaut), chaque
523
            sujet sera constitué d'un nombre pair de pages, de telle sorte que
524
            tous les sujets pourront être imprimés manuellement à partir du
525
            fichier PDF sujet en mode recto/verso (sans l'utilisation de cette
526
            option, le début d'une copie pourraît être sur le verso de la fin
527
            de la copie précédente).</para>
528
          </listitem>
529
        </varlistentry>
530
531
        <varlistentry>
532
          <term>SingleSided:</term>
533
534
          <listitem>
535
            <para>Avec la valeur 1 (ce n'est pas la valeur par défaut), aucune
536
            page blanche ne sera ajoutée entre le sujet et la feuille de
537
            réponses séparée, même si le sujet comporte un nombre impair de
538
            pages. Ceci peut être utile quand les sujets sont imprimés en
539
            recto simple, ou quand il n'est pas nécessaire de séparer
540
            physiquement le sujet de la feuille de réponses.</para>
541
          </listitem>
542
        </varlistentry>
543
544
        <varlistentry>
545
          <term>BoxColor:</term>
546
547
          <listitem>
548
            <para>Permet de choisir une couleur pour les cases qui peuvent
549
            être cochées par les étudiants, afin de perturber le moins
550
            possible la saisie automatique à partir des scans
551
            (<emphasis>red</emphasis>, pour rouge, est une valeur commune,
552
            mais on peut aussi penser à un gris clair). La couleur fournie
553
            doit être une couleur valide pour <command>xcolor</command> (voir
554
            la documentation du paquet LaTeX <command>xcolor</command> pour
555
            plus de détails), comme <emphasis>red</emphasis>,
556
            <emphasis>magenta</emphasis>, <emphasis>pink</emphasis>,
557
            <emphasis>lightgray</emphasis>, <emphasis>cyan</emphasis>, ou bien
558
            sous la forme <code>#RRGGBB</code>, comme <code>#FFBEC8</code>
559
            pour un rouge clair.</para>
560
          </listitem>
561
        </varlistentry>
562
563
        <varlistentry>
564
          <term>DefaultScoringS:</term>
565
566
          <listitem>
567
            <para>Donne la barème par défaut pour les questions simples
568
            (Reportez-vous à <xref linkend="bareme"/> pour la description des
569
            barèmes possibles). La valeur par défaut à cette option est le
570
            barème qui donne un point à la bonne réponse, et zéro aux
571
            autres.</para>
572
          </listitem>
573
        </varlistentry>
574
575
        <varlistentry>
576
          <term>DefaultScoringM:</term>
577
578
          <listitem>
579
            <para>Donne le barème par défaut pour les questions multiple
580
            (Reportez-vous à <xref linkend="bareme"/> pour la description des
581
            barèmes possibles). La valeur par défaut de cette option est
582
            <code>haut=2</code>, ce qui correspond à un barème donnant deux
583
            points pour une réponse parfaitement exacte, et qui enlève un
584
            point à chaque erreur (case cochée alors qu'elle ne devrait pas
585
            l'être, ou case non-cochée alors qu'elle devrait l'être), sans
586
            passer en-dessous de zéro.</para>
587
          </listitem>
588
        </varlistentry>
589
590
        <varlistentry>
591
          <term>LaTeX:</term>
592
593
          <listitem>
594
            <para>Si cette option prend la valeur 1, tous les textes de votre
595
            questionnaire sont considérés comme étant écrits en TeX (ou
596
            LaTeX). Vous pourrez ainsi écrire des formules mathématiques comme
597
            <code>$\sqrt{a+b}$</code>. Avec la valeur 0 (valeur par défaut),
598
            vos textes seront reproduits sans modification.</para>
599
          </listitem>
600
        </varlistentry>
601
602
        <varlistentry>
603
          <term>LaTeX-Preambule:</term>
604
605
          <listitem>
606
            <para>Donne des commandes LaTeX à ajouter dans le préambule (par
607
            exemple des <command>\usepackage</command>).</para>
608
          </listitem>
609
        </varlistentry>
610
611
        <varlistentry>
612
          <term>LaTeX-BeginDocument:</term>
613
614
          <listitem>
615
            <para>Donne des commandes LaTeX à ajouter au début de
616
            l'environnement <command>document</command> (par exemple des
617
            définitions de macros).</para>
618
          </listitem>
619
        </varlistentry>
620
621
        <varlistentry>
622
          <term>Disable:</term>
623
624
          <listitem>
625
            <para>Donne une liste de convertisseurs à désactiver, séparés par
626
            des virgules. Les convertisseurs disponibles sont
627
            <code>images</code> (voir <xref linkend="parse_images"/>),
628
            <code>embf</code> (voir <xref linkend="parse_embf"/>) et
629
            <code>local_latex</code> (voir <xref
630
            linkend="parse_local_latex"/>).</para>
631
          </listitem>
632
        </varlistentry>
633
      </variablelist>
634
635
      <sect3>
636
        <title>Sujet avec feuille de réponses séparée</title>
637
638
        <para>Dans le cas d'un sujet avec feuille de réponses séparée, vous
639
        pourrez considérer l'emploi des options suivantes :</para>
640
641
        <variablelist>
642
          <varlistentry>
643
            <term>SeparateAnswerSheet:</term>
644
645
            <listitem>
646
              <para>Donner la valeur 1 à cette option pour obtenir une feuille
647
              de réponses séparée.</para>
648
            </listitem>
649
          </varlistentry>
650
651
          <varlistentry>
652
            <term>AnswerSheetTitle:</term>
653
654
            <listitem>
655
              <para>Donne le titre à inscrire en tête de la feuille de
656
              réponse.</para>
657
            </listitem>
658
          </varlistentry>
659
660
          <varlistentry>
661
            <term>AnswerSheetPresentation:</term>
662
663
            <listitem>
664
              <para>Donne le texte de présentation de la feuille de réponse.
665
              On pourra par exemple y préciser que les réponses doivent
666
              uniquement être données sur cette feuille.</para>
667
            </listitem>
668
          </varlistentry>
669
670
          <varlistentry>
671
            <term>AnswerSheetColumns:</term>
672
673
            <listitem>
674
              <para>Nombre de colonnes pour la feuille de réponses.</para>
675
            </listitem>
676
          </varlistentry>
677
678
          <varlistentry>
679
            <term>AutoMarks:</term>
680
681
            <listitem>
682
              <para>Donner la valeur 1 à cette option pour utiliser l'option
683
              <option>automarks</option> (voir <xref
684
              linkend="sec.package.options"/>).</para>
685
            </listitem>
686
          </varlistentry>
687
        </variablelist>
688
      </sect3>
689
    </sect2>
690
691
    <sect2>
692
      <title>Questions</title>
693
694
      <para>Les questions simples (qui acceptent une et une seule bonne
695
      réponse) commencent par un <code>*</code> en début de ligne, et les
696
      questions multiples (celles qui peuvent comporter zéro, une ou
697
      plusieures bonnes réponses), commencent par un <code>**</code> en début
698
      de ligne. Vient ensuite le texte de la question, puis les réponses,
699
      introduites par un <code>+</code> quand la réponse est correcte ou un
700
      <code>-</code> quand elle ne l'est pas.</para>
701
702
      <sect3>
703
        <title>Options pour les questions</title>
704
705
        <para>Des options particulières peuvent être indiquées pour chaque
706
        question, entre crochets, juste après l'étoile (ou les deux étoiles
707
        pour des questions multiples) qui commence la question (sans espace
708
        avant), comme dans l'exemple suivant :</para>
709
710
        <programlisting>*[ordered,horiz,name=addition] Combien font
711
un plus un ?
712
- 0
713
- 1
714
+ 2</programlisting>
715
716
        <para>Les options disponibles sont les suivantes :</para>
717
718
        <variablelist>
719
          <varlistentry>
720
            <term>horiz</term>
721
722
            <listitem>
723
              <para>Avec cette option, les réponses se suivront
724
              horizontalement plutôt que verticalement une par ligne.</para>
725
            </listitem>
726
          </varlistentry>
727
728
          <varlistentry>
729
            <term>columns=<replaceable>n</replaceable></term>
730
731
            <listitem>
732
              <para>Avec cette option, les réponses seront réparties sur
733
              <replaceable>n</replaceable> colonnes.</para>
734
            </listitem>
735
          </varlistentry>
736
737
          <varlistentry>
738
            <term>ordered</term>
739
740
            <listitem>
741
              <para>Avec cette option, les réponses ne seront pas mélangées
742
              dans chaque copies : elles resteront toujours dans l'ordre
743
              indiqué.</para>
744
            </listitem>
745
          </varlistentry>
746
747
          <varlistentry>
748
            <term>id=<replaceable>xxxx</replaceable></term>
749
750
            <listitem>
751
              <para>Avec cette option, le nom <replaceable>xxxx</replaceable>
752
              sera donné à la question. Ce nom apparaît dans les fichiers de
753
              notes exportés par AMC pour identifier la question plus
754
              facilement. Il ne doit comporter que des caractères simples non
755
              accentués.</para>
756
757
              <para><option>name</option> a le même rôle que l'option
758
              <option>id</option>. Cette option est présente pour assurer la
759
              compatibilité avec d'anciennes versions, préférez l'utilisation
760
              de <option>id</option>.</para>
761
            </listitem>
762
          </varlistentry>
763
764
          <varlistentry>
765
            <term>indicative</term>
766
767
            <listitem>
768
              <para>Indique que le score affecté à cette question ne sera pas
769
              pris en compte pour le score final de l'étudiant.</para>
770
            </listitem>
771
          </varlistentry>
772
773
          <varlistentry>
774
            <term>next</term>
775
776
            <listitem>
777
              <para>Avec cette option, la question suivra toujours la question
778
              précédente, même lorsque l'on demande de mélanger les questions
779
              avec l'option générale <option>ShuffleQuestions</option>.</para>
780
            </listitem>
781
          </varlistentry>
782
783
          <varlistentry>
784
            <term>first</term>
785
786
            <listitem>
787
              <para>Avec cette option, la question sera toujours insérée en
788
              début de groupe (voir <xref linkend="sec.txt-groups"/>).</para>
789
            </listitem>
790
          </varlistentry>
791
792
          <varlistentry>
793
            <term>last</term>
794
795
            <listitem>
796
              <para>Avec cette option, la question sera toujours insérée en
797
              fin de groupe (voir <xref linkend="sec.txt-groups"/>).</para>
798
            </listitem>
799
          </varlistentry>
800
        </variablelist>
801
      </sect3>
802
803
      <sect3>
804
        <title>Barèmes particuliers</title>
805
806
        <para>Si vous voulez utiliser un barème particulier pour une question
807
        ou une réponse, vous pouvez l'indiquer entre accolades, après le signe
808
        <code>*</code>, <code>**</code>, <code>+</code>, ou <code>-</code>, et
809
        après les éventuelles options, comme dans l'exemple suivant.
810
        Reportez-vous à <xref linkend="bareme"/> pour la syntaxe de
811
        description des barèmes à utiliser.</para>
812
813
        <programlisting>*{b=2,m=-1} Quelle est la capitale de la France ?
814
+ Paris
815
- Lille
816
-{-2} Ouagadougou
817
818
**[ordered,horiz,name=positifs]{haut=1} Parmi les nombres suivants,
819
lesquels sont positifs ?
820
- -2
821
+ 2
822
+ 10</programlisting>
823
      </sect3>
824
825
      <sect3>
826
        <title>Questions ouvertes</title>
827
828
        <para>Les questions peuvent être transformées en questions ouvertes en
829
        indiquant des options (voir <xref linkend="questionsouvertes"/>) entre
830
        <code>&lt;</code> et <code>&gt;</code>, comme dans l'exemple
831
        suivant :</para>
832
833
        <programlisting>*&lt;lines=4&gt; Décrivez la lune.
834
-[O]{0} O
835
-[P]{1} P
836
+[V]{2} V</programlisting>
837
838
        <para>Lors de l'utilisation de questions ouvertes, les options
839
        générales suivantes peuvent être intéressantes :</para>
840
841
        <variablelist>
842
          <varlistentry>
843
            <term>L-OpenText:</term>
844
845
            <listitem>
846
              <para>Texte à ajouter après les questions pour demander aux
847
              étudiants d'écrire la résponse sur la feuille de réponses
848
              séparée (dans le cas où celle-ci est utilisée).</para>
849
            </listitem>
850
          </varlistentry>
851
852
          <varlistentry>
853
            <term>L-OpenReserved:</term>
854
855
            <listitem>
856
              <para>Texte (court) à ajouter à côté des cases à cocher des
857
              questions ouvertes, indiquant aux étudiants que ces cases sont
858
              réservées aux correcteurs.</para>
859
            </listitem>
860
          </varlistentry>
861
        </variablelist>
862
      </sect3>
863
    </sect2>
864
865
    <sect2>
866
      <title>Lignes multiples</title>
867
868
      <para>Tout texte peut se continuer sur la ou les lignes suivantes (même
869
      si certaines sont vides), pourvu qu'elles ne puissent pas être
870
      interprétées comme un début de définition d'option générale, un début de
871
      question ou de réponse. Considérons par exemple l'écriture de question
872
      suivante :</para>
873
874
      <programlisting>* Combien font 2
875
  + 2 ?
876
- 0
877
+ 4
878
- 10</programlisting>
879
880
      <para>Cette écriture suit bien la syntaxe AMC-TXT, mais ne correspond
881
      pas à ce que l'on voulait écrire : ici, la deuxième ligne sera
882
      considérée comme une réponse possible, et non comme la suite de la
883
      question !</para>
884
885
      <para>Un problème similaire sera rencontré dans la portion de fichier
886
      source suivante, où "<code>Chopin:</code>" sera considéré comme une
887
      définition d'option générale :</para>
888
889
      <programlisting>* Vous connaissez sans doute Frédéric
890
  Chopin: c'est un compositeur. De quel pays est-il
891
  originaire ?
892
+ la Pologne
893
- le Vénézuela
894
- la Suisse</programlisting>
895
896
      <para>La version correcte est la suivante :</para>
897
898
      <programlisting>* Vous connaissez sans doute Frédéric Chopin:
899
  c'est un compositeur. De quel pays est-il
900
  originaire ?
901
+ la Pologne
902
- le Vénézuela
903
- la Suisse</programlisting>
904
905
      <para>Notez enfin que pour passer à la ligne suivante, il faut laisser
906
      une ligne vide dans le fichier source de l'examen, comme ceci :</para>
907
908
      <programlisting>Description: Titre
909
910
Description de l'examen sur la ligne suivante.
911
912
** Question difficile.
913
914
Combien y a-t-il d'étoiles dans le ciel ?
915
916
- une
917
- deux
918
- dix millions</programlisting>
919
    </sect2>
920
921
    <sect2>
922
      <title>Titre</title>
923
924
      <para>Vous pouvez insérer un titre en l'entourant de <code>[==</code> et
925
      <code>==]</code>.</para>
926
    </sect2>
927
928
    <sect2 id="parse_embf">
929
      <title>Gras, italique</title>
930
931
      <para>Les parties du textes à écrire en gras devront être entourées de
932
      <code>[*</code> et <code>*]</code>. Les parties à mettre en italique
933
      devront être entourées de <code>[_</code> et <code>_]</code>.</para>
934
935
      <programlisting>** Choisissez parmi les expressions suivantes celles
936
   où le mot en italique est [*un adjectif*].
937
+ Une balle [_bleue_]
938
- Un [_livre_] rose
939
+ Quelle [_belle_] histoire !</programlisting>
940
    </sect2>
941
942
    <sect2 id="parse_images">
943
      <title>Inclusion d'images</title>
944
945
      <para>Vous pouvez inclure des images dans votre document suivant la
946
      syntaxe suivante :</para>
947
948
      <programlisting>![height=2cm]images/oiseau.png!</programlisting>
949
950
      <para>Dans cet exemple, l'image <filename>images/zozo.png</filename>
951
      située dans le répertoire du projet sera insérée avec une hauteur de
952
      2cm. Les options que l'on peut utiliser entre les crochets sont celles
953
      de la commande LaTeX <command>\includegraphics</command> (par exemple,
954
      <parameter>width=1cm</parameter>, ou
955
      <parameter>keepaspectratio</parameter>). Pour obtenir une image centrée
956
      sur une ligne et ayant pour largeur les trois quards de la ligne, on
957
      utilisera de même :</para>
958
959
      <programlisting>!{center}[width=.75\linewidth]images/carte.pdf!</programlisting>
960
    </sect2>
961
962
    <sect2 id="parse_local_latex">
963
      <title>Petits morceaux de LaTeX</title>
964
965
      <para>Vous pouvez inclure quelques segments de code LaTeX dans votre
966
      description en les incluant entre des double crochets, comme dans
967
      l'exemple suivant :</para>
968
969
      <programlisting>Les questions marquées d'un [[\multiSymbole{}]] peuvent avoir zéro, une ou plusieurs bonnes réponses.</programlisting>
970
    </sect2>
971
972
    <sect2 id="sec.txt-groups">
973
      <title>Groupes de questions</title>
974
975
      <para>Vous pouvez demander à ce que certaines questions restent groupées
976
      lors du mélange des questions, et ajouter un texte introductif avant ce
977
      groupe de questions (et un autre texte après), en utilisant la syntaxe
978
      suivante :</para>
979
980
      <programlisting>*( Les trois questions suivantes concernent Martin Luther King.
981
982
* En quelle année est-il né ?
983
- 1901
984
+ 1929
985
- 1968
986
987
* En quelle année est-il mort ?
988
- 1945
989
- 1515
990
+ 1968
991
- 1999
992
993
* Dans quelle ville est-il né ?
994
+ Atlanta
995
- Memphis
996
- New York
997
998
*) Fin des questions sur Martin Luther King. </programlisting>
999
1000
      <para>Vous pouvez ajouter des options à l'ouverture du groupe, comme
1001
      suit :</para>
1002
1003
      <programlisting>*([shuffle=false,columns=2] Les trois questions suivantes concernent Martin Luther King.</programlisting>
1004
1005
      <para>Les options suivantes sont acceptées :</para>
1006
1007
      <variablelist>
1008
        <varlistentry>
1009
          <term>shuffle=<replaceable>xxx</replaceable></term>
1010
1011
          <listitem>
1012
            <para>En donnant la valeur <replaceable>true</replaceable> ou
1013
            <replaceable>false</replaceable>, on demande à mélanger ou non les
1014
            questions de ce groupe. La valeur par défaut est celle utilisée
1015
            globalement par l'option <option>ShuffleQuestions</option>.</para>
1016
          </listitem>
1017
        </varlistentry>
1018
1019
        <varlistentry>
1020
          <term>columns=<replaceable>n</replaceable></term>
1021
1022
          <listitem>
1023
            <para>Donne le nombre de colonnes dans lesquelles seront mises en
1024
            forme les questions.</para>
1025
          </listitem>
1026
        </varlistentry>
1027
1028
        <varlistentry>
1029
          <term>group=<replaceable>nom</replaceable></term>
1030
1031
          <listitem>
1032
            <para>Donne un nom au groupe (celui-ci ne sera pas visible sur le
1033
            sujet, mais uniquement dans le fichier LaTeX généré à partir du
1034
            fichier source AMC-TXT).</para>
1035
          </listitem>
1036
        </varlistentry>
1037
1038
        <varlistentry>
1039
          <term>numquestions=<replaceable>n</replaceable></term>
1040
1041
          <listitem>
1042
            <para>Avec cette option, les <replaceable>n</replaceable>
1043
            premières questions du groupes seront utilisées. Si les questions
1044
            sont mélangées, cela permettra de sélectionner
1045
            <replaceable>n</replaceable> questions au hasard.</para>
1046
1047
            <note>
1048
              <para>Les questions utilisant l'option <option>first</option> ou
1049
              <option>last</option> ne sont pas concernées (et sont toujours
1050
              insérées). Par ailleurs, les suites de questions regroupées en
1051
              utilisant l'option <option>next</option> ne comptent que pour
1052
              une seule question.</para>
1053
            </note>
1054
          </listitem>
1055
        </varlistentry>
1056
      </variablelist>
1057
    </sect2>
1058
1059
    <sect2 id="txt-arabic">
1060
      <title>En langue arabe</title>
1061
1062
      <para>La rédaction d'un questionnaire en langue arabe comporte quelques
1063
      spécificités. Vous utiliserez bien entendu l'option</para>
1064
1065
      <programlisting>Lang: AR</programlisting>
1066
1067
      <para>Mais vous devrez également prêter attention aux options
1068
      suivantes :</para>
1069
1070
      <variablelist>
1071
        <varlistentry>
1072
          <term>ArabicFont:</term>
1073
1074
          <listitem>
1075
            <para>C'est la police de caractères qui sera utilisée pour les
1076
            textes en arabe. Par défaut, AMC utilisera
1077
            <emphasis>Rasheeq</emphasis>, une police du projet <ulink
1078
            url="http://arabeyes.org/">ArabEyes</ulink> (disponible dans la
1079
            paquet ttf-arabeyes sur debian et ubuntu par exemple).</para>
1080
          </listitem>
1081
        </varlistentry>
1082
      </variablelist>
1083
1084
      <warning>
1085
        <para>Pour un meilleur fonctionnement et une meilleure portabilité,
1086
        vous devrez également spécifier explicitement la valeur des options
1087
        <option>L-Name</option> et <option>L-Student</option>.</para>
1088
      </warning>
1089
1090
      <note>
1091
        <para>Pour pouvoir insérer des textes en d'autres caractères dans
1092
        votre questionnaire, vous devrez utiliser l'option
1093
        <option>LaTeX</option> pour passer en mode LaTeX, et englober toutes
1094
        les portions de texte en caractères non-arabes par la commande LaTeX
1095
        <command>\textLR</command> comme dans <code>\textLR{la commande
1096
        xelatex}</code>.</para>
1097
      </note>
1098
    </sect2>
1099
1100
    <sect2 id="txt-japanese">
1101
      <title>En japonais</title>
1102
1103
      <para>Vous pourrez construire des questionnaires incluant des caractères
1104
      japonais grâce à l'option</para>
1105
1106
      <programlisting>Lang: JA</programlisting>
1107
1108
      <para>AMC fera les ajustements nécessaires pour permettre un bon rendu
1109
      de ces caractères.</para>
1110
1111
      <warning>
1112
        <para>Dans ce cas, AMC utilisera <command>pTex</command> comme moteur
1113
        LaTeX. Une version <emphasis>récente</emphasis> de
1114
        <command>pTex</command> est nécessaire. La distribution texlive 2009,
1115
        disponible par exemple sur certaines anciennes versions de
1116
        distributions linux, n'est <emphasis>pas</emphasis> suffisante.</para>
1117
      </warning>
1118
    </sect2>
1119
1120
    <sect2>
1121
      <title>Inclusion de fichiers annexes</title>
1122
1123
      <para>Vous pouvez inclure le contenu d'autres fichiers à tout moment
1124
      comme suit :</para>
1125
1126
      <programlisting>IncludeFile: <replaceable>fichier-a-inclure.txt</replaceable></programlisting>
1127
1128
      <warning>
1129
        <para>Faites très attention si le fichier à inclure est utilisé par
1130
        plusieurs projets ! Supposons par exemple que
1131
        <filename>/home/alexis/questions-a.txt</filename> est inclus à la fois
1132
        dans le projet A et le projet B. Vous avez déjà traité le projet A, et
1133
        êtes en train de vous occuper du projet B. Vous ajoutez une questions
1134
        dans le fichier <filename>/home/alexis/questions-a.txt</filename>, et
1135
        vous modifier le barème d'une question qui existait déjà. Si vous
1136
        relancez l'extraction du barème et la notation sur le sujet A, AMC
1137
        verra apparaître une nouvelle question pour laquelle aucune saisie n'a
1138
        été effectuée, ce qui posera des problèmes dans toute la
1139
        notation !</para>
1140
      </warning>
1141
    </sect2>
1142
  </sect1>
1143
1144
  <sect1 id="latex">
1145
    <title>Source au format LaTeX</title>
1146
1147
    <para>Ce paragraphe détaille la rédaction en LaTeX d'une questionnaire à
1148
    choix multiples utilisable par AMC. Si vous avez choisi un autre format de
1149
    fichier source, vous pouvez passer directement au chapitre suivant.</para>
1150
1151
    <para>Un questionnaire à choix multiples peut être décrit sous la forme
1152
    d'une fichier LaTeX utilisant le package
1153
    <package>automultiplechoice</package>. Vous pouvez à tout moment tester le
1154
    fichier LaTeX que vous êtes en train de concevoir en le compilant avec la
1155
    commande <command>latex</command> puis en visualisant le fichier dvi qui
1156
    en résulte.</para>
1157
1158
    <para>Nous commençons par quelques exemples qui permettent d'appréhender
1159
    rapidement la construction de fichiers LaTeX de QCM ; les fichiers tex de
1160
    ces exemples sont fournis avec AMC sous la forme de modèles utilisables en
1161
    créant un nouveau projet de QCM à partir d'un de ces modèles.</para>
1162
1163
    <sect2>
1164
      <title>Un exemple simple</title>
1165
1166
      <para><!--NAME: Exemple simple
1167
DESC: Un exemple simple (issu de la documentation) avec une question simple et une question multiple.--><programlisting
1168
      id="modeles-simple.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1169
1170
\usepackage[utf8x]{inputenc}    <co id="simple.latin1"
1171
            linkends="simple.latin1.exp"/>
1172
\usepackage[T1]{fontenc}
1173
1174
\usepackage[francais,bloc,completemulti]{automultiplechoice}    <co
1175
            id="simple.amc" linkends="simple.amc.exp"/>
1176
\begin{document}
1177
1178
\exemplaire{10}{    <co id="simple.exemplaire"
1179
            linkends="simple.exemplaire.exp"/>
1180
1181
%%% debut de l'en-tête des copies :    <co id="simple.entete"
1182
            linkends="simple.entete.exp"/>
1183
1184
\noindent{\bf QCM  \hfill TEST}
1185
1186
\vspace*{.5cm}
1187
\begin{minipage}{.4\linewidth}
1188
\centering\large\bf Test\\ Examen du 01/01/2008\end{minipage}
1189
\champnom{\fbox{    <co id="simple.champnom" linkends="simple.champnom.exp"/>
1190
                \begin{minipage}{.5\linewidth}
1191
                  Nom et prénom :
1192
1193
                  \vspace*{.5cm}\dotfill
1194
                  \vspace*{1mm}
1195
                \end{minipage}
1196
         }}
1197
1198
\begin{center}\em
1199
Durée : 10 minutes.
1200
1201
  Aucun document n'est autorisé.
1202
  L'usage de la calculatrice est interdit.
1203
1204
  Les questions faisant apparaître le symbole \multiSymbole{} peuvent
1205
  présenter zéro, une ou plusieurs bonnes réponses. Les autres ont
1206
  une unique bonne réponse.
1207
1208
  Des points négatifs pourront être affectés à de \emph{très
1209
    mauvaises} réponses.
1210
\end{center}
1211
\vspace{1ex}
1212
1213
%%% fin de l'en-tête
1214
1215
\begin{question}{prez}    <co id="simple.qr" linkends="simple.qr.exp"/>
1216
  Parmi les personnalités suivantes, laquelle a été présidente de la république française~?
1217
  \begin{reponses}
1218
    \bonne{René Coty}
1219
    \mauvaise{Alain Prost}
1220
    \mauvaise{Marcel Proust}
1221
    \mauvaise{Claude Monet}
1222
  \end{reponses}
1223
\end{question}
1224
1225
\begin{questionmult}{pref}    <co id="simple.qrmult"
1226
            linkends="simple.qrmult.exp"/>
1227
  Parmi les villes suivantes, lesquelles sont des préfectures~?
1228
  \begin{reponses}
1229
    \bonne{Poitiers}
1230
    \mauvaise{Sainte-Menehould}
1231
    \bonne{Avignon}
1232
  \end{reponses}
1233
\end{questionmult}
1234
1235
\clearpage    <co id="simple.clear" linkends="simple.clear.exp"/>
1236
1237
}   <co id="simple.fin" linkends="simple.fin.exp"/>
1238
1239
\end{document}
1240
</programlisting></para>
1241
1242
      <para>Quelques précisions sur cet exemple :</para>
1243
1244
      <para><calloutlist>
1245
          <callout arearefs="simple.latin1" id="simple.latin1.exp">
1246
            <para>Les deux paquets <package>inputenc</package> et
1247
            <package>fontenc</package> permettent d'écrire le texte du
1248
            questionnaire en utilisant l'encodage ISO-8859-1 (latin1). Vous
1249
            pouvez bien entendu les modifier suivant l'encodage que vous
1250
            utilisez.</para>
1251
          </callout>
1252
1253
          <callout arearefs="simple.amc" id="simple.amc.exp">
1254
            <para>Les options utilisées ici pour le paquet LaTeX
1255
            <package>automultiplechoice</package> permettent d'éviter le
1256
            changement de page à l'intérieur des questions
1257
            (<option>bloc</option>) et de compléter automatiquement chaque
1258
            question multiple par une réponse type permettant à l'étudiant
1259
            d'indiquer qu'il considère qu'aucune des réponses proposées n'est
1260
            exacte (<option>completemulti</option>).</para>
1261
          </callout>
1262
1263
          <callout arearefs="simple.exemplaire" id="simple.exemplaire.exp">
1264
            <para>La commande <command>exemplaire</command> permet de
1265
            fabriquer autant d'exemplaires (différents) du questionnaire QCM
1266
            que l'on souhaite (ici, 10). Voir <xref linkend="sec.unecopie"/>
1267
            pour une syntaxe alternative utilisant un environnement.</para>
1268
          </callout>
1269
1270
          <callout arearefs="simple.entete" id="simple.entete.exp">
1271
            <para>Les lignes qui commencent ici permettent la mise en forme de
1272
            l'en-tête de chaque copie.</para>
1273
          </callout>
1274
1275
          <callout arearefs="simple.champnom" id="simple.champnom.exp">
1276
            <para>La commande <command>champnom</command> permet d'indiquer la
1277
            partie du questionnaire dans laquelle chaque étudiant inscrira son
1278
            nom.</para>
1279
          </callout>
1280
1281
          <callout arearefs="simple.qr" id="simple.qr.exp">
1282
            <para>Les environnements <command>question</command> et
1283
            <command>reponses</command> permettent de fabriquer une question à
1284
            choix multiples pour laquelle une unique réponse est correcte. Il
1285
            faut indiquer un identifiant unique de la question (ici :
1286
            <emphasis>prez</emphasis>).</para>
1287
          </callout>
1288
1289
          <callout arearefs="simple.qrmult" id="simple.qrmult.exp">
1290
            <para>Les environnements <command>questionmult</command> et
1291
            <command>reponses</command> permettent de fabriquer une question
1292
            pouvant avoir zéro, une ou plusieurs bonnes réponses. L'étudiant
1293
            est donc invité à cocher toutes les cases correspondant aux
1294
            réponses qu'il pense correctes, ou la dernière case (ajoutée
1295
            automatiquement grâce à l'option <option>completemulti</option>
1296
            passée au paquet en ligne 6).</para>
1297
          </callout>
1298
1299
          <callout arearefs="simple.clear" id="simple.clear.exp">
1300
            <para>La commande <command>clearpage</command> permet de passer à
1301
            la page suivante pour le début de la copie suivante.</para>
1302
          </callout>
1303
1304
          <callout arearefs="simple.fin" id="simple.fin.exp">
1305
            <para>Cette fermeture d'accolade marque la fin de la commande
1306
            <command>exemplaire</command> (débutée à la ligne 9).</para>
1307
          </callout>
1308
        </calloutlist></para>
1309
    </sect2>
1310
1311
    <sect2>
1312
      <title>Un exemple avec groupes de questions mélangées</title>
1313
1314
      <para>Dans cet exemple, on veut que l'ordre dans lequel les questions
1315
      sont posées soit différent d'une copie à l'autre, tout en laissant
1316
      ensemble les questions traitant du même sujet. On va donc créer deux
1317
      groupes de questions, et les mélanger lors de la fabrication de chaque
1318
      copie. <!--NAME: Groupes
1319
DESC: Un exemple (issu de la documentation) où les questions sont mélangées à l'intérieur de deux groupes différents.--><programlisting
1320
      id="modeles-groupes.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1321
1322
\usepackage[utf8x]{inputenc}
1323
\usepackage[T1]{fontenc}
1324
1325
\usepackage[francais,bloc,completemulti]{automultiplechoice}
1326
\begin{document}
1327
1328
%%% préparation des groupes
1329
1330
\element{geographie}{
1331
  \begin{question}{Paris}
1332
    Dans quel continent se situe Paris~?
1333
    \begin{reponses}
1334
      \bonne{L'Europe}
1335
      \mauvaise{L'Afrique}
1336
      \mauvaise{L'Asie}
1337
      \mauvaise{La planète Mars}
1338
    \end{reponses}
1339
  \end{question}
1340
}
1341
1342
\element{geographie}{
1343
  \begin{question}{Cameroun}
1344
    Quelle est la capitale du Cameroun~?
1345
    \begin{reponses}
1346
      \bonne{Yaoundé}
1347
      \mauvaise{Douala}
1348
      \mauvaise{Abou-Dabi}
1349
    \end{reponses}
1350
  \end{question}
1351
}
1352
1353
\element{histoire}{
1354
  \begin{question}{Marignan}
1355
    En quelle année a eu lieu la bataille de Marignan~?
1356
    \begin{reponseshoriz}
1357
      \bonne{1515}
1358
      \mauvaise{1915}
1359
      \mauvaise{1519}
1360
    \end{reponseshoriz}
1361
  \end{question}
1362
}
1363
1364
\element{histoire}{
1365
  \begin{questionmult}{Nantes}
1366
    Que peut-on dire de l'Édit de Nantes~?
1367
    \begin{reponses}
1368
      \bonne{Il a été signé en 1598}
1369
      \bonne{Il a été définitivement révoqué par Louis XIV}
1370
      \mauvaise{Il a été signé par Henri II}
1371
    \end{reponses}
1372
  \end{questionmult}
1373
}
1374
1375
%%% fabrication des copies
1376
1377
\exemplaire{10}{
1378
1379
%%% debut de l'en-tête des copies :
1380
1381
\noindent{\bf QCM  \hfill TEST}
1382
1383
\vspace*{.5cm}
1384
\begin{minipage}{.4\linewidth}
1385
  \centering\large\bf Histoire et géographie\\ Examen du 01/01/2008
1386
\end{minipage}
1387
\champnom{\fbox{\begin{minipage}{.5\linewidth}
1388
Nom et prénom :
1389
1390
\vspace*{.5cm}\dotfill
1391
\vspace*{1mm}
1392
\end{minipage}}}
1393
1394
%%% fin de l'en-tête
1395
1396
\begin{center}
1397
  \hrule\vspace{2mm}
1398
  \bf\Large Géographie
1399
  \vspace{1mm}\hrule
1400
\end{center}
1401
1402
\melangegroupe{geographie}
1403
\restituegroupe{geographie}
1404
1405
\begin{center}
1406
  \hrule\vspace{2mm}
1407
  \bf\Large Histoire
1408
  \vspace{2mm}\hrule
1409
\end{center}
1410
1411
\melangegroupe{histoire}
1412
\restituegroupe{histoire}
1413
1414
\clearpage
1415
1416
}
1417
1418
\end{document}
1419
</programlisting></para>
1420
    </sect2>
1421
1422
    <sect2 id="secensemble">
1423
      <title>Un exemple avec une feuille de réponses séparée</title>
1424
1425
      <para>Dans cet exemple, on souhaite que les cases à cocher soient toutes
1426
      rassemblées sur une feuille à part. De cette manière, la triche entre
1427
      étudiants est plus difficile, et surtout, il suffira de scanner une
1428
      seule page par étudiant, ce qui allège la tâche de l'enseignant dans le
1429
      cas où son matériel ne lui permet de scanner les copies que de manière
1430
      manuelle. Dans cet exemple, le nombre de questions est réduit : elles
1431
      tiennent toutes sur une page et il serait donc inutile d'utiliser une
1432
      telle mise en page dans ce cas précis. À vous de modifier cette base
1433
      pour utiliser cette mise en page avec de nombreuses questions !</para>
1434
1435
      <para><!--NAME: Réponses séparées
1436
DESC: Un exemple (issu de la documentation) où toutes les cases à cocher sont regroupées sur une page à part pour chaque étudiant.--><programlisting
1437
      id="modeles-ensemble.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1438
1439
\usepackage[utf8x]{inputenc}    
1440
\usepackage[T1]{fontenc}
1441
1442
\usepackage[francais,bloc,completemulti,ensemble]{automultiplechoice}    <co
1443
            id="ensemble.opt" linkends="ensemble.opt.exp"/>
1444
\begin{document}
1445
1446
\AMCrandomseed{1237893}
1447
1448
\def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par {\sc Question #1 :} }    <co
1449
            id="ensemble.fq" linkends="ensemble.fq.exp"/>
1450
1451
\element{general}{
1452
  \begin{question}{prez}    
1453
    Parmi les personnalités suivantes, laquelle a été présidente de la république française~?
1454
    \begin{reponses}
1455
      \bonne{René Coty}
1456
      \mauvaise{Alain Prost}
1457
      \mauvaise{Marcel Proust}
1458
      \mauvaise{Claude Monet}
1459
    \end{reponses}
1460
  \end{question}
1461
}
1462
1463
\element{general}{
1464
  \begin{questionmult}{pref}    
1465
    Parmi les villes suivantes, lesquelles sont des préfectures~?
1466
    \begin{reponses}
1467
      \bonne{Poitiers}
1468
      \mauvaise{Sainte-Menehould}
1469
      \bonne{Avignon}
1470
    \end{reponses}
1471
  \end{questionmult}
1472
}
1473
1474
\element{general}{
1475
  \begin{question}{nb-ue}
1476
    Combien d'états sont membres de l'Union Européenne en janvier 2009 ?
1477
    \begin{reponseshoriz}[o]
1478
      \mauvaise{15}
1479
      \mauvaise{21}
1480
      \mauvaise{25}
1481
      \bonne{27}
1482
      \mauvaise{31}
1483
    \end{reponseshoriz}
1484
  \end{question}
1485
}
1486
1487
\exemplaire{5}{    
1488
1489
%%% debut de l'en-tête des copies :    
1490
1491
\noindent{\bf QCM  \hfill TEST}
1492
1493
\vspace*{.5cm}
1494
\begin{minipage}{.4\linewidth}
1495
  \centering\large\bf Test\\ Examen du 01/01/2008
1496
\end{minipage}
1497
1498
\begin{center}\em
1499
Durée : 10 minutes.
1500
1501
  Aucun document n'est autorisé.
1502
  L'usage de la calculatrice est interdit.
1503
1504
  Les questions faisant apparaître le symbole \multiSymbole{} peuvent
1505
  présenter zéro, une ou plusieurs bonnes réponses. Les autres ont
1506
  une unique bonne réponse.
1507
1508
  Des points négatifs pourront être affectés à de \emph{très
1509
    mauvaises} réponses.
1510
\end{center}
1511
\vspace{1ex}
1512
1513
%%% fin de l'en-tête
1514
1515
\melangegroupe{general}
1516
\restituegroupe{general}
1517
1518
\AMCcleardoublepage    <co id="ensemble.cp" linkends="ensemble.cp.exp"/>
1519
1520
\AMCdebutFormulaire    <co id="debut.form" linkends="debut.form.exp"/>
1521
1522
%%% début de l'en-tête de la feuille de réponses
1523
1524
{\large\bf Feuille de réponses :}
1525
\hfill \champnom{\fbox{    <co id="ensemble.nom" linkends="ensemble.nom.exp"/>
1526
    \begin{minipage}{.5\linewidth}
1527
      Nom et prénom :
1528
      
1529
      \vspace*{.5cm}\dotfill
1530
      \vspace*{1mm}
1531
    \end{minipage}
1532
  }}
1533
1534
\begin{center}
1535
  \bf\em Les réponses aux questions sont à donner exclusivement sur cette feuille :
1536
  les réponses données sur les feuilles précédentes ne seront pas prises en compte.
1537
\end{center}
1538
1539
%%% fin de l'en-tête de la feuille de réponses
1540
1541
\formulaire    <co id="ensemble.formulaire" linkends="ensemble.formulaire.exp"/>
1542
1543
\clearpage    
1544
1545
}  
1546
1547
\end{document}</programlisting>Les remarques suivantes devraient éclaircir cet
1548
      exemple :<calloutlist>
1549
          <callout arearefs="ensemble.opt" id="ensemble.opt.exp">
1550
            <para>C'est l'option <option>ensemble</option> qui permet de faire
1551
            ce que l'on veut faire ici.</para>
1552
          </callout>
1553
1554
          <callout arearefs="ensemble.fq" id="ensemble.fq.exp">
1555
            <para>On peut redéfinir de cette manière la façon dont les
1556
            questions seront identifiées sur la page des réponses (cette ligne
1557
            est facultative).</para>
1558
          </callout>
1559
1560
          <callout arearefs="ensemble.cp" id="ensemble.cp.exp">
1561
            <para>Ce saut de page précède la page spéciale où seront
1562
            regroupées toutes les cases à cocher. Si on imprime en
1563
            recto-verso, il vaut mieux utiliser
1564
            <command>\AMCcleardoublepage</command> pour que la page de
1565
            formulaire soit sur une feuille séparée des autres. Si on imprime
1566
            en recto simple, on peut utiliser simplement
1567
            <command>\clearpage</command>.</para>
1568
          </callout>
1569
1570
          <callout arearefs="debut.form" id="debut.form.exp">
1571
            <para>Cette commande marque le début de la partie formulaire de la
1572
            copie. Son utilisation est indispensable pour un bon traitement
1573
            des questions qui n'apparaissent que dans cette partie, comme par
1574
            exemple celles générées par <command>AMCcode</command>.</para>
1575
          </callout>
1576
1577
          <callout arearefs="ensemble.nom" id="ensemble.nom.exp">
1578
            <para>La case où écrire son nom doit normalement être située sur
1579
            la page des réponses !</para>
1580
          </callout>
1581
1582
          <callout arearefs="ensemble.formulaire" id="ensemble.formulaire.exp">
1583
            <para>C'est la commande LaTeX <command>formulaire</command> qui
1584
            écrit toutes les cases à cocher.</para>
1585
          </callout>
1586
        </calloutlist></para>
1587
1588
      <warning>
1589
        <para>Quand on utilise une page de réponses séparée, des lettres (ou
1590
        des chiffres, avec l'utilisation de l'option
1591
        <option>chiffres</option>, voir <xref linkend="sec.package.options"/>)
1592
        sont inscrites dans les cases à cocher. Pour obtenir une bonne
1593
        détection des cases cochées, il est donc indispensable de demander aux
1594
        étudiants de remplir totalement les cases voulues (cocher uniquement
1595
        les cases à l'aide d'une croix ne serait pas suffisant). Il faut par
1596
        ailleurs fixer le paramètre « seuil de noirceur » (qui définit la
1597
        proportion de noir dans une case à partir de laquelle cette case est
1598
        considérée comme étant cochée) à une valeur de l'ordre de 0,5.</para>
1599
      </warning>
1600
    </sect2>
1601
1602
    <sect2>
1603
      <title>Description des commandes LaTeX</title>
1604
1605
      <sect3 id="sec.package.options">
1606
        <title id="sec.package.options.titre">Options du paquet</title>
1607
1608
        <para>L'utilisation du paquet <package>automultiplechoice</package> se
1609
        fait grâce à la ligne <programlisting>\usepackage[...]{automultiplechoice}</programlisting>
1610
        les pointillés sont remplacés par une liste d'options séparées par des
1611
        virgules. Les options disponibles sont les suivantes :</para>
1612
1613
        <itemizedlist>
1614
          <listitem>
1615
            <para><option>francais</option> : indique que le sujet d'examen
1616
            est en français. Les quelques mentions éventuellement ajoutées par
1617
            <package>automultiplechoice</package> seront alors écrites en
1618
            français (on peut en particulier penser à la phrase
1619
            « <emphasis>aucune de ces réponses n'est correcte</emphasis> »,
1620
            voir option <option>completemulti</option> plus loin).</para>
1621
          </listitem>
1622
1623
          <listitem>
1624
            <para><option>lang=<replaceable>XX</replaceable></option> :
1625
            indique que le sujet est dans la langue
1626
            <replaceable>XX</replaceable>. Pour le moment, seules les langues
1627
            FR (français), DE (allemand), ES (espagnol), IT (Italien), JA
1628
            (Japonais) et NL (Néerlandais) sont disponibles.</para>
1629
          </listitem>
1630
1631
          <listitem>
1632
            <para><option>bloc</option> : place chaque question dans un bloc,
1633
            de telle sorte qu'elle ne puisse pas être coupée par un saut de
1634
            page.</para>
1635
          </listitem>
1636
1637
          <listitem>
1638
            <para><option>completemulti</option> : ajoute de manière
1639
            automatique une réponse type « aucune de ces réponses n'est
1640
            correcte » à la fin de chaque question multiple. Ceci permet de
1641
            différencier, pour ces questions, une absence de réponse et la
1642
            réponse qui consiste à ne choisir aucune des réponses proposées.
1643
            Que cette option soit utilisée ou non, on peut demander l'ajout de
1644
            cette dernière réponse ou l'annuler pour une question particulière
1645
            en utilisant une des commandes
1646
            <command>\AMCcompleteMulti</command> et
1647
            <command>\AMCnoCompleteMulti</command> à l'intérieur de
1648
            l'environnement <command>questionmult</command>
1649
            correspondant.</para>
1650
          </listitem>
1651
1652
          <listitem>
1653
            <para><option>ordre</option> : annule le mélange automatique de
1654
            l'ordre des réponses dans toutes les questions.</para>
1655
          </listitem>
1656
1657
          <listitem>
1658
            <para><option>correc</option> : produit la correction du QCM, et
1659
            non le sujet.</para>
1660
          </listitem>
1661
1662
          <listitem>
1663
            <para><option>correcindiv</option> : produit la correction de tous les sujets. Très utile si vous utilisez des nombres aléatoires.</para>
1664
          </listitem>   
1665
1666
          <listitem>
1667
            <para><option>ensemble</option> : demande à ce que les cases à
1668
            cocher soient toutes rassemblées en fin de copie (cette option est
1669
            en général utilisée quand on ne veut scanner qu'une seule page par
1670
            étudiant - voir l'exemple de la <xref
1671
            linkend="secensemble"/>).</para>
1672
          </listitem>
1673
1674
          <listitem>
1675
            <para><option>chiffres</option> : si on utilise l'option
1676
            <option>ensemble</option>, l'option <option>chiffres</option>
1677
            demande d'identifier les questions avec des chiffres plutôt
1678
            qu'avec des lettres (ce qui est le comportement par défaut). Avec
1679
            cette option, il faut bien entendu veiller à ce que le nombre de
1680
            réponses ne dépasse pas 9 pour chaque question.</para>
1681
          </listitem>
1682
1683
          <listitem>
1684
            <para><option>outsidebox</option> : si on utilise l'option
1685
            <option>ensemble</option>, cette option demande à ce que les
1686
            lettres ou chiffres soient inscrits, sur la feuille de réponses, à
1687
            l'extérieur des cases à cocher plutôt qu'à l'intérieur.</para>
1688
          </listitem>
1689
1690
          <listitem>
1691
            <para><option>insidebox</option> : si on n'utilise pas l'option
1692
            <option>ensemble</option>, cette option permet d'inscrire des
1693
            lettres (ou chiffres) à l'intérieur des cases à cocher (ce n'est
1694
            pas le cas par défaut).</para>
1695
          </listitem>
1696
1697
          <listitem>
1698
            <para><option>catalog</option> : option utilisée pour présenter
1699
            les questions sous forme d'un catalogue dans lequel on piochera
1700
            pour constituer un examen. Les questions ne sont pas identifiées
1701
            par des numéros mais par leur nom. En général, on n'utilise pas la
1702
            commande <command>\exemplaire</command> pour cette
1703
            présentation.</para>
1704
          </listitem>
1705
1706
          <listitem>
1707
            <para><option>postcorrect</option> : option utilisée si on
1708
            souhaite indiquer les bonnes réponses après l'examen, grâce à une
1709
            copie remplie par l'enseignant - voir <xref
1710
            linkend="postcorrect"/>.</para>
1711
          </listitem>
1712
1713
          <listitem>
1714
            <para><option>automarks</option> : en mode
1715
            <option>ensemble</option>, utilisez cette option si vous voulez
1716
            que les marques de calage ne soient pas imprimées sur les pages de
1717
            sujet, mais uniquement sur les pages de réponse. Vous pouvez alors
1718
            personnaliser la façon d'imprimer les numéros de page sur le sujet
1719
            en redéfinissant la commande
1720
            <command>\AMCsubjectPageTag</command> :</para>
1721
1722
            <programlisting>\renewcommand\AMCsubjectPageTag{%
1723
  \fbox{\texttt{\the\AMCid@etud:\thepage}}%
1724
}</programlisting>
1725
1726
            <warning>
1727
              <para>L'option <option>automarks</option> ne doit pas être
1728
              utilisée dans le cas ou une quelconque information doit être
1729
              collectée depuis les pages de sujet, car AMC ne pourra pas
1730
              traiter ces pages.</para>
1731
            </warning>
1732
          </listitem>
1733
        </itemizedlist>
1734
      </sect3>
1735
1736
      <sect3 id="sec.unecopie">
1737
        <title>Description d'une copie</title>
1738
1739
        <para>Le code LaTeX décrivant le contenu de chaque copie doit être
1740
        inclus dans un appel à la commande <command>\exemplaire</command>,
1741
        avec pour premier argument le nombre de copies et pour deuxième
1742
        argument le code utilisé pour générer une copie.</para>
1743
1744
        <programlisting>\exemplaire{50}{ ... }</programlisting>
1745
1746
        <para>Si vous avez chargé le paquet LaTeX <package>environ</package>
1747
        <emphasis>avant</emphasis> <package>automultiplechoice</package>, vous
1748
        disposez d'une syntaxe alternative utilisant l'environnement
1749
        <command>copieexamen</command>, qui a en option le nombre de copies
1750
        désiré (5 par défaut).</para>
1751
1752
        <programlisting>\begin{copieexamen}[50]
1753
...
1754
\end{copieexamen}</programlisting>
1755
1756
        <note>
1757
          <para>Le paquet <package>environ</package> n'est pas disponible dans
1758
          la distribution TeX Live 2007, encore utilisée dans des
1759
          distributions Ubuntu jusqu'à la version 9.10 (Karmic Koala).</para>
1760
        </note>
1761
      </sect3>
1762
1763
      <sect3 id="latex.qr">
1764
        <title id="latex.qr.title">Questions et réponses</title>
1765
1766
        <para>Pour les questions simples (une seule réponse correcte), on
1767
        utilisera le modèle suivant : <programlisting
1768
        linenumbering="unnumbered">\begin{question}{identifiant}
1769
  Texte de la question...
1770
  \begin{reponses}
1771
    \bonne{La bonne réponse}
1772
    \mauvaise{Une mauvaise réponse}
1773
    \mauvaise{Une autre mauvaise réponse}
1774
  \end{reponses}
1775
\end{question}</programlisting></para>
1776
1777
        <important>
1778
          <para>Il faut utiliser un <parameter>identifiant</parameter>
1779
          différent pour chaque question. Un identifiant peut être constitué
1780
          de chiffres, lettres et caractères simples (ne pas utiliser le
1781
          caractère souligné <code>_</code>, les accolades, crochets, par
1782
          exemple !). Il ne faut pas utiliser d'identifiants se terminant par
1783
          un point suivi d'un ou plusieurs chiffres (comme
1784
          <parameter>marine-marchande.2</parameter> ou
1785
          <parameter>123.27</parameter>), car cette forme d'identifiants est
1786
          réservée à la saisie de longs codes (par exemple grâce à
1787
          <command>\AMCcode</command> - voir <xref
1788
          linkend="latex.codes"/>).</para>
1789
        </important>
1790
1791
        <note>
1792
          <para>Le nombre de réponses pour une question est actuellement
1793
          limité à 20.</para>
1794
        </note>
1795
1796
        <para>Pour demander à garder l'ordre des réponses pour cette
1797
        question-ci, on peut utiliser l'option <option>o</option> de
1798
        l'environnement <option>reponses</option>, en remplaçant la ligne 3
1799
        par <programlisting>\begin{reponses}[o]</programlisting></para>
1800
1801
        <para>Pour mettre les réponses sur deux colonnes, on peut utiliser le
1802
        package <package>multicol</package> en mettant dans le préambule
1803
        (juste après l'appel au paquet <package>automultiplechoice</package>
1804
        par exemple) la ligne <programlisting>\usepackage{multicol}</programlisting>et
1805
        en incluant l'environnement reponses à l'intérieur d'un environnement
1806
        multicols de la manière suivante : <programlisting>  \begin{multicols}{2}
1807
    \begin{reponses}
1808
      \bonne{La bonne réponse}
1809
      \mauvaise{Une mauvaise réponse}
1810
      \mauvaise{Une autre mauvaise réponse}
1811
    \end{reponses}
1812
  \end{multicols}</programlisting></para>
1813
1814
        <para>Pour les réponses plus courtes encore, on peut demander à ce que
1815
        les réponses soient imprimées les unes à la suite des autres, en
1816
        utilisant l'environnement <option>reponseshoriz</option> au lieu de
1817
        <option>reponses</option>.</para>
1818
1819
        <para>Les questions multiples (celles pour lesquelles aucune, une ou
1820
        plusieurs réponses peuvent être correctes) utiliseront l'environnement
1821
        <option>questionmult</option> au lieu de
1822
        <option>question</option>.</para>
1823
1824
        <para>Dans le cas où la question posée est juste informative et ne
1825
        doit pas contribuer à la note de l'étudiant, on utilisera la commande
1826
        <code>\QuestionIndicative</code>, comme dans l'exemple
1827
        suivant :</para>
1828
1829
        <para><programlisting>\begin{question}{facilite}\QuestionIndicative
1830
  \bareme{auto=0,v=-1,e=-2}
1831
  Vous êtes-vous sentis à l'aise ou en difficulté dans cet enseignement ?
1832
  Répondez sur une échelle de 0 (grandes difficultés) à 5 (très à l'aise).
1833
  \begin{reponseshoriz}[o]
1834
    \bonne{0}
1835
    \bonne{1}
1836
    \bonne{2}
1837
    \bonne{3}
1838
    \bonne{4}
1839
    \bonne{5}
1840
  \end{reponseshoriz}
1841
\end{question}</programlisting></para>
1842
      </sect3>
1843
1844
      <sect3>
1845
        <title>Réponses sur plusieurs colonnes</title>
1846
1847
        <para>Afin de présenter les réponses sur plusieurs colonnes (et gagner
1848
        de la place), on pourra englober l'environnement
1849
        <option>reponses</option> dans un environnement
1850
        <option>multicols</option>, en utilisant le paquet LaTeX
1851
        <package>multicol</package>.</para>
1852
1853
        <para>Si de plus les réponses tiennent sur plusieurs lignes, cela
1854
        pourrait entraîner le passage d'une réponse d'une colonne à l'autre,
1855
        ce qui est un peu déroutant pour le lecteur. La commande
1856
        <command>\AMCBoxedAnswers</command> a été définie afin d'éviter ce
1857
        phénomène, en enveloppant chaque réponse dans une boite. On pourra
1858
        l'utiliser comme dans l'exemple suivant :</para>
1859
1860
        <para><programlisting>\begin{question}{deux colonnes}
1861
  Qu'est-ce qu'un oiseau ?
1862
  \begin{multicols}{2}\AMCBoxedAnswers
1863
    \begin{reponses}
1864
      \bonne{C'est un animal à ailes et qui pond des \oe{}ufs.
1865
        Il y en a de toutes les couleurs}
1866
      \mauvaise{C'est un grand meuble en bois qui sert la plupart
1867
        du temps à ranger du linge de maison}
1868
      \mauvaise{C'est une machine à vapeur qui permet de fermer
1869
        les boîtes de conserve à grande vitesse}
1870
    \end{reponses}
1871
  \end{multicols}
1872
\end{question}</programlisting></para>
1873
1874
        <para>On notera qu'il est aussi possible de paramétrer l'espace
1875
        vertical séparant deux blocs de réponse grâce à la dimension
1876
        <parameter>AMCinterBrep</parameter> :</para>
1877
1878
        <para><programlisting>\AMCinterBrep=.5ex</programlisting></para>
1879
      </sect3>
1880
1881
      <sect3>
1882
        <title>Espacement entre les réponses</title>
1883
1884
        <para>Il est possible d'augmenter l'espace vertical séparant plusieurs
1885
        réponses en modifiant la dimension
1886
        <parameter>AMCinterIrep</parameter> :</para>
1887
1888
        <programlisting>\AMCinterIrep=.75ex</programlisting>
1889
      </sect3>
1890
1891
      <sect3>
1892
        <title>Groupes de questions</title>
1893
1894
        <para>L'inclusion de questions dans des groupes permet de mélanger les
1895
        questions à l'intérieur de ces groupes, de manière différente pour
1896
        chaque copie. Chaque groupe de questions devra avoir un nom formé
1897
        uniquement de lettres non-accentuées.</para>
1898
1899
        <para>On peut mettre une à une des questions dans un groupe, comme
1900
        dans l'exemple suivant : <programlisting>\element{ungroupe}{
1901
  \begin{question}{facile}
1902
    Alors, combien font un plus un~?
1903
    \begin{reponseshoriz}
1904
      \bonne{deux}
1905
      \mauvaise{zéro}
1906
      \mauvaise{trois}
1907
    \end{reponseshoriz}
1908
  \end{question}
1909
}</programlisting></para>
1910
1911
        <important>
1912
          <para>La constitution du groupe, par les commandes
1913
          <command>element</command>, doit être faite une seule fois : ces
1914
          commandes doivent donc être utilisées <emphasis>avant</emphasis> la
1915
          commande <command>exemplaire</command>, qui va répéter certaines
1916
          actions pour chaque copie.</para>
1917
        </important>
1918
1919
        <para>Une fois un groupe constitué, on peut mélanger les questions qui
1920
        le composent par la commande <command>melangegroupe</command> : par
1921
        exemple, <programlisting>\melangegroupe{ungroupe}</programlisting></para>
1922
1923
        <para>Enfin, on restitue les questions du groupe par la commande
1924
        <command>restituegroupe</command>, comme dans <programlisting>\restituegroupe{ungroupe}</programlisting></para>
1925
1926
        <note>
1927
          <para>Ces deux dernières commandes (<command>melangegroupe</command>
1928
          et <command>restituegroupe</command>) seront quand à elles
1929
          normalement utilisées à l'intérieur du texte en argument de la
1930
          commande <command>exemplaire</command>, pour que le mélange soit
1931
          effectué avant chaque copie.</para>
1932
        </note>
1933
1934
        <para>On peut manipuler les groupes de questions de manière plus
1935
        précise grâce aux commandes suivantes :</para>
1936
1937
        <itemizedlist>
1938
          <listitem>
1939
            <para><code>\restituegroupe[n]{ungroupe}</code> (utilisation du
1940
            paramètre optionnel <replaceable>n</replaceable>) restitue
1941
            uniquement les <replaceable>n</replaceable> premiers éléments du
1942
            groupe.</para>
1943
          </listitem>
1944
1945
          <listitem>
1946
            <para><code>\cleargroup{groupe}</code> efface tout le contenu du
1947
            groupe.</para>
1948
          </listitem>
1949
1950
          <listitem>
1951
            <para><code>\copygroup{depuis}{vers}</code> copie le contenu du
1952
            groupe <replaceable>depuis</replaceable> à la fin du groupe
1953
            <replaceable>vers</replaceable>. Cette commande admet un argument
1954
            optionnel qui permet de ne copier qu'un certain nombre d'éléments,
1955
            comme dans <code>\copygroup[n]{depuis}{vers}</code>.</para>
1956
          </listitem>
1957
        </itemizedlist>
1958
1959
        <para>À l'aide de ces commandes, on peut par exemple composer un sujet
1960
        en prenant 4 questions au hasard dans le groupe GA, 5 questions au
1961
        hasard dans le groupe GB, toutes les questions du groupe GO, puis en
1962
        mélangeant le tout, grâce aux commandes suivantes (à mettre à
1963
        l'intérieur du texte en argument de la commande
1964
        <command>exemplaire</command>) :</para>
1965
1966
        <programlisting>\cleargroup{tout}
1967
\melangegroupe{GA}\copygroup[4]{GA}{tout}
1968
\melangegroupe{GB}\copygroup[5]{GB}{tout}
1969
\copygroup{GO}{tout}
1970
\melangegroupe{tout}
1971
\restituegroupe{tout}</programlisting>
1972
      </sect3>
1973
1974
      <sect3>
1975
        <title>Papier, marges</title>
1976
1977
        <para>Le paquet LaTeX <command>automultiplechoice</command> utilise
1978
        <command>geometry</command> pour gérer les marges et la mise en page.
1979
        Vous pouvez modifier ses réglages grâce à l'utilisation de la commande
1980
        <command>\geometry</command> juste avant le
1981
        <code>\begin{document}</code> - voir la documentation du paquet
1982
        <command>geometry</command> pour plus de détails. Les valeurs
1983
        initialisées par AMC sont les suivantes :</para>
1984
1985
        <programlisting>\geometry{hmargin=3cm,headheight=2cm,headsep=.3cm,footskip=1cm,top=3.5cm,bottom=2.5cm}</programlisting>
1986
1987
        <para>Si vous réduisez les marges pour gagner de la place, gardez à
1988
        l'esprit que :</para>
1989
1990
        <itemizedlist>
1991
          <listitem>
1992
            <para>Les quatre marques de coin doivent être imprimées
1993
            entièrement (elles pourraient disparaître à cause des marges
1994
            d'impression).</para>
1995
          </listitem>
1996
1997
          <listitem>
1998
            <para>Les quatre marques de coin doivent apparaître complètement
1999
            sur les scans des copies remplies par les étudiants (si elles sont
2000
            trop près des bords, elles pourraient disparaître lors du scan à
2001
            la suite d'un décalage ou d'une rotation des feuilles de
2002
            papier).</para>
2003
          </listitem>
2004
        </itemizedlist>
2005
2006
        <para>Vous pouvez également préciser la taille de papier à utiliser en
2007
        ajoutant l'option correspondante à la liste donnée en argument à
2008
        <command>\geometry</command>. Parmi les valeurs possibles, on trouvera
2009
        <code>a4paper</code>, <code>a5paper</code>, <code>a6paper</code>,
2010
        <code>b4paper</code>, <code>b5paper</code>, <code>ansibpaper</code>,
2011
        <code>ansicpaper</code>, <code>ansidpaper</code>,
2012
        <code>letterpaper</code>, <code>executivepaper</code>,
2013
        <code>legalpaper</code>.</para>
2014
2015
        <para>Pour des petites tailles de papier, il peut aussi être
2016
        intéressant de modifier la position de l'identifiant de copie (de la
2017
        forme <code>+1/1/53+</code>) à côté de son équivalent en cases
2018
        blanches et noires, en haut de chaque page. Ceci est rendu possible
2019
        par la commande <command>\AMCidsPosition</command>, sous la
2020
        forme</para>
2021
2022
        <programlisting>\AMCidsPosition{pos=<replaceable>p</replaceable>,width=<replaceable>w</replaceable>,height=<replaceable>h</replaceable>}</programlisting>
2023
2024
        <para><replaceable>p</replaceable> peut valoir <code>none</code>
2025
        (ne pas écrire cet identifiant), <code>top</code> (l'écrire au-dessus)
2026
        et <code>side</code> (à côté), et <replaceable>w</replaceable> et
2027
        <replaceable>h</replaceable> sont les dimensions de la boîte
2028
        (invisible) qui entoure l'identifiant. Les valeurs par défaut sont les
2029
        suivantes :</para>
2030
2031
        <programlisting>\AMCidsPosition{pos=side,width=4cm,height=3ex}</programlisting>
2032
2033
        <para>Concluons par un exemple raisonnable au format A5 :</para>
2034
2035
        <programlisting>\geometry{a5paper,hmargin=1.6cm,top=2.5cm}
2036
\AMCidsPosition{pos=top}</programlisting>
2037
      </sect3>
2038
2039
      <sect3>
2040
        <title>Style des cases à cocher</title>
2041
2042
        <para>La commande <command>\AMCboxDimensions</command> permet de
2043
        modifier une ou plusieurs dimensions relatives aux cases à
2044
        cocher :</para>
2045
2046
        <itemizedlist>
2047
          <listitem>
2048
            <para><option>shape</option> représente la forme des cases à
2049
            cocher. La valeur <replaceable>square</replaceable> produit des
2050
            carrés (ou des rectangles si on donne des dimensions différentes
2051
            pour la hauteur et la largeur). La valeur
2052
            <replaceable>oval</replaceable> produit des cercles ou des ovales.
2053
            Si vous voulez utiliser <replaceable>oval</replaceable>, vous
2054
            devez charger le paquet LaTeX tikz.</para>
2055
          </listitem>
2056
2057
          <listitem>
2058
            <para><option>width</option> représente la largeur des
2059
            cases ;</para>
2060
          </listitem>
2061
2062
          <listitem>
2063
            <para><option>height</option> représente la hauteur des
2064
            cases ;</para>
2065
          </listitem>
2066
2067
          <listitem>
2068
            <para><option>size</option> représente la taille (à la fois
2069
            <option>width</option> et <option>height</option>) de ces
2070
            cases ;</para>
2071
          </listitem>
2072
2073
          <listitem>
2074
            <para><option>rule</option> représente l'épaisseur du contour des
2075
            cases ;</para>
2076
          </listitem>
2077
2078
          <listitem>
2079
            <para><option>down</option> représente la taille du déplacement
2080
            vers le bas des cases.</para>
2081
          </listitem>
2082
        </itemizedlist>
2083
2084
        <para>Pour obtenir des cases plus petites, on pourra par exemple
2085
        utiliser la commande</para>
2086
2087
        <programlisting>\AMCboxDimensions{size=1.7ex,down=.2ex}</programlisting>
2088
2089
        <para>Lors de l'utilisation de l'option <option>ensemble</option>, il
2090
        est possible de modifier la manière de nommer les cases à cocher
2091
        (c'est-à-dire ce qui sera inscrit dans chaque case). Le comportement
2092
        par défaut est d'écrire des lettres majuscules, ou des chiffres si
2093
        l'option <option>chiffres</option> est utilisée. Pour changer cela, il
2094
        faut redéfinir la commande <command>\AMCchoiceLabel</command>, qui
2095
        prend comme unique argument le nom du compteur utilisé pour la
2096
        numérotation des cases. Ainsi, pour obtenir des lettres minuscules, on
2097
        utilisera</para>
2098
2099
        <programlisting>\def\AMCchoiceLabel#1{\alph{#1}}</programlisting>
2100
2101
        <para>De même, lors de l'utilisation du paquet LaTeX
2102
        <command>arabxetex</command>, la commande suivante pourra se révéler
2103
        utile :</para>
2104
2105
        <programlisting>\def\AMCchoiceLabel#1{\textLR{\Alph{#1}}}</programlisting>
2106
2107
        <para>Pour changer le style des lettres inscrites dans les cases, on
2108
        pourra également redéfinir la commande
2109
        <command>\AMCchoiceLabelFormat</command>. Par exemple, pour obtenir
2110
        des lettres grasses, on utilisera</para>
2111
2112
        <programlisting>\def\AMCchoiceLabelFormat#1{\textbf{#1}}</programlisting>
2113
2114
        <para>Notons enfin que la couleur des cases à cocher par les étudiants
2115
        peut être modifiée grâce à la commande</para>
2116
2117
        <programlisting>\AMCboxColor{red}</programlisting>
2118
2119
        <para>en remplaçant <code>red</code> par la couleur désirée (qui doit
2120
        être reconnue par le paquet LaTeX <command>xcolor</command>). Pour
2121
        obtenir un vert clair par exemple, on pourra par exemple
2122
        utiliser</para>
2123
2124
        <programlisting>\definecolor{amcboxcolor}{rgb}{0.67,0.88,0.5}
2125
\AMCboxColor{amcboxcolor}</programlisting>
2126
      </sect3>
2127
2128
      <sect3>
2129
        <title>Style du questionnaire</title>
2130
2131
        <para>La façon dont chaque question est présentée peut être modifiée
2132
        en redéfinissant la commande LaTeX
2133
        <command>AMCbeginQuestion</command>, dont la définition par défaut est
2134
        la suivante :</para>
2135
2136
        <para><programlisting>\def\AMCbeginQuestion#1#2{\par\noindent{\bf Question #1} #2\hspace*{1em}}</programlisting></para>
2137
2138
        <para>Le premier paramètre transmis à cette commande est le numéro de
2139
        question à afficher. Le second paramètre contient
2140
        <code>\multiSymbole</code> dans le cas dune question à plusieurs
2141
        réponses possibles, et est vide dans les autres cas. La commande
2142
        <code>\multiSymbole</code> peut aussi être modifiée : elle a pour
2143
        charge de différentier les questions à réponses multiples des autres.
2144
        Par défaut, elle affiche un trèfle :</para>
2145
2146
        <para><programlisting>\def\multiSymbole{$\clubsuit$}</programlisting></para>
2147
2148
        <para>Enfin, on peut modifier le numéro de la prochaine question à
2149
        laide de la commande <code>\AMCnumero</code>. Au début de chaque
2150
        copie, un appel à</para>
2151
2152
        <para><programlisting>\AMCnumero{1}</programlisting></para>
2153
2154
        <para>est effectué, mais cette commande peut être utilisée à tout
2155
        moment.</para>
2156
2157
        <para>La présentation des réponses peut être modifiée de la même
2158
        façon, si on utilise l'environnement <option>reponsesperso</option> au
2159
        lieu de <option>reponses</option> ou <option>reponseshoriz</option>,
2160
        en redéfinissant les trois macros LaTeX suivantes :</para>
2161
2162
        <programlisting>\def\AMCbeginAnswer{}
2163
\def\AMCendAnswer{}
2164
\def\AMCAnswer#1#2{#1 #2}
2165
</programlisting>
2166
2167
        <para>Certains espacements peuvent également être modifiés :</para>
2168
2169
        <programlisting>\AMCinterIrep=0pt
2170
\AMCinterBrep=.5ex
2171
\AMCinterIquest=0pt
2172
\AMCinterBquest=3ex</programlisting>
2173
2174
        <para>Ces dimensions correspondent aux espaces verticaux ajoutés entre
2175
        les questions (<code>quest</code>) ou les réponses (<code>rep</code>),
2176
        en mode boîte (<code>B</code>, obtenu avec
2177
        <command>\AMCBoxedAnswers</command> ou l'option de package
2178
        <option>bloc</option>) ou standard (<code>I</code>).</para>
2179
      </sect3>
2180
2181
      <sect3>
2182
        <title>Mise en page</title>
2183
2184
        <para>Les marges ont été choisies de telle manière que le document
2185
        s'imprime correctement sur la majorité des imprimantes. Si votre
2186
        imprimante permet de les réduire, vous pouvez le faire en utilisant la
2187
        commande <command>geometry</command> du paquet LaTeX
2188
        <package>geometry</package>. Par exemple, pour resserrer le haut des
2189
        copies, on pourra utiliser <code>\geometry{top=3cm}</code> au lieu de
2190
        la valeur 3.5cm utilisée par défaut, juste avant le
2191
        <code>\begin{document}</code>.</para>
2192
      </sect3>
2193
2194
      <sect3>
2195
        <title>Style du formulaire séparé</title>
2196
2197
        <para>Il est aussi possible de modifier la mise en page du formulaire
2198
        de réponses séparé produit avec l'option <option>ensemble</option>
2199
        (voir section <xref linkend="secensemble"/>).</para>
2200
2201
        <orderedlist>
2202
          <listitem>
2203
            <para>Si on veut simplement modifier l'espacement horizontal entre
2204
            deux cases de réponses ou l'espacement vertical entre deux
2205
            questions, il suffit de redéfinir les dimensions
2206
            suivantes :</para>
2207
2208
            <programlisting>\AMCformHSpace=.3em
2209
\AMCformVSpace=1.2ex
2210
</programlisting>
2211
          </listitem>
2212
2213
          <listitem>
2214
            <para>Pour un changement plus profond de la mise en page, on peut
2215
            aussi redéfinir les commandes utilisées en début de chaque
2216
            question et pour chaque réponse (ici c'est la définition par
2217
            défaut) :</para>
2218
2219
            <programlisting>\def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par{\bf Question #1 :}}
2220
\def\AMCformAnswer#1{\hspace{\AMCformHSpace} #1}
2221
</programlisting>
2222
          </listitem>
2223
        </orderedlist>
2224
2225
        <para>Ces définitions sont à insérer juste après la balise
2226
        <code>\begin{document}</code> dans le document LaTeX.</para>
2227
      </sect3>
2228
2229
      <sect3 id="latex.codes">
2230
        <title>Saisie de codes</title>
2231
2232
        <para>L'entrée de codes peut être aisément effectuée à l'aide de la
2233
        commande LaTeX <command>AMCcode</command>, par exemple pour que chaque
2234
        étudiant codifie son numéro d'étudiant lui-même sur sa copie. Les deux
2235
        arguments de cette commande sont un identifiant de question, auquel
2236
        sera ajouté le numéro du chiffre dans le code, ainsi que le nombre de
2237
        chiffres du codage désiré. On pourra par exemple utiliser l'entête de
2238
        copie suivant :</para>
2239
2240
        <para><programlisting>{\setlength{\parindent}{0pt}\hspace*{\fill}\AMCcode{etu}{8}\hspace*{\fill}
2241
\begin{minipage}[b]{6.5cm}
2242
$\longleftarrow{}$\hspace{0pt plus 1cm} codez votre numéro d'étu\-diant ci-contre,
2243
et inscrivez votre nom et prénom ci-dessous.
2244
2245
\vspace{3ex}
2246
2247
\hfill\champnom{\fbox{    
2248
    \begin{minipage}{.9\linewidth}
2249
      Nom et prénom :
2250
      
2251
      \vspace*{.5cm}\dotfill
2252
      
2253
      \vspace*{.5cm}\dotfill
2254
      \vspace*{1mm}
2255
    \end{minipage}
2256
  }}\hfill\vspace{5ex}\end{minipage}\hspace*{\fill}
2257
2258
}
2259
</programlisting></para>
2260
2261
        <para>Dans le cas de l'utilisation de l'option
2262
        <option>ensemble</option>, la commande <command>AMCcode</command>
2263
        devra se trouver dans la partie formulaire, c'est-à-dire après la
2264
        commande <command>AMCdebutFormulaire</command>.</para>
2265
2266
        <para>Notez enfin que la présentation de ces formulaires de saisie de
2267
        codes peut être légèrement modifiée en changeant la valeur des
2268
        dimensions <command>\AMCcodeHspace</command>,
2269
        <command>\AMCcodeVspace</command> et
2270
        <command>\AMCcodeBoxSep</command>, qui représentent les espaces
2271
        horizontaux et verticaux entre les cases, ainsi que les espaces entre
2272
        les cases et leurs étiquette (dans le cas où celles-ci sont inscrites
2273
        à côté). Les valeurs par défaut sont définies de la manière
2274
        suivante :</para>
2275
2276
        <programlisting>\AMCcodeHspace=.5em
2277
\AMCcodeVspace=.5em
2278
\AMCcodeBoxSep=.1em</programlisting>
2279
2280
        <para>Notons enfin qu'il existe aussi la version horizontale
2281
        <command>AMCcodeH</command> de cette commande, particulièrement utile
2282
        pour un faible nombre de chiffres dans le code à saisir.</para>
2283
      </sect3>
2284
2285
      <sect3 id="questionsouvertes">
2286
        <title>Questions ouvertes</title>
2287
2288
        <para>On peut ajouter des questions ouvertes (qui ne sont pas à choix
2289
        multiple) à l'intérieur du sujet.</para>
2290
2291
        <para>Une manière de procéder consiste à présenter des cases à cocher
2292
        par le correcteur. Après l'examen, le correcteur lit la réponse
2293
        fournie par l'étudiant et affecte les points qui correspondent en
2294
        cochant certaines cases qui lui sont réservées. Il peut ensuite
2295
        scanner les copies et utiliser AMC pour les corriger, tout en
2296
        intégrant les résultats des questions ouvertes dans la notation (dans
2297
        l'exemple suivant, chaque case cochée rapporte un demi-point à
2298
        l'étudiant) : <programlisting>\begin{question}{ouverte}
2299
  Donnez la d\'efinition de l'inflation.
2300
  \AMCOpen{lines=5}{\wrongchoice[F]{f}\scoring{0}\wrongchoice[P]{p}\scoring{1}\correctchoice[J]{j}\scoring{2}}
2301
\end{question}
2302
</programlisting></para>
2303
2304
        <para>Dans cet exemple, l'enseignant disposera de trois cases. En
2305
        cochant la première (nommée F pour faux), l'étudiant n'aura aucun
2306
        point. En cochant la deuxième (appelée P pour partielle), l'étudiant
2307
        aura 1 point. En cochant la dernière (nommée J pour juste), l'étudiant
2308
        optiendra 2 points.</para>
2309
2310
        <para>Le premier argument de la commande <command>\AMCOpen</command>
2311
        est une liste d'options séparées par des virgules. Les options
2312
        disponibles sont les suivantes :</para>
2313
2314
        <variablelist>
2315
          <varlistentry>
2316
            <term>lineup=<replaceable>bool</replaceable></term>
2317
2318
            <listitem>
2319
              <para>avec la valeur <code>true</code>, la zone de réponse et
2320
              les cases de notation sont présentées sur la même ligne. Avec la
2321
              valeur <code>false</code> (c'est la valeur par défaut), la zone
2322
              de réponse est présentée dans un cadre placé en-dessous des
2323
              cases à cocher).</para>
2324
            </listitem>
2325
          </varlistentry>
2326
2327
          <varlistentry>
2328
            <term>lines=<replaceable>num</replaceable></term>
2329
2330
            <listitem>
2331
              <para>fixe le nombre de lignes allouées à la réponse (la valeur
2332
              par défaut est <code>1)</code>.</para>
2333
            </listitem>
2334
          </varlistentry>
2335
2336
          <varlistentry>
2337
            <term>lineheight=<replaceable>dim</replaceable></term>
2338
2339
            <listitem>
2340
              <para>fixe la hauteur de chaque ligne (la valeur par défaut est
2341
              <code>1cm</code>).</para>
2342
            </listitem>
2343
          </varlistentry>
2344
2345
          <varlistentry>
2346
            <term>dots=<replaceable>bool</replaceable></term>
2347
2348
            <listitem>
2349
              <para>avec la valeur <code>true</code> (par défaut), chaque
2350
              ligne sera matérialisée par des pointillés. Donner la valeur
2351
              <code>false</code> pour les supprimer.</para>
2352
            </listitem>
2353
          </varlistentry>
2354
2355
          <varlistentry>
2356
            <term>contentcommand=<replaceable>cmdname</replaceable></term>
2357
2358
            <listitem>
2359
              <para>cette option peut être utilisée pour personnaliser le
2360
              contenu de la zone de réponse. Il faut définir une commande
2361
              <command>\<replaceable>cmdname</replaceable></command> qui devra
2362
              produire le contenu désiré.</para>
2363
            </listitem>
2364
          </varlistentry>
2365
2366
          <varlistentry>
2367
            <term>hspace=<replaceable>dim</replaceable></term>
2368
2369
            <listitem>
2370
              <para>fixe l'espace à ajouter entre les cases de la zone de
2371
              notation.</para>
2372
            </listitem>
2373
          </varlistentry>
2374
2375
          <varlistentry>
2376
            <term>backgroundcol=<replaceable>color</replaceable></term>
2377
2378
            <listitem>
2379
              <para>fixe la couleur de fond de la zone de notation.</para>
2380
            </listitem>
2381
          </varlistentry>
2382
2383
          <varlistentry>
2384
            <term>foregroundcol=<replaceable>color</replaceable></term>
2385
2386
            <listitem>
2387
              <para>fixe la couleur utilisée dans la zone de notation.</para>
2388
            </listitem>
2389
          </varlistentry>
2390
2391
          <varlistentry>
2392
            <term>scan=<replaceable>bool</replaceable></term>
2393
2394
            <listitem>
2395
              <para>avec la valeur <code>false</code>, la saisie automatique
2396
              (à partir des scans) n'est pas effectuée pour cette question
2397
              (cela peut être utile si vous souhaitez utiliser uniquement la
2398
              saisie manuelle pour noter la question, et que vous ne voulez
2399
              pas que les étudiants puissent perturber le processus en cochant
2400
              ces cases). La valeur par défaut est <code>true</code>.</para>
2401
            </listitem>
2402
          </varlistentry>
2403
2404
          <varlistentry>
2405
            <term>annotate=<replaceable>bool</replaceable></term>
2406
2407
            <listitem>
2408
              <para>avec la valeur <code>false</code> (par défaut), les cases
2409
              correspondantes à cette question ne seront pas annotées lors de
2410
              la fabrication des copies annotées (seule le score à la question
2411
              sera écrit).</para>
2412
            </listitem>
2413
          </varlistentry>
2414
2415
          <varlistentry>
2416
            <term>question=<replaceable>texte</replaceable></term>
2417
2418
            <listitem>
2419
              <para>donne un texte court pour que le correcteur identifie
2420
              facilement la question posée. Ce texte sera écrit juste avant
2421
              les cases de notation, uniquement dans le cas de l'utilisation
2422
              d'une feuille de réponses séparée.</para>
2423
            </listitem>
2424
          </varlistentry>
2425
2426
          <varlistentry>
2427
            <term>answer=<replaceable>texte</replaceable></term>
2428
2429
            <listitem>
2430
              <para>donne un texte court qui sera inscrit dans la zone de
2431
              réponse sur la correction.</para>
2432
            </listitem>
2433
          </varlistentry>
2434
2435
          <varlistentry>
2436
            <term>width=<replaceable>dim</replaceable></term>
2437
2438
            <listitem>
2439
              <para>donne la dimension horizontale du cadre entoutant la zone
2440
              de réponse dans le cas <code>lineup=false</code>. La valeur par
2441
              défaut est <code>.95\linewidth</code>.</para>
2442
            </listitem>
2443
          </varlistentry>
2444
2445
          <varlistentry>
2446
            <term>framerule=<replaceable>dim</replaceable></term>
2447
2448
            <listitem>
2449
              <para>donne l'épaisseur du trait pour le cadre entoutant la zone
2450
              de réponse.</para>
2451
            </listitem>
2452
          </varlistentry>
2453
2454
          <varlistentry>
2455
            <term>framerulecol=<replaceable>color</replaceable></term>
2456
2457
            <listitem>
2458
              <para>donne la couleur du cadre entoutant la zone de
2459
              réponse.</para>
2460
            </listitem>
2461
          </varlistentry>
2462
2463
          <varlistentry>
2464
            <term>boxmargin=<replaceable>dim</replaceable></term>
2465
2466
            <listitem>
2467
              <para>donne la taille de la marge entourant les cases de la zone
2468
              de notation.</para>
2469
            </listitem>
2470
          </varlistentry>
2471
2472
          <varlistentry>
2473
            <term>boxframerule=<replaceable>dim</replaceable></term>
2474
2475
            <listitem>
2476
              <para>donne l'épaisseur du trait pour le cadre entourant la zone
2477
              de notation.</para>
2478
            </listitem>
2479
          </varlistentry>
2480
2481
          <varlistentry>
2482
            <term>boxframerulecol=<replaceable>color</replaceable></term>
2483
2484
            <listitem>
2485
              <para>donne la couleur du trait pour le cadre entourant la zone
2486
              de notation.</para>
2487
            </listitem>
2488
          </varlistentry>
2489
        </variablelist>
2490
2491
        <para>Vous pouvez modifier la valeur par défaut (pour tout votre
2492
        questionnaire) de toutes ces options grâce à la commande
2493
        <command>\AMCopenOpts</command>, comme</para>
2494
2495
        <programlisting>\AMCopenOpts{boxframerule=2pt,boxframerulecol=red}</programlisting>
2496
2497
        <para>De plus, on peut ajouter un petit texte dans la zone de notation
2498
        pour signifier aux étudiants de ne pas cocher ces cases-là en
2499
        redéfinissant la commande <command>\AMCotextReserved</command> comme
2500
        suit :</para>
2501
2502
        <programlisting>\def\AMCotextReserved{\emph{Reservé}}</programlisting>
2503
2504
        <para>Dans le cas de l'utilisation d'une feuille de réponse séparée,
2505
        on peut également ajouter un petit texte à chaque question ouverte
2506
        comme suit :</para>
2507
2508
        <programlisting>\def\AMCotextGoto{\par{\bf\emph{Répondez sur la feuille de réponses.}}}</programlisting>
2509
      </sect3>
2510
2511
      <sect3>
2512
        <title>Réponses en une lettre</title>
2513
2514
        <para>Dans certains cas, une lettre suffit pour décrire la réponse
2515
        proposée. Dessiner les cases à cocher à la fois sur le sujet et sur la
2516
        feuille de réponse séparée est alors redondant. L'utilisation de
2517
        <command>\AMCBoxOnly</command> à la place d'un environnement
2518
        <code>reponses</code> peut alors s'avérer judicieuse :</para>
2519
2520
        <programlisting>\begin{question}{bras}
2521
  Quelle lettre désigne le \textit{bras} sur le diagramme ?
2522
  \AMCBoxOnly{ordered=true}{\wrongchoice[A]{}\correctchoice[B]{}%
2523
    \wrongchoice[C]{}\wrongchoice[D]{}}
2524
\end{question}</programlisting>
2525
2526
        <para>Le premier argument de <command>\AMCBoxOnly</command> est une
2527
        liste d'options séparées par des virgules. Les options disponibles
2528
        sont les suivantes :</para>
2529
2530
        <variablelist>
2531
          <varlistentry>
2532
            <term>help=<replaceable>texte</replaceable></term>
2533
2534
            <listitem>
2535
              <para>écrit un petit texte de rappel juste avant les cases sur
2536
              la feuille de réponse séparée.</para>
2537
            </listitem>
2538
          </varlistentry>
2539
2540
          <varlistentry>
2541
            <term>ordered=<replaceable>bool</replaceable></term>
2542
2543
            <listitem>
2544
              <para>avec la valeur <code>true</code> (la valeur par défaut est
2545
              <code>false</code>), les réponses ne seront pas
2546
              mélangées.</para>
2547
            </listitem>
2548
          </varlistentry>
2549
        </variablelist>
2550
      </sect3>
2551
2552
      <sect3>
2553
        <title>Choix du mélange</title>
2554
2555
        <para>Si le mélange des question et des réponses ne nous convient pas,
2556
        on peut toujours en changer en modifiant la graine du générateur
2557
        aléatoire utilisé pour le mélange, grâce à la commande suivante (à
2558
        utiliser juste au début du document, et en tous cas en-dehors de la
2559
        commande <command>exemplaire</command>) :</para>
2560
2561
        <para><programlisting>\AMCrandomseed{1527384}</programlisting></para>
2562
2563
        <para>Si la valeur fournie (à choisir entre 1 et 4194303) est
2564
        modifiée, alors le mélange sera différent. Bien entendu, une fois les
2565
        copies d'examen imprimées, il ne faut surtout pas modifier cette
2566
        valeur !</para>
2567
      </sect3>
2568
2569
      <sect3>
2570
        <title>Sections et feuille de réponses séparée</title>
2571
2572
        <para>Pour que les sections définies dans votre sujet soient reprises
2573
        dans la feuille de réponses séparées, utiliser
2574
        <command>\AMCsection</command> et <command>\AMCsubsection</command> à
2575
        la place de <command>\section</command> et
2576
        <command>\subsection</command>.</para>
2577
      </sect3>
2578
2579
      <sect3>
2580
        <title>Références à l'intérieur des copies</title>
2581
2582
        <para>Dans la description du sujet, les commandes LaTeX
2583
        <command>\label</command>, <command>\ref</command> et
2584
        <command>\pageref</command> posent problème car elles seront appelées
2585
        avec les mêmes arguments pour chaque copie produite, ce qui perturbera
2586
        la numérotation des références. Pour résoudre ce problème, les
2587
        commandes <command>\AMClabel</command>, <command>\AMCref</command> et
2588
        <command>\AMCpageref</command> peuvent leur être substituées : elles
2589
        ajoutent le numéro de la copie avant leur argument avant de le
2590
        transmettre à <command>\label</command>, <command>\ref</command> et
2591
        <command>\pageref</command>.</para>
2592
2593
        <para>Il faudra en outre penser à remettre les compteurs utilisés à
2594
        zéro au début de chaque copie. Par exemple, si on veut inclure des
2595
        références à des images regroupées dans une page à part dans certaines
2596
        questions, on pourra écrire quelque chose comme</para>
2597
2598
        <programlisting>\element{animaux}{
2599
  \begin{figure}[p]
2600
    \centering
2601
    \includegraphics[width=.6\linewidth]{tigre}
2602
    \caption{Un animal}
2603
    \AMClabel{tigre}
2604
  \end{figure}
2605
    
2606
  \begin{question}{tigre}
2607
    Quel est l'animal sur la photographie de la figure~\AMCref{tigre} en page \AMCpageref{tigre}~?
2608
    \begin{reponses}
2609
      \bonne{Un tigre}
2610
      \mauvaise{Une girafe}
2611
      \mauvaise{Un éléphant}
2612
      \mauvaise{Un chat}
2613
    \end{reponses}
2614
  \end{question}
2615
}</programlisting>
2616
2617
        <para>en prenant soin d'ajouter au début de l'appel à
2618
        <command>\exemplaire</command> (lors de la description de l'en-tête
2619
        des copies) la ligne</para>
2620
2621
        <programlisting>\setcounter{figure}{0}</programlisting>
2622
2623
        <para>afin que les figures soient numérotées à partir de 1 pour chaque
2624
        copie. Sans cette dernière commande, la numérotation des figures
2625
        continuerait d'une copie à l'autre, ce qui n'est pas
2626
        souhaitable.</para>
2627
      </sect3>
2628
2629
      <sect3>
2630
        <title>Personnalisation des textes insérés par AMC</title>
2631
2632
        <para>Il est possible de personnaliser certain textes insérés par le
2633
        paquet automultiplechoice, grâce à la commande
2634
        <command>\AMCtext</command> :</para>
2635
2636
        <itemizedlist>
2637
          <listitem>
2638
            <para><code>\AMCtext{none}{<replaceable>phrase</replaceable>}</code>
2639
            remplace le texte par défaut « aucune de ces réponses n'est
2640
            correcte » (en français) par la <replaceable>phrase</replaceable>
2641
            fournie lors de l'utilisation de l'option
2642
            <option>completemulti</option>.</para>
2643
          </listitem>
2644
2645
          <listitem>
2646
            <para><code>\AMCtext{corrected}{<replaceable>titre</replaceable>}</code>
2647
            remplace « Correction » (en français) par le
2648
            <replaceable>titre</replaceable> fourni sur la correction de
2649
            l'examen.</para>
2650
          </listitem>
2651
2652
          <listitem>
2653
            <para><code>\AMCtext{catalog}{<replaceable>titre</replaceable>}</code>
2654
            remplace « Catalogue » (en français) par le
2655
            <replaceable>titre</replaceable> fourni sur le catalogue de
2656
            questions fourni avec l'option <option>catalog</option>.</para>
2657
          </listitem>
2658
2659
          <listitem>
2660
            <para>Vous pouvez aussi considérer l'utilisation de commandes
2661
            comme celles-ci (données ici avec comme deuxième argument la
2662
            valeur par défaut en français) :</para>
2663
2664
            <programlisting>\AMCtext{draft}{PROJET}
2665
\AMCtext{message}{Pour votre examen, imprimez de pr\'ef\'erence
2666
                  les documents compil\'es \`a l'aide de auto-multiple-choice.}</programlisting>
2667
          </listitem>
2668
        </itemizedlist>
2669
      </sect3>
2670
    </sect2>
2671
2672
    <sect2>
2673
      <title>Options pour AMC</title>
2674
2675
      <para>Certaines options indiquées dans l'en-tête du fichier source au
2676
      format LaTeX (c'est-à-dire les premières lignes qui commenecnt par
2677
      un'%') peuvent être transmises à AMC :</para>
2678
2679
      <variablelist>
2680
        <varlistentry>
2681
          <term><code>%%AMC:preprocess_command=<replaceable>commandname</replaceable></code></term>
2682
2683
          <listitem>
2684
            <para>demande à AMC d'exécuter la commande
2685
            <replaceable>commandname</replaceable> avant de compiler le
2686
            fichier LaTeX. Cette commande sera appelée à l'intérieur du
2687
            répertoire projet, avec comme argument le nom de la copie du
2688
            fichier source à traiter. Comme il s'agit d'une copie du fichier
2689
            source, la commande <replaceable>commandname</replaceable> peut en
2690
            modifier le contenu.</para>
2691
          </listitem>
2692
        </varlistentry>
2693
2694
        <varlistentry>
2695
          <term><code>%%AMC:latex_engine=<replaceable>engine</replaceable></code></term>
2696
2697
          <listitem>
2698
            <para>demande à AMC d'utiliser le moteur LaTeX
2699
            <replaceable>engine</replaceable>, sans tenir compte de la valeur
2700
            fournie par l'utilisateur dans les préférences du projet.</para>
2701
          </listitem>
2702
        </varlistentry>
2703
      </variablelist>
2704
    </sect2>
2705
2706
    <sect2>
2707
      <title>Des questions mathématiques à énoncés aléatoires</title>
2708
2709
      <sect3>
2710
        <title>Utilisation du package fp</title>
2711
2712
        <para>Grâce au paquet LaTeX <package>fp</package>, dont la
2713
        documentation se trouve sur <ulink
2714
        url="http://mirrors.ctan.org/macros/latex/contrib/fp/README">http://mirrors.ctan.org/macros/latex/contrib/fp/README</ulink>
2715
        et que l'on peut charger grâce à la commande<programlisting>\usepackage{fp}</programlisting>ajoutée
2716
        avant celle correspondant à <package>automultiplechoice</package>, on
2717
        peut créer des exercices dont les données sont aléatoires. Commençons
2718
        par un petit exemple :</para>
2719
2720
        <para><programlisting>\begin{question}{addition}
2721
  \FPeval\VQa{trunc(1+random*8,0)}  <co id="alea.random"
2722
              linkends="alea.random.exp"/>
2723
  \FPeval\VQb{trunc(4+random*5,0)}
2724
  \FPeval\VQsomme{clip(VQa+VQb)}  <co id="alea.result"
2725
              linkends="alea.result.exp"/>
2726
  \FPeval\VQnonA{clip(VQa+VQb-1)}  <co id="alea.fausse"
2727
              linkends="alea.fausse.exp"/>
2728
  \FPeval\VQnonB{clip(VQa*VQb)}
2729
  \FPeval\VQnonC{clip(VQa-VQb)}
2730
2731
  Quelle est la somme de \VQa{} et \VQb{} ?
2732
  \begin{reponseshoriz}
2733
    \bonne{\VQsomme}
2734
    \mauvaise{\VQnonA}
2735
    \mauvaise{\VQnonB}
2736
    \mauvaise{\VQnonC}
2737
  \end{reponseshoriz}
2738
\end{question}</programlisting></para>
2739
2740
        <para>La commande <command>\FPeval</command> sert à faire des
2741
        calculs :</para>
2742
2743
        <para><calloutlist>
2744
            <callout arearefs="alea.random" id="alea.random.exp">
2745
              <para>Comme <command>random</command> renvoie un nombre réel de
2746
              l'intervalle [0,1], cette commande met dans la variable VQa un
2747
              entier aléatoire entre 1 et 8. La ligne suivante place dans VQb
2748
              un entier aléatoire entre 4 et 8.</para>
2749
            </callout>
2750
2751
            <callout arearefs="alea.result" id="alea.result.exp">
2752
              <para>On place la bonne réponse dans la variable VQsomme.</para>
2753
            </callout>
2754
2755
            <callout arearefs="alea.fausse" id="alea.fausse.exp">
2756
              <para>On place dans les variables VQnonA, VQnonB et VQnonC des
2757
              mauvaises réponses...</para>
2758
            </callout>
2759
          </calloutlist>Les noms de variables commençant par VQ ont été
2760
        choisis afin de ne pas interférer avec d'autres commandes
2761
        LaTeX.</para>
2762
2763
        <sect4 id="latex.intervals">
2764
          <title>Choix parmi une suite d'intervalles</title>
2765
2766
          <para>La paquet automultiplechoice définit en outre une commande
2767
          <command>\choixIntervalle</command> qui simplifie ce genre de
2768
          constructions, comme illustré dans l'exemple
2769
          suivant :<programlisting>\begin{question}{inf-expo-indep}
2770
  \FPeval\VQa{trunc(2 + random * 4,0)}
2771
  \FPeval\VQb{trunc(6 + random * 5,0)}
2772
  \FPeval\VQr{VQa/(VQa+VQb)}
2773
  
2774
  Soient $X$ et $Y$ deux variables aléatoires indépendantes, de lois exponentielles
2775
  de paramètres respectifs \VQa{} et \VQb{}.
2776
  À quel intervalle appartient la probabilité $\mathbb{P}[X&lt;Y]$ ?
2777
2778
  \begin{multicols}{5}
2779
    \begin{reponses}[o]
2780
      \choixIntervalles{\VQr}{0}{1}{0.1}  <co id="choix.intervalles"
2781
                linkends="choix.intervalles.exp"/>
2782
    \end{reponses}
2783
  \end{multicols}
2784
\end{question}</programlisting></para>
2785
2786
          <calloutlist>
2787
            <callout arearefs="choix.intervalles" id="choix.intervalles.exp">
2788
              <para>Cette ligne insère dix réponses correspondant aux
2789
              intervalles [0,0.1[ [0.1,0.2[ ... [0.9,1[, tout en indiquant que
2790
              le bon intervalle est celui qui contient VQr. Les arguments de
2791
              la commande <command>\choixIntervalle</command> sont les
2792
              suivants :</para>
2793
2794
              <orderedlist>
2795
                <listitem>
2796
                  <para>La bonne réponse,</para>
2797
                </listitem>
2798
2799
                <listitem>
2800
                  <para>La borne gauche du premier intervalle,</para>
2801
                </listitem>
2802
2803
                <listitem>
2804
                  <para>La borne droite du dernier intervalle,</para>
2805
                </listitem>
2806
2807
                <listitem>
2808
                  <para>La longueur de chaque intervalle.</para>
2809
                </listitem>
2810
              </orderedlist>
2811
            </callout>
2812
          </calloutlist>
2813
2814
          <para>La mise en forme des intervalles peut être modifiée en
2815
          redéfinissant la commande LaTeX
2816
          <command>\AMCintervalFormat</command>, définie originellement
2817
          par</para>
2818
2819
          <programlisting>\def\AMCIntervalFormat#1#2{[#1,\,#2[}</programlisting>
2820
2821
          <para>pour suivre une convention différente (on rencontra par
2822
          exemple souvent l'utilisation de [a,b) à la place de [a,b[).</para>
2823
        </sect4>
2824
2825
        <sect4 id="latex.numeric">
2826
          <title>Codage du résultat</title>
2827
2828
          <para>Vous pouvez également demander aux étudiants de coder leur
2829
          réponse numérique, grâce à la commande
2830
          <command>\AMCnumericChoices</command>, comme dans l'exemple
2831
          suivant :</para>
2832
2833
          <programlisting>\begin{questionmultx}{sqrt}
2834
  \FPeval\VQa{trunc(5+random*15,0)}
2835
  \FPeval\VQs{VQa^0.5}
2836
  Calculez $\sqrt{\VQa}$ et arrondissez le résultat avec deux chiffres
2837
  après la virgule.
2838
2839
  \AMCnumericChoices{\VQs}{digits=3,decimals=2,sign=true,
2840
                 borderwidth=0pt,backgroundcol=lightgray,approx=5}
2841
\end{questionmultx}
2842
</programlisting>
2843
2844
          <para>Notez l'utilisation de l'environnement
2845
          <code>questionmultx</code> : nous avons besoin ici d'une question
2846
          multiple car plusieurs cases doivent être cochées, mais pourtant une
2847
          seule réponse est correcte, et nous ne souhaitons donc pas afficher
2848
          le symbole des questions multiples normales.</para>
2849
2850
          <para>Les options disponibles dans le deuxième argument de cette
2851
          commande sont les suivants :</para>
2852
2853
          <variablelist>
2854
            <varlistentry>
2855
              <term>digits=<replaceable>num</replaceable></term>
2856
2857
              <listitem>
2858
                <para>donne le nombre de chiffres à coder (la valeur par
2859
                défaut est 3).</para>
2860
              </listitem>
2861
            </varlistentry>
2862
2863
            <varlistentry>
2864
              <term>decimals=<replaceable>num</replaceable></term>
2865
2866
              <listitem>
2867
                <para>donne le nombre de chiffres après la virgule (la valeur
2868
                par défaut est 0). Quand <replaceable>num</replaceable> n'est
2869
                pas nul, le paquet LaTeX <command>fp</command> doit être
2870
                chargé.</para>
2871
              </listitem>
2872
            </varlistentry>
2873
2874
            <varlistentry>
2875
              <term>base=<replaceable>num</replaceable></term>
2876
2877
              <listitem>
2878
                <para>donne la base dans laquelle sera écrit le nombre à coder
2879
                (la valeur par défaut est 10).</para>
2880
              </listitem>
2881
            </varlistentry>
2882
2883
            <varlistentry>
2884
              <term>significant=<replaceable>bool</replaceable></term>
2885
2886
              <listitem>
2887
                <para>avec la valeur <code>true</code>, les chiffres à
2888
                renseigner sont les premiers chiffres significatifs du premier
2889
                argument de <command>\AMCnumericChoices</command>. Par
2890
                exemple, la bonne réponse à
2891
                <code>\AMCnumericChoices{56945.23}{digits=2,significant=true}</code>
2892
                est 57.</para>
2893
              </listitem>
2894
            </varlistentry>
2895
2896
            <varlistentry>
2897
              <term>nozero=<replaceable>bool</replaceable></term>
2898
2899
              <listitem>
2900
                <para>avec la valeur true, enlève le choix 0 pour tous les
2901
                chiffres du nombre à saisir. Cette option peut être utile lors
2902
                de la saisie de petits (&lt;10) nombres non nuls.</para>
2903
              </listitem>
2904
            </varlistentry>
2905
2906
            <varlistentry>
2907
              <term>sign=<replaceable>bool</replaceable></term>
2908
2909
              <listitem>
2910
                <para>demande (ou non) la saisie d'un signe (la valeur par
2911
                défaut les <code>true</code>).</para>
2912
              </listitem>
2913
            </varlistentry>
2914
2915
            <varlistentry>
2916
              <term>strict=<replaceable>bool</replaceable></term>
2917
2918
              <listitem>
2919
                <para>avec la valeur <code>true</code>, une case doit être
2920
                obligatoirement cochée pour le signe et pour chaque chiffre.
2921
                Avec la valeur <code>false</code> (valeur par défaut), si pour
2922
                certains chiffres aucune case n'est cochée, ces chiffres
2923
                seront fixés à la valeur 0.</para>
2924
              </listitem>
2925
            </varlistentry>
2926
2927
            <varlistentry>
2928
              <term>vertical=<replaceable>bool</replaceable></term>
2929
2930
              <listitem>
2931
                <para>avec la valeur <code>true</code>, chaque chiffre sera
2932
                représenté par une colonne. Avec la valeur <code>false</code>
2933
                (valeur par défaut), chaque chiffre sera représenté par une
2934
                ligne.</para>
2935
              </listitem>
2936
            </varlistentry>
2937
2938
            <varlistentry>
2939
              <term>reverse=<replaceable>bool</replaceable></term>
2940
2941
              <listitem>
2942
                <para>avec la valeur <code>true</code> (valeur par défaut), en
2943
                mode <code>vertical</code>, les grandes valeurs des chiffres
2944
                seront placées en haut plutôt qu'en bas.</para>
2945
              </listitem>
2946
            </varlistentry>
2947
2948
            <varlistentry>
2949
              <term>vhead=<replaceable>bool</replaceable></term>
2950
2951
              <listitem>
2952
                <para>avec la valeur <code>true</code>, en mode
2953
                <code>vertical</code>, un en-tête sera placé au-dessus de
2954
                chaque colonne correspondant à un chiffre. Le texte de cet
2955
                en-tête est donné par la commande
2956
                <command>\AMCntextVHead</command>, qui est originellement
2957
                définie par</para>
2958
2959
                <programlisting>\def\AMCntextVHead#1{\emph{b#1}}</programlisting>
2960
2961
                <para>Cette définition permet de numéroter les chiffres
2962
                binaires.</para>
2963
2964
                <para>La valeur par défaut est <code>false</code>.</para>
2965
              </listitem>
2966
            </varlistentry>
2967
2968
            <varlistentry>
2969
              <term>hspace=<replaceable>space</replaceable></term>
2970
2971
              <listitem>
2972
                <para>donne l'espace horizontal entre les cases
2973
                (<code>.5em</code> par défaut).</para>
2974
              </listitem>
2975
            </varlistentry>
2976
2977
            <varlistentry>
2978
              <term>vspace=<replaceable>space</replaceable></term>
2979
2980
              <listitem>
2981
                <para>donne l'espace vertical entre les cases
2982
                (<code>1ex</code> par défaut).</para>
2983
              </listitem>
2984
            </varlistentry>
2985
2986
            <varlistentry>
2987
              <term>borderwidth=<replaceable>space</replaceable></term>
2988
2989
              <listitem>
2990
                <para>donne l'épaisseur du cadre qui entoure toutes les cases
2991
                (<code>1mm</code> par défaut).</para>
2992
              </listitem>
2993
            </varlistentry>
2994
2995
            <varlistentry>
2996
              <term>bordercol=<replaceable>color</replaceable></term>
2997
2998
              <listitem>
2999
                <para>donne la couleur du cadre (<code>lightgray</code> par
3000
                défaut).</para>
3001
              </listitem>
3002
            </varlistentry>
3003
3004
            <varlistentry>
3005
              <term>backgroundcol=<replaceable>color</replaceable></term>
3006
3007
              <listitem>
3008
                <para>donne la couleur du fond (<code>white</code> par
3009
                défaut).</para>
3010
              </listitem>
3011
            </varlistentry>
3012
3013
            <varlistentry>
3014
              <term>Tsign=<replaceable>text</replaceable></term>
3015
3016
              <listitem>
3017
                <para>donne le texte à inscrire au-dessus des deux cases
3018
                correspondant au signe (vous pouvez obtenir le même résultat
3019
                grâce à
3020
                <code>\def\AMCntextSign{<replaceable>text</replaceable>}</code>,
3021
                le texte par défaut étant vide).</para>
3022
              </listitem>
3023
            </varlistentry>
3024
3025
            <varlistentry>
3026
              <term>Tpoint=<replaceable>text</replaceable></term>
3027
3028
              <listitem>
3029
                <para>donne le texte correspondant à la virgule (décimale). Il
3030
                peut également être modifié par
3031
                <code>\def\AMCdecimalPoint{<replaceable>text</replaceable>}</code>,
3032
                et la valeur par défaut est <code>\raisebox{1ex}{\bf
3033
                .}</code>.</para>
3034
              </listitem>
3035
            </varlistentry>
3036
3037
            <varlistentry>
3038
              <term>scoring=<replaceable>bool</replaceable></term>
3039
3040
              <listitem>
3041
                <para>avec la valeur <code>true</code> (valeur par défaut), un
3042
                barème sera transmis à AMC.</para>
3043
              </listitem>
3044
            </varlistentry>
3045
3046
            <varlistentry>
3047
              <term>scoreexact=<replaceable>num</replaceable></term>
3048
3049
              <listitem>
3050
                <para>donne le score à affecter à une réponse exacte (2 par
3051
                défaut).</para>
3052
              </listitem>
3053
            </varlistentry>
3054
3055
            <varlistentry>
3056
              <term>exact=<replaceable>num</replaceable></term>
3057
3058
              <listitem>
3059
                <para>donne la distance maximale à la valeur correcte
3060
                en-dessous de laquelle une réponse sera considérée comme
3061
                <emphasis>exacte</emphasis> (et sera rétribuée de
3062
                <code>scoreexact</code> points). La valeur par défaut est
3063
                0.</para>
3064
              </listitem>
3065
            </varlistentry>
3066
3067
            <varlistentry>
3068
              <term>scoreapprox=<replaceable>num</replaceable></term>
3069
3070
              <listitem>
3071
                <para>donne le score à affecter à une réponse
3072
                <emphasis>approximative</emphasis> (1 par défaut).</para>
3073
              </listitem>
3074
            </varlistentry>
3075
3076
            <varlistentry>
3077
              <term>approx=<replaceable>num</replaceable></term>
3078
3079
              <listitem>
3080
                <para>donne la distance maximale à la valeur correcte
3081
                en-dessous de laquelle une réponse sera considérée comme
3082
                <emphasis>approximative</emphasis> (et sera rétribuée de
3083
                <code>scoreapprox</code> points). La valeur par défaut est
3084
                0.</para>
3085
              </listitem>
3086
            </varlistentry>
3087
          </variablelist>
3088
3089
          <para>Vous pouvez modifier la valeur par défaut (pour tout votre
3090
          questionnaire) de toutes ces options grâce à la commande
3091
          <command>\AMCnumericOpts</command>, comme</para>
3092
3093
          <programlisting>\AMCnumericOpts{scoreexact=3,borderwidth=2pt}</programlisting>
3094
3095
          <para>Vous pouvez de plus ajouter un texte à la suite des questions,
3096
          quand la réponse à celle-ci est reléguée à une feuille séparée (par
3097
          l'utilisation de l'option <code>ensemble</code>), en redéfinissant
3098
          la commande <command>\AMCntextGoto</command>, comme ceci par
3099
          exemple :</para>
3100
3101
          <programlisting>\def\AMCntextGoto{\par{\bf\emph{Codez la réponse
3102
     sur la feuille de réponses séparée.}}}</programlisting>
3103
        </sect4>
3104
      </sect3>
3105
3106
      <sect3>
3107
        <title>Utilisation du package pgf/tikz</title>
3108
3109
        <para>Le paquet LaTeX <package>pgf/tikz</package>, dont la
3110
        documentation se trouve sur <ulink
3111
        url="http://www.ctan.org/tex-archive/graphics/pgf/base">http://www.ctan.org/tex-archive/graphics/pgf/base</ulink>
3112
        possède notamment une bibliothèque mathématique que l'on peut charger
3113
        grâce à la commande : <programlisting>\usepackage{tikz}</programlisting></para>
3114
3115
        <para>La première précaution à prendre, pour avoir des sujets
3116
        identiques malgré les recompilations latex est de choisir la base de
3117
        génération des nombres pseudo-aléatoires.</para>
3118
3119
        <para><programlisting>\pgfmathsetseed{2056}
3120
</programlisting></para>
3121
3122
        <sect4>
3123
          <title>Réaliser un calcul simple</title>
3124
3125
          <para>Voici un exemple d'utilisation avec un calcul simple :</para>
3126
3127
          <para><programlisting>\begin{question}{inverse}
3128
  \pgfmathrandominteger{\x}{1}{50}
3129
       
3130
  Quel est l'inverse de $x=\x$ ?
3131
3132
  \begin{reponses}
3133
    \bonne{\pgfmathparse{1/\x}\pgfmathresult }
3134
    \mauvaise{\pgfmathparse{1/(\x +1))}\pgfmathresult}
3135
    \mauvaise{\pgfmathparse{cos(\x)} \pgfmathresult}
3136
    \mauvaise{\pgfmathparse{\x^(-0.5)}\pgfmathresult}
3137
  \end{reponses}
3138
\end{question}
3139
</programlisting></para>
3140
3141
          <para>Les commandes <command>\pgfmathparse</command> et
3142
          <command>\pgfmathresult</command> permettent respectivement
3143
          d'effectuer le calcul et d'afficher son résultat.</para>
3144
3145
          <para>Il est possible de choisir la mise en forme des résultats en
3146
          utilisant la commande <command>\pgfmathprintnumber</command>, par
3147
          exemple, ici on choisit une notation avec trois décimales, en
3148
          utilisant une virgule comme séparateur décimal.</para>
3149
3150
          <para><programlisting>\begin{question}{inverse3}
3151
  \pgfmathrandominteger{\x}{1}{50}
3152
  \pgfkeys{/pgf/number format/.cd,fixed,fixed zerofill,precision=3,use comma}
3153
  Quel est l'inverse de $x=\pgfmathprintnumber{\x}$ ?
3154
3155
  \begin{reponses}
3156
    \bonne{\pgfmathparse{1/\x}\pgfmathprintnumber{\pgfmathresult}} 
3157
    \mauvaise{\pgfmathparse{1/(\x +1))} \pgfmathprintnumber{\pgfmathresult}}
3158
    \mauvaise{\pgfmathparse{cos(\x)} \pgfmathprintnumber{\pgfmathresult}}
3159
    \mauvaise{\pgfmathparse{\x^(-0.5)} \pgfmathprintnumber{\pgfmathresult}}
3160
  \end{reponses}
3161
\end{question}
3162
</programlisting><note>
3163
              <para>Les commandes <command>\AMCIntervals</command> et
3164
              <command>\AMCnumericChoices</command> peuvent aussi être
3165
              utilisées dans ce contexte (voir <xref
3166
              linkend="latex.intervals"/> et <xref
3167
              linkend="latex.numeric"/>)</para>
3168
            </note></para>
3169
        </sect4>
3170
3171
        <sect4>
3172
          <title>Questions de lecture graphique</title>
3173
3174
          <para>Il est aussi possible de générer des graphiques aléatoires(ou
3175
          non),et de poser des questions de lecture graphique.</para>
3176
3177
          <para><programlisting>\begin{questionmult}{graphique}
3178
  On considère trois fonctions f(x) dont les tracés sont représentés ci-dessous
3179
  dans un repère orthonormé~:
3180
  \pgfmathrandominteger{\a}{2}{4}  
3181
  \begin{center}
3182
    \begin{tikzpicture}[domain=0:4]
3183
      \draw[very thin,color=gray] (-0.1,-4.1) grid (3.9,3.9);
3184
      \draw[-&gt;] (-0.2,0) -- (4.2,0) node[right] {$x$};
3185
      \draw[-&gt;] (0,-4.2) -- (0,4.2) node[above] {$f(x)$};
3186
      \draw[color=red] plot (\x,{(1+\a/4)*\x-\a}) node[right] {$f_{1} (x)$};
3187
      \draw[color=blue] plot (\x,{\a*sin(\x r)}) node[right] {$f_{2}(x)$};
3188
      \draw[color=orange] plot (\x,{\a*cos(\x r)}) node[right] {$f_{3}(x)$};
3189
    \end{tikzpicture}
3190
  \end{center}
3191
  Alors :
3192
  \begin{reponses}
3193
    \pgfmathrandominteger{\x0}{2}{4}  
3194
    \bonne{$f_{2}(\x0)$=\pgfmathparse{\a*sin(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
3195
    \bonne{$f_{3}(\x0)$=\pgfmathparse{\a*cos(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
3196
    \mauvaise{La fonction $f_{1}(x)$ est une fonction linéaire.}
3197
  \end{reponses}
3198
\end{questionmult}
3199
</programlisting></para>
3200
3201
          <para>La mise en forme des graphiques peut être facilitée par
3202
          l'utilisation du package <package>pgfplots</package>.</para>
3203
3204
          <para>La précision des nombres sous pgfmath étant limitée, certains
3205
          tracés de graphiques ne sont pas possibles avec cette méthode, la
3206
          compilation latex adressant alors une erreur du type : "Arithmetic
3207
          overflow". Les packages <package>tikz</package> et
3208
          <package>pgfplots</package> permettent de pallier à ce manque de
3209
          précison en faisant appel au programme <command>gnuplot</command>
3210
          (voir documentation du package) pour obtenir les points de tracé.
3211
          Dans ce cas, il faut installer au préalable
3212
          <command>gnuplot</command> sur votre distribution, puis lancer la
3213
          compilation latex avec l'option <option>--shell-escape</option>.
3214
          Pour cela, aller dans les préférences de AMC et choisir pour moteur
3215
          LaTeX du projet en cours : "<option>pdflatex
3216
          --shell-escape</option>" (sans les guillemets).</para>
3217
        </sect4>
3218
      </sect3>
3219
3220
      <sect3>
3221
        <title>Utilisation de LuaLaTeX</title>
3222
3223
        <para>Il est possible d'utiliser le langage de programmation LUA au
3224
        sein de documents latex en compilant le sujet grâce à la commande
3225
        <command>lualatex</command>. Si vous choisissez cette compilation,
3226
        votre sujet doit être encodé en UTF-8, et il ne faut pas charger le
3227
        package <package>inputenc</package>. Pour de plus amples informations,
3228
        lire l'article de Manuel Pégourié-Gonnard présentant le projet à
3229
        l'adresse suivante : <ulink
3230
        url="http://dante.ctan.org/tex-archive/info/luatex/lualatex-doc/lualatex-doc.pdf">http://dante.ctan.org/tex-archive/info/luatex/lualatex-doc/lualatex-doc.pdf</ulink></para>
3231
3232
        <para>Pour faire appel au langage LUA, il faut utiliser la commande
3233
        <command>\directlua</command>. La fonction la plus utile est de
3234
        pouvoir écrire un résultat calculé par LUA dans le document tex grâce
3235
        à la commande : <command>tex.print</command></para>
3236
3237
        <para>Encore une fois, si vous utilisez des nombres aléatoires,
3238
        commencer par choisir la base de génération des nombres
3239
        pseudo-aléatoires.</para>
3240
3241
        <programlisting>\directlua{math.randomseed (2048)}</programlisting>
3242
3243
        <para>Voici un exemple très simple, de fichier:</para>
3244
3245
        <programlisting>\documentclass[a4paper]{article}
3246
%\usepackage[utf8x]{inputenc}
3247
\usepackage[T1]{fontenc}
3248
\usepackage[francais,bloc,completemulti]{automultiplechoice}
3249
\begin{document}
3250
3251
\exemplaire{10}{
3252
3253
%%% debut de l'en-tête des copies :
3254
3255
\noindent{\bf QCM  \hfill TEST}
3256
3257
\vspace*{.5cm}
3258
\begin{minipage}{.4\linewidth}
3259
  \centering\large\bf Sujet simpliste
3260
\end{minipage}
3261
\champnom{\fbox{\begin{minipage}{.5\linewidth}
3262
Nom et prénom :
3263
3264
\vspace*{.5cm}\dotfill
3265
\vspace*{1mm}
3266
\end{minipage}}}
3267
3268
%%% fin de l'en-tête
3269
3270
\directlua{math.randomseed (2048)}
3271
\directlua{a=math.random()}
3272
3273
\begin{question}{calcul}
3274
  Quelle est la racine carrée de \directlua{tex.print(a)}?
3275
3276
  \begin{reponses}
3277
    \bonne{\directlua{tex.print(math.sqrt(a))}} 
3278
    \mauvaise{\directlua{tex.print(math.sqrt(2*a))}} 
3279
    \mauvaise{\directlua{tex.print(math.sqrt(a*1.001))}} 
3280
  \end{reponses}
3281
\end{question}
3282
3283
\clearpage
3284
}
3285
3286
\end{document}      </programlisting>
3287
3288
        <para>Il est aussi possible de mettre en forme les résultats donnés
3289
        par lua soit en écrivant des fonctions lua, soit en utilisant le
3290
        package <package>siunitx</package></para>
3291
3292
        <note>
3293
          <para>Les commandes <command>\AMCIntervals</command> et
3294
          <command>\AMCnumericChoices</command> peuvent aussi être utilisées
3295
          dans ce contexte (voir <xref linkend="latex.intervals"/> et <xref
3296
          linkend="latex.numeric"/>)</para>
3297
        </note>
3298
      </sect3>
3299
    </sect2>
3300
  </sect1>
3301
3302
  <sect1 id="interface-graphique">
3303
    <title>Mise en œuvre - interface graphique</title>
3304
3305
    <para>Nous décrivons ici un exemple de cheminement avec l'interface
3306
    graphique depuis la conception du QCM jusqu'à l'édition des notes des
3307
    élèves.</para>
3308
3309
    <sect2>
3310
      <title>Création du nouveau projet et du sujet</title>
3311
3312
      <para>Commençons par ouvrir l'interface graphique. On peut normalement
3313
      le faire en sélectionnant <menuchoice>
3314
          <guimenu>Applications</guimenu>
3315
3316
          <guisubmenu>Éducation</guisubmenu>
3317
3318
          <guimenuitem>Auto Multiple Choice</guimenuitem>
3319
        </menuchoice> du menu général de Gnome (ou son équivalent dans KDE ou
3320
      autre), mais on peut aussi utiliser la commande
3321
      <userinput>auto-multiple-choice</userinput>.</para>
3322
3323
      <para>Créons maintenant un nouveau projet, grâce à <menuchoice>
3324
          <guimenu>Projet</guimenu>
3325
3326
          <guimenuitem>Nouveau</guimenuitem>
3327
        </menuchoice>. Une fenêtre s'ouvre qui permet de visualiser les noms
3328
      des projets déjà existant (si il en existe), et de choisir un nom
3329
      (composé de caractères simples ; « test » conviendra par exemple à notre
3330
      petit essai), que nous inscrivons dans le champ <guilabel>Nouveau
3331
      projet</guilabel>. Nous validons enfin en appuyant sur le bouton
3332
      <guibutton>Créer un projet</guibutton>.</para>
3333
3334
      <para>Nous devons maintenant désigner un fichier AMC-TXT ou LaTeX comme
3335
      source du QCM. Plusieurs possibilités nous sont proposées :</para>
3336
3337
      <itemizedlist>
3338
        <listitem>
3339
          <para><guilabel>modèle</guilabel> : ce choix permet de chercher
3340
          parmi les modèles fournis avec AMC un sujet que nous pourrons
3341
          modifier ensuite à loisir.</para>
3342
        </listitem>
3343
3344
        <listitem>
3345
          <para><guilabel>fichier</guilabel> : ce choix permet de choisir un
3346
          fichier source déjà composé pour l'examen. Il est en effet possible
3347
          de composer son sujet en dehors d'AMC grâce à un éditeur classique,
3348
          puis d'utiliser AMC quand celui-ci est au point.</para>
3349
        </listitem>
3350
3351
        <listitem>
3352
          <para><guilabel>vide</guilabel> : ce choix crée un fichier vide
3353
          qu'il faudra éditer depuis zéro pour créer son sujet.</para>
3354
        </listitem>
3355
3356
        <listitem>
3357
          <para><guilabel>archive</guilabel> : ce choix permet d'utiliser une
3358
          archive tgz ou zip dans laquelle on a placé le sujet et d'éventuels
3359
          autres fichiers (images, fichier décrivant les options pour AMC par
3360
          exemple). Il sera utilisé quand le sujet est fabriqué par un
3361
          programme extérieur (comme par exemple l'interfaçage avec la
3362
          plateforme nationale C2i niveau 1 pour les universités françaises)
3363
          ou pour reprendre un sujet AMC sauvegardé sous forme
3364
          d'archive.</para>
3365
        </listitem>
3366
      </itemizedlist>
3367
3368
      <para>Pour notre exemple, nous choisissons <guilabel>modèle</guilabel>.
3369
      Dans la fenêtre suivante, sélectionnons par exemple le modèle
3370
      <guilabel>Exemple simple</guilabel> dans le groupe <guilabel>[FR]
3371
      Documentation</guilabel>. Une fois le projet créé, nous pouvons modifier
3372
      ce sujet à loisir grâce au bouton <guibutton>Éditer le fichier
3373
      source</guibutton> qui lance l'éditeur par défaut.</para>
3374
    </sect2>
3375
3376
    <sect2>
3377
      <title>Préparation du sujet</title>
3378
3379
      <para>La préparation du projet se fait en deux étapes. Il faut tout
3380
      d'abord fabriquer les documents de référence à partir du fichier source.
3381
      Ceci se fait en cliquant sur le bouton <guibutton>Mise à
3382
      jour</guibutton> de la section <guilabel>Documents de
3383
      travail</guilabel>. Les documents produits sont les suivants :</para>
3384
3385
      <itemizedlist>
3386
        <listitem>
3387
          <para>Le <emphasis>sujet</emphasis>. C'est le fichier qu'il faudra
3388
          imprimer pour que ses pages soient distribuées aux étudiants (voir
3389
          plus bas).</para>
3390
        </listitem>
3391
3392
        <listitem>
3393
          <para>Le <emphasis>corrigé</emphasis>. On peut y vérifier que les
3394
          réponses cochées sont les bonnes. Il est aussi destiné à être
3395
          distribué aux étudiants.</para>
3396
        </listitem>
3397
      </itemizedlist>
3398
3399
      <para>Une fois produits, ces documents pourront être visualisés (et
3400
      éventuellement imprimés) grâce aux boutons correspondants.</para>
3401
3402
      <para>Nous pouvons maintenant passer à cette dernière étape de
3403
      préparation : l'analyse du document de calage. Elle se lance à partir du
3404
      bouton <guibutton>Calculer les mises en page</guibutton>. Cette analyse
3405
      détecte, dans chaque page du sujet, la position exacte des différents
3406
      éléments qui devront être analysés sur les copies des étudiants.</para>
3407
3408
      <para>Pour vérifier que les mises en page ont été correctement
3409
      détectées, on peut utiliser le bouton <guibutton>Vérifier les mises en
3410
      page</guibutton>. Un petit coup d'œil permettra de vérifier que les
3411
      cases à cocher en rouge sont bien positionnées sur les cases du
3412
      sujet.</para>
3413
    </sect2>
3414
3415
    <sect2 id="impression">
3416
      <title id="impression.titre">Impression du sujet</title>
3417
3418
      <para>Vous pouvez fonctionner de deux manières différentes :</para>
3419
3420
      <itemizedlist>
3421
        <listitem>
3422
          <para>Pour la méthode la plus robuste, il est nécessaire de produire
3423
          un nombre suffisant de copies ayant chacune un numéro de copie
3424
          différent, et de les imprimer toutes. Chaque page de chaque copie
3425
          est différenciée par les codes inscrits en haut de la page. Vous
3426
          pouvez ainsi scanner plusieurs fois la même page sans risque.</para>
3427
        </listitem>
3428
3429
        <listitem>
3430
          <para>La deuxième méthode consiste à produire un petit nombre de
3431
          copies (éventuellement une seule), à les imprimer, puis à les
3432
          photocopier en grand nombre pour en avoir une par étudiant. Avec
3433
          cette méthode, le mélange des questions et réponses perd de son
3434
          efficacité, et si vous fournissez plusieurs fois la même page
3435
          scannée à AMC, il ne pourra pas s'en rendre compte et la comptera
3436
          deux fois.</para>
3437
        </listitem>
3438
      </itemizedlist>
3439
3440
      <warning>
3441
        <para>Pour cette deuxième méthode utilisant des photocopies, il est
3442
        nécessaire que les étudiants n'aient à remplir qu'une seule page (ce
3443
        résultat peut être obtenu en utilisant une feuille de réponses
3444
        séparée). Dans le cas contraire, vous ne pourriez pas traiter les
3445
        scans par AMC ensuite ! En effet, il serait impossible pour AMC de
3446
        faire le lien entre plusieurs pages correspondant à un même
3447
        étudiant.</para>
3448
      </warning>
3449
3450
      <para>Une fois la préparation effectuée, nous pouvons imprimer le sujet,
3451
      et le distribuer aux étudiants... Nous avons pour cela plusieurs
3452
      possibilités :</para>
3453
3454
      <itemizedlist>
3455
        <listitem>
3456
          <para>Il est possible d'imprimer (ou de faire imprimer par un
3457
          service reprographie) directement le fichier
3458
          <filename>DOC-sujet.pdf</filename> du répertoire projet, auquel on
3459
          peut accéder par le bouton <guilabel>sujet</guilabel> de la liste
3460
          des <guilabel>documents de travail</guilabel>.</para>
3461
3462
          <para>Cette méthode peut avoir un léger inconvénient : si votre
3463
          sujet comporte certaines copies ayant un nombre impair de pages, une
3464
          impression recto-verso mettra plusieurs sujets sur une même feuille,
3465
          ce qui les rendra inutilisables. Pour éviter ce problème, vous
3466
          pouvez remplacer (si ce n'est pas déjà fait), dans le fichier LaTeX
3467
          du sujet, la commande <command>\clearpage</command> par
3468
          <command>\AMCcleardoublepage</command>, qui ajoutera les pages
3469
          blanches nécessaires pour que tous les sujets aient un nombre pair
3470
          de pages (voir exemple section <xref
3471
          linkend="secensemble"/>).</para>
3472
        </listitem>
3473
3474
        <listitem>
3475
          <para>Si l'imprimante à utiliser est configurée sur l'ordinateur
3476
          utilisé par AMC, on utilisera de préférence le bouton
3477
          <guibutton>Imprimer des copies</guibutton> (après avoir calculé les
3478
          mises en page), qui permet de sélectionner les copies à imprimer (si
3479
          on ne souhaite pas toutes les imprimer, ou pour une réimpression
3480
          dans le cas où une copie aurait été mal imprimée), de choisir les
3481
          options d'impression (recto-verso, agrafage), et de gérer
3482
          correctement les copies avec un nombre impair de pages même dans le
3483
          cas d'une impression recto-verso sans utilisation de
3484
          <command>\AMCcleardoublepage</command> (en effet, AMC envoie une
3485
          tâche d'impression par copie).</para>
3486
        </listitem>
3487
      </itemizedlist>
3488
    </sect2>
3489
3490
    <sect2>
3491
      <title>Examen</title>
3492
3493
      <para>Il ne reste plus qu'à faire passer l'examen aux
3494
      étudiants...</para>
3495
3496
      <important>
3497
        <para>Une fois que le sujet est imprimé et distribué, il ne faut plus
3498
        modifier les <emphasis>documents de travail</emphasis> car il faut
3499
        garder la certitude qu'ils sont conformes aux copies
3500
        distribuées.</para>
3501
      </important>
3502
    </sect2>
3503
3504
    <sect2>
3505
      <title>Lecture des copies</title>
3506
3507
      <para>Nous allons maintenant passer à la saisie des copies des
3508
      étudiants, qui peut se faire de manière automatique et/ou
3509
      manuelle.</para>
3510
3511
      <para>Pour cela, nous passons sur l'onglet <guilabel>Saisie</guilabel>
3512
      de l'interface graphique.</para>
3513
3514
      <sect3>
3515
        <title>Saisie automatique</title>
3516
3517
        <para>Pour une reconnaissance automatisée des cases cochées dans les
3518
        copies des étudiants, il faut tout d'abord les numériser. J'utilise
3519
        pour ma part une photocopieuse/scanner qui le fait de manière
3520
        automatique (toutes les pages à la suite sans intervention de ma
3521
        part), avec les réglages suivants : 300dpi, mode OCR (prévu pour la
3522
        reconnaissance de caractères, noir et blanc sans nuances de gris),
3523
        scan délivré en un fichier TIFF par page.</para>
3524
3525
        <note>
3526
          <para>Pour l'analyse des copies, nous devons disposer d'un ou
3527
          plusieurs fichiers images (TIFF, JPG, PNG, etc.) des scans. Les
3528
          formats vectoriels (PDF, PS ou EPS) sont également utilisables ; ils
3529
          seront convertis au format PNG par AMC avant leur analyse.</para>
3530
        </note>
3531
3532
        <note>
3533
          <para>Lors de la première saisie automatique, vous aurez à indiquer
3534
          à AMC quelle méthode vous avez choisie : sujets différents pour tous
3535
          les étudiants, ou photocopie de certains sujets (voir <xref
3536
          endterm="impression.titre" linkend="impression"/>).</para>
3537
        </note>
3538
3539
        <para>On sélectionne alors l'ensemble des fichiers obtenus à partir du
3540
        dialogue ouvert par le bouton <guibutton>Automatique</guibutton> de la
3541
        section <guilabel>Saisie des copies après examen</guilabel>, puis on
3542
        valide par le bouton <guibutton>Valider</guibutton> de ce même
3543
        dialogue. AMC va procéder à une reconnaissance optique de marques
3544
        (OMR) sur les scans afin de détecter les quatre marques circulaires
3545
        des coins, en déduire la position des cases à cocher et mesurer la
3546
        proportion de noir à l'intérieur de chacune d'entre elles.</para>
3547
3548
        <para>Le résultat de l'analyse de chaque page est indiqué dans les
3549
        listes de la section <guilabel>Diagnostic</guilabel> :</para>
3550
3551
        <itemizedlist>
3552
          <listitem>
3553
            <para>La valeur <emphasis>EQM</emphasis> (écart quadratique moyen)
3554
            est un indicateur du bon calage sur les marques de calage (les
3555
            quatre ronds noirs entourant chaque copie). Si il est trop
3556
            important, il faudra vérifier le calage (un clic droit sur la
3557
            ligne correspondant à la page puis le choix
3558
            <guimenuitem>page</guimenuitem> permet de visualiser la page
3559
            scannée et le cadre et les cases tels qu'ils sont
3560
            détectés).</para>
3561
          </listitem>
3562
3563
          <listitem>
3564
            <para>La valeur <emphasis>sensibilité</emphasis> est un indicateur
3565
            de la proximité du remplissage des cases avec la valeur seuil. Si
3566
            elle est trop importante (à partir de 8 et jusqu'à sa valeur
3567
            maximale 10), il faudra vérifier que les cases reconnues comme
3568
            étant cochées sont bien les bonnes (un clic droit sur la ligne
3569
            correspondant à la page puis le choix
3570
            <guimenuitem>zoom</guimenuitem> permet de visualiser l'ensemble
3571
            des cases de la copie, de voir si la détection s'est bien
3572
            déroulée, et éventuellement de la corriger par
3573
            glisser-déposer).</para>
3574
          </listitem>
3575
        </itemizedlist>
3576
      </sect3>
3577
3578
      <sect3>
3579
        <title>Saisie manuelle</title>
3580
3581
        <para>Si nous ne pouvons pas utiliser facilement de scanner, ou si,
3582
        pour quelques copies, la saisie automatique n'a pas bien fonctionné,
3583
        nous pouvons effectuer la saisie de manière manuelle. Pour cela,
3584
        ouvrons la fenêtre adéquate grâce au bouton
3585
        <guibutton>Manuelle</guibutton> de la section <guilabel>Saisie des
3586
        copies après examen</guilabel>. Dans cette fenêtre, nous pourrons
3587
        entrer nous-même les cases qui ont été cochées (en cliquant dessus)
3588
        sur les pages désirées.</para>
3589
3590
        <note>
3591
          <para>Toute saisie manuelle effectuée sur une page prendra la place
3592
          des résultats éventuels d'une saisie automatique pour cette même
3593
          page.</para>
3594
        </note>
3595
      </sect3>
3596
    </sect2>
3597
3598
    <sect2>
3599
      <title>Correction</title>
3600
3601
      <para>Dans l'onglet <guilabel>Notation</guilabel> de l'interface
3602
      graphique, la partie <guilabel>Correction</guilabel> nous permet de
3603
      déduire les notes des étudiants à partir des saisies effectuées, mais
3604
      aussi de lire les codes renseignés par les étudiants (voir <xref
3605
      linkend="latex.codes"/>).</para>
3606
3607
      <sect3>
3608
        <title>Processus</title>
3609
3610
        <para>Le calcul des notes se lance à l'aide du bouton
3611
        <guibutton>Corriger</guibutton>, mais nous avons auparavant le choix
3612
        suivant à effectuer :</para>
3613
3614
        <itemizedlist>
3615
          <listitem>
3616
            <para>Si nous cochons la case <guilabel>Mettre à jour le
3617
            barème</guilabel>, le barème sera tout d'abord extrait du fichier
3618
            source LaTeX. Ceci permet de tester plusieurs barèmes à la fin du
3619
            processus de correction. La mise à jour concerne également la
3620
            liste des bonnes et mauvaises réponses, ce qui permet de corriger
3621
            facilement après l'examen une erreur d'étourderie effectuée lors
3622
            de la conception du sujet. La façon de spécifier le barème dans le
3623
            fichier LaTeX sera expliquée à la section <xref
3624
            endterm="bareme.title" linkend="bareme"/> (un barème par défaut
3625
            est utilisé quand aucune indication n'est donnée).</para>
3626
          </listitem>
3627
        </itemizedlist>
3628
3629
        <para>En cliquant sur le bouton <guibutton>Corriger</guibutton>, la
3630
        correction est alors effectuée (cela peut prendre un peu de temps si
3631
        on a aussi demandé la lecture du barème).</para>
3632
      </sect3>
3633
3634
      <sect3 id="bareme">
3635
        <title id="bareme.title">Barème</title>
3636
3637
        <para>Le barème utilisé pour la notation des copies est indiqué dans
3638
        le fichier source LaTeX du questionnaire, à l'aide de la commande
3639
        <command>bareme</command>. Elle peut être utilisée dans un
3640
        environnement <command>question</command> ou
3641
        <command>questionmult</command>, pour fixer des paramètres de barème
3642
        concernant toutes les réponses, mais aussi dans l'environnement
3643
        <command>reponses</command>, pour donner des indications de barème ne
3644
        concernant qu'une réponse. L'argument de la commande LaTeX bareme est
3645
        constitué d'indications du type
3646
        <code><replaceable>parametre</replaceable>=<replaceable>valeur</replaceable></code>,
3647
        séparés par des virgules. Les paramètres utilisables sont les suivants
3648
        (le tableau indique aussi dans quels cadres ces paramètres peuvent
3649
        être utilisés) :</para>
3650
3651
        <informaltable>
3652
          <tgroup cols="6">
3653
            <colspec align="center" colname="param" colwidth="3pc"/>
3654
3655
            <colspec align="center" colname="q" colwidth="1pc"/>
3656
3657
            <colspec align="center" colname="r" colwidth="1pc"/>
3658
3659
            <colspec align="center" colname="qm" colwidth="1pc"/>
3660
3661
            <colspec align="center" colname="rm" colwidth="1pc"/>
3662
3663
            <colspec align="left" colname="valeur"/>
3664
3665
            <spanspec nameend="r" namest="q" spanname="simple"/>
3666
3667
            <spanspec nameend="rm" namest="qm" spanname="multiple"/>
3668
3669
            <tbody>
3670
              <row>
3671
                <entry morerows="1">paramètre</entry>
3672
3673
                <entry spanname="simple">simple</entry>
3674
3675
                <entry spanname="multiple">multiple</entry>
3676
3677
                <entry morerows="1">valeur</entry>
3678
              </row>
3679
3680
              <row>
3681
                <entry>Q</entry>
3682
3683
                <entry>R</entry>
3684
3685
                <entry>Q</entry>
3686
3687
                <entry>R</entry>
3688
              </row>
3689
3690
              <row>
3691
                <entry>e</entry>
3692
3693
                <entry></entry>
3694
3695
                <entry/>
3696
3697
                <entry></entry>
3698
3699
                <entry/>
3700
3701
                <entry>La note affectée en cas d'incohérence des réponses :
3702
                plusieurs cases cochées pour une question simple, ou, pour une
3703
                question multiple, case « aucune de ces réponses n'est
3704
                correcte » cochée en même temps qu'une autre case.</entry>
3705
              </row>
3706
3707
              <row>
3708
                <entry>v</entry>
3709
3710
                <entry></entry>
3711
3712
                <entry/>
3713
3714
                <entry></entry>
3715
3716
                <entry/>
3717
3718
                <entry>La note affectée en cas de non-réponse (aucune case
3719
                n'est cochée).</entry>
3720
              </row>
3721
3722
              <row>
3723
                <entry>d</entry>
3724
3725
                <entry/>
3726
3727
                <entry/>
3728
3729
                <entry></entry>
3730
3731
                <entry/>
3732
3733
                <entry>Un décalage, c'est-à-dire une valeur ajoutée à toutes
3734
                les notes qui ne relèvent pas des cas correspondant aux
3735
                paramètres e et v.</entry>
3736
              </row>
3737
3738
              <row>
3739
                <entry>p</entry>
3740
3741
                <entry/>
3742
3743
                <entry/>
3744
3745
                <entry></entry>
3746
3747
                <entry/>
3748
3749
                <entry>La note plancher. Si le calcul de la note obtenue à la
3750
                question donne une valeur inférieure à la valeur plancher,
3751
                cette note est ramenée à la valeur plancher.</entry>
3752
              </row>
3753
3754
              <row>
3755
                <entry>b</entry>
3756
3757
                <entry></entry>
3758
3759
                <entry/>
3760
3761
                <entry></entry>
3762
3763
                <entry></entry>
3764
3765
                <entry>Points à donner pour une bonne réponse à une
3766
                question.</entry>
3767
              </row>
3768
3769
              <row>
3770
                <entry>m</entry>
3771
3772
                <entry></entry>
3773
3774
                <entry/>
3775
3776
                <entry></entry>
3777
3778
                <entry></entry>
3779
3780
                <entry>Points à donner pour une mauvaise réponse à une
3781
                question.</entry>
3782
              </row>
3783
3784
              <row>
3785
                <entry/>
3786
3787
                <entry/>
3788
3789
                <entry></entry>
3790
3791
                <entry/>
3792
3793
                <entry/>
3794
3795
                <entry>Sans nom de paramètre (syntaxe
3796
                <code>\bareme{2}</code>), on indique le nombre de points à
3797
                donner si l'étudiant a coché <emphasis>cette</emphasis>
3798
                réponse.</entry>
3799
              </row>
3800
3801
              <row>
3802
                <entry>auto</entry>
3803
3804
                <entry></entry>
3805
3806
                <entry/>
3807
3808
                <entry/>
3809
3810
                <entry/>
3811
3812
                <entry>Avec ce paramètre, la valeur de la réponse numéro
3813
                <replaceable>i</replaceable> sera
3814
                <replaceable>auto</replaceable>+<replaceable>i</replaceable>-1.
3815
                Cette option est principalement utilisée avec
3816
                <code>\QuestionIndicative</code> (voir section <xref
3817
                endterm="latex.qr.title" linkend="latex.qr"/>).</entry>
3818
              </row>
3819
3820
              <row>
3821
                <entry>mz</entry>
3822
3823
                <entry></entry>
3824
3825
                <entry/>
3826
3827
                <entry></entry>
3828
3829
                <entry/>
3830
3831
                <entry>Ce paramètre impose un barème du type "maximum ou
3832
                zéro" : si les réponses à la question sont toutes les bonnes,
3833
                alors la note attribuée sera <replaceable>mz</replaceable>.
3834
                Sinon, elle sera nulle.</entry>
3835
              </row>
3836
3837
              <row>
3838
                <entry>haut</entry>
3839
3840
                <entry/>
3841
3842
                <entry/>
3843
3844
                <entry></entry>
3845
3846
                <entry/>
3847
3848
                <entry>En donnant à ce paramètre une valeur
3849
                <replaceable>n</replaceable>, la note attribuée à une réponse
3850
                parfaite sera <replaceable>n</replaceable>, et un point sera
3851
                enlevé par erreur.</entry>
3852
              </row>
3853
3854
              <row>
3855
                <entry>MAX</entry>
3856
3857
                <entry></entry>
3858
3859
                <entry/>
3860
3861
                <entry></entry>
3862
3863
                <entry/>
3864
3865
                <entry>Donne la valeur maximale attribuée à la question (pour
3866
                une « question notée sur 5 », on peut mettre MAX=5). À
3867
                renseigner uniquement si elle ne correspond pas à la note
3868
                obtenue en mettant toutes les bonnes réponses.</entry>
3869
              </row>
3870
3871
              <row>
3872
                <entry>formula</entry>
3873
3874
                <entry></entry>
3875
3876
                <entry/>
3877
3878
                <entry></entry>
3879
3880
                <entry/>
3881
3882
                <entry>Donne directement le score de la question, souvent par
3883
                le biais d'une formule faisant intervenir des variables (voir
3884
                <xref linkend="scoring.global"/>), sans tenir compte des
3885
                valeurs de <code>b</code> et <code>m</code>.</entry>
3886
              </row>
3887
3888
              <row>
3889
                <entry>set.<replaceable>XXX</replaceable></entry>
3890
3891
                <entry></entry>
3892
3893
                <entry></entry>
3894
3895
                <entry></entry>
3896
3897
                <entry></entry>
3898
3899
                <entry>Donne une valeur particulière à la variable nommée
3900
                <replaceable>XXX</replaceable>, qui pourra être utilisée par
3901
                la suite par <code>formula</code>. Dans le contexte d'une
3902
                réponse, la valeur est attribuée uniquement dans le cas où la
3903
                case est cochée.Cas particulier : si on donne une valeur
3904
                non-nulle à la variable <varname>INVALID</varname> par ce
3905
                biais, les réponses seront déclarées incohérentes et le score
3906
                sera celui donné par le paramètre <code>e</code>.</entry>
3907
              </row>
3908
3909
              <row>
3910
                <entry>default.<replaceable>XXX</replaceable></entry>
3911
3912
                <entry></entry>
3913
3914
                <entry/>
3915
3916
                <entry></entry>
3917
3918
                <entry/>
3919
3920
                <entry>Donne une valeur à la variable
3921
                <replaceable>XXX</replaceable> si aucune case cochée n'en a
3922
                déjà donnée une par le biais de
3923
                <code>set.<replaceable>XXX</replaceable></code>.</entry>
3924
              </row>
3925
3926
              <row>
3927
                <entry>requires.<replaceable>XXX</replaceable></entry>
3928
3929
                <entry></entry>
3930
3931
                <entry/>
3932
3933
                <entry></entry>
3934
3935
                <entry/>
3936
3937
                <entry>Signale une saisie <emphasis>incohérente</emphasis>
3938
                (donc l'application du score donné par la valeur de
3939
                <code>e</code>) dans la cas où aucune valeur n'a été donnée à
3940
                la variable <replaceable>XXX</replaceable>.</entry>
3941
              </row>
3942
            </tbody>
3943
          </tgroup>
3944
        </informaltable>
3945
3946
        <para>Le barème par défaut pour une question simple est
3947
        <code>e=0,v=0,b=1,m=0</code>, ce qui donne un point pour une bonne
3948
        réponse et aucun point dans tous les autres cas. Le barème par défaut
3949
        pour une question multiple est
3950
        <code>e=0,v=0,b=1,m=0,p=-100,d=0</code>, ce qui donne un point pour
3951
        chaque case qui est cochée ou non à bon escient (case d'une bonne
3952
        réponse cochée, ou case d'une mauvaise réponse non cochée).</para>
3953
3954
        <para>La commande LaTeX <command>\bareme</command> peut aussi être
3955
        utilisée hors des définitions des questions, avec les paramètres
3956
        suivants :</para>
3957
3958
        <itemizedlist>
3959
          <listitem>
3960
            <para><code>SUF=</code><replaceable>x</replaceable> permet de
3961
            donner un total de points suffisant pour obtenir la note
3962
            maximale : si on fixe la note maximale à 20 par exemple, une copie
3963
            ayant un total de points de 12 avec l'utilisation de SUF=15 se
3964
            verra attribuer la note de 12/15*20=16, quel que soit le total
3965
            d'une copie ayant toutes les bonnes réponses.</para>
3966
          </listitem>
3967
3968
          <listitem>
3969
            <para><code>allowempty=<replaceable>x</replaceable></code> permet
3970
            à l'étudiant de laisser <replaceable>x</replaceable> questions
3971
            sans réponse. Parmi les questions laissées sans réponse par
3972
            l'étudiant, <replaceable>x</replaceable> (ou moins si il n'y en a
3973
            pas autant) seront annulées (c'est-à-dire qu'elles ne seront pas
3974
            prises en compte pour le calcul du score total).</para>
3975
          </listitem>
3976
        </itemizedlist>
3977
3978
        <para>L'utilisation combinée de tous ces paramètres permet de définir
3979
        toutes sortes de barèmes, comme dans l'exemple suivant :</para>
3980
3981
        <para><!--NAME: Barème
3982
DESC: Exemple (issu de la documentation) de spécification du barème.--><programlisting
3983
        id="modeles-bareme.tex" linenumbering="numbered">\documentclass{article}
3984
3985
\usepackage[utf8x]{inputenc}
3986
\usepackage[T1]{fontenc}
3987
3988
\usepackage[francais,bloc,completemulti]{automultiplechoice}
3989
3990
\begin{document}
3991
3992
% preparation du groupe de questions appelé qqs (on mettra au maximum
3993
% 20 elements dans ce groupe) :
3994
3995
\element{qqs}{
3996
\begin{question}{le bon choix}
3997
  Combien de points voulez-vous à cette question~?
3998
  \begin{reponses}
3999
    \bonne{Le maximun : 10}\bareme{10}
4000
    \mauvaise{Seulement 5}\bareme{5}
4001
    \mauvaise{Deux me suffiront}\bareme{2}
4002
    \mauvaise{Aucun, merci}\bareme{0}
4003
  \end{reponses}
4004
\end{question}
4005
}
4006
4007
\element{qqs}{
4008
\begin{questionmult}{engrange}
4009
  Engrangez des points gratuitement en cochant les cases ci-dessous~:
4010
  \begin{reponses}
4011
    \bonne{2 points}\bareme{b=2}
4012
    \mauvaise{Un point négatif}\bareme{b=0,m=-1}
4013
    \bonne{3 points}\bareme{b=3}
4014
    \bonne{1 point}
4015
    \bonne{Un demi point}\bareme{b=0.5}
4016
  \end{reponses}
4017
\end{questionmult}
4018
}
4019
4020
\element{qqs}{
4021
\begin{questionmult}{tout ou rien}\bareme{mz=3}
4022
  Il faut cocher exactement comme il faut pour avoir trois points, sinon vous n'en
4023
  aurez aucun.
4024
  \begin{reponses}
4025
    \mauvaise{Fausse}
4026
    \mauvaise{Fausse}
4027
    \bonne{Juste}
4028
    \bonne{Juste}
4029
  \end{reponses}
4030
\end{questionmult}
4031
}
4032
4033
\element{qqs}{
4034
\begin{questionmult}{2 au plus}\bareme{haut=2}
4035
  Deux points pour tout juste, et un point pour chaque erreur...
4036
  \begin{reponses}
4037
    \bonne{Bonne réponse}
4038
    \bonne{Ceci est juste}
4039
    \bonne{Exact}
4040
    \mauvaise{Faux~!}
4041
    \mauvaise{Ne pas cocher~!}
4042
  \end{reponses}
4043
\end{questionmult}
4044
}
4045
4046
\element{qqs}{
4047
\begin{question}{attention}\bareme{b=2}
4048
  Alors là, la réponse très fausse mérite sanction (-2 points), mais
4049
  viser juste rapporte 2 points.
4050
  \begin{reponses}
4051
    \bonne{C'est bon !}
4052
    \mauvaise{Pas bon}
4053
    \mauvaise{Pas bon}
4054
    \mauvaise{Pas bon}
4055
    \mauvaise{Très faux !}\bareme{-2}
4056
  \end{reponses}
4057
\end{question}
4058
}
4059
4060
\element{qqs}{
4061
\begin{questionmult}{au choix}
4062
  Choisissez vos points :
4063
  \begin{reponses}
4064
    \bonne{J'en veux 2}\bareme{b=2}
4065
    \mauvaise{J'en donne trois}\bareme{b=0,m=3}
4066
    \bonne{J'en veux un (et sinon j'en perds un)}\bareme{m=-1}
4067
  \end{reponses}
4068
\end{questionmult}
4069
}
4070
4071
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4072
4073
\exemplaire{20}{
4074
4075
\noindent{\bf QCM  \hfill TEST DE BARÈME}
4076
4077
\vspace*{.5cm}
4078
\begin{minipage}{.4\linewidth}
4079
\centering\large\bf Test\\ Examen du 01/01/2008\end{minipage}
4080
\champnom{\fbox{\begin{minipage}{.5\linewidth}
4081
Nom et prénom :
4082
4083
\vspace*{.5cm}\dotfill
4084
\vspace*{1mm}
4085
\end{minipage}}}
4086
4087
\begin{center}\em
4088
Durée : 10 minutes.
4089
\end{center}
4090
\vspace{1ex}
4091
4092
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4093
4094
\melangegroupe{qqs}
4095
4096
\restituegroupe{qqs}
4097
4098
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4099
4100
\clearpage
4101
4102
}
4103
4104
\end{document}</programlisting></para>
4105
      </sect3>
4106
4107
      <sect3 id="scoring.global">
4108
        <title>Barèmes généraux</title>
4109
4110
        <para>Pour utiliser un barème de manière générale pour tout un
4111
        ensemble de questions, on pourra le définir dans une commande LaTeX,
4112
        comme dans l'exemple suivant :</para>
4113
4114
        <programlisting>\def\barQmult{haut=3,p=-1}
4115
4116
\begin{questionmult}\bareme{\barQmult}
4117
[...]
4118
\end{questionmult}</programlisting>
4119
4120
        <para>Une autre possibilité est offerte par les commandes LaTeX
4121
        <command>\baremeDefautS</command> et
4122
        <command>\baremeDefautM</command>, à utiliser en début de document (en
4123
        dehors de la commande <command>\exemplaire</command>), qui permettent
4124
        de donner des valeurs par défaut pour les barèmes des questions
4125
        simples et des questions multiples :</para>
4126
4127
        <programlisting>\baremeDefautM{haut=3,p=-1}</programlisting>
4128
4129
        <para>Dans certains cas de figure, il peut être intéressant de définir
4130
        un barème de manière générale <emphasis>en fonction du nombre de
4131
        réponses proposées</emphasis>. Il suffit pour cela de mettre les
4132
        valeurs intervenant dans le barème sous la forme de formules utilisant
4133
        la variable <varname>N</varname>. Par exemple, pour obtenir un barème
4134
        qui fixe à 4 la note maximale et tel que l'espérance de la note d'un
4135
        étudiant cochant au hasard chaque case soit de 1, on peut utiliser le
4136
        barème <code>d=4,b=0,m=-(4-1)*2/N</code> (qui donne une note de -2 si
4137
        toutes les réponses sont fausses, c'est-à-dire si on a coché les cases
4138
        qu'il ne fallait pas cocher et si on n'a pas coché les cases qu'il
4139
        fallait cocher). Les opérations acceptées dans ces formules sont les
4140
        quatre opérations simples (+ - * /), l'opérateur de test <code>( ? :
4141
        )</code>, les parenthèses et plus généralement toutes celles reconnues
4142
        par perl.</para>
4143
4144
        <para>D'autres variables sont aussi utilisables :</para>
4145
4146
        <itemizedlist>
4147
          <listitem>
4148
            <para><varname>N</varname> est le nombre de réponses proposées,
4149
            sans compter la réponse automatiquement ajoutée par l'option
4150
            <option>completemulti</option>.</para>
4151
          </listitem>
4152
4153
          <listitem>
4154
            <para><varname>NB</varname> est le nombre de bonnes réponses à la
4155
            question (sans tenir compte des cases cochées ou non).</para>
4156
          </listitem>
4157
4158
          <listitem>
4159
            <para><varname>NBC</varname> est le nombre de bonnes réponses qui
4160
            ont été cochées.</para>
4161
          </listitem>
4162
4163
          <listitem>
4164
            <para><varname>NM</varname> est le nombre de mauvaises réponses à
4165
            la question (sans tenir compte des cases cochées ou non).</para>
4166
          </listitem>
4167
4168
          <listitem>
4169
            <para><varname>NMC</varname> est le nombre de mauvaises réponses
4170
            qui ont été cochées.</para>
4171
          </listitem>
4172
4173
          <listitem>
4174
            <para><varname>IS</varname> vaut 1 si la question est simple et 0
4175
            sinon.</para>
4176
          </listitem>
4177
4178
          <listitem>
4179
            <para><varname>IMULT</varname> vaut 1 si la question est multiple
4180
            et 0 sinon.</para>
4181
          </listitem>
4182
        </itemizedlist>
4183
      </sect3>
4184
4185
      <sect3 id="note-finale">
4186
        <title>Du barème aux notes des étudiants</title>
4187
4188
        <para>Les notes des étudiants sont calculées de la manière suivante :
4189
        pour chaque étudiant,</para>
4190
4191
        <orderedlist>
4192
          <listitem>
4193
            <para>Le barème de chaque question est appliqué pour obtenir les
4194
            <emphasis>scores</emphasis> obtenus aux questions.</para>
4195
          </listitem>
4196
4197
          <listitem>
4198
            <para>La somme des <emphasis>scores</emphasis> de toutes les
4199
            questions (sauf les questions indicatives) est calculée : on
4200
            obtient le <emphasis>score total</emphasis> de l'étudiant.</para>
4201
          </listitem>
4202
4203
          <listitem>
4204
            <para>Si une <emphasis>note maximale</emphasis> non-nulle est
4205
            donnée en paramètre (dans l'onglet Projet de la fenêtre ), le
4206
            <emphasis>score total</emphasis> est divisé par le <emphasis>score
4207
            maximal</emphasis> (c'est-à-dire le <emphasis>score
4208
            total</emphasis> calculé pour une copie parfaite), puis multiplié
4209
            par la <emphasis>note maximale</emphasis>, pour obtenir la
4210
            <emphasis>note</emphasis> de l'étudiant. De cette façon, un
4211
            étudiant ayant répondu de manière parfaite se verra attribuer la
4212
            <emphasis>note maximale</emphasis>. Avec une <emphasis>note
4213
            maximale</emphasis> fixée à 100, la <emphasis>note</emphasis> de
4214
            l'étudiant pourra être vue comme un pourcentage de bonnes
4215
            réponses. En France, on utilise souvent une <emphasis>note
4216
            maximale</emphasis> égale à 20.</para>
4217
          </listitem>
4218
        </orderedlist>
4219
      </sect3>
4220
    </sect2>
4221
4222
    <sect2>
4223
      <title>Identification des étudiants</title>
4224
4225
      <para>Cette étape n'est pas obligatoire. Il s'agit d'associer chaque
4226
      copie à un étudiant. La lecture du nom d'étudiant n'est pas faite de
4227
      manière automatique, mais deux possibilités raisonnables sont
4228
      prévues :</para>
4229
4230
      <orderedlist>
4231
        <listitem>
4232
          <para>Il est possible de demander aux étudiants de s'identifier sur
4233
          leur copie grâce à leur numéro d'étudiant, qui sera renseigné en
4234
          cochant une case par chiffre. Une commande LaTeX est prévue pour
4235
          mettre cette méthode en œuvre sur la copie (voir la partie <xref
4236
          linkend="latex.codes"/>). Après l'examen, les copies seront
4237
          identifiées automatiquement à partir d'une liste mettant en
4238
          correspondance les numéros d'étudiants et les noms.</para>
4239
        </listitem>
4240
4241
        <listitem>
4242
          <para>Sans saisie des numéros d'étudiants, ou dans le cas où
4243
          l'identification automatique n'a pas parfaitement fonctionné (par
4244
          exemple en cas d'erreur de saisie des étudiants), l'interface
4245
          graphique permet une association manuelle assistée.</para>
4246
        </listitem>
4247
      </orderedlist>
4248
4249
      <para>Sélectionnons tout d'abord l'onglet <guilabel>Notation</guilabel>
4250
      de l'interface graphique.</para>
4251
4252
      <sect3 id="liste.etudiants">
4253
        <title id="liste.etudiants.title">Liste des étudiants</title>
4254
4255
        <para>Il faut tout d'abord disposer d'une liste d'étudiants. Cette
4256
        liste pourra bien sûr être utilisée pour plusieurs QCM. Elle devra
4257
        être préparée au format CSV, avec éventuellement des lignes de
4258
        commentaires au début préfixées par le caractère
4259
        `<code>#</code>' :<programlisting># liste des étudiants de première année
4260
nom:prenom:no:email
4261
Bienvenüe:Alexis:001:paamc@passoire.fr
4262
Boulix:Jojo:002:jojo.boulix@rien.xx
4263
Noël:Père:003:pere.noel@pole-nord.xx</programlisting></para>
4264
4265
        <para>Les lignes du fichier qui commencent par le caractère
4266
        `<code>#'</code> sont des commentaires. La première des autres lignes
4267
        contient, séparés par le caractère <code>`:'</code>, les titres des
4268
        colonnes. Ensuite, en une ligne par étudiant, on place les
4269
        informations voulues. Il est préférable d'inclure au moins une colonne
4270
        nommée <code>nom</code>.</para>
4271
4272
        <note>
4273
          <para>On peut remplacer le séparateur <code>`:'</code> par une
4274
          virgule, un point-virgule ou une tabulation. Il faut cependant
4275
          utiliser le même séparateur partout dans le fichier contenant la
4276
          liste des étudiants. Le séparateur utilisé sera détecté en prenant
4277
          le caractère (parmi les quatre possibles) qui apparaît le plus de
4278
          fois dans la première ligne qui n'est pas un commentaire.</para>
4279
4280
          <para>Tout fichier au format CSV devrait convenir.</para>
4281
        </note>
4282
4283
        <para>La liste des étudiants préparée (que se soit une liste simple ou
4284
        comprenant plus d'informations), nous la désignons maintenant en la
4285
        sélectionnant à partir du bouton <guibutton>Choisir</guibutton> de la
4286
        partie <guilabel>Identification des étudiants</guilabel>. Il faut
4287
        également désigner l'identifiant unique qui permettra d'identifier les
4288
        étudiants (en général, on choisit la colonne qui contient des numéros
4289
        d'étudiants). Enfin, en vue d'une association automatique, il faut
4290
        encore choisir le nom du code adopté dans la commande LaTeX
4291
        <command>AMCcode</command>.</para>
4292
      </sect3>
4293
4294
      <sect3>
4295
        <title>Association</title>
4296
4297
        <sect4>
4298
          <title>Association automatique</title>
4299
4300
          <para>En appuyant sur le bouton <guibutton>Automatique</guibutton>
4301
          de la partie <guilabel>Identification des étudiants</guilabel>, la
4302
          recherche parmi la liste des codes renseignés par les étudiants
4303
          s'opère. On peut ensuite observer ou peaufiner le résultat grâce à
4304
          une association manuelle.</para>
4305
4306
          <warning>
4307
            <para>Pour effectuer une association automatique, il est
4308
            nécessaire d'avoir utilisé au moins une fois la commande
4309
            <command>AMCcode</command> (voir <xref linkend="latex.codes"/>)
4310
            dans le fichier source LaTeX, et d'avoir une liste d'étudiants
4311
            avec une colonne qui contient une référence (en général un numéro
4312
            d'étudiant) qui sera identique à la saisie effectuée au niveau des
4313
            cases produites par <command>AMCcode</command>.</para>
4314
          </warning>
4315
        </sect4>
4316
4317
        <sect4>
4318
          <title>Association manuelle</title>
4319
4320
          <para>Pour ouvrir la fenêtre de reconnaissance des noms d'étudiants,
4321
          cliquons sur le bouton <guibutton>Manuelle</guibutton> de la partie
4322
          <guilabel>Identification des étudiants</guilabel>. Cette fenêtre se
4323
          compose d'une partie haute présentant successivement les noms
4324
          inscrits par les étudiants, d'une partie basse comprenant un bouton
4325
          par étudiant de la liste que nous avons fabriquée, ainsi que d'une
4326
          partie droite qui permet une navigation aisée parmi les copies à
4327
          identifier. Nous cliquons sur le bouton correspondant au nom inscrit
4328
          en partie haute pour chaque page qui nous est présentée (par défaut,
4329
          seules les copies non ou mal identifiées sont présentées. Ceci peut
4330
          être changé en cochant la case <guilabel>associés</guilabel>). Quand
4331
          toutes les pages sont lues, un fond bleu apparaît à la place des
4332
          noms, et il ne nous reste plus qu'à cliquer sur le bouton
4333
          <guibutton>Enregistrer</guibutton> de la fenêtre.</para>
4334
        </sect4>
4335
      </sect3>
4336
    </sect2>
4337
4338
    <sect2>
4339
      <title>Export de la liste des notes</title>
4340
4341
      <para>À ce stade, nous pouvons récupérer la liste des notes sous
4342
      plusieurs formats (pour l'instant CSV et OpenOffice), grâce au bouton
4343
      <guibutton>Exporter</guibutton>. Cet export s'accompagnera de
4344
      l'ouverture du fichier produit par le logiciel approprié (si il est
4345
      installé).</para>
4346
4347
      <sect3>
4348
        <title>Export ODS (OpenOffice, LibreOffice)</title>
4349
4350
        <para>Dans le fichier exporté, le codage couleur suivant est
4351
        adopté :</para>
4352
4353
        <variablelist>
4354
          <varlistentry>
4355
            <term>gris</term>
4356
4357
            <listitem>
4358
              <para>correspond aux cases qui ne comportent aucune information.
4359
              Il s'agit par exemple des scores d'un étudiant absent, ou des
4360
              scores aux questions qui n'ont pas été présentées à l'étudiant
4361
              correspondant.</para>
4362
            </listitem>
4363
          </varlistentry>
4364
4365
          <varlistentry>
4366
            <term>jaune</term>
4367
4368
            <listitem>
4369
              <para>utilisé pour repérer les questions où l'étudiant n'a pas
4370
              fourni de réponse.</para>
4371
            </listitem>
4372
          </varlistentry>
4373
4374
          <varlistentry>
4375
            <term>rouge</term>
4376
4377
            <listitem>
4378
              <para>utilisé pour les questions où l'étudiant a répondu de
4379
              manière <emphasis>invalide</emphasis> : il a coché plus d'une
4380
              case pour une question simple, ou il a coché une ou plusieurs
4381
              cases en plus de la case <emphasis>Aucune de ces réponses n'est
4382
              correcte</emphasis>.</para>
4383
            </listitem>
4384
          </varlistentry>
4385
4386
          <varlistentry>
4387
            <term>violet</term>
4388
4389
            <listitem>
4390
              <para>utilisé pour les cases correspondant à des questions
4391
              indicatives (ne comptent pas pour la note finale de
4392
              l'étudiant).</para>
4393
            </listitem>
4394
          </varlistentry>
4395
        </variablelist>
4396
      </sect3>
4397
    </sect2>
4398
4399
    <sect2>
4400
      <title>Annotation</title>
4401
4402
      <para>En appuyant sur le bouton <guibutton>Annoter les
4403
      copies</guibutton>, l'annotation des pages des étudiants commencera :
4404
      sur chaque scan, les annotations suivantes sont effectuées (nous
4405
      détaillons ici les annotations par défaut, qui peuvent être
4406
      configurées) :</para>
4407
4408
      <itemizedlist>
4409
        <listitem>
4410
          <para>les cases cochées à tort par l'étudiant sont entourées en
4411
          rouge ;</para>
4412
        </listitem>
4413
4414
        <listitem>
4415
          <para>les cases non-cochées qui auraient dû l'être sont cochées en
4416
          rouge ;</para>
4417
        </listitem>
4418
4419
        <listitem>
4420
          <para>les cases cochées et qui devaient l'être sont cochées en
4421
          bleu ;</para>
4422
        </listitem>
4423
4424
        <listitem>
4425
          <para>pour chaque question, sont indiquées la note obtenue ainsi que
4426
          la note maximale pouvant être obtenue ;</para>
4427
        </listitem>
4428
4429
        <listitem>
4430
          <para>la note globale de la copie est indiquée en première page de
4431
          la copie.</para>
4432
        </listitem>
4433
      </itemizedlist>
4434
4435
      <para>Le texte inscrit en haut de la première page de chaque copie peut
4436
      être configuré (<menuchoice>
4437
          <guimenu>Édition</guimenu>
4438
4439
          <guimenuitem>Préférences</guimenuitem>
4440
4441
          <guimenuitem>Annotation</guimenuitem>
4442
4443
          <guimenuitem>En-tête</guimenuitem>
4444
        </menuchoice> ou <menuchoice>
4445
          <guimenu>Édition</guimenu>
4446
4447
          <guimenuitem>Préférences</guimenuitem>
4448
4449
          <guimenuitem>Projet</guimenuitem>
4450
4451
          <guimenuitem>Annotation des copies</guimenuitem>
4452
4453
          <guimenuitem>Texte d'en-tête</guimenuitem>
4454
        </menuchoice>). Les substitutions suivantes s'applioquent sur ce texte
4455
      (voir <xref linkend="note-finale"/> pour une explication de la
4456
      signification de ces valeurs) :</para>
4457
4458
      <variablelist>
4459
        <varlistentry>
4460
          <term><literal>%S</literal></term>
4461
4462
          <listitem>
4463
            <para>est remplacé par le score total de l'étudiant.</para>
4464
          </listitem>
4465
        </varlistentry>
4466
4467
        <varlistentry>
4468
          <term><literal>%M</literal></term>
4469
4470
          <listitem>
4471
            <para>est remplacé par le score maximal (score obtenu par
4472
            l'étudiant si il ne fait aucune erreur).</para>
4473
          </listitem>
4474
        </varlistentry>
4475
4476
        <varlistentry>
4477
          <term><literal>%s</literal></term>
4478
4479
          <listitem>
4480
            <para>est remplacé par la note de l'étudiant.</para>
4481
          </listitem>
4482
        </varlistentry>
4483
4484
        <varlistentry>
4485
          <term><literal>%m</literal></term>
4486
4487
          <listitem>
4488
            <para>est remplacé par la note maximale.</para>
4489
          </listitem>
4490
        </varlistentry>
4491
4492
        <varlistentry>
4493
          <term><literal>%(ID)</literal></term>
4494
4495
          <listitem>
4496
            <para>est remplacé par le nom de l'étudiant.</para>
4497
          </listitem>
4498
        </varlistentry>
4499
4500
        <varlistentry>
4501
          <term><literal>%(<replaceable>COL</replaceable>)</literal></term>
4502
4503
          <listitem>
4504
            <para>est remplacé par la valeur de la colonne
4505
            <replaceable>COL</replaceable> dans la liste des étudiants pour
4506
            l'étudiant considéré.</para>
4507
          </listitem>
4508
        </varlistentry>
4509
      </variablelist>
4510
4511
      <para>Cette opération est effectuée page par page, et le résultat est
4512
      constitué de copies corrigées au format PDF. Le nom du fichier PDF qui
4513
      contiendra la copie corrigée d'un étudiant donné est formé à partir du
4514
      modèle indiqué dans le champ <guilabel>Modèle de nom de
4515
      fichier</guilabel>. Dans ce modèle, les textes du type
4516
      « (<replaceable>col</replaceable>) » seront remplacés par le contenu de
4517
      la colonne nommée <code><replaceable>col</replaceable></code> dans le
4518
      fichier listant les étudiants (voir section <xref
4519
      endterm="liste.etudiants.title" linkend="liste.etudiants"/>). Si on
4520
      laisse ce champ vide, une valeur par défaut formée du nom et du numéro
4521
      d'étudiant de l'étudiant sera utilisée.</para>
4522
    </sect2>
4523
  </sect1>
4524
4525
  <sect1>
4526
    <title>Utilisations particulières</title>
4527
4528
    <sect2>
4529
      <title>Photocopie du sujet</title>
4530
4531
      <para>Comme expliqué dans <xref endterm="impression.titre"
4532
      linkend="impression"/>, il n'est pas toujours possible de photocopier
4533
      une feuille de réponses pour en donner à plusieurs étudiants. Cependant,
4534
      dans le cas de l'utilisation de la feuille de réponses séparée, et quand
4535
      les questions et réponses ne doivent pas être mélangées, il est possible
4536
      de photocopier le sujet et imprimer les feuilles de réponses séparément.
4537
      La conduite à suivre pour obtenir un tel résultat est indiquée
4538
      ici.</para>
4539
4540
      <itemizedlist>
4541
        <listitem>
4542
          <para>Utiliser l'option <option>ensemble</option> (voir <xref
4543
          endterm="sec.package.options.titre"
4544
          linkend="sec.package.options"/>).</para>
4545
        </listitem>
4546
4547
        <listitem>
4548
          <para>Écrire le sujet avant l'utilisation de la commande
4549
          <command>exemplaire</command>, ou de l'environnement
4550
          <command>copieexamen</command>.</para>
4551
        </listitem>
4552
4553
        <listitem>
4554
          <para>Utiliser la commande <command>\AMCformS</command> pour
4555
          restituer les cases à cocher sur chaque feuille de réponses, à
4556
          l'intérieur de
4557
          <command>exemplaire</command>/<command>copieexamen</command>.</para>
4558
        </listitem>
4559
      </itemizedlist>
4560
4561
      <para>Voici un example minimal de fichier LaTeX :</para>
4562
4563
      <programlisting>\documentclass[a4paper]{article}
4564
\usepackage[ensemble]{automultiplechoice}    
4565
\begin{document}
4566
4567
\noindent{\bf Sujet}
4568
4569
\begin{question}{sum}
4570
  Combien font un plus un ?
4571
  \begin{reponses}
4572
    \mauvaise{1}
4573
    \bonne{2}
4574
    \mauvaise{3}
4575
  \end{reponses}
4576
\end{question}
4577
4578
\begin{question}{k2}
4579
  Quelle est l'altitude du K2?
4580
  \begin{reponses}
4581
    \mauvaise{around 8000m}
4582
    \bonne{around 8600m}
4583
    \mauvaise{around 9000m}
4584
  \end{reponses}
4585
\end{question}
4586
4587
\AMCcleardoublepage    
4588
4589
\exemplaire{5}{    
4590
4591
\AMCdebutFormulaire    
4592
4593
{\large\bf Feuille de r\'eponses :}
4594
\hfill \champnom{\fbox{    
4595
    \begin{minipage}{.5\linewidth}
4596
      Nom:
4597
      
4598
      \vspace*{.5cm}\dotfill
4599
      \vspace*{1mm}
4600
    \end{minipage}
4601
  }}
4602
4603
\AMCformS    
4604
4605
}  
4606
4607
\end{document}</programlisting>
4608
    </sect2>
4609
4610
    <sect2 id="postcorrect">
4611
      <title>Correction a posteriori</title>
4612
4613
      <para>Supposons que vous souhaitez utiliser une unique feuille de
4614
      réponses générique pour tous vos examens. Elle contiendra simplement des
4615
      cases à cocher (par exemple 5 cases par question, et 40 questions). Les
4616
      sujets des examens seront rédigés à part. Le problème ici est que les
4617
      bonnes réponses ne sont pas indiquées dans le fichier LaTeX, ce qui fait
4618
      que AMC ne peut pas les connaître. La solution consiste à demander à
4619
      l'enseignant de cocher sur une feuille de réponse les bonnes réponses,
4620
      qui sera transmise à AMC pour qu'il y lise les bonnes réponses.</para>
4621
4622
      <para>Pour mettre en œuvre ce schéma de fonctionnement, vous
4623
      devez :</para>
4624
4625
      <itemizedlist>
4626
        <listitem>
4627
          <para>utiliser les options <option>postcorrect</option>,
4628
          <option>insidebox</option> et <option>noshuffle</option> (voir <xref
4629
          endterm="sec.package.options.titre"
4630
          linkend="sec.package.options"/>) ;</para>
4631
        </listitem>
4632
4633
        <listitem>
4634
          <para>utiliser <command>\mauvaise</command> pour toutes les réponses
4635
          (jamais <command>\bonne</command>).</para>
4636
        </listitem>
4637
      </itemizedlist>
4638
4639
      <para>Voici un exemple minimal :</para>
4640
4641
      <programlisting>\documentclass[a4paper]{article}
4642
\usepackage{multicol}
4643
\usepackage[insidebox,noshuffle,postcorrect]{automultiplechoice}    
4644
4645
\begin{document}
4646
4647
\exemplaire{5}{    
4648
4649
\noindent
4650
\begin{tabular}{|l|l|l|}
4651
\hline
4652
num\'ero d'\'etudiant &amp; classe &amp; sujet\\
4653
\hline
4654
 \vspace{-0.25cm}
4655
 &amp; &amp;\\
4656
\AMCcode{NumEtud}{10}\hspace*{\fill}&amp;
4657
\AMCcode{Classe}{2}\hspace*{\fill}&amp;
4658
\AMCcode{Sujet}{3}\hspace*{\fill}
4659
\\
4660
\hline
4661
\end{tabular}
4662
\hfill\namefield{\fbox{    
4663
    \begin{minipage}{.25\linewidth}
4664
      Nom :
4665
      
4666
      \vspace*{.5cm}\dotfill
4667
      
4668
      \vspace*{.5cm}\dotfill
4669
      \vspace*{1mm}
4670
    \end{minipage}
4671
  }}\hfill
4672
4673
4674
\vspace{.5cm}
4675
\noindent\hrulefill
4676
4677
\begin{multicols}{2}\columnseprule=.4pt
4678
4679
\begin{question}{01}
4680
\begin{reponsesperso}
4681
\mauvaise{}%
4682
\mauvaise{}%
4683
\mauvaise{}%
4684
\mauvaise{}%
4685
\mauvaise{}%
4686
\end{reponsesperso}
4687
\end{question}
4688
4689
\begin{question}{02}
4690
\begin{reponsesperso}
4691
\mauvaise{}%
4692
\mauvaise{}%
4693
\mauvaise{}%
4694
\mauvaise{}%
4695
\mauvaise{}%
4696
\end{reponsesperso}
4697
\end{question}
4698
4699
% continuez ici pour ajouter autant de questions que souhaité...
4700
4701
\end{multicols}  
4702
4703
}   
4704
4705
\end{document}</programlisting>
4706
4707
      <para>Après traitement du fichier LaTeX par AMC, imprimez les feuilles
4708
      de réponses obtenues, faites passer l'examen et demandez à l'enseignant
4709
      de remplir une feuille. Scannez ensuite les feuilles de réponses, et
4710
      lancez la saisie automatique dans AMC (y compris de la feuille remplie
4711
      par l'enseignant). Quand vous cliquez sur
4712
      <guibutton>Corriger</guibutton> dans l'onglet
4713
      <guilabel>Notation</guilabel>, en laissant la case <guilabel>Mettre à
4714
      jour le barème</guilabel> cochée, AMC vous demandera le numéro de la
4715
      copie remplie par l'enseignant. La suite des opérations est la même que
4716
      dans le cas standard.</para>
4717
4718
      <note>
4719
        <para>Vous pouvez aussi écrire les lettres des cases à l'extérieur de
4720
        celles-ci : utilisez pour cela l'option <option>outsidebox</option> à
4721
        la place de <option>insidebox</option>, et écrivez vos questions de la
4722
        façon suivante:</para>
4723
4724
        <programlisting>\begin{question}{01}
4725
\begin{reponsesperso}
4726
\wrongchoice{A }%
4727
\wrongchoice{B }%
4728
\wrongchoice{C }%
4729
\wrongchoice{D }%
4730
\wrongchoice{E }%
4731
\end{reponsesperso}
4732
\end{question}
4733
</programlisting>
4734
      </note>
4735
    </sect2>
4736
4737
    <sect2>
4738
      <title>Copies préremplies</title>
4739
4740
      <para>Dans certaines situations, il peut être souhaitable de préparer
4741
      des copies nominatives pour tous les étudiants, à partir d'une liste
4742
      d'étudiants. La démarche suivante, basée sur l'utilisation du paquet
4743
      LaTeX csvsimple, permet d'obtenir ce résultat.</para>
4744
4745
      <itemizedlist>
4746
        <listitem>
4747
          <para>La liste des étudiants doit être au format CSV. On suppose
4748
          dans la suite que le fichier <filename>liste.csv</filename>, placé
4749
          dans le répertoire du projet, utilise l'encodage UTF8 et est sous la
4750
          forme suivante :<programlisting>nom,prenom,id
4751
Boulix,Jojo,001
4752
Golin,André,002
4753
Moniuszko,Stanisław,003</programlisting></para>
4754
        </listitem>
4755
4756
        <listitem>
4757
          <para>Le sujet LaTeX doit charger le paquet csvsimple, grâce à une
4758
          ligne<programlisting>\usepackage{csvsimple}</programlisting></para>
4759
        </listitem>
4760
4761
        <listitem>
4762
          <para>Dans le fichier source, le sujet doit être défini sous la
4763
          forme d'une commande LaTeX produisant un seul sujet, qui sera
4764
          appelée (autant de fois qu'il y a d'étudiants) par la commande
4765
          <command>\csvreader</command> de la façon suivante (on suppose que
4766
          les questions ont été préalablement insérées dans un groupe appelé
4767
          <code>general</code>) :</para>
4768
4769
          <programlisting>\newcommand{\sujet}{
4770
  \onecopy{1}{    
4771
4772
    \noindent{\bf AutoMultipleChoice  \hfill TEST}
4773
4774
    \vspace*{.5cm}
4775
4776
    \begin{center}\em
4777
      Test des copies pr\'e-remplies.
4778
    \end{center}
4779
4780
    \hfill \champnom{\fbox{    
4781
        \begin{minipage}{.5\linewidth}
4782
          Nom:
4783
      
4784
          \Large\bf \prenom{} \nom{}
4785
4786
          \vspace*{1mm}
4787
        \end{minipage}
4788
      }}
4789
4790
    \noindent\hrulefill
4791
4792
    \vspace{1ex}
4793
4794
    \melangegroupe{general}
4795
    \restituegroupe{general}
4796
4797
    \AMCassociation{\id}
4798
  }
4799
}
4800
4801
\csvreader[head to column names]{liste.csv}{}{\sujet}
4802
</programlisting>
4803
4804
          <para>Notez l'utilisation de l'option <code>head to column
4805
          names</code> de <command>\csvreader</command> qui définit des
4806
          commandes basées sur les en-tête du fichier CSV (ici
4807
          <command>\nom</command>, <command>\prenom</command> et
4808
          <command>\id</command>) utilisables dans la production du sujet
4809
          personnalisé, et l'appel de <command>\AMCassociation</command> qui
4810
          indique à AMC que la copie produite doit être associée à
4811
          l'identifiant d'étudiant <command>\id</command>.</para>
4812
        </listitem>
4813
4814
        <listitem>
4815
          <para>Après l'impression, le scan, la saisie automatique et la
4816
          notation des copies, au moment de l'association des copies avec les
4817
          étudiants, utiliser la valeur "<emphasis>pré-association</emphasis>"
4818
          pour le champ "Titre du code pour association automatique", et
4819
          "<emphasis>id</emphasis>" pour le champ "Identifiant unique".</para>
4820
        </listitem>
4821
      </itemizedlist>
4822
    </sect2>
4823
  </sect1>
4824
4825
  <sect1 id="commandes">
4826
    <title>Manuel des commandes</title>
4827
4828
    <para>Vous pouvez vous passer de la lecture de cette partie si vous
4829
    souhaitez utiliser uniquement l'interface graphique. Cependant, toutes les
4830
    actions effectuées par l'interface graphique peuvent aussi être exécutées
4831
    par les différentes commandes dont nous décrivons ici la syntaxe.</para>
4832
4833
    <refentry id="auto-multiple-choice">
4834
      <refmeta>
4835
        <refentrytitle>auto-multiple-choice</refentrytitle>
4836
4837
        <manvolnum>1</manvolnum>
4838
4839
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
4840
4841
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
4842
      </refmeta>
4843
4844
      <refnamediv>
4845
        <refname>auto-multiple-choice</refname>
4846
4847
        <refpurpose>Gestion automatisée de questionnaires QCM</refpurpose>
4848
      </refnamediv>
4849
4850
      <refsynopsisdiv>
4851
        <cmdsynopsis>
4852
          <command>auto-multiple-choice</command>
4853
4854
          <arg choice="plain"><replaceable>action</replaceable> <arg
4855
          rep="repeat">arguments</arg></arg>
4856
        </cmdsynopsis>
4857
4858
        <cmdsynopsis>
4859
          <command>auto-multiple-choice</command>
4860
4861
          <arg>projet</arg>
4862
        </cmdsynopsis>
4863
      </refsynopsisdiv>
4864
4865
      <refsect1>
4866
        <title>Description</title>
4867
4868
        <para>La commande <command>auto-multiple-choice</command> transmet à
4869
        la commande
4870
        <command>AMC-<replaceable>action</replaceable>.pl</command> les
4871
        arguments qu'on lui donne.</para>
4872
4873
        <para>La deuxième forme, qui ne mentionne aucune action, appelle
4874
        l'interface graphique <command>AMC-gui.pl</command> en lui
4875
        transmettant éventuellement le nom d'un projet à ouvrir.</para>
4876
      </refsect1>
4877
4878
      <refsect1>
4879
        <title>See also</title>
4880
4881
        <para>Différentes actions possibles : <citerefentry>
4882
            <refentrytitle>AMC-prepare</refentrytitle>
4883
4884
            <manvolnum>1</manvolnum>
4885
          </citerefentry>, <citerefentry>
4886
            <refentrytitle>AMC-imprime</refentrytitle>
4887
4888
            <manvolnum>1</manvolnum>
4889
          </citerefentry>, <citerefentry>
4890
            <refentrytitle>AMC-analyse</refentrytitle>
4891
4892
            <manvolnum>1</manvolnum>
4893
          </citerefentry>, <citerefentry>
4894
            <refentrytitle>AMC-note</refentrytitle>
4895
4896
            <manvolnum>1</manvolnum>
4897
          </citerefentry>, <citerefentry>
4898
            <refentrytitle>AMC-association-auto</refentrytitle>
4899
4900
            <manvolnum>1</manvolnum>
4901
          </citerefentry>, <citerefentry>
4902
            <refentrytitle>AMC-export</refentrytitle>
4903
4904
            <manvolnum>1</manvolnum>
4905
          </citerefentry>, <citerefentry>
4906
            <refentrytitle>AMC-annote</refentrytitle>
4907
4908
            <manvolnum>1</manvolnum>
4909
          </citerefentry>, <citerefentry>
4910
            <refentrytitle>AMC-regroupe</refentrytitle>
4911
4912
            <manvolnum>1</manvolnum>
4913
          </citerefentry>.</para>
4914
      </refsect1>
4915
    </refentry>
4916
  </sect1>
4917
</article>