auto-multiple-choice.en.in.xml

Frédéric Bréal, 01/13/2015 10:06 pm

Download (261.4 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="en">
5
  <title>Auto Multiple Choice</title>
6
7
  <articleinfo>
8
    <title>Auto Multiple Choice</title>
9
10
    <subtitle>Design of MCQ tests with automated correction and
11
    grading</subtitle>
12
13
    <abstract>
14
      <para>AMC is a set of utilities allowing the use of MCQ written in plain
15
      text or LaTeX, and their automated correction and grading from scans of
16
      the answer sheets using Optical Mark Recognition (OMR). This document
17
      describes its use (for the version
18
      @/PACKAGE_V_DEB/@~@/PACKAGE_V_VC/@).</para>
19
20
      <para>The AMC project is hosted by <ulink
21
      url="http://gna.org/">Gna !</ulink> : you can find the AMC web-site
22
      there <ulink
23
      url="http://home.gna.org/auto-qcm/">http://home.gna.org/auto-qcm/</ulink>,
24
      and the web-page where the project is hosted there <ulink
25
      url="https://bitbucket.org/auto-multiple-choice/auto-multiple-choice">https://bitbucket.org/auto-multiple-choice/auto-multiple-choice</ulink>.</para>
26
    </abstract>
27
28
    <author>
29
      <firstname>Alexis</firstname>
30
31
      <affiliation>
32
        <address><email>paamc@passoire.fr</email></address>
33
      </affiliation>
34
35
      <surname>Bienvenüe</surname>
36
37
      <contrib>Main author</contrib>
38
    </author>
39
40
    <author>
41
      <firstname>Anirvan</firstname>
42
43
      <surname>Sarkar</surname>
44
45
      <contrib>Author and Editor</contrib>
46
    </author>
47
48
    <editor>
49
      <firstname>Hiroto</firstname>
50
51
      <surname>Kagotani</surname>
52
53
      <contrib>Editor</contrib>
54
    </editor>
55
56
    <copyright>
57
      <year>2008-2013</year>
58
59
      <holder>Alexis Bienvenüe</holder>
60
    </copyright>
61
62
    <othercredit class="translator">
63
      <surname>Bérard</surname>
64
65
      <firstname>Jean</firstname>
66
67
      <contrib>Translation from French</contrib>
68
    </othercredit>
69
70
    <othercredit class="translator">
71
      <surname>Khaznadar</surname>
72
73
      <firstname>Georges</firstname>
74
75
      <contrib>Translation from French</contrib>
76
    </othercredit>
77
78
    <legalnotice>
79
      <para>This document can be used according to the terms of the GNU
80
      General Public License, version 2 or later.</para>
81
    </legalnotice>
82
  </articleinfo>
83
84
  <sect1>
85
    <title>License</title>
86
87
    <para>Auto Multiple Choice is free software: you can redistribute it
88
    and/or modify it under the terms of the GNU General Public License as
89
    published by the Free Software Foundation, either version 2 of the
90
    License, or (at your option) any later version.</para>
91
92
    <para>This program is distributed in the hope that it will be useful, but
93
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
94
    or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
95
    for more details. You should have received a copy of the GNU General
96
    Public License along with this program. If not, see <ulink
97
    url="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</ulink>.</para>
98
  </sect1>
99
100
  <sect1 id="prerequis">
101
    <title>Prerequisites</title>
102
103
    <sect2>
104
      <title>Operating system</title>
105
106
      <para>The AMC utilities have been written for Linux. They might be
107
      adapted to MAC OS X or Windows without too many difficulties, but I
108
      won't do that in the near future. Please contact me if you are
109
      interested to do it : I can help you a little, and I will include
110
      changes in AMC if necessary.</para>
111
    </sect2>
112
113
    <sect2>
114
      <title>Software</title>
115
116
      <note>
117
        <para>If you install AMC with deb or RPM package (on debian, Ubuntu
118
        and derivatives, Mandriva, openSUSE, Fedora), every software used by
119
        AMC will be automatically installed.</para>
120
      </note>
121
122
      <para>The main packages/software that are required for the use of AMC
123
      are the following:</para>
124
125
      <itemizedlist>
126
        <listitem>
127
          <para>LaTeX</para>
128
        </listitem>
129
130
        <listitem>
131
          <para>ImageMagick</para>
132
        </listitem>
133
134
        <listitem>
135
          <para>Perl, together with Gtk2-Perl and Glade::XML for the graphical
136
          user interface</para>
137
        </listitem>
138
      </itemizedlist>
139
140
      <sect3>
141
        <title>Recommended versions for software used by AMC</title>
142
143
        <para>A few bugs in old versions of software used by AMC are
144
        particularly detrimental to its operating normally:</para>
145
146
        <itemizedlist>
147
          <listitem>
148
            <para>With old versions of <package>Net::CUPS</package> (debian
149
            package <package>libnet-cups-perl</package>), the command for
150
            printing the test sheets leads to a premature exit from the AMC
151
            graphical user interface. This bug is fixed in versions 0.61 and
152
            later of <package>Net::CUPS</package>.</para>
153
          </listitem>
154
155
          <listitem>
156
            <para>With old versions of ImageMagick, the merging of corrected
157
            answer sheets into a single PDF file per student does not work
158
            when answer sheets comprise more than one page. This bug is fixed
159
            in versions 6.5.5 ad later of ImageMagick.</para>
160
          </listitem>
161
        </itemizedlist>
162
      </sect3>
163
    </sect2>
164
165
    <sect2>
166
      <title>LaTeX</title>
167
168
      <para>From version 1.1 of AMC, it is not mandatory anymore to write your
169
      questionnaires using LaTeX language (see <xref linkend="AMC-TXT"/> for a
170
      plain text alternative syntax). However, LaTeX is still the native AMC
171
      language for questionnaires descriptions, and allows the user to design
172
      his questionnaires with tremendous freedom. The templates that are
173
      provided should allow those who are not deterred by LaTeX format to
174
      quickly start writing their own MCQs.</para>
175
    </sect2>
176
  </sect1>
177
178
  <sect1 id="usagenotes">
179
    <title>Usage notes</title>
180
181
    <sect2>
182
      <title>Numerical limitations</title>
183
184
      <para>In the present version (starting with version 0.156), the maximum
185
      number of students per test is limited to 4 095, and the maximum number
186
      of pages per test is limited to 63 ( Modifiable default values, see
187
      <xref endterm="binary.code.title" linkend="binary.code"/>).</para>
188
189
      <para>The maximum number of answers for a given question is limited to
190
      199 (Unmodifiable default value).</para>
191
192
      <para>LaTeX's own limitations may make compilation impossible, producing
193
      e.g. a « <errortext>No room for a new \toks</errortext> » error. In that
194
      case, try again using the package <package>etex</package>, thanks to the
195
      <code>\usepackage{etex}</code> command.</para>
196
    </sect2>
197
198
    <sect2>
199
      <title>Versions</title>
200
201
      <para>Even though it should not have too many consequences, it is
202
      recommended not to change the program version while working with a given
203
      project (between the time when the test sheets are printed and the time
204
      when tests are corrected and graded). There are a few modifications
205
      which may interfere with AMC operating normally if you apply them while
206
      working with a given project:</para>
207
208
      <itemizedlist>
209
        <listitem>
210
          <para>If you have compiled and printed with a version of AMC earlier
211
          than 0.155, and then handle the project with version 0.156 or later,
212
          add the option <option>versionA</option> in the reference to the
213
          package <package>automultiplechoice</package> in the LaTeX file.
214
          Example:</para>
215
216
          <programlisting>\usepackage[box,completemulti,versionA]{automultiplechoice}</programlisting>
217
        </listitem>
218
219
        <listitem>
220
          <para>From version 0.262 on, the drawing of the checkboxes changed
221
          to be slightly larger, which may alter the layout of the test
222
          sheets.</para>
223
        </listitem>
224
225
        <listitem>
226
          <para>From version 0.267, if you want to produce A4 format test
227
          sheets, you have to state it explicitly in the LaTeX file:</para>
228
229
          <programlisting>\documentclass[a4paper]{article} </programlisting>
230
        </listitem>
231
232
        <listitem>
233
          <para>From version 0.394, if your LaTeX code needs package
234
          <package>graphicx</package>, you have to load it explicitly (earlier
235
          versions of AMC loaded it).</para>
236
        </listitem>
237
238
        <listitem>
239
          <para>The LaTeX command <command>\AMCcode</command> was rewritten in
240
          version 0.518. It is now more robust and configurable, but you will
241
          have to adapt the LaTeX sources you wrote for older versions to keep
242
          the same layout.</para>
243
        </listitem>
244
245
        <listitem>
246
          <para>From version 1.1.0, all AMC data is stored in SQLite databases
247
          instead of lots of XML files. The first time you open a project, old
248
          XML files will be converted to the new format.</para>
249
        </listitem>
250
      </itemizedlist>
251
    </sect2>
252
253
    <sect2>
254
      <title>Installation</title>
255
256
      <para>With debian, Ubuntu, or a derived operating system, you can use
257
      the debian official repository and ubuntu AMC repositories. On Mandriva,
258
      openSUSE or Fedora, you can use prebuilt RPM packages. The installation
259
      procedure is described on the <ulink
260
      url="http://home.gna.org/auto-qcm/download">AMC web-site</ulink>.</para>
261
262
      <para>You can also download the source code archive on the project
263
      <ulink url="http://download.gna.org/auto-qcm/">download space</ulink>,
264
      then use the following commands in a terminal:</para>
265
266
      <screen>tar xvzf auto-multiple-choice_xxxx_precomp.tar.gz
267
cd auto-multiple-choice-xxx
268
make
269
sudo make install</screen>
270
    </sect2>
271
272
    <sect2>
273
      <title>Access</title>
274
275
      <para>Once the installation is made, the graphical user interface can be
276
      launched by choosing <menuchoice>
277
          <guimenu>Applications</guimenu>
278
279
          <guisubmenu>Education</guisubmenu>
280
281
          <guimenuitem>Auto Multiple Choice</guimenuitem>
282
        </menuchoice> in the Gnome general menu (or its KDE or other analog),
283
      but one can also use the <userinput>auto-multiple-choice</userinput>
284
      command.</para>
285
    </sect2>
286
  </sect1>
287
288
  <sect1 id="AMC-TXT">
289
    <title>AMC-TXT syntax</title>
290
291
    <para>For users who are not ready to learn LaTeX (if not already familiar
292
    with this language), AMC includes a filter to process simple plain text
293
    files in a particular format, named AMC-TXT. This section is devoted to
294
    detail the syntax of AMC-TXT files. If you prefer use LaTeX to gain a
295
    fine-control over your questionnaires, skip to next section.</para>
296
297
    <para>Let us begin with a simple example:</para>
298
299
    <!--NAME: AMC-TXT format simple example
300
DESC: A very simple example (from the documentation) using the AMC-TXT format. This is a very simple plain text format to write your questionnaires without any LaTeX knowledge.-->
301
302
    <programlisting id="modeles-simple-txt.txt"># AMC-TXT source file
303
Title: My first AMC questionnaire
304
305
Presentation: Please answer the following questions
306
the best you can.
307
308
* What is the capital city of Cameroon?
309
+ Yaounde
310
- Douala
311
- Kribi
312
313
** From the following numbers, which are positive?
314
- -2
315
+ 2
316
+ 10</programlisting>
317
318
    <important>
319
      <para>The file that contains your questionnaire must be a plain text
320
      file, UTF-8 encoded. This is the default encoding of several text
321
      editors, like <command>gedit</command>. Don't use a text editor that can
322
      format your text with bold, images, and so on, like
323
      OpenOffice/LibreOffice, or equivalent: these save your text with a lot
324
      of other data, and AMC won't be able to read it.</para>
325
    </important>
326
327
    <note>
328
      <para>The default font that will be used is <ulink
329
      url="http://www.linuxlibertine.org/">libertine</ulink>, an open source
330
      font that contains characters for a lot of languages. You have to
331
      install this font or choose another one (see options below). If you
332
      install AMC with a debian/ubuntu package, this font will be install
333
      together as a recommended package.</para>
334
    </note>
335
336
    <para>You already understand AMC-TXT structure: some general options
337
    first, and then questions.</para>
338
339
    <sect2>
340
      <title>Comments</title>
341
342
      <para>You can write some comments inside your AMC-TXT source file in
343
      lines <emphasis>beginning</emphasis> with a `<code>#</code>'. These
344
      lines won't be considered by AMC.</para>
345
    </sect2>
346
347
    <sect2>
348
      <title>General options</title>
349
350
      <para>Here are the options you can use (in any order):</para>
351
352
      <variablelist>
353
        <varlistentry>
354
          <term>Lang:</term>
355
356
          <listitem>
357
            <para>use it to specify a language the questionnaire is written
358
            in. At present, only DE (German), ES (Spanish), FR (French), IT
359
            (Italian), NL (Dutch), NO (Norwegian), PT (portuguese), JA
360
            (Japanese, see <xref linkend="txt-japanese"/>) and AR (Arabic, see
361
            <xref linkend="txt-arabic"/>) are supported. Without this option,
362
            English will be selected. You can also define the localized string
363
            used for another language (see the <option>L-xxx</option>
364
            options).</para>
365
          </listitem>
366
        </varlistentry>
367
368
        <varlistentry>
369
          <term>PaperSize:</term>
370
371
          <listitem>
372
            <para>Sets the paper size. Possible values are <code>A3</code>,
373
            <code>A4</code>, <code>A5</code>, <code>A6</code>,
374
            <code>B3</code>, <code>B4</code>, <code>B5</code>,
375
            <code>B6</code>, <code>letter</code>, <code>legal</code>,
376
            <code>ANSIA</code>, <code>ANSIB</code>, <code>ANSIC</code>,
377
            <code>ANSID</code>, <code>ANSIE</code>.</para>
378
          </listitem>
379
        </varlistentry>
380
381
        <varlistentry>
382
          <term>Title:</term>
383
384
          <listitem>
385
            <para>The exam title, written on top of the sheet.</para>
386
          </listitem>
387
        </varlistentry>
388
389
        <varlistentry>
390
          <term>Presentation:</term>
391
392
          <listitem>
393
            <para>A text that presents the exam (length, rules...).</para>
394
          </listitem>
395
        </varlistentry>
396
397
        <varlistentry>
398
          <term>ShuffleQuestions:</term>
399
400
          <listitem>
401
            <para>If 1 (default), questions will be shuffled so that their
402
            order is different from one sheet to the other. If 0, the
403
            questions will always show with the same order as in your
404
            file.</para>
405
          </listitem>
406
        </varlistentry>
407
408
        <varlistentry>
409
          <term>Code:</term>
410
411
          <listitem>
412
            <para>Give a positive integer value <replaceable>n</replaceable>
413
            to add boxes so that students will be able to code their student
414
            number on their sheets, with <replaceable>n</replaceable>
415
            digits.</para>
416
          </listitem>
417
        </varlistentry>
418
419
        <varlistentry>
420
          <term>CodeDigitsDirection:</term>
421
422
          <listitem>
423
            <para>Sets the direction for code's digits boxes (either
424
            <code>vertical</code> or <code>horizontal</code>). If unset, AMC
425
            will choose the direction from the number of digits (horizontal
426
            for small number of digits, and vertical for high number of
427
            digits).</para>
428
          </listitem>
429
        </varlistentry>
430
431
        <varlistentry>
432
          <term>Columns:</term>
433
434
          <listitem>
435
            <para>Give a positive integer value <replaceable>n</replaceable>
436
            to get a subject with <replaceable>n</replaceable> columns.</para>
437
          </listitem>
438
        </varlistentry>
439
440
        <varlistentry>
441
          <term>CompleteMulti:</term>
442
443
          <listitem>
444
            <para>If 1 (default), for multiple questions (those for which
445
            zero, one or several answers are correct), an answer "None of
446
            these answers are correct" will be added. Without it, it should be
447
            impossible to make a difference between "the student didn't answer
448
            for this question" and "the student thinks no answer is correct
449
            for this question". If you don't want this answer to be added, set
450
            this option to 0.</para>
451
          </listitem>
452
        </varlistentry>
453
454
        <varlistentry>
455
          <term>L-None:</term>
456
457
          <listitem>
458
            <para>Give a string to replace <emphasis>None of these answers are
459
            correct</emphasis> (see previous option).</para>
460
          </listitem>
461
        </varlistentry>
462
463
        <varlistentry>
464
          <term>QuestionBlocks:</term>
465
466
          <listitem>
467
            <para>If 1 (default), all questions will be enclosed in a
468
            invisible frame that prevents it to be split across several
469
            columns or pages. If 0, questions are allowed to be split if
470
            necessary: that can save pages at the cost of readability.</para>
471
          </listitem>
472
        </varlistentry>
473
474
        <varlistentry>
475
          <term>L-Question:</term>
476
477
          <listitem>
478
            <para>Give a translation of <emphasis>Question</emphasis> in your
479
            questionnaire, if you need.</para>
480
          </listitem>
481
        </varlistentry>
482
483
        <varlistentry>
484
          <term>L-Name:</term>
485
486
          <listitem>
487
            <para>Give a translation of <emphasis>Name and surname</emphasis>,
488
            a text written in the box where students are to write their
489
            identity.</para>
490
          </listitem>
491
        </varlistentry>
492
493
        <varlistentry>
494
          <term>L-Student:</term>
495
496
          <listitem>
497
            <para>Small text that asks students to code their student numbers
498
            and write their name, when <option>Code</option> option is
499
            used.</para>
500
          </listitem>
501
        </varlistentry>
502
503
        <varlistentry>
504
          <term>TitleWidth:</term>
505
506
          <listitem>
507
            <para>Width of the title zone, when <option>Code:</option> is not
508
            used. Default value is <code>.47\linewidth</code>.</para>
509
          </listitem>
510
        </varlistentry>
511
512
        <varlistentry>
513
          <term>NameFieldWidth:</term>
514
515
          <listitem>
516
            <para>Width of the name field part. Usual LaTeX dimensions can be
517
            used. The default value is <code>5.8cm</code> when
518
            <option>Code:</option> is used, and <code>.47\linewidth</code>
519
            without <option>Code:</option>.</para>
520
          </listitem>
521
        </varlistentry>
522
523
        <varlistentry>
524
          <term>NameFieldLines:</term>
525
526
          <listitem>
527
            <para>Number of lines in the name field box. Default is
528
            <code>2</code> when <option>Code:</option> is used, and
529
            <code>1</code> otherwise.</para>
530
          </listitem>
531
        </varlistentry>
532
533
        <varlistentry>
534
          <term>NameFieldLinespace:</term>
535
536
          <listitem>
537
            <para>Line space in the name field box. Defaut value is
538
            <code>.5em</code>.</para>
539
          </listitem>
540
        </varlistentry>
541
542
        <varlistentry>
543
          <term>ManualDuplex:</term>
544
545
          <listitem>
546
            <para>If 1 (this is not the default value), each subject will
547
            consist of an even number of pages, so that the user can manually
548
            print the PDF subject for all students in one go in duplex
549
            mode.</para>
550
          </listitem>
551
        </varlistentry>
552
553
        <varlistentry>
554
          <term>SingleSided:</term>
555
556
          <listitem>
557
            <para>If 1 (this is not the default value), no blank page will be
558
            added between the question and the separate answer sheet, even if
559
            the question has an odd number of pages. This mode can be useful
560
            when the subjects are printed single-sided, or when it is not
561
            necessary to separate question and answer sheet.</para>
562
          </listitem>
563
        </varlistentry>
564
565
        <varlistentry>
566
          <term>BoxColor:</term>
567
568
          <listitem>
569
            <para>Color of the boxes to be filled by the students. This allows
570
            to print the boxes with some color that won't disturb too much the
571
            data capture (for example <emphasis>red</emphasis>, but some light
572
            gray can also be considered). The color has to be given as a valid
573
            <command>xcolor</command> color (see <command>xcolor</command>
574
            LaTeX package documentation for details), such as
575
            <emphasis>red</emphasis>, <emphasis>magenta</emphasis>,
576
            <emphasis>pink</emphasis>, <emphasis>lightgray</emphasis>,
577
            <emphasis>cyan</emphasis>, or in the form <code>#RRGGBB</code>,
578
            like <code>#FFBEC8</code> for some light red.</para>
579
          </listitem>
580
        </varlistentry>
581
582
        <varlistentry>
583
          <term>DefaultScoringS:</term>
584
585
          <listitem>
586
            <para>Default scoring strategy for simple questions (questions for
587
            which one and only one answer is correct). See <xref
588
            linkend="bareme"/> for details. The default value gives one point
589
            for the right answer, and zero for others.</para>
590
          </listitem>
591
        </varlistentry>
592
593
        <varlistentry>
594
          <term>DefaultScoringM:</term>
595
596
          <listitem>
597
            <para>Default scoring strategy for multiple questions (questions
598
            for which there can be zero, one or several correct answers). See
599
            <xref linkend="bareme"/> for details. The default value is
600
            <code>haut=2</code>, so that a perfect answer gives 2 points, and
601
            each error (ticking a box that should not be ticked, or leaving a
602
            box that should be ticked unticked) takes one point off (keeping
603
            the score non-negative).</para>
604
          </listitem>
605
        </varlistentry>
606
607
        <varlistentry>
608
          <term>LaTeX:</term>
609
610
          <listitem>
611
            <para>Set this option to 1 if you want to use LaTeX commands in
612
            your texts. This allows for example to insert mathematical
613
            formulas, like <code>$\sqrt{a+b}$</code>. If 0 (default), all your
614
            texts will be written unmodified.</para>
615
          </listitem>
616
        </varlistentry>
617
618
        <varlistentry>
619
          <term>LaTeX-Preambule:</term>
620
621
          <listitem>
622
            <para>Give commands you want to be added to the LaTeX preambule
623
            (for example <command>\usepackage</command> commands).</para>
624
          </listitem>
625
        </varlistentry>
626
627
        <varlistentry>
628
          <term>LaTeX-BeginDocument:</term>
629
630
          <listitem>
631
            <para>Give commands to be inserted at the beginning of the LaTeX
632
            <command>document</command> environment (for example macro
633
            definitions).</para>
634
          </listitem>
635
        </varlistentry>
636
637
        <varlistentry>
638
          <term>Disable:</term>
639
640
          <listitem>
641
            <para>Gives a comma-separated list of features to disable. Current
642
            implemented features are <code>images</code> (see <xref
643
            linkend="parse_images"/>), <code>embf</code> (see <xref
644
            linkend="parse_embf"/>) and <code>local_latex</code> (see <xref
645
            linkend="parse_local_latex"/>).</para>
646
          </listitem>
647
        </varlistentry>
648
649
        <varlistentry>
650
          <term>PackageOptions:</term>
651
652
          <listitem>
653
            <para>Gives some more options to pass to the automultiplechoice
654
            LaTeX package (see <xref linkend="sec.package.options"/>.</para>
655
          </listitem>
656
        </varlistentry>
657
      </variablelist>
658
659
      <sect3>
660
        <title>Separate answer sheet</title>
661
662
        <para>To use separate answer sheets for your questionnaire, consider
663
        the following options:</para>
664
665
        <variablelist>
666
          <varlistentry>
667
            <term>SeparateAnswerSheet:</term>
668
669
            <listitem>
670
              <para>If 1, a separate answer sheet will be added.</para>
671
            </listitem>
672
          </varlistentry>
673
674
          <varlistentry>
675
            <term>AnswerSheetTitle:</term>
676
677
            <listitem>
678
              <para>Title of the answer sheet.</para>
679
            </listitem>
680
          </varlistentry>
681
682
          <varlistentry>
683
            <term>AnswerSheetPresentation:</term>
684
685
            <listitem>
686
              <para>Presentation of the answer sheet. For example, remind the
687
              students that the answers are to be given on this sheet
688
              <emphasis>only</emphasis>.</para>
689
            </listitem>
690
          </varlistentry>
691
692
          <varlistentry>
693
            <term>AnswerSheetColumns:</term>
694
695
            <listitem>
696
              <para>Number of columns for the answer sheet.</para>
697
            </listitem>
698
          </varlistentry>
699
700
          <varlistentry>
701
            <term>AutoMarks:</term>
702
703
            <listitem>
704
              <para>If 1, uses <option>automarks</option> option (see <xref
705
              linkend="sec.package.options"/>).</para>
706
            </listitem>
707
          </varlistentry>
708
        </variablelist>
709
      </sect3>
710
    </sect2>
711
712
    <sect2>
713
      <title>Questions</title>
714
715
      <para>Simple questions (questions for which one and only one answer is
716
      correct) begin with a <code>*</code> at the beginning of the line, and
717
      multiple questions (questions for which there can be zero, one or
718
      several correct answers) begin with a <code>**</code>. Insert then the
719
      question itself, and the choices, introduced with a <code>+</code> for
720
      correct ones and with a <code>-</code> for wrong ones.</para>
721
722
      <sect3>
723
        <title>Questions options</title>
724
725
        <para>Some options are available for questions. They must be separated
726
        by commas and enclosed by square brackets just after the leading
727
        <code>*</code>'s, as in the following example:</para>
728
729
        <programlisting>*[ordered,horiz,name=sum] How much are
730
one plus one?
731
- 0
732
- 1
733
+ 2</programlisting>
734
735
        <para>Available options for questions:</para>
736
737
        <variablelist>
738
          <varlistentry>
739
            <term>horiz</term>
740
741
            <listitem>
742
              <para>present choices horizontally, not on separated
743
              lines.</para>
744
            </listitem>
745
          </varlistentry>
746
747
          <varlistentry>
748
            <term>columns=<replaceable>n</replaceable></term>
749
750
            <listitem>
751
              <para>make <replaceable>n</replaceable> columns for the
752
              choices.</para>
753
            </listitem>
754
          </varlistentry>
755
756
          <varlistentry>
757
            <term>ordered</term>
758
759
            <listitem>
760
              <para>don't shuffle the choices, keep the same order as in the
761
              description file.</para>
762
            </listitem>
763
          </varlistentry>
764
765
          <varlistentry>
766
            <term>id=<replaceable>xxxx</replaceable></term>
767
768
            <listitem>
769
              <para>Give a name to the question, so as to locate the
770
              corresponding results easily in the exported spreadsheets. This
771
              name must contain only simple characters, without accents and
772
              LaTeX special characters such as <code>_</code>, <code>^</code>,
773
              <code>%</code>...</para>
774
775
              <para><option>name</option> can also be used instead of
776
              <option>id</option> for compatibility with old versions, but you
777
              should prefer using <option>id</option>.</para>
778
            </listitem>
779
          </varlistentry>
780
781
          <varlistentry>
782
            <term>indicative</term>
783
784
            <listitem>
785
              <para>don't use this question score to compute the global
786
              student's score.</para>
787
            </listitem>
788
          </varlistentry>
789
790
          <varlistentry>
791
            <term>next</term>
792
793
            <listitem>
794
              <para>Use this option if you want the question to stay next to
795
              the previous one, even when using questions shuffling with
796
              <option>ShuffleQuestions</option> general option.</para>
797
            </listitem>
798
          </varlistentry>
799
800
          <varlistentry>
801
            <term>first</term>
802
803
            <listitem>
804
              <para>Use this option to place the question always at the
805
              beginning of the group (see <xref
806
              linkend="sec.txt-groups"/>).</para>
807
            </listitem>
808
          </varlistentry>
809
810
          <varlistentry>
811
            <term>last</term>
812
813
            <listitem>
814
              <para>Use this option to place the question always at the end of
815
              the group (see <xref linkend="sec.txt-groups"/>).</para>
816
            </listitem>
817
          </varlistentry>
818
        </variablelist>
819
      </sect3>
820
821
      <sect3>
822
        <title>Scoring strategy</title>
823
824
        <para>You can set the scoring strategy for a particular question or
825
        choice enclosing it with braces just after the leading characters
826
        (<code>*</code>, <code>**</code>, <code>+</code> or <code>-</code>)
827
        and the possible options, as in the following example. See <xref
828
        linkend="bareme"/> for details about the scoring strategy
829
        syntax.</para>
830
831
        <programlisting>*{b=2,m=-1} What is the capital city of France?
832
+ Paris
833
- Lille
834
- Marseille
835
- Ouagadougou
836
-{-2} New York
837
838
**[ordered,horiz,name=positive]{haut=1} From the following numbers, which are positive?
839
- -2
840
+ 2
841
+ 10
842
</programlisting>
843
      </sect3>
844
845
      <sect3>
846
        <title>Open questions</title>
847
848
        <para>You can define open question giving options (see <xref
849
        linkend="openquestions"/>) enclosed with <code>&lt;</code> and
850
        <code>&gt;</code>, as in the following example:</para>
851
852
        <programlisting>*&lt;lines=4&gt; Describe the moon.
853
-[O]{0} O
854
-[P]{1} P
855
+[V]{2} V</programlisting>
856
857
        <para>You should also consider using the following global
858
        options:</para>
859
860
        <variablelist>
861
          <varlistentry>
862
            <term>L-OpenText:</term>
863
864
            <listitem>
865
              <para>Text used to tell the student to write the answer on the
866
              separate answer sheet (if relevant).</para>
867
            </listitem>
868
          </varlistentry>
869
870
          <varlistentry>
871
            <term>L-OpenReserved:</term>
872
873
            <listitem>
874
              <para>Text to be written along the open questions boxes to tell
875
              the student not to consider these boxes.</para>
876
            </listitem>
877
          </varlistentry>
878
        </variablelist>
879
      </sect3>
880
    </sect2>
881
882
    <sect2>
883
      <title>Multi-line</title>
884
885
      <para>You can always continue some text on the next lines (even if some
886
      of them are empty), provided that these following lines cannot be
887
      considered as the beginning of an option definition, of a question or of
888
      a choice. As an example, consider the following question:</para>
889
890
      <programlisting>* How much are 2
891
  + 2?
892
- 0
893
+ 4
894
- 10</programlisting>
895
896
      <para>This is a correct AMC-TXT question. However, it won't be treated
897
      as you'd like to, because here the second line is not considered as
898
      being the following of the first one, but form the first choice of the
899
      question!</para>
900
901
      <para>A similar problem arises from the following AMC-TXT question,
902
      where `<code>Gershwin:</code>' is considered as a general option
903
      definition...</para>
904
905
      <programlisting>* You all know Georges
906
  Gershwin: he is a composer.
907
  When was he born?
908
+ in 1898
909
- in 1892
910
- in 1902</programlisting>
911
912
      <para>This is a correct way to write it:</para>
913
914
      <programlisting>* You all know Georges Gershwin:
915
  he is a composer.
916
  When was he born?
917
+ in 1898
918
- in 1892
919
- in 1902</programlisting>
920
921
      <para>Note that line breaks can be inserted leaving an empty line,
922
      as:</para>
923
924
      <programlisting>Presentation: Title
925
926
Description of the exam.
927
928
** Difficult question.
929
930
How many stars in the sky?
931
- one
932
- two
933
- ten millions</programlisting>
934
    </sect2>
935
936
    <sect2>
937
      <title>Title</title>
938
939
      <para>To get a title, enclose it between <code>[==</code> and
940
      <code>==]</code>.</para>
941
    </sect2>
942
943
    <sect2 id="parse_embf">
944
      <title>Bold, italic</title>
945
946
      <para>To get <emphasis>bold</emphasis> text, enclose it between
947
      <code>[*</code> and <code>*]</code>. To get <emphasis>italic</emphasis>
948
      text, enclose it between <code>[_</code> and <code>_]</code>.</para>
949
950
      <programlisting>* What is the [*capital city*] of [_France_]?
951
+ Paris
952
- Lille
953
- Marseille</programlisting>
954
    </sect2>
955
956
    <sect2 id="parse_images">
957
      <title>Images</title>
958
959
      <para>You can add images in your document using the following
960
      syntax:</para>
961
962
      <programlisting>![height=2cm]images/bird.png!</programlisting>
963
964
      <para>Here, the image <filename>images/bird.png</filename> that is
965
      located in the project directory will be appended with 2cm height.
966
      Options that can be used inside the square brackets are those from the
967
      <command>\includegraphics</command> LaTeX command
968
      (<parameter>width=3cm</parameter> or
969
      <parameter>keepaspectratio</parameter> for example). To get a centered
970
      image that is three quarters of the line width, use</para>
971
972
      <programlisting>!{center}[width=.75\linewidth]images/map.pdf!</programlisting>
973
    </sect2>
974
975
    <sect2 id="parse_local_latex">
976
      <title>Pieces of LaTeX code</title>
977
978
      <para>You can include some small parts of LaTeX code in your document,
979
      including it in double square brackets, as in:</para>
980
981
      <programlisting>Questions with a [[\multiSymbole{}]] may have zero, one or more right answers.</programlisting>
982
    </sect2>
983
984
    <sect2 id="sec.txt-groups">
985
      <title>Questions groups</title>
986
987
      <para>You can group some question so that they stay together even when
988
      shuffling, with the following syntax:</para>
989
990
      <programlisting>*( Questions about Martin Luther King.
991
992
* When was he born?
993
- in 1901
994
+ in 1929
995
- in 1968
996
997
* When did he die?
998
- in 1945
999
- in 1515
1000
+ in 1968
1001
- in 1999
1002
1003
* Where was he born?
1004
+ Atlanta
1005
- Memphis
1006
- New York
1007
1008
*) End of questions on Martin Luther King. </programlisting>
1009
1010
      <para>You can specify some options on groups, like:</para>
1011
1012
      <programlisting>*([shuffle=false,columns=2] Questions about Martin Luther King.</programlisting>
1013
1014
      <para>The following options are available:</para>
1015
1016
      <variablelist>
1017
        <varlistentry>
1018
          <term>shuffle=<replaceable>xxx</replaceable></term>
1019
1020
          <listitem>
1021
            <para>Give <replaceable>true</replaceable> or
1022
            <replaceable>false</replaceable> to tell if you want to shuffle
1023
            the questions inside the group. The default value if the global
1024
            one, from the <option>ShuffleQuestions</option> option.</para>
1025
          </listitem>
1026
        </varlistentry>
1027
1028
        <varlistentry>
1029
          <term>columns=<replaceable>n</replaceable></term>
1030
1031
          <listitem>
1032
            <para>Number of columns for the group's questions.</para>
1033
          </listitem>
1034
        </varlistentry>
1035
1036
        <varlistentry>
1037
          <term>group=<replaceable>nom</replaceable></term>
1038
1039
          <listitem>
1040
            <para>Give a name for the group (for internal matter).</para>
1041
          </listitem>
1042
        </varlistentry>
1043
1044
        <varlistentry>
1045
          <term>numquestions=<replaceable>n</replaceable></term>
1046
1047
          <listitem>
1048
            <para>With this option, only the first
1049
            <replaceable>n</replaceable> questions of the group will be used.
1050
            If the questions are shuffled, this allows to get
1051
            <replaceable>n</replaceable> questions chosen at random from the
1052
            group.</para>
1053
1054
            <note>
1055
              <para>Question with option <option>first</option> or
1056
              <option>last</option> are not affected (they are always
1057
              inserted). Moreover, questions stuck together with option
1058
              <option>next</option> count as one single question.</para>
1059
            </note>
1060
          </listitem>
1061
        </varlistentry>
1062
      </variablelist>
1063
    </sect2>
1064
1065
    <sect2 id="txt-arabic">
1066
      <title>Arabic language</title>
1067
1068
      <para>Writing a questionnaire in Arabic is a little special. Use of
1069
      course option</para>
1070
1071
      <programlisting>Lang: AR</programlisting>
1072
1073
      <para>You can also consider the following global options:</para>
1074
1075
      <variablelist>
1076
        <varlistentry>
1077
          <term>ArabicFont:</term>
1078
1079
          <listitem>
1080
            <para>This is the font used for Arabic text. Default value is
1081
            <emphasis>Rasheeq</emphasis>, a font from the project <ulink
1082
            url="http://arabeyes.org/">ArabEyes</ulink> (you can find it on
1083
            debian/ubuntu in the ttf-arabeyes package).</para>
1084
          </listitem>
1085
        </varlistentry>
1086
      </variablelist>
1087
1088
      <warning>
1089
        <para>For better working and portability, give an explicit value for
1090
        <option>L-Name</option> and <option>L-Student</option> options.</para>
1091
      </warning>
1092
1093
      <note>
1094
        <para>To insert texts with non-Arabic characters, you must turn on
1095
        <option>LaTeX</option> option and enclose these texts as a
1096
        <command>\textLR</command> LaTeX command argument, as in
1097
        <code>\textLR{xelatex command}</code>.</para>
1098
      </note>
1099
    </sect2>
1100
1101
    <sect2 id="txt-japanese">
1102
      <title>Japanese language</title>
1103
1104
      <para>Japanese language questionnaires can be produced with
1105
      option</para>
1106
1107
      <programlisting>Lang: JA</programlisting>
1108
1109
      <para>AMC will make some adjustments on the produced LaTeX source to
1110
      allow Japanese characters to be included.</para>
1111
1112
      <warning>
1113
        <para>In this case, AMC will use <command>pTex</command> to process
1114
        the LaTeX file made from your AMC-TXT source file. AMC needs a
1115
        <emphasis>recent</emphasis> version of <command>pTex</command> to
1116
        work. Versions of pTex from texlive 2009, that can be found on old
1117
        versions of some linux distributions, are <emphasis>not</emphasis>
1118
        compatible.</para>
1119
      </warning>
1120
    </sect2>
1121
1122
    <sect2>
1123
      <title>Including other files</title>
1124
1125
      <para>You can include other files with:</para>
1126
1127
      <programlisting>IncludeFile: <replaceable>file-to-include.txt</replaceable></programlisting>
1128
1129
      <warning>
1130
        <para>Be very careful when including a single file from different
1131
        projects! Suppose for example that
1132
        <filename>/home/alexis/questions-a.txt</filename> is included from
1133
        projects A and B. You already processed project A, and you are
1134
        currently working on project B. You update the scoring strategy of a
1135
        question in <filename>/home/alexis/questions-a.txt</filename>, and
1136
        also add another question. If you need to update the marks in project
1137
        A with this new scoring strategy, AMC will also see a new question for
1138
        which no data capture has been made, and this will spoil all your
1139
        marks in A...</para>
1140
      </warning>
1141
    </sect2>
1142
  </sect1>
1143
1144
  <sect1 id="latex">
1145
    <title>LaTeX source file</title>
1146
1147
    <para>This section describes the LaTeX commands that allows you to design
1148
    your exam answer sheets from a LaTeX source file. If you chose another
1149
    format for your source file, you can skip this section. The MCQ can be
1150
    described as a LaTeX file using the <package>automultiplechoice</package>
1151
    package. You can check the LaTeX file you are designing at any moment by
1152
    compiling it with the <command>latex</command> command, then visualizing
1153
    the resulting dvi file.</para>
1154
1155
    <para>We start with a few examples giving quick illustrations of how to
1156
    build LaTeX files for MCQs; the corresponding tex file are available as
1157
    templates, so that one can create a new MCQ project starting with one of
1158
    these templates.</para>
1159
1160
    <sect2>
1161
      <title>A simple example</title>
1162
1163
      <para><!--NAME: Simple example
1164
DESC: A simple example (from the documentation) with one simple question and one multiple question.--><programlisting
1165
      id="modeles-simple.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1166
1167
\usepackage[utf8x]{inputenc}    <co id="simple.latin1"
1168
            linkends="simple.latin1.exp"/>
1169
\usepackage[T1]{fontenc}
1170
1171
\usepackage[box,completemulti]{automultiplechoice}    <co id="simple.amc"
1172
            linkends="simple.amc.exp"/>
1173
\begin{document}
1174
1175
\onecopy{10}{    <co id="simple.exemplaire" linkends="simple.exemplaire.exp"/>
1176
1177
%%% beginning of the test sheet header:    <co id="simple.entete"
1178
            linkends="simple.entete.exp"/>
1179
1180
\noindent{\bf QCM  \hfill TEST}
1181
1182
\vspace*{.5cm}
1183
\begin{minipage}{.4\linewidth}
1184
\centering\large\bf Test\\ Examination on Jan., 1st, 2008\end{minipage}
1185
\namefield{\fbox{    <co id="simple.champnom" linkends="simple.champnom.exp"/>
1186
                \begin{minipage}{.5\linewidth}
1187
                  Firstname and lastname:
1188
1189
                  \vspace*{.5cm}\dotfill
1190
                  \vspace*{1mm}
1191
                \end{minipage}
1192
         }}
1193
1194
\begin{center}\em
1195
Duration : 10 minutes.
1196
1197
  No documents allowed. The use of electronic calculators is forbidden.
1198
1199
1200
  Questions using the sign \multiSymbole{} may have
1201
  zero, one or several correct answers.  Other questions have a single correct answer.
1202
1203
  Negative points may be attributed to \emph{very
1204
    bad} answers.
1205
\end{center}
1206
\vspace{1ex}
1207
1208
%%% end of the header
1209
1210
\begin{question}{prez}    <co id="simple.qr" linkends="simple.qr.exp"/>
1211
  Among the following persons, which one has ever been a President of the French Republic?
1212
  \begin{choices}
1213
    \correctchoice{René Coty}
1214
    \wrongchoice{Alain Prost}
1215
    \wrongchoice{Marcel Proust}
1216
    \wrongchoice{Claude Monet}
1217
  \end{choices}
1218
\end{question}
1219
1220
\begin{questionmult}{pref}    <co id="simple.qrmult"
1221
            linkends="simple.qrmult.exp"/>
1222
  Among the following cities, which ones are French prefectures?
1223
  \begin{choices}
1224
    \correctchoice{Poitiers}
1225
    \wrongchoice{Sainte-Menehould}
1226
    \correctchoice{Avignon}
1227
  \end{choices}
1228
\end{questionmult}
1229
1230
\clearpage    <co id="simple.clear" linkends="simple.clear.exp"/>
1231
1232
}   <co id="simple.fin" linkends="simple.fin.exp"/>
1233
1234
\end{document}
1235
</programlisting></para>
1236
1237
      <para>A few extra details on this example:</para>
1238
1239
      <para><calloutlist>
1240
          <callout arearefs="simple.latin1" id="simple.latin1.exp">
1241
            <para>The packages <package>inputenc</package> and
1242
            <package>fontenc</package> allow one to use the UTF-8 encoding.
1243
            You can of course modify them depending on the encoding you want
1244
            to use.</para>
1245
          </callout>
1246
1247
          <callout arearefs="simple.amc" id="simple.amc.exp">
1248
            <para>The options used here for the <package>automultiplechoice
1249
            </package>LaTeX package prevent questions from being split between
1250
            two pages (<option>box</option>) and to automatically complete any
1251
            multiple choice question by a standard answer allowing the student
1252
            to mention that, in her/his opinion, none of the listed answers is
1253
            correct (<option>completemulti</option>).</para>
1254
          </callout>
1255
1256
          <callout arearefs="simple.exemplaire" id="simple.exemplaire.exp">
1257
            <para>The <command>onecopy</command> command produces as many
1258
            (distinct) realizations of the MCQ test as desired (here 10).
1259
            See <xref linkend="sec.unecopie"/> for an alternative syntax using
1260
            an environment.</para>
1261
          </callout>
1262
1263
          <callout arearefs="simple.entete" id="simple.entete.exp">
1264
            <para>Lines that start here describe the header of the
1265
            test-sheet.</para>
1266
          </callout>
1267
1268
          <callout arearefs="simple.champnom" id="simple.champnom.exp">
1269
            <para>The <command>namefield</command> command specifies where
1270
            students write their name.</para>
1271
          </callout>
1272
1273
          <callout arearefs="simple.qr" id="simple.qr.exp">
1274
            <para>The environments <command>question</command> and
1275
            <command>choices</command> allow one to build a multiple choice
1276
            question for which there is a single correct answer. A unique
1277
            identifier for the question has to be specified (here:
1278
            <emphasis>prez</emphasis>).</para>
1279
          </callout>
1280
1281
          <callout arearefs="simple.qrmult" id="simple.qrmult.exp">
1282
            <para>The environments <command>questionmult</command> and
1283
            <command>choices</command> allow one to build a multiple choice
1284
            question that may have zero, one or several correct answers.
1285
            Student are asked to check all the boxes corresponding to an
1286
            answer that she/he thinks is correct, or the last box (added
1287
            automatically thanks to the <option>completemulti</option> option
1288
            used in the reference to the package in line 6).</para>
1289
          </callout>
1290
1291
          <callout arearefs="simple.clear" id="simple.clear.exp">
1292
            <para>The <command>clearpage</command> is used to start the next
1293
            realization of the MCQ test on a new page.</para>
1294
          </callout>
1295
1296
          <callout arearefs="simple.fin" id="simple.fin.exp">
1297
            <para>This marks the end of the <command>onecopy</command> command
1298
            (started at line 9).</para>
1299
          </callout>
1300
        </calloutlist></para>
1301
    </sect2>
1302
1303
    <sect2>
1304
      <title>An example with groups of questions and shuffling</title>
1305
1306
      <para>In this example, we want the order in which questions appear in
1307
      the MCQ test to be different from one realization of the test to the
1308
      other, but still keeping together questions dealing with the same
1309
      subject. To this end, we create two groups of questions, within which
1310
      questions are shuffled at random.</para>
1311
1312
      <para><!--NAME: Groups
1313
DESC: An example (from the documentation) in which questions are shuffled inside two distinct groups.--><programlisting
1314
      id="modeles-groups.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1315
1316
\usepackage[utf8x]{inputenc}
1317
\usepackage[T1]{fontenc}
1318
1319
\usepackage[box,completemulti]{automultiplechoice}
1320
\begin{document}
1321
1322
%%% preparation of the groups
1323
1324
\setdefaultgroupmode{withoutreplacement}
1325
1326
\element{geographie}{
1327
  \begin{question}{Paris}
1328
    In which continent is Paris?
1329
    \begin{choices}
1330
      \correctchoice{Europe}
1331
      \wrongchoice{Africa}
1332
      \wrongchoice{Asia}
1333
      \wrongchoice{planet Mars}
1334
    \end{choices}
1335
  \end{question}
1336
}
1337
1338
\element{geographie}{
1339
  \begin{question}{Cameroon}
1340
    Which is the capital city of Cameroon?
1341
    \begin{choices}
1342
      \correctchoice{Yaoundé}
1343
      \wrongchoice{Douala}
1344
      \wrongchoice{Abou-Dabi}
1345
    \end{choices}
1346
  \end{question}
1347
}
1348
1349
\element{histoire}{
1350
  \begin{question}{Marignan}
1351
    In which year did the battle of Marignan take place?
1352
    \begin{choiceshoriz}
1353
      \correctchoice{1515}
1354
      \wrongchoice{1915}
1355
      \wrongchoice{1519}
1356
    \end{choiceshoriz}
1357
  \end{question}
1358
}
1359
1360
\element{histoire}{
1361
  \begin{questionmult}{Nantes}
1362
    What can be said about the \emph{Édit de Nantes}?
1363
    \begin{choices}
1364
      \correctchoice{It was signed in 1598}
1365
      \correctchoice{Il has been revoked by Louis XIV}
1366
      \wrongchoice{It was signed by Henri II}
1367
    \end{choices}
1368
  \end{questionmult}
1369
}
1370
1371
%%% copies
1372
1373
\onecopy{10}{
1374
1375
%%% beginning of the test sheet header:
1376
1377
\noindent{\bf QCM  \hfill TEST}
1378
1379
\vspace*{.5cm}
1380
\begin{minipage}{.4\linewidth}
1381
  \centering\large\bf History and geography\\ Examination on Jan. 1st, 2008
1382
\end{minipage}
1383
\namefield{\fbox{\begin{minipage}{.5\linewidth}
1384
Firstname and lastname:
1385
1386
\vspace*{.5cm}\dotfill
1387
\vspace*{1mm}
1388
\end{minipage}}}
1389
1390
%%% end of the header
1391
1392
\begin{center}
1393
  \hrule\vspace{2mm}
1394
  \bf\Large Geography
1395
  \vspace{1mm}\hrule
1396
\end{center}
1397
1398
\insertgroup{geographie}
1399
1400
\begin{center}
1401
  \hrule\vspace{2mm}
1402
  \bf\Large History
1403
  \vspace{2mm}\hrule
1404
\end{center}
1405
1406
\insertgroup{histoire}
1407
1408
\clearpage
1409
1410
}
1411
1412
\end{document}
1413
</programlisting></para>
1414
    </sect2>
1415
1416
    <sect2 id="secensemble">
1417
      <title>An example with a separate answer sheet</title>
1418
1419
      <para>In this example, one wants the check-boxes to be put together in a
1420
      separate sheet. This makes cheating more difficult, and, more
1421
      importantly, it is enough to scan a single sheet per student, which
1422
      makes things easier if one has to do a manual scan. In this example, the
1423
      number of questions is limited: they fit into a single page, so that
1424
      such a layout would not be really useful in this particular case. It is
1425
      up to you to modify this example in order to use this layout with a
1426
      large number of questions!</para>
1427
1428
      <para><!--NAME: Separate answers
1429
DESC: An example (from the documentation) where all check-boxes are put together on a separate sheet for each student.--><programlisting
1430
      id="modeles-separate.tex" linenumbering="numbered">\documentclass[a4paper]{article}
1431
1432
\usepackage[utf8x]{inputenc}    
1433
\usepackage[T1]{fontenc}
1434
1435
\usepackage[box,completemulti,separateanswersheet]{automultiplechoice}    <co
1436
            id="ensemble.opt" linkends="ensemble.opt.exp"/>
1437
\begin{document}
1438
1439
\AMCrandomseed{1237893}
1440
1441
\def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par {\sc Question #1:} }    <co
1442
            id="ensemble.fq" linkends="ensemble.fq.exp"/>
1443
1444
\setdefaultgroupmode{withoutreplacement}
1445
1446
\element{general}{
1447
  \begin{question}{prez}    
1448
    Among the following persons, which one has ever been a President of the French Republic?
1449
    \begin{choices}
1450
      \correctchoice{René Coty}
1451
      \wrongchoice{Alain Prost}
1452
      \wrongchoice{Marcel Proust}
1453
      \wrongchoice{Claude Monet}
1454
    \end{choices}
1455
  \end{question}
1456
}
1457
1458
\element{general}{
1459
  \begin{questionmult}{pref}    
1460
    Among the following cities, which ones are French prefectures?
1461
    \begin{choices}
1462
      \correctchoice{Poitiers}
1463
      \wrongchoice{Sainte-Menehould}
1464
      \correctchoice{Avignon}
1465
    \end{choices}
1466
  \end{questionmult}
1467
}
1468
1469
\element{general}{
1470
  \begin{question}{nb-ue}
1471
    How many different states were members of the European Union in Jan. 2009?
1472
    \begin{choiceshoriz}[o]
1473
      \wrongchoice{15}
1474
      \wrongchoice{21}
1475
      \wrongchoice{25}
1476
      \correctchoice{27}
1477
      \wrongchoice{31}
1478
    \end{choiceshoriz}
1479
  \end{question}
1480
}
1481
1482
\onecopy{5}{    
1483
1484
%%% beginning of the test sheet header:    
1485
1486
\noindent{\bf QCM  \hfill TEST}
1487
1488
\vspace*{.5cm}
1489
\begin{minipage}{.4\linewidth}
1490
  \centering\large\bf Test\\ Examination on Jan. 1st, 2008
1491
\end{minipage}
1492
1493
\begin{center}\em
1494
Durée : 10 minutes.
1495
1496
  No documents allowed. The use of electronic calculators is forbidden.
1497
1498
  Questions using the sign \multiSymbole{} may have
1499
  zero, one or several correct answers.  Other questions have a single correct answer.
1500
1501
  Negative points may be attributed to \emph{very
1502
    bad} answers.
1503
1504
\end{center}
1505
\vspace{1ex}
1506
1507
%%% end of the header
1508
1509
\insertgroup{general}
1510
1511
\AMCcleardoublepage    <co id="ensemble.cp" linkends="ensemble.cp.exp"/>
1512
1513
\AMCformBegin    <co id="debut.form" linkends="debut.form.exp"/>
1514
1515
%%% beginning of the answer sheet header
1516
1517
{\large\bf Answer sheet:}
1518
\hfill \namefield{\fbox{    <co id="ensemble.nom" linkends="ensemble.nom.exp"/>
1519
    \begin{minipage}{.5\linewidth}
1520
      Firstname and lastname:
1521
      
1522
      \vspace*{.5cm}\dotfill
1523
      \vspace*{1mm}
1524
    \end{minipage}
1525
  }}
1526
1527
\begin{center}
1528
  \bf\em Answers must be given exclusively on this sheet: 
1529
  answers given on the other sheets will be ignored.
1530
\end{center}
1531
1532
%%% end of the answer sheet header
1533
1534
\AMCform    <co id="ensemble.formulaire" linkends="ensemble.formulaire.exp"/>
1535
1536
\clearpage    
1537
1538
}  
1539
1540
\end{document}</programlisting>The following remarks should make the above
1541
      example clearer :<calloutlist>
1542
          <callout arearefs="ensemble.opt" id="ensemble.opt.exp">
1543
            <para>The <option>separateanswersheet</option> option is what
1544
            allows us to do what we wanted.</para>
1545
          </callout>
1546
1547
          <callout arearefs="ensemble.fq" id="ensemble.fq.exp">
1548
            <para>One can re-define in this manner the way the questions are
1549
            identified on the answer sheet (this line is optional).</para>
1550
          </callout>
1551
1552
          <callout arearefs="ensemble.cp" id="ensemble.cp.exp">
1553
            <para>This page break is put before the special page where the
1554
            check-boxes are put together. If one does recto-verso printing, it
1555
            is preferable to use <command>\AMCcleardoublepage</command> so
1556
            that this page is printed apart from the others. In the case of
1557
            recto printing, one can simply use
1558
            <command>\clearpage</command>.</para>
1559
          </callout>
1560
1561
          <callout arearefs="debut.form" id="debut.form.exp">
1562
            <para>This command marks the beginning of the answer sheet part.
1563
            Its use is necessary for the appropriate treatment of the
1564
            questions which appear only in that part, e.g. those generated by
1565
            <command>AMCcode</command>.</para>
1566
          </callout>
1567
1568
          <callout arearefs="ensemble.nom" id="ensemble.nom.exp">
1569
            <para>Students should normally write their name on the answer
1570
            sheet!</para>
1571
          </callout>
1572
1573
          <callout arearefs="ensemble.formulaire" id="ensemble.formulaire.exp">
1574
            <para>The LaTeX command <command>AMCform</command> writes all the
1575
            check-boxes.</para>
1576
          </callout>
1577
        </calloutlist></para>
1578
1579
      <warning>
1580
        <para>When one uses a separate answer sheet, letters (or digits, if
1581
        one uses the option <option>digits</option>, see <xref
1582
        linkend="sec.package.options"/>) are written in the check-boxes. To
1583
        achieve a correct detection of the checked boxes, one has to ask
1584
        students to completely fill the relevant boxes (checking by simply
1585
        drawing a cross would not suffice). One also has to tune the gray
1586
        level threshold (defining the proportion of black dots in a box above
1587
        which that box is considered to be checked) to a value of order
1588
        0.5.</para>
1589
      </warning>
1590
    </sect2>
1591
1592
    <sect2>
1593
      <title>Description of the LaTeX commands</title>
1594
1595
      <sect3 id="sec.package.options">
1596
        <title id="sec.package.options.title">Package options</title>
1597
1598
        <para>To use the <package>automultiplechoice</package> package, one
1599
        uses the line <programlisting>\usepackage[...]{automultiplechoice}</programlisting>where
1600
        the dots are replaced by a list of options separated by commas. Here
1601
        are the available options:</para>
1602
1603
        <itemizedlist>
1604
          <listitem>
1605
            <para><option>lang=<replaceable>XX</replaceable></option>: sets
1606
            the subject language to <replaceable>XX</replaceable>. At present,
1607
            only DE (German), ES (Spanish), FR (French), IT (Italian), JA
1608
            (Japanese) and NL (Dutch) are available. Several strings added by
1609
            <package>automultiplechoice</package> will be translated, such as
1610
            "None of these answers are correct", see option
1611
            <option>completemulti</option>.</para>
1612
          </listitem>
1613
1614
          <listitem>
1615
            <para><option>box</option>: puts every question in a block, so
1616
            that it cannot be split by a page break.</para>
1617
1618
            <note>
1619
              <para>You may occasionally cancel this option for each question
1620
              with the command <command>\AMCnobloc</command>. <programlisting>
1621
{\AMCnobloc%
1622
  \begin{question}{nb-ue}
1623
    How many different states were members of the European Union in Jan. 2009?
1624
    \begin{choiceshoriz}[o]
1625
      \wrongchoice{15}
1626
      \wrongchoice{21}
1627
      \wrongchoice{25}
1628
      \correctchoice{27}
1629
      \wrongchoice{31}
1630
    \end{choiceshoriz}
1631
  \end{question}
1632
}% </programlisting></para>
1633
            </note>
1634
          </listitem>
1635
1636
          <listitem>
1637
            <para><option>completemulti</option>: automatically adds a "None
1638
            of these answers are correct" choice at the end of each multiple
1639
            question. Thus, for these questions, a distinction can be made
1640
            between no answer and the answer consisting in treating none of
1641
            the listed answers as correct. This behavior can be forced or
1642
            canceled for a particular question using one of the commands
1643
            <command>\AMCcompleteMulti</command> or
1644
            <command>\AMCnoCompleteMulti</command> inside the corresponding
1645
            <command>questionmult</command> environment.</para>
1646
          </listitem>
1647
1648
          <listitem>
1649
            <para><option>noshuffle</option>: stops the automatic shuffling of
1650
            the answers for every question</para>
1651
          </listitem>
1652
1653
          <listitem>
1654
            <para><option>answers</option>: produces the corrected version of
1655
            the MCQ test, not the test sheet itself.</para>
1656
          </listitem>
1657
1658
          <listitem>
1659
            <para><option>indivanswers</option> : produces the corrected
1660
            version of each MCQ test. So useful with randomized
1661
            numbers.</para>
1662
          </listitem>
1663
1664
          <listitem>
1665
            <para><option>separateanswersheet</option>: requires that all
1666
            check-boxes be put together at the end of the test sheet (usually,
1667
            this option is used when one wants to have only one sheet to scan
1668
            per student - see the example in <xref
1669
            linkend="secensemble"/>).</para>
1670
          </listitem>
1671
1672
          <listitem>
1673
            <para><option>digits</option>: if one uses the
1674
            <option>separateanswersheet</option> option, the
1675
            <option>digits</option> option requires the question to be
1676
            identified with digits rather than with letters (which corresponds
1677
            to the default setting). With this option, one has to take care
1678
            that the number of answers does not exceed 9.</para>
1679
          </listitem>
1680
1681
          <listitem>
1682
            <para><option>outsidebox</option>: when using
1683
            <option>separateanswersheet</option>, this option asks to print
1684
            letters (or digits) outside the boxes on the answer sheet.</para>
1685
          </listitem>
1686
1687
          <listitem>
1688
            <para><option>insidebox</option>: when not using
1689
            <option>separateanswersheet</option>, this options asks to print
1690
            letters (or digits) inside the boxes to be filled by the
1691
            students.</para>
1692
          </listitem>
1693
1694
          <listitem>
1695
            <para><option>catalog</option>: use this option to make a catalog
1696
            of your questions to be used to compose future exams. No need to
1697
            use <command>\onecopy</command> with this layout.</para>
1698
          </listitem>
1699
1700
          <listitem>
1701
            <para><option>postcorrect</option>: use this option if you want to
1702
            give the correct answers after scans analysis, from a teacher
1703
            completed answer sheet - see <xref linkend="postcorrect"/> for
1704
            details.</para>
1705
          </listitem>
1706
1707
          <listitem>
1708
            <para><option>automarks</option>: in
1709
            <option>separateanswersheet</option> mode, use this option if you
1710
            want to cancel marks printing on the subject pages. They will only
1711
            be print on the answer sheet pages. To change the way pages
1712
            numbers are print on the subject pages, redefine the
1713
            <command>\AMCsubjectPageTag</command> command:</para>
1714
1715
            <programlisting>\renewcommand\AMCsubjectPageTag{%
1716
  \fbox{\texttt{\the\AMCid@etud:\thepage}}%
1717
}</programlisting>
1718
1719
            <warning>
1720
              <para>Only use <option>automarks</option> option if no data are
1721
              to be collected on the subjects pages, as AMC won't be able to
1722
              process these pages.</para>
1723
            </warning>
1724
          </listitem>
1725
        </itemizedlist>
1726
      </sect3>
1727
1728
      <sect3 id="sec.unecopie">
1729
        <title>Description of a copy</title>
1730
1731
        <para>The LaTeX source code describing the content of the test sheet
1732
        has to be included in a call to the command
1733
        <command>\onecopy</command>, the first argument being the number of
1734
        distinct realizations to be produced, and the second argument being
1735
        the code used to generate a realization.</para>
1736
1737
        <programlisting>\onecopy{50}{ ... }</programlisting>
1738
1739
        <para>If you have downloaded the LaTeX package
1740
        <package>environ</package> <emphasis>before</emphasis>
1741
        <package>automultiplechoice</package>, an alternative syntax is
1742
        available, using the <command>examcopy</command> environment, where
1743
        the number of realizations is an option (default is 5).</para>
1744
1745
        <programlisting>\begin{examcopy}[50]
1746
...
1747
\end{examcopy}</programlisting>
1748
1749
        <note>
1750
          <para>The <package>environ</package> package is not available in the
1751
          TeX Live 2007 distribution, which is still used in Ubuntu
1752
          distributions up to version 9.10 (Karmic Koala).</para>
1753
        </note>
1754
      </sect3>
1755
1756
      <sect3 id="latex.qr">
1757
        <title id="latex.qr.title">Questions and answers</title>
1758
1759
        <para>For simple questions (a single correct answer), one uses the
1760
        following model: <programlisting linenumbering="unnumbered">\begin{question}{identifier}
1761
  Here is the question...
1762
  \begin{choices}
1763
    \correctchoice{The correct answer}
1764
    \wrongchoice{A wrong answer}
1765
    \wrongchoice{Another wrong answer}
1766
  \end{choices}
1767
\end{question}</programlisting></para>
1768
1769
        <important>
1770
          <para>One must use a different identifier for every question. An
1771
          identifier can be made of digits, letters, and simple characters
1772
          (but do not use e.g. underscores, braces or brackets, that have a
1773
          special meaning in LaTeX files). Don't end your question identifier
1774
          with a dot followed by digits, as this syntax is reserved to codes
1775
          input.</para>
1776
        </important>
1777
1778
        <note>
1779
          <para>The maximum number of answers for a given question is limited
1780
          to 199.</para>
1781
        </note>
1782
1783
        <para>To keep the original order of the answers and prevent shuffling
1784
        for this specific question, one can use the <option>o</option> option
1785
        of the <option>choices</option> environment, replacing line 3 by the
1786
        following:<programlisting>\begin{choices}[o]</programlisting></para>
1787
1788
        <para>To put the answers on two columns, one can use the
1789
        <package>multicol</package> package: load it in the preamble (just
1790
        after the reference to the package
1791
        <package>automultiplechoice</package> for instance) with
1792
        <programlisting>\usepackage{multicol}</programlisting>and include the
1793
        choices environment inside a multicols environment in the following
1794
        manner:<programlisting>  \begin{multicols}{2}
1795
    \begin{choices}
1796
      \correctchoice{The correct answer}
1797
      \wrongchoice{A wrong answer}
1798
      \wrongchoice{Another wrong answer}
1799
    \end{choices}
1800
  \end{multicols}</programlisting></para>
1801
1802
        <para>For even shorter answers, one can require questions to be
1803
        printed following one another, using the <option>choiceshoriz</option>
1804
        environment instead of <option>choices</option>.</para>
1805
1806
        <para>Multiple questions (those for which no, one, or several answers
1807
        can be correct) use the <option>questionmult</option> environment
1808
        instead of <option>question</option>.</para>
1809
1810
        <para>When the answer to the question is not supposed to be taken into
1811
        account in the grading, one uses the <code>\QuestionIndicative</code>
1812
        command, as in the following example:</para>
1813
1814
        <para>
1815
          <programlisting>\begin{question}{difficulty}\QuestionIndicative
1816
  \scoring{auto=0,v=-1,e=-2}
1817
  Did you find this class easy or difficult? Please answer on a scale from 0 (very difficult) to 5 
1818
(very easy).
1819
  \begin{choiceshoriz}[o]
1820
    \correctchoice{0}
1821
    \correctchoice{1}
1822
    \correctchoice{2}
1823
    \correctchoice{3}
1824
    \correctchoice{4}
1825
    \correctchoice{5}
1826
  \end{choiceshoriz}
1827
\end{question}</programlisting>
1828
        </para>
1829
      </sect3>
1830
1831
      <sect3 id="latex.explain">
1832
        <title id="latex.explain.title">Explanation for the answers of a
1833
        question</title>
1834
1835
        <para>To provide explanation for the answers of a question, one can
1836
        use the <command>\explain</command> command. The explanations are
1837
        optional and are only displayed in the Solution and Catalog
1838
        file.</para>
1839
1840
        <para>Here is a simple example:</para>
1841
1842
        <para>
1843
          <programlisting>
1844
\begin{question}{explanation}
1845
  Which has the highest elevation among the following?
1846
  \begin{choices}
1847
      \correctchoice{Sagarmatha}
1848
      \wrongchoice{K2}
1849
      \wrongchoice{Mont Blanc}
1850
      \wrongchoice{Aconcagua}
1851
  \end{choices}
1852
  \explain{Sagarmatha which literally means `Head of sky' is the native name of
1853
           Mount Everest, the highest mountain in the world.}
1854
\end{question}</programlisting>
1855
        </para>
1856
1857
        <note>
1858
          <para>The <command>explain</command> command can be used inside
1859
          <option>question</option> like environments only. This includes
1860
          <option>question</option>, <option>questionmult</option> and
1861
          <option>questionmultx</option> environments.</para>
1862
        </note>
1863
1864
        <para>By default this command prints <emphasis>Explanation:
1865
        </emphasis> before each explanations. This behavior can be changed
1866
        using the <command>\AMCtext</command> command (see section <xref
1867
        linkend="AMCtext"/>).</para>
1868
1869
        <para>If you want to change this default behavior only for some
1870
        questions and not for all just use the <command>\AMCtext</command>
1871
        command before the <command>\explain</command> command as in the
1872
        following example:</para>
1873
1874
        <para>
1875
          <programlisting>
1876
\begin{question}{elevation}
1877
  Which has the highest elevation among the following?
1878
  \begin{choices}
1879
      \correctchoice{Sagarmatha}
1880
      \wrongchoice{K2}
1881
      \wrongchoice{Mont Blanc}
1882
      \wrongchoice{Aconcagua}
1883
  \end{choices}
1884
  \explain{Sagarmatha which literally means `Head of sky' is the native name of
1885
         Mount Everest, the highest mountain in the world.}
1886
\end{question}
1887
1888
\begin{question}{odd}
1889
  Pick the odd one out.
1890
  \begin{choices}
1891
      \correctchoice{Kilimanjaro}
1892
      \wrongchoice{Himalayas}
1893
      \wrongchoice{Alps}
1894
      \wrongchoice{Andes}
1895
  \end{choices}
1896
  \AMCtext{explain}{\textit{\textbf{Reason: }}}
1897
  \explain{Kilimanjaro is a mountain while the rest are mountain ranges.}
1898
\end{question}
1899
1900
\begin{questionmultx}{himalaya}
1901
  Among the following which is in the Himalayas?
1902
  \begin{choices}
1903
      \correctchoice{Mount Everest}
1904
      \correctchoice{K2}
1905
      \wrongchoice{Mont Blanc}
1906
      \wrongchoice{Aconcagua}
1907
  \end{choices}
1908
  \explain{Aconcagua is located in the Andes mountain range while Mont Blanc
1909
                 is located in the Alps.}
1910
\end{questionmultx}</programlisting>
1911
        </para>
1912
1913
        <para>This will now print <emphasis>Explanation: </emphasis> before
1914
        the explanations of first and third question but <emphasis>Reason:
1915
        </emphasis> before the explanation of second question.</para>
1916
      </sect3>
1917
1918
      <sect3>
1919
        <title>Putting answers on multiple columns</title>
1920
1921
        <para>To put answers on several columns (and thus save space), one can
1922
        embed the <option>choices</option> environment in a
1923
        <option>multicols</option> environment, using the LaTeX package
1924
        <package>multicol</package>.</para>
1925
1926
        <para>If, moreover, the answers do not fit into a single line, an
1927
        answer might be split over several columns, which might be a little
1928
        puzzling for the reader. The <command>\AMCBoxedAnswers</command>
1929
        command was defined in order to prevent this phenomenon, by embedding
1930
        each answer into a box. Here is an example of use:</para>
1931
1932
        <para>
1933
          <programlisting>\begin{question}{two columns}
1934
  What is a bird ?
1935
  \begin{multicols}{2}\AMCBoxedAnswers
1936
    \begin{choices}
1937
      \correctchoice{It is an animal with wings, laying eggs. There are birds with all sorts of colors.}
1938
      \wrongchoice{It is a large piece of furniture, made of wood, and used most of the time to store 
1939
      household linen}
1940
      \wrongchoice{It is a steam machine devised to seal cans at high speed.}
1941
    \end{choices}
1942
  \end{multicols}
1943
\end{question}</programlisting>
1944
        </para>
1945
1946
        <para>Let us note that it is also possible to parameterize the
1947
        vertical space between two answer blocks, thanks to the dimension
1948
        <parameter>AMCinterBrep</parameter>:</para>
1949
1950
        <para>
1951
          <programlisting>\AMCinterBrep=.5ex</programlisting>
1952
        </para>
1953
      </sect3>
1954
1955
      <sect3>
1956
        <title>Space between answers</title>
1957
1958
        <para>Let us note that it is also possible to parameterize the
1959
        vertical space between many answer blocks, thanks to the dimension
1960
        <parameter>AMCinterIrep</parameter>:</para>
1961
1962
        <para>
1963
          <programlisting>\AMCinterIrep=.75ex</programlisting>
1964
        </para>
1965
      </sect3>
1966
1967
      <sect3 id="marks.display.area">
1968
        <title id="marks.display.area.title">Describe the marks' display
1969
        area</title>
1970
1971
        <para>You may add an additional option of marking area (see <xref
1972
        endterm="marks.position.title" linkend="marks.position"/>).</para>
1973
1974
        <sect4>
1975
          <title>Without the <option>separateanswersheet</option>
1976
          option</title>
1977
1978
          <para>Type this command after <command>\begin{document}</command>
1979
          and before the command <command>\onecopy</command> :</para>
1980
1981
          <programlisting>\AMCsetScoreZone{width=1.5em,height=1.5ex,depth=.5ex,position=margins}</programlisting>
1982
1983
          <para>The variables <parameter>width</parameter>,
1984
          <parameter>height</parameter>, <parameter>depth</parameter> describe
1985
          the dimensions of the box marking and its location on the
1986
          sheet.</para>
1987
1988
          <para>The <parameter>position</parameter> value may be equal to :
1989
          none, question, margin, margins.</para>
1990
        </sect4>
1991
1992
        <sect4>
1993
          <title>With the <option>separateanswersheet</option>option</title>
1994
1995
          <para>Type this command after <command>\begin{document}</command>
1996
          and before the command <command>\onecopy</command> :</para>
1997
1998
          <programlisting>\AMCsetScoreZoneAnswerSheet{width=1.5em,height=1.5ex,depth=.5ex,position=question}</programlisting>
1999
        </sect4>
2000
2001
        <para>The variables <parameter>width</parameter>,
2002
        <parameter>height</parameter>, <parameter>depth</parameter> describe
2003
        the dimensions of the box marking and its location on the
2004
        sheet.</para>
2005
2006
        <para>The <parameter>position</parameter> value may be equal to :
2007
        none, question, margin, margins.</para>
2008
2009
        <warning>
2010
          <para>Don't type one of those commands <emphasis> after</emphasis>
2011
          printing.</para>
2012
        </warning>
2013
      </sect3>
2014
2015
      <sect3>
2016
        <title>Groups of questions</title>
2017
2018
        <para>Putting questions into groups allows one to shuffle questions
2019
        inside these groups, in a different way for each realization of the
2020
        test. Every group of questions must have a name formed solely with
2021
        plain letters.</para>
2022
2023
        <para>One can put questions in a group one by one, as in the following
2024
        example.</para>
2025
2026
        <para>
2027
          <programlisting>\element{mygroup}{
2028
  \begin{question}{easy}
2029
    So, how much is one plus one?
2030
    \begin{choiceshoriz}
2031
      \correctchoice{two}
2032
      \wrongchoice{zero}
2033
      \wrongchoice{three}
2034
    \end{choiceshoriz}
2035
  \end{question}
2036
}</programlisting>
2037
        </para>
2038
2039
        <important>
2040
          <para>The formation of the group, using the
2041
          <command>element</command> commands, must be made only once: thus,
2042
          these commands have to be used <emphasis>before</emphasis> the
2043
          <command>onecopy</command> command, which repeats some actions for
2044
          every realization.</para>
2045
        </important>
2046
2047
        <para>Finally, the group content can be output to the test sheet using
2048
        command <command>insertgroup</command>, as in<programlisting>\insertgroup{mygroup}</programlisting></para>
2049
2050
        <para>Group insertion can be controlled by the group mode, that can be
2051
        set by the <command>setgroupmode</command> command (called after group
2052
        creation, once for all, before <command>onecopy</command>):</para>
2053
2054
        <programlisting>\setgroupmode{mygroup}{XXX}</programlisting>
2055
2056
        <para>where <code>XXX</code> can be one of the following:</para>
2057
2058
        <variablelist>
2059
          <varlistentry>
2060
            <term>fixed</term>
2061
2062
            <listitem>
2063
              <para>with this mode, group's elements are taken from the
2064
              beginnig at each insertion.</para>
2065
            </listitem>
2066
          </varlistentry>
2067
2068
          <varlistentry>
2069
            <term>cyclic</term>
2070
2071
            <listitem>
2072
              <para>the elements will be taken from the group following the
2073
              last call group’s use, recycling if necessary.</para>
2074
            </listitem>
2075
          </varlistentry>
2076
2077
          <varlistentry>
2078
            <term>withreplacement</term>
2079
2080
            <listitem>
2081
              <para>the same as <code>fixed</code>, but the group is shuffled
2082
              before each use.</para>
2083
            </listitem>
2084
          </varlistentry>
2085
2086
          <varlistentry>
2087
            <term>withoutreplacement</term>
2088
2089
            <listitem>
2090
              <para>like <code>cyclic</code>, adding some shuffling when
2091
              comming back to the beginning of the group.</para>
2092
            </listitem>
2093
          </varlistentry>
2094
        </variablelist>
2095
2096
        <para>Note that a default group mode can be set for all groups that
2097
        will be created next (a group is created at the first
2098
        <command>element</command> call), using the command</para>
2099
2100
        <programlisting>\setdefaultgroupmode{XXX}</programlisting>
2101
2102
        <para>Without any mode definition, the <code>fixed</code> mode is
2103
        used.</para>
2104
2105
        <para>Once a group is formed, it is possible to shuffle questions
2106
        inside this group using the <command>shufflegroup</command> command.
2107
        For instance<programlisting>\shufflegroup{mygroup}</programlisting></para>
2108
2109
        <para>However, the command <command>shufflegroup</command> can always
2110
        be replaced by a proper use of group modes.</para>
2111
2112
        <warning>
2113
        <para>
2114
        Delete the command <command>\shufflegroup</command> if you rerun created tests with a  AMC version  lower to 1.2.2014.111201 and if you change the default mode (<code>fixed</code>).
2115
        </para>
2116
        </warning>
2117
2118
        <para>Groups of questions can be manipulated more precisely thanks to
2119
        the following commands:</para>
2120
2121
        <itemizedlist>
2122
          <listitem>
2123
            <para><code>\insertgroup[n]{mygroup}</code> (using optional
2124
            parameter <replaceable>n</replaceable>) only inserts the
2125
            <replaceable>n</replaceable> first elements from the group.</para>
2126
          </listitem>
2127
2128
          <listitem>
2129
            <para><code>\cleargroup{mygroup}</code> clears all group
2130
            content.</para>
2131
          </listitem>
2132
2133
          <listitem>
2134
            <para><code>\copygroup{groupA}{groupB}</code> copies all the
2135
            elements from group <replaceable>groupA</replaceable> to the end
2136
            of group <replaceable>groupB</replaceable>. With an optional
2137
            argument <replaceable>n</replaceable>, only the n first elements
2138
            will be copied: <code>\copygroup[n]{groupA}{groupB}</code>.</para>
2139
          </listitem>
2140
        </itemizedlist>
2141
2142
        <para>With these commands, you can for example make a exam taking 4
2143
        questions from group GA at random, 5 questions from group GB at
2144
        random, and all the questions from group GO, shuffling all these
2145
        questions, with the following code (to be used inside the argument of
2146
        the command <command>onecopy</command>, and supposing that the group
2147
        mode of groups <code>GA</code>, <code>GB</code> and <code>all</code>
2148
        is <code>withoutreplacement</code> or
2149
        <code>withreplacement</code>):</para>
2150
2151
        <programlisting>\cleargroup{all}
2152
\copygroup[4]{GA}{all}
2153
\copygroup[5]{GB}{all}
2154
\copygroup{GO}{all}
2155
\insertgroup{all}</programlisting>
2156
      </sect3>
2157
2158
      <sect3>
2159
        <title>Page size, margins</title>
2160
2161
        <para>The <command>automultiplechoice</command> LaTeX package uses
2162
        <command>geometry</command> to set the margins and page layout. You
2163
        can overwrite its settings using the <command>\geometry</command>
2164
        command just before the <code>\begin{document}</code> - see the
2165
        geometry package documentation for details. The values initially set
2166
        by AMC are:</para>
2167
2168
        <programlisting>\geometry{hmargin=3cm,headheight=2cm,headsep=.3cm,footskip=1cm,top=3.5cm,bottom=2.5cm}</programlisting>
2169
2170
        <para>When reducing the margins to gain some space, keep in mind
2171
        that:</para>
2172
2173
        <itemizedlist>
2174
          <listitem>
2175
            <para>The four corner marks must be printed entirely (they could
2176
            disappear due to the printer margins).</para>
2177
          </listitem>
2178
2179
          <listitem>
2180
            <para>The four corner marks must be entirely visible on the scans
2181
            (if they are too close from the border and the paper moved a
2182
            little or turned a little during scanning, this could not be the
2183
            case).</para>
2184
          </listitem>
2185
        </itemizedlist>
2186
2187
        <para>It is also possible to set the paper size as an option to add to
2188
        the list given as argument to the <command>\geometry</command>
2189
        command. Available values include <code>a4paper</code>,
2190
        <code>a5paper</code>, <code>a6paper</code>, <code>b4paper</code>,
2191
        <code>b5paper</code>, <code>ansibpaper</code>,
2192
        <code>ansicpaper</code>, <code>ansidpaper</code>,
2193
        <code>letterpaper</code>, <code>executivepaper</code>,
2194
        <code>legalpaper</code>.</para>
2195
2196
        <para>For small paper sizes, it may also be interesting to change the
2197
        position of the human readable sheet IDs (like <code>+1/1/53+</code>)
2198
        in the header. This can be done using the
2199
        <command>\AMCidsPosition</command> command, in the form</para>
2200
2201
        <programlisting>\AMCidsPosition{pos=<replaceable>p</replaceable>,width=<replaceable>w</replaceable>,height=<replaceable>h</replaceable>}</programlisting>
2202
2203
        <para>where <replaceable>p</replaceable> can be <code>none</code>,
2204
        <code>top</code> or <code>side</code>, and the dimensions
2205
        <replaceable>w</replaceable> and <replaceable>h</replaceable> refers
2206
        to the (invisible) box containing the ID. The default values
2207
        are</para>
2208
2209
        <programlisting>\AMCidsPosition{pos=side,width=4cm,height=3ex}</programlisting>
2210
2211
        <para>Let us end with an example for A5 paper sheets:</para>
2212
2213
        <programlisting>\geometry{a5paper,hmargin=1.6cm,top=2.5cm}
2214
\AMCidsPosition{pos=top}</programlisting>
2215
      </sect3>
2216
2217
      <sect3>
2218
        <title>Check-box presentation style</title>
2219
2220
        <para>The <command>\AMCboxDimensions</command> command allows one to
2221
        modify one or several dimensions of the check-boxes.</para>
2222
2223
        <itemizedlist>
2224
          <listitem>
2225
            <para><option>shape</option> is the shape of the boxes. Use the
2226
            value <replaceable>square</replaceable> to get squares or
2227
            rectangles, and <replaceable>oval</replaceable> to get circles or
2228
            ovals. Note that the LaTeX package tikz must be loaded for
2229
            <replaceable>oval</replaceable> to work.</para>
2230
          </listitem>
2231
2232
          <listitem>
2233
            <para><option>width</option> is the width of the box;</para>
2234
          </listitem>
2235
2236
          <listitem>
2237
            <para><option>height</option> is the height of the box;</para>
2238
          </listitem>
2239
2240
          <listitem>
2241
            <para><option>size</option> is the size (<option>width</option>
2242
            and <option>height</option>) of the box;</para>
2243
          </listitem>
2244
2245
          <listitem>
2246
            <para><option>rule</option> is the thickness of the boundary of
2247
            the box;</para>
2248
          </listitem>
2249
2250
          <listitem>
2251
            <para><option>down</option> controls by how much boxes are pushed
2252
            down.</para>
2253
          </listitem>
2254
        </itemizedlist>
2255
2256
        <para>To obtain smaller boxes, one can e.g. use the command</para>
2257
2258
        <programlisting>\AMCboxDimensions{size=1.7ex,down=.2ex}</programlisting>
2259
2260
        <para>When using <option>separateanswersheet</option> package option,
2261
        you can also customize the boxes labeling. The default behavior is to
2262
        use uppercase alphabetical labeling, or arabic numbering if the
2263
        <option>digits</option> package option is used. To use your own
2264
        labeling, one has to redefine the <command>\AMCchoiceLabel</command>
2265
        command which takes as argument the name of the counter used to number
2266
        the choices. For example, the following code will ask for lowercase
2267
        letters to label the boxes:</para>
2268
2269
        <programlisting>\def\AMCchoiceLabel#1{\alph{#1}}</programlisting>
2270
2271
        <para>As an other example, when using <package>arabxetex</package>
2272
        package, the following code may be useful:</para>
2273
2274
        <programlisting>\def\AMCchoiceLabel#1{\textLR{\Alph{#1}}}</programlisting>
2275
2276
        <para>One can also change the style of the boxes labels redefining the
2277
        <command>\AMCchoiceLabelFormat</command> command, as in the following
2278
        example (here we need bold labels):</para>
2279
2280
        <programlisting>\def\AMCchoiceLabelFormat#1{\textbf{#1}}</programlisting>
2281
2282
        <para>Also note that the color of the boxes to be ticked by the
2283
        students can be set using</para>
2284
2285
        <programlisting>\AMCboxColor{red}</programlisting>
2286
2287
        <para>replacing <code>red</code> by the desired color (that must be
2288
        recognized by the <command>xcolor</command> package). For example, you
2289
        can get a light green with</para>
2290
2291
        <programlisting>\definecolor{amcboxcolor}{rgb}{0.67,0.88,0.5}
2292
\AMCboxColor{amcboxcolor}</programlisting>
2293
      </sect3>
2294
2295
      <sect3>
2296
        <title>Questions presentation style</title>
2297
2298
        <para>The way each question is presented can be modified by redefining
2299
        the LaTeX command <command>AMCbeginQuestion</command>, whose default
2300
        definition is the following:</para>
2301
2302
        <para>
2303
          <programlisting>\def\AMCbeginQuestion#1#2{\par\noindent{\bf Question #1} #2\hspace*{1em}}</programlisting>
2304
        </para>
2305
2306
        <para>The first parameter transmitted to this command is the number of
2307
        the question to be displayed. The second parameter contains
2308
        <code>\multiSymbole</code> in the case of a multiple question, and is
2309
        void in all other cases. The <code>\multiSymbole</code> command too
2310
        can be modified: its goal is to distinguish multiple questions from
2311
        the others. By default, it displays a club.</para>
2312
2313
        <para>
2314
          <programlisting>\def\multiSymbole{$\clubsuit$}</programlisting>
2315
        </para>
2316
2317
        <para>Finally, one can modify the number of the next question with the
2318
        <code>\AMCnumero command</code>. At the beginning of each realization
2319
        of the test, a call to</para>
2320
2321
        <para>
2322
          <programlisting>\AMCnumero{1}</programlisting>
2323
        </para>
2324
2325
        <para>is performed, but this command can be used at any place.</para>
2326
2327
        <note>
2328
          <para>Each question must have a number, even it is not displayed, to
2329
          make sure of package cleveref's compatibility. Type
2330
          <command>\AMCquestionNumberfalse</command> command just after
2331
          <command>\AMCbeginQuestion</command> to have following numbers or
2332
          use the above command.</para>
2333
        </note>
2334
2335
        <para>The display of answers can be modified in the same fashion, if
2336
        one uses the <option>choicescustom</option> environment instead of
2337
        <option>choices</option> or <option>choiceshoriz</option>, redefining
2338
        the three following LaTeX macros:</para>
2339
2340
        <programlisting>\def\AMCbeginAnswer{}
2341
\def\AMCendAnswer{}
2342
\def\AMCanswer#1#2{#1 #2}
2343
</programlisting>
2344
2345
        <para>One can also change spacing redefining the following dimensions
2346
        (here are the default values):</para>
2347
2348
        <programlisting>\AMCinterIrep=0pt
2349
\AMCinterBrep=.5ex
2350
\AMCinterIquest=0pt
2351
\AMCinterBquest=3ex</programlisting>
2352
2353
        <para>These dimensions are the vertical space between questions
2354
        (<code>quest</code>) or answers (<code>rep</code>), in boxed mode
2355
        (<code>B</code>, with <command>\AMCBoxedAnswers</command> or
2356
        <option>box</option> package option) or standard mode
2357
        (<code>I</code>).</para>
2358
      </sect3>
2359
2360
      <sect3>
2361
        <title>Separate answer sheet presentation style</title>
2362
2363
        <para>It is also possible to modify the layout of the separate answer
2364
        sheet produced with the <option>separateanswersheet</option> option
2365
        (see section <xref linkend="secensemble"/>).</para>
2366
2367
        <orderedlist>
2368
          <listitem>
2369
            <para>If one only wants to modify the horizontal spacing between
2370
            two check-boxes or the vertical spacing between two questions, one
2371
            just has to redefine the following dimensions:</para>
2372
2373
            <programlisting>\AMCformHSpace=.3em
2374
\AMCformVSpace=1.2ex
2375
</programlisting>
2376
          </listitem>
2377
2378
          <listitem>
2379
            <para>For a deeper modification of the display settings, one can
2380
            also redefine the commands that are used at the beginning of each
2381
            question and for each answer (here follows the default
2382
            definitions):</para>
2383
2384
            <programlisting>\def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par{\bf Question #1:}}
2385
\def\AMCformAnswer#1{\hspace{\AMCformHSpace} #1}
2386
</programlisting>
2387
          </listitem>
2388
        </orderedlist>
2389
2390
        <para>These definitions have to be inserted just after
2391
        <code>\begin{document}</code> in the LaTeX file.</para>
2392
      </sect3>
2393
2394
      <sect3 id="latex.codes">
2395
        <title>Code acquisition</title>
2396
2397
        <para>Code acquisition can be easily performed thanks to the LaTeX
2398
        command <command>AMCcode</command>, for instance to allow each student
2399
        to enter her/his student number by herself/himself on the answer
2400
        sheet. The two arguments of this command are a code/question
2401
        identifier, and the number of digits to be used by the code. One can
2402
        e.g. use the following header</para>
2403
2404
        <para>
2405
          <programlisting>{\setlength{\parindent}{0pt}\hspace*{\fill}\AMCcode{etu}{8}\hspace*{\fill}
2406
\begin{minipage}[b]{6.5cm}
2407
$\longleftarrow{}$\hspace{0pt plus 1cm} please encode your student number below,
2408
and write your first and last names below.
2409
2410
\vspace{3ex}
2411
2412
\hfill\namefield{\fbox{    
2413
    \begin{minipage}{.9\linewidth}
2414
      Firstname and lastname:
2415
      
2416
      \vspace*{.5cm}\dotfill
2417
      
2418
      \vspace*{.5cm}\dotfill
2419
      \vspace*{1mm}
2420
    \end{minipage}
2421
  }}\hfill\vspace{5ex}\end{minipage}\hspace*{\fill}
2422
2423
}
2424
</programlisting>
2425
        </para>
2426
2427
        <para>If the <option>separateanswersheet</option> option is used, the
2428
        <command>AMCcode</command> command has to be placed after the
2429
        <command>AMCformBegin</command> command.</para>
2430
2431
        <para>Note that the codes rendering from <command>\AMCcode</command>
2432
        can be adapted modifying the lengths
2433
        <command>\AMCcodeHspace</command>, <command>\AMCcodeVspace</command>
2434
        and <command>\AMCcodeBoxSep</command>, representing the horizontal and
2435
        vertical amount of space between boxes, and the amount of space
2436
        between boxes and labels (when the labels are written outside the
2437
        boxes). Default values are set with the following commands:</para>
2438
2439
        <programlisting>\AMCcodeHspace=.5em
2440
\AMCcodeVspace=.5em
2441
\AMCcodeBoxSep=.1em</programlisting>
2442
2443
        <para>Note that an horizontal version <command>AMCcodeH</command> is
2444
        also available, specially for the case of small number of
2445
        digits.</para>
2446
      </sect3>
2447
2448
      <sect3 id="openquestions">
2449
        <title>Open questions</title>
2450
2451
        <para>One can sometimes require some open questions to be added to the
2452
        subject. One way to do so is to reserve boxes use to the teacher for
2453
        these questions. After the exam, the teacher reads the completed
2454
        answer sheets and tick the boxes according to the answers written by
2455
        the students for open questions. He will then scan the sheets and let
2456
        AMC correct the multiple choice questions and integrate the open
2457
        questions scores into the marks.<programlisting>\begin{question}{open}
2458
  Define \emph{inflation}.
2459
  \AMCOpen{lines=5}{\wrongchoice[W]{w}\scoring{0}\wrongchoice[P]{p}\scoring{1}\correctchoice[C]{c}\scoring{2}}
2460
\end{question}
2461
</programlisting></para>
2462
2463
        <para>In this example, the teacher will get three boxes. If the first
2464
        (labeled W for wrong) is ticked, the student will get 0 points. If the
2465
        second (labeled P for partial) is ticked, the student will get 1
2466
        point. If the third (labeled C for correct) is ticked, the student
2467
        will get 2 points.</para>
2468
2469
        <para>The first argument to <command>\AMCOpen</command> is a comma
2470
        separated list of options. The available options are:</para>
2471
2472
        <warning>
2473
          <para>At least one option is requiered to correctly compile the
2474
          file.</para>
2475
        </warning>
2476
2477
        <variablelist>
2478
          <varlistentry>
2479
            <term>lineup=<replaceable>bool</replaceable></term>
2480
2481
            <listitem>
2482
              <para>if <code>true</code>, the answering area and the scoring
2483
              boxes will be on the same line. If <code>false</code> (this is
2484
              default), the answering area is enclosed in a frame and placed
2485
              below the scoring boxes.</para>
2486
            </listitem>
2487
          </varlistentry>
2488
2489
          <varlistentry>
2490
            <term>lines=<replaceable>num</replaceable></term>
2491
2492
            <listitem>
2493
              <para>sets the number of lines for the answer. Default value is
2494
              <code>1</code>.</para>
2495
            </listitem>
2496
          </varlistentry>
2497
2498
          <varlistentry>
2499
            <term>lineheight=<replaceable>dim</replaceable></term>
2500
2501
            <listitem>
2502
              <para>sets the height of each line. Default value is
2503
              <code>1cm</code>.</para>
2504
            </listitem>
2505
          </varlistentry>
2506
2507
          <varlistentry>
2508
            <term>dots=<replaceable>bool</replaceable></term>
2509
2510
            <listitem>
2511
              <para>if <code>true</code> (Default), each line will be realized
2512
              by a line of dots.</para>
2513
            </listitem>
2514
          </varlistentry>
2515
2516
          <varlistentry>
2517
            <term>contentcommand=<replaceable>cmdname</replaceable></term>
2518
2519
            <listitem>
2520
              <para>Use this option if you want to customize the content of
2521
              the answer area. You will have to define a
2522
              <command>\<replaceable>cmdname</replaceable></command> command
2523
              that has to produce the content.</para>
2524
            </listitem>
2525
          </varlistentry>
2526
2527
          <varlistentry>
2528
            <term>hspace=<replaceable>dim</replaceable></term>
2529
2530
            <listitem>
2531
              <para>sets the space between boxes in the marking area.</para>
2532
            </listitem>
2533
          </varlistentry>
2534
2535
          <varlistentry>
2536
            <term>backgroundcol=<replaceable>color</replaceable></term>
2537
2538
            <listitem>
2539
              <para>sets the background color of the marking area.</para>
2540
            </listitem>
2541
          </varlistentry>
2542
2543
          <varlistentry>
2544
            <term>foregroundcol=<replaceable>color</replaceable></term>
2545
2546
            <listitem>
2547
              <para>sets the foreground color of the marking area.</para>
2548
            </listitem>
2549
          </varlistentry>
2550
2551
          <varlistentry>
2552
            <term>scan=<replaceable>bool</replaceable></term>
2553
2554
            <listitem>
2555
              <para>if <code>false</code>, the boxes are not scanned (this can
2556
              be useful if you plan to use manual data capture only to mark
2557
              this question, and don't want to take into account the students
2558
              drawings on the boxes). Defaults to <code>true</code>.</para>
2559
            </listitem>
2560
          </varlistentry>
2561
2562
          <varlistentry>
2563
            <term>annotate=<replaceable>bool</replaceable></term>
2564
2565
            <listitem>
2566
              <para>if <code>false</code> (default value), the boxes from this
2567
              question won't be annotated when annotating the answer sheets
2568
              (only the score will be written).</para>
2569
            </listitem>
2570
          </varlistentry>
2571
2572
          <varlistentry>
2573
            <term>question=<replaceable>text</replaceable></term>
2574
2575
            <listitem>
2576
              <para>sets a short text that helps the examiner to identify the
2577
              question. This text will be written before the scoring boxes,
2578
              only if a separate answer sheet is used.</para>
2579
2580
              <para>The question's identifier will be displayed if you type
2581
              question in the options list.</para>
2582
            </listitem>
2583
          </varlistentry>
2584
2585
          <varlistentry>
2586
            <term>answer=<replaceable>text</replaceable></term>
2587
2588
            <listitem>
2589
              <para>sets a short text that will be written in the answering
2590
              area for corrected answer sheets.</para>
2591
            </listitem>
2592
          </varlistentry>
2593
2594
          <varlistentry>
2595
            <term>width=<replaceable>dim</replaceable></term>
2596
2597
            <listitem>
2598
              <para>sets the width of the frame enclosing the answering area
2599
              when <code>lineup=false</code>. Default value is
2600
              <code>.95\linewidth</code>.</para>
2601
            </listitem>
2602
          </varlistentry>
2603
2604
          <varlistentry>
2605
            <term>framerule=<replaceable>dim</replaceable></term>
2606
2607
            <listitem>
2608
              <para>sets the line width for the frame enclosing the answering
2609
              area.</para>
2610
            </listitem>
2611
          </varlistentry>
2612
2613
          <varlistentry>
2614
            <term>framerulecol=<replaceable>color</replaceable></term>
2615
2616
            <listitem>
2617
              <para>sets the frame color for the answering area.</para>
2618
            </listitem>
2619
          </varlistentry>
2620
2621
          <varlistentry>
2622
            <term>boxmargin=<replaceable>dim</replaceable></term>
2623
2624
            <listitem>
2625
              <para>sets the margin around the scoring boxes.</para>
2626
            </listitem>
2627
          </varlistentry>
2628
2629
          <varlistentry>
2630
            <term>boxframerule=<replaceable>dim</replaceable></term>
2631
2632
            <listitem>
2633
              <para>sets the line width for the frame around the scoring
2634
              boxes.</para>
2635
            </listitem>
2636
          </varlistentry>
2637
2638
          <varlistentry>
2639
            <term>boxframerulecol=<replaceable>color</replaceable></term>
2640
2641
            <listitem>
2642
              <para>sets the color of the frame around the scoring
2643
              boxes.</para>
2644
            </listitem>
2645
          </varlistentry>
2646
        </variablelist>
2647
2648
        <para>You can set other default values (for the whole exam) for all
2649
        these parameters using the command <command>\AMCopenOpts</command>,
2650
        like</para>
2651
2652
        <programlisting>\AMCopenOpts{boxframerule=2pt,boxframerulecol=red}</programlisting>
2653
2654
        <para>Moreover, a little text can be written in the marking area to
2655
        tell the students not to tick these boxes, redefining the
2656
        <command>\AMCotextReserved</command> command, as:</para>
2657
2658
        <programlisting>\def\AMCotextReserved{\emph{Reserved}}</programlisting>
2659
2660
        <para>When using separate answer sheets, the text added to each open
2661
        question can also be defined, as:</para>
2662
2663
        <programlisting>\def\AMCotextGoto{\par{\bf\emph{Please write the answer on the separate answer sheet.}}}</programlisting>
2664
      </sect3>
2665
2666
      <sect3>
2667
        <title>One-letter answers</title>
2668
2669
        <para>Sometimes this is not necessary to write some long text to
2670
        describe answers, and one letter or symbol is enough. When using a
2671
        separate answer sheet, it is quite annoying to print the boxes both on
2672
        the question and on the answer sheet. In such cases, use
2673
        <command>\AMCBoxOnly</command> instead of the <code>choices</code>
2674
        environment:</para>
2675
2676
        <programlisting>\begin{question}{arm}
2677
  Which letter shows the \textit{arm} on the diagram?
2678
  \AMCBoxOnly{ordered=true}{\wrongchoice[A]{}\correctchoice[B]{}%
2679
    \wrongchoice[C]{}\wrongchoice[D]{}}
2680
\end{question}</programlisting>
2681
2682
        <para>The first argument to <command>\AMCBoxOnly</command> is a comma
2683
        separated list of options. The available options are:</para>
2684
2685
        <variablelist>
2686
          <varlistentry>
2687
            <term>help=<replaceable>text</replaceable></term>
2688
2689
            <listitem>
2690
              <para>prints some reminder text before the boxes on the separate
2691
              answer sheet.</para>
2692
            </listitem>
2693
          </varlistentry>
2694
2695
          <varlistentry>
2696
            <term>ordered=<replaceable>bool</replaceable></term>
2697
2698
            <listitem>
2699
              <para>if <code>true</code> (the default value is
2700
              <code>false</code>), the answers won't be shuffled.</para>
2701
            </listitem>
2702
          </varlistentry>
2703
        </variablelist>
2704
      </sect3>
2705
2706
      <sect3>
2707
        <title>Choice of shuffling parameters</title>
2708
2709
        <para>One can modify the seed of the random number generator used to
2710
        produce the shuffle, thanks to the following command (to be used just
2711
        at the beginning of the document, and in any case outside the
2712
        <command>onecopy</command> command):</para>
2713
2714
        <para>
2715
          <programlisting>\AMCrandomseed{1527384}</programlisting>
2716
        </para>
2717
2718
        <para>If the value that is assigned (to be chosen between 1 and
2719
        4194303) is modified, then the shuffling will differ. Of course, one
2720
        must not modify this value after the test sheets have been
2721
        printed.</para>
2722
      </sect3>
2723
2724
      <sect3>
2725
        <title>Using sectioning and separate answer sheet</title>
2726
2727
        <para>For sectioning to be also visible in the separate answer sheet
2728
        (if any), use <command>\AMCsection</command> and
2729
        <command>\AMCsubsection</command> instead of
2730
        <command>\section</command> and <command>\subsection</command>.</para>
2731
      </sect3>
2732
2733
      <sect3>
2734
        <title>Using references inside the test sheets</title>
2735
2736
        <para>Using LaTeX commands <command>\label</command>,
2737
        <command>\ref</command> and <command>\pageref</command> within
2738
        questions or answers is problematic since they will be called with the
2739
        same arguments for every realization of the test, which will alter the
2740
        numbering of references. To solve this problem, one should use instead
2741
        the commands <command>\AMClabel</command>, <command>\AMCref</command>
2742
        and <command>\AMCpageref</command>: they add the realization number to
2743
        their argument before transmitting it to <command>\label</command>,
2744
        <command>\ref</command> and <command>\pageref</command>.</para>
2745
2746
        <note>
2747
          <para>If you updated the test version (1.2.2014.041103) to the
2748
          current version (1.2.2014.111201) or greater, you don't have to type
2749
          the command <command>\AMCqlabel</command> to label a question but
2750
          type <command>\AMClabel</command>. The old command remain compatible
2751
          with your previous tex files/exams.</para>
2752
        </note>
2753
2754
        <para>One also has to reset counters to zero at the beginning of each
2755
        realization. For instance, if one wants to include references to
2756
        pictures that are put together in a separate page, one might write
2757
        something like</para>
2758
2759
        <programlisting>\element{animals}{
2760
  \begin{figure}[p]
2761
    \centering
2762
    \includegraphics[width=.6\linewidth]{tiger}
2763
    \caption{An animal}
2764
    \AMClabel{tiger}
2765
  \end{figure}
2766
    
2767
  \begin{question}{tiger}
2768
    Which is the animal on figure~\AMCref{tiger} page~\AMCpageref{tiger}?
2769
    \begin{choices}
2770
      \correctchoice{A tiger}
2771
      \wrongchoice{A giraffe}
2772
      \wrongchoice{An elephant}
2773
      \wrongchoice{A cat}
2774
    \end{choices}
2775
  \end{question}
2776
}</programlisting>
2777
2778
        <para>and it is then important to add, just after the command
2779
        <command>\onecopy</command> the line</para>
2780
2781
        <programlisting>\setcounter{figure}{0}</programlisting>
2782
2783
        <para>so that the numbering of figures starts at 1 for every
2784
        realization. Without that last command, the numbering of figures would
2785
        go on from one realization to the next one, which is clearly not
2786
        desirable.</para>
2787
      </sect3>
2788
2789
      <sect4 id="cleveref"><title>Using the package cleveref</title>
2790
      <para>This package sort in an ascending order the questions' numbers,
2791
      the questions' pages or the labels' pages (the documentation <ulink
2792
      url="http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf">http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf</ulink>).</para>
2793
      <warning>
2794
          <para>This package must be declare <emphasis>after</emphasis> the
2795
          package <package>automultiplechoice</package>.</para>
2796
        </warning> To use this package, a new command was created:
2797
      <command>\AMCstudentlabel</command>. <para>
2798
          <programlisting>\cref{\AMCstudentlabel{led},\AMCstudentlabel{lamp},\AMCstudentlabel{motor}}</programlisting>
2799
        </para>
2800
      <para><emphasis>led</emphasis>,<emphasis>lamp</emphasis>,<emphasis>motor</emphasis>
2801
      are the created labels to reference the questions with the command
2802
      \AMClabel{}.</para></sect4>
2803
2804
      <sect3 id="AMCtext">
2805
        <title>Customizing some texts inserted by AMC</title>
2806
2807
        <para>Use <command>\AMCtext</command> for the following
2808
        customizations:</para>
2809
2810
        <itemizedlist>
2811
          <listitem>
2812
            <para><code>\AMCtext{none}{<replaceable>sentence</replaceable>}</code>
2813
            replaces « None of these answers are correct. » (the English
2814
            default text) with the given <replaceable>sentence</replaceable>
2815
            when using option <option>completemulti</option>.</para>
2816
          </listitem>
2817
2818
          <listitem>
2819
            <para><code>\AMCtext{corrected}{<replaceable>title</replaceable>}</code>
2820
            replaces « Corrected » (the English default text) with the given
2821
            <replaceable>title</replaceable> on the corrected answer
2822
            sheet.</para>
2823
          </listitem>
2824
2825
          <listitem>
2826
            <para><code>\AMCtext{catalog}{<replaceable>title</replaceable>}</code>
2827
            replaces « Catalog » (the English default text) with the given
2828
            <replaceable>title</replaceable> on the questions catalog produced
2829
            thanks to option <option>catalog</option>.</para>
2830
          </listitem>
2831
2832
          <listitem>
2833
            <para><code>\AMCtext{explain}{<replaceable>title</replaceable>}</code>
2834
            replaces « <emphasis>Explanation</emphasis> » (the English default
2835
            text) with the given <replaceable>title</replaceable> before the
2836
            explanations produced due to the <command>explain</command>
2837
            command.</para>
2838
2839
            <para>The default option for this command is:</para>
2840
2841
            <programlisting>\AMCtext{explain}{\textit{\textbf{Explanation: }}}</programlisting>
2842
          </listitem>
2843
2844
          <listitem>
2845
            <para>You can also consider using commands like the following ones
2846
            (here the second argument is set to the default English
2847
            value):</para>
2848
2849
            <programlisting>\AMCtext{draft}{DRAFT}
2850
\AMCtext{message}{For your examination, preferably print documents
2851
                  compiled from auto-multiple-choice.}</programlisting>
2852
          </listitem>
2853
        </itemizedlist>
2854
      </sect3>
2855
2856
      <sect3 id="binary.code">
2857
        <title id="binary.code.title">Binary code</title>
2858
2859
        <para>AMC identifies each test and the page number of test with the
2860
        binary code.</para>
2861
2862
        <itemizedlist>
2863
          <listitem>
2864
            <para>First row : 12 boxes (default value) : maximum number of
2865
            tests = 2^12-1 = 4 095.</para>
2866
          </listitem>
2867
2868
          <listitem>
2869
            <para>Second row : 6 first boxes (default value) : maximum number
2870
            of pages per tests = 2^6-1 = 63.</para>
2871
          </listitem>
2872
2873
          <listitem>
2874
            <para>Second row : 6 last boxes (default value) : check
2875
            code.</para>
2876
          </listitem>
2877
        </itemizedlist>
2878
2879
        <para>To raise the number of tests and/or pages per test modify the
2880
        commands' default values <command>\AMC@NCBetud</command>,
2881
        <command>\AMC@NCBpage</command> et
2882
        <command>\AMC@NCBcheck</command>.</para>
2883
2884
        <para>Load those commands below in the preambule (here with the
2885
        default values).</para>
2886
2887
        <programlisting>
2888
\makeatletter
2889
\AMC@NCBetud=12
2890
\AMC@NCBpage=6
2891
\AMC@NCBcheck=6
2892
\makeatother
2893
          </programlisting>
2894
2895
        <note>
2896
          <para>The values <command>\AMC@NCBpage</command> and
2897
          <command>\AMC@NCBcheck</command> must be equal.</para>
2898
        </note>
2899
      </sect3>
2900
    </sect2>
2901
2902
    <sect2>
2903
      <title>Options for AMC</title>
2904
2905
      <para>You can add in the source file header (the first lines that begin
2906
      with a '%') some options to be passed to AMC:</para>
2907
2908
      <variablelist>
2909
        <varlistentry>
2910
          <term><code>%%AMC:preprocess_command=<replaceable>commandname</replaceable></code></term>
2911
2912
          <listitem>
2913
            <para>tells AMC to run the <replaceable>commandname</replaceable>
2914
            command before calling LaTeX to process the source file. This
2915
            command will be run inside the project directory, and the name of
2916
            a source file copy will be passed as an argument. There is no
2917
            problem for <replaceable>commandname</replaceable> to change this
2918
            file content, because this is only a copy.</para>
2919
          </listitem>
2920
        </varlistentry>
2921
2922
        <varlistentry>
2923
          <term><code>%%AMC:latex_engine=<replaceable>engine</replaceable></code></term>
2924
2925
          <listitem>
2926
            <para>tells AMC to set the LaTeX engine to use for this file,
2927
            regardless to the one entered as a preference by the user.</para>
2928
          </listitem>
2929
        </varlistentry>
2930
      </variablelist>
2931
    </sect2>
2932
2933
    <sect2>
2934
      <title>Mathematical questions with randomized statements</title>
2935
2936
      <sect3>
2937
        <title>Using package fp</title>
2938
2939
        <para>Thanks to the LaTeX package <package>fp</package>, whose
2940
        documentation is available at <ulink
2941
        url="http://mirrors.ctan.org/macros/latex/contrib/fp/README">http://mirrors.ctan.org/macros/latex/contrib/fp/README</ulink>,
2942
        and which can be downloaded with the command <programlisting>\usepackage{fp}</programlisting>added
2943
        before that corresponding to <package>automultiplechoice</package>,
2944
        one can create exercises with randomized numerical data. Let us start
2945
        with a simple example.</para>
2946
2947
        <para><programlisting>\begin{question}{addition}
2948
  \FPeval\VQa{trunc(1+random*8,0)}  <co id="alea.random"
2949
              linkends="alea.random.exp"/>
2950
  \FPeval\VQb{trunc(4+random*5,0)}
2951
  \FPeval\VQsomme{clip(VQa+VQb)}  <co id="alea.result"
2952
              linkends="alea.result.exp"/>
2953
  \FPeval\VQnonA{clip(VQa+VQb-1)}  <co id="alea.fausse"
2954
              linkends="alea.fausse.exp"/>
2955
  \FPeval\VQnonB{clip(VQa*VQb)}
2956
  \FPeval\VQnonC{clip(VQa-VQb)}
2957
2958
  What is the sum of \VQa{} and \VQb{} ?
2959
  \begin{choiceshoriz}
2960
    \correctchoice{\VQsomme}
2961
    \wrongchoice{\VQnonA}
2962
    \wrongchoice{\VQnonB}
2963
    \wrongchoice{\VQnonC}
2964
  \end{choiceshoriz}
2965
\end{question}</programlisting></para>
2966
2967
        <para>The <command>\FPeval</command> command is used to perform
2968
        computations:</para>
2969
2970
        <para><calloutlist>
2971
            <callout arearefs="alea.random" id="alea.random.exp">
2972
              <para>Since <command>random</command> returns a real number in
2973
              the interval [0,1], this command sets VQa to a random integer
2974
              value between 1 and 8. The next line sets VQb to a random
2975
              integer value between 4 and 8.</para>
2976
            </callout>
2977
2978
            <callout arearefs="alea.result" id="alea.result.exp">
2979
              <para>Putting the correct answer in the variable VQsomme.</para>
2980
            </callout>
2981
2982
            <callout arearefs="alea.fausse" id="alea.fausse.exp">
2983
              <para>Putting wrong answers in variables VQnonA, VQnonB and
2984
              VQnonC...</para>
2985
            </callout>
2986
          </calloutlist>Variable names beginning with VQ have been chosen so
2987
        as to avoid interference with other LaTeX commands.</para>
2988
2989
        <sect4 id="latex.intervals">
2990
          <title>Choosing an interval</title>
2991
2992
          <para>The <command>automultiplechoice</command> package moreover
2993
          defines a <command>\AMCIntervals</command> command which makes this
2994
          kind of construction simpler, as illustrated in the next
2995
          example:<programlisting>\begin{question}{inf-expo-indep}
2996
  \FPeval\VQa{trunc(2 + random * 4,0)}
2997
  \FPeval\VQb{trunc(6 + random * 5,0)}
2998
  \FPeval\VQr{VQa/(VQa+VQb)}
2999
  
3000
  Let $X$ and $Y$ be two independent random variables, following the exponential distribution with
3001
respective parameters \VQa{} and \VQb{}.
3002
  To which interval does the probability $\mathbb{P}[X&lt;Y]$ belong ?
3003
3004
  \begin{multicols}{5}
3005
    \begin{choices}[o]
3006
      \AMCIntervals{\VQr}{0}{1}{0.1}  <co id="choix.intervalles"
3007
                linkends="choix.intervalles.exp"/>
3008
    \end{choices}
3009
  \end{multicols}
3010
\end{question}</programlisting></para>
3011
3012
          <calloutlist>
3013
            <callout arearefs="choix.intervalles" id="choix.intervalles.exp">
3014
              <para>This lines inserts ten answers corresponding to the
3015
              intervals [0,0.1[ [0.1,0.2[ ... [0.9,1[, while indicating that
3016
              the correct interval is the one containing VQr. The arguments of
3017
              the <command>\AMCIntervals</command> command are the
3018
              following:</para>
3019
3020
              <orderedlist>
3021
                <listitem>
3022
                  <para>The correct answer,</para>
3023
                </listitem>
3024
3025
                <listitem>
3026
                  <para>The left point of the first interval,</para>
3027
                </listitem>
3028
3029
                <listitem>
3030
                  <para>The right point of the last interval,</para>
3031
                </listitem>
3032
3033
                <listitem>
3034
                  <para>The length of each interval.</para>
3035
                </listitem>
3036
              </orderedlist>
3037
            </callout>
3038
          </calloutlist>
3039
3040
          <para>Note that the interval formatting can be changed redefining
3041
          the <command>\AMCintervalFormat</command> command, which is
3042
          originally defined as</para>
3043
3044
          <programlisting>\def\AMCIntervalFormat#1#2{[#1,\,#2[}</programlisting>
3045
3046
          <para>to follow local conventions (writing [a,b) instead of [a,b[ is
3047
          for example a common usage).</para>
3048
        </sect4>
3049
3050
        <sect4 id="latex.numeric">
3051
          <title>Coding the result</title>
3052
3053
          <para>The students can also be asked to code the numerical answer,
3054
          using the <command>\AMCnumericChoices</command> command, as in the
3055
          following example:</para>
3056
3057
          <programlisting>\begin{questionmultx}{sqrt}
3058
  \FPeval\VQa{trunc(5+random*15,0)}
3059
  \FPeval\VQs{VQa^0.5}
3060
  Compute $\sqrt{\VQa}$ and round it with two digits after period.
3061
3062
  \AMCnumericChoices{\VQs}{digits=3,decimals=2,sign=true,
3063
                 borderwidth=0pt,backgroundcol=lightgray,approx=5}
3064
\end{questionmultx}
3065
</programlisting>
3066
3067
          <para>Note the use of <code>questionmultx</code> environment: we
3068
          need this question to be multiple as several boxes has to be ticked,
3069
          but we can’t say that several answers are correct, so we don’t show
3070
          the symbol for multiple questions.</para>
3071
3072
          <para>Available options that can be used in the second argument of
3073
          the <command>\AMCnumericChoices</command> command are the following
3074
          (<replaceable>bool</replaceable> can be <code>true</code> or
3075
          <code>false</code>, and <replaceable>color</replaceable> must be a
3076
          color known by the <command>xcolor</command> package):</para>
3077
3078
          <variablelist>
3079
            <varlistentry>
3080
              <term>digits=<replaceable>num</replaceable></term>
3081
3082
              <listitem>
3083
                <para>gives the number of digits to request (defaults to
3084
                3).</para>
3085
              </listitem>
3086
            </varlistentry>
3087
3088
            <varlistentry>
3089
              <term>decimals=<replaceable>num</replaceable></term>
3090
3091
              <listitem>
3092
                <para>gives the number of digits after period to request
3093
                (defaults to 0). Note that when <replaceable>num</replaceable>
3094
                is positive, the LaTeX package <command>fp</command> must be
3095
                loaded.</para>
3096
              </listitem>
3097
            </varlistentry>
3098
3099
            <varlistentry>
3100
              <term>base=<replaceable>num</replaceable></term>
3101
3102
              <listitem>
3103
                <para>gives the base for <code>digits</code> and
3104
                <code>decimals</code> (defaults to 10).</para>
3105
              </listitem>
3106
            </varlistentry>
3107
3108
            <varlistentry>
3109
              <term>significant=<replaceable>bool</replaceable></term>
3110
3111
              <listitem>
3112
                <para>if <code>true</code>, the numbers to code are the first
3113
                significant digits from the first argument of
3114
                <command>\AMCnumericChoices</command>. For example, the right
3115
                answer to
3116
                <code>\AMCnumericChoices{56945.23}{digits=2,significant=true}</code>
3117
                is 57.</para>
3118
              </listitem>
3119
            </varlistentry>
3120
3121
            <varlistentry>
3122
              <term>nozero=<replaceable>bool</replaceable></term>
3123
3124
              <listitem>
3125
                <para>if true, the choice 0 is removed for all digits. May be
3126
                useful when using <command>\AMCnumericChoices</command> to
3127
                enter small (&lt;10) positive values.</para>
3128
              </listitem>
3129
            </varlistentry>
3130
3131
            <varlistentry>
3132
              <term>sign=<replaceable>bool</replaceable></term>
3133
3134
              <listitem>
3135
                <para>requests (or not) a signed value (defaults to
3136
                true).</para>
3137
              </listitem>
3138
            </varlistentry>
3139
3140
            <varlistentry>
3141
              <term>strict=<replaceable>bool</replaceable></term>
3142
3143
              <listitem>
3144
                <para>if <code>true</code>, a box has to be ticked for every
3145
                digit and for the sign. If <code>false</code>, if some digits
3146
                has no ticked box, they will be set to zero. Defaults to
3147
                <code>false</code>.</para>
3148
              </listitem>
3149
            </varlistentry>
3150
3151
            <varlistentry>
3152
              <term>vertical=<replaceable>bool</replaceable></term>
3153
3154
              <listitem>
3155
                <para>if true, each digit is represented on one raw. If false
3156
                (default), each digit is represented on one line.</para>
3157
              </listitem>
3158
            </varlistentry>
3159
3160
            <varlistentry>
3161
              <term>reverse=<replaceable>bool</replaceable></term>
3162
3163
              <listitem>
3164
                <para>if true, place higher values of the digits on the top in
3165
                <code>vertical</code> mode (defaults to true).</para>
3166
              </listitem>
3167
            </varlistentry>
3168
3169
            <varlistentry>
3170
              <term>vhead=<replaceable>bool</replaceable></term>
3171
3172
              <listitem>
3173
                <para>if true, in <code>vertical</code> mode, a header is
3174
                placed over all digits rows, made using the command
3175
                <command>\AMCntextVHead</command> that is originally defined
3176
                as</para>
3177
3178
                <programlisting>\def\AMCntextVHead#1{\emph{b#1}}</programlisting>
3179
3180
                <para>This default value is useful to number the binary
3181
                digits.</para>
3182
3183
                <para>Default value is <code>false</code>.</para>
3184
              </listitem>
3185
            </varlistentry>
3186
3187
            <varlistentry>
3188
              <term>hspace=<replaceable>space</replaceable></term>
3189
3190
              <listitem>
3191
                <para>sets the horizontal space between boxes (defaults to
3192
                <code>.5em</code>).</para>
3193
              </listitem>
3194
            </varlistentry>
3195
3196
            <varlistentry>
3197
              <term>vspace=<replaceable>space</replaceable></term>
3198
3199
              <listitem>
3200
                <para>sets the vertical space between boxes (defaults to
3201
                <code>1ex</code>).</para>
3202
              </listitem>
3203
            </varlistentry>
3204
3205
            <varlistentry>
3206
              <term>borderwidth=<replaceable>space</replaceable></term>
3207
3208
              <listitem>
3209
                <para>sets the width of the frame border around all the boxes
3210
                (defaults to <code>1mm</code>).</para>
3211
              </listitem>
3212
            </varlistentry>
3213
3214
            <varlistentry>
3215
              <term>bordercol=<replaceable>color</replaceable></term>
3216
3217
              <listitem>
3218
                <para>sets the color of the frame (defaults to
3219
                <code>lightgray</code>).</para>
3220
              </listitem>
3221
            </varlistentry>
3222
3223
            <varlistentry>
3224
              <term>backgroundcol=<replaceable>color</replaceable></term>
3225
3226
              <listitem>
3227
                <para>sets the background color (defaults to
3228
                <code>white</code>).</para>
3229
              </listitem>
3230
            </varlistentry>
3231
3232
            <varlistentry>
3233
              <term>Tsign=<replaceable>text</replaceable></term>
3234
3235
              <listitem>
3236
                <para>sets the text to print at the top of the boxes to set
3237
                the sign (Can also be redefined by
3238
                <code>\def\AMCntextSign{<replaceable>text</replaceable>}</code>,
3239
                and defaults to be empty).</para>
3240
              </listitem>
3241
            </varlistentry>
3242
3243
            <varlistentry>
3244
              <term>Tpoint=<replaceable>text</replaceable></term>
3245
3246
              <listitem>
3247
                <para>sets the text for the period. Can also be redefined by
3248
                <code>\def\AMCdecimalPoint{<replaceable>text</replaceable>}</code>,
3249
                and defaults to <code>\raisebox{1ex}{\bf .}</code>.</para>
3250
              </listitem>
3251
            </varlistentry>
3252
3253
            <varlistentry>
3254
              <term>scoring=<replaceable>bool</replaceable></term>
3255
3256
              <listitem>
3257
                <para>if <code>true</code>, a scoring strategy is given to AMC
3258
                for this question. Defaults to <code>true</code>.</para>
3259
              </listitem>
3260
            </varlistentry>
3261
3262
            <varlistentry>
3263
              <term>scoreexact=<replaceable>num</replaceable></term>
3264
3265
              <listitem>
3266
                <para>gives the score for an exact answer (defaults to
3267
                2).</para>
3268
              </listitem>
3269
            </varlistentry>
3270
3271
            <varlistentry>
3272
              <term>exact=<replaceable>num</replaceable></term>
3273
3274
              <listitem>
3275
                <para>sets the maximal distance to the correct integer value
3276
                (value without the decimal point) for an answer to be said
3277
                <emphasis>exact</emphasis> and be rewarded to
3278
                <code>scoreexact</code> points (defaults to 0).</para>
3279
              </listitem>
3280
            </varlistentry>
3281
3282
            <varlistentry>
3283
              <term>scoreapprox=<replaceable>num</replaceable></term>
3284
3285
              <listitem>
3286
                <para>gives the score for an
3287
                <emphasis>approximative</emphasis> answer (defaults to
3288
                1).</para>
3289
              </listitem>
3290
            </varlistentry>
3291
3292
            <varlistentry>
3293
              <term>approx=<replaceable>num</replaceable></term>
3294
3295
              <listitem>
3296
                <para>sets the maximal distance to the correct integer value
3297
                (value without the decimal point) for an answer to be said
3298
                <emphasis>approximative</emphasis> and be rewarded to
3299
                <code>scoreapprox</code> points (defaults to 0).</para>
3300
              </listitem>
3301
            </varlistentry>
3302
          </variablelist>
3303
3304
          <para>You can set other default values (for the whole exam) for all
3305
          these parameters using the command
3306
          <command>\AMCnumericOpts</command>, like</para>
3307
3308
          <programlisting>\AMCnumericOpts{scoreexact=3,borderwidth=2pt}</programlisting>
3309
3310
          <para>Moreover, the text added at the end of the questions using
3311
          <command>\AMCnumericChoices</command> when not in the separate
3312
          answer sheet (and when a separate answer sheet is requested by the
3313
          <code>separateanswersheet</code> package option) can also be set
3314
          redefining the <command>\AMCntextGoto</command> command, as:</para>
3315
3316
          <programlisting>\def\AMCntextGoto{\par{\bf\emph{Please code the answer on
3317
                           the separate answer sheet.}}}</programlisting>
3318
        </sect4>
3319
      </sect3>
3320
3321
      <sect3>
3322
        <title>Using package pgf/tikz</title>
3323
3324
        <para>This package must be declare <emphasis>after</emphasis> the
3325
        package <package>automultiplechoice</package>.</para>
3326
3327
        <para>LaTeX package <package>pgf/tikz</package> (see <ulink
3328
        url="http://www.ctan.org/tex-archive/graphics/pgf/base">http://www.ctan.org/tex-archive/graphics/pgf/base</ulink>)
3329
        provides mathematical functions that can be loaded with
3330
        <programlisting>\usepackage{tikz}</programlisting></para>
3331
3332
        <para>First of all, you must set the random seed to be sure to get the
3333
        same result each time latex is run to compile the subject:</para>
3334
3335
        <para><programlisting>\pgfmathsetseed{2056}</programlisting></para>
3336
3337
        <sect4>
3338
          <title>A simple computation</title>
3339
3340
          <para>Here is an example with a simple computation:</para>
3341
3342
          <para><programlisting>\begin{question}{inverse}
3343
  \pgfmathrandominteger{\x}{1}{50}
3344
       
3345
  How much is the reciprocal of $x=\x$?
3346
3347
  \begin{choices}
3348
    \correctchoice{\pgfmathparse{1/\x}\pgfmathresult }
3349
    \wrongchoice{\pgfmathparse{1/(\x +1))}\pgfmathresult}
3350
    \wrongchoice{\pgfmathparse{cos(\x)} \pgfmathresult}
3351
    \wrongchoice{\pgfmathparse{\x^(-0.5)}\pgfmathresult}
3352
  \end{choices}
3353
\end{question}
3354
</programlisting></para>
3355
3356
          <para>Here, the command <command>\pgfmathparse</command> makes the
3357
          computation, and <command>\pgfmathresult</command> outputs the
3358
          result.</para>
3359
3360
          <para>Output formatting is also available with the command
3361
          <command>\pgfmathprintnumber</command>, as in the following example
3362
          (three digits after decimal point, and use of the comma as a decimal
3363
          point).</para>
3364
3365
          <para><programlisting>\begin{question}{inverse3}
3366
  \pgfmathrandominteger{\x}{1}{50}
3367
  \pgfkeys{/pgf/number format/.cd,fixed,fixed zerofill,precision=3,use comma}
3368
  How much is the reciprocal of $x=\pgfmathprintnumber{\x}$?
3369
3370
  \begin{choices}
3371
    \correctchoice{\pgfmathparse{1/\x}\pgfmathprintnumber{\pgfmathresult}} 
3372
    \wrongchoice{\pgfmathparse{1/(\x +1))} \pgfmathprintnumber{\pgfmathresult}}
3373
    \wrongchoice{\pgfmathparse{cos(\x)} \pgfmathprintnumber{\pgfmathresult}}
3374
    \wrongchoice{\pgfmathparse{\x^(-0.5)} \pgfmathprintnumber{\pgfmathresult}}
3375
  \end{choices}
3376
\end{question}
3377
</programlisting><note>
3378
              <para>You can also use the <command>\AMCIntervals</command> and
3379
              <command>\AMCnumericChoices</command> commands (see <xref
3380
              linkend="latex.intervals"/> and <xref
3381
              linkend="latex.numeric"/>)</para>
3382
            </note></para>
3383
        </sect4>
3384
3385
        <sect4>
3386
          <title>Graphics</title>
3387
3388
          <para>The tkiz package also allows to make (random or not)
3389
          graphs.</para>
3390
3391
          <para><programlisting>\begin{questionmult}{graph}
3392
  Let us consider the three functions which graphs are plotted below:
3393
  \pgfmathrandominteger{\a}{2}{4}  
3394
  \begin{center}
3395
    \begin{tikzpicture}[domain=0:4]
3396
      \draw[very thin,color=gray] (-0.1,-4.1) grid (3.9,3.9);
3397
      \draw[-&gt;] (-0.2,0) -- (4.2,0) node[right] {$x$};
3398
      \draw[-&gt;] (0,-4.2) -- (0,4.2) node[above] {$f(x)$};
3399
      \draw[color=red] plot (\x,{(1+\a/4)*\x-\a}) node[right] {$f_{1} (x)$};
3400
      \draw[color=blue] plot (\x,{\a*sin(\x r)}) node[right] {$f_{2}(x)$};
3401
      \draw[color=orange] plot (\x,{\a*cos(\x r)}) node[right] {$f_{3}(x)$};
3402
    \end{tikzpicture}
3403
  \end{center}
3404
  Then:
3405
  \begin{choices}
3406
    \pgfmathrandominteger{\x0}{2}{4}  
3407
    \correctchoice{$f_{2}(\x0)$=\pgfmathparse{\a*sin(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
3408
    \correctchoice{$f_{3}(\x0)$=\pgfmathparse{\a*cos(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
3409
    \wrongchoice{La fonction $f_{1}(x)$ est une fonction linéaire.}
3410
  \end{choices}
3411
\end{questionmult}
3412
</programlisting></para>
3413
3414
          <para>To make pretty graphs, package <package>pgfplots</package> can
3415
          also be useful.</para>
3416
3417
          <para>With pgfmath, precision is limited, so that a "Arithmetic
3418
          overflow" error can be encountered. Packages <package>tikz</package>
3419
          and <package>pgfplots</package> allows to overcome this problem,
3420
          using <command>gnuplot</command> as a backend. You need to install
3421
          <command>gnuplot</command> on your system, and use LaTeX option
3422
          <option>--shell-escape</option>. To this purpose, go to AMC
3423
          preferences window, and set the LaTeX engine for your project to
3424
          "<option>pdflatex --shell-escape</option>" (without the
3425
          quotes).</para>
3426
        </sect4>
3427
      </sect3>
3428
3429
      <sect3>
3430
        <title>Using LuaLaTeX</title>
3431
3432
        <para>LUA language can be used inside LaTeX documents thanks to the
3433
        <command>lualatex</command> command. If you uses it, your document
3434
        needs to be UTF-8 encoded, and you must not load the
3435
        <package>inputenc</package> package. See <ulink
3436
        url="http://www.luatex.org/documentation.html">http://www.luatex.org/documentation.html</ulink>
3437
        for some information.</para>
3438
3439
        <para>LUA commands are to be given as a <command>\directlua</command>
3440
        argument. The most useful LUA function is
3441
        <command>tex.print</command>, which will output results back to
3442
        LaTeX.</para>
3443
3444
        <para>Once again, if you use random numbers, always fix the random
3445
        seed to get the same results across different compilations:</para>
3446
3447
        <programlisting>\directlua{math.randomseed (2048)}</programlisting>
3448
3449
        <para>Here is a very simple sample source file:</para>
3450
3451
        <programlisting>\documentclass[a4paper]{article}
3452
%\usepackage[utf8x]{inputenc}
3453
\usepackage[T1]{fontenc}
3454
\usepackage[box,completemulti]{automultiplechoice}
3455
\begin{document}
3456
3457
\onecopy{10}{
3458
3459
%%% head
3460
3461
\noindent{\bf QCM  \hfill TEST}
3462
3463
\vspace*{.5cm}
3464
\begin{minipage}{.4\linewidth}
3465
  \centering\large\bf LuaLaTeX sample exam
3466
\end{minipage}
3467
\namefield{\fbox{\begin{minipage}{.5\linewidth}
3468
Name :
3469
3470
\vspace*{.5cm}\dotfill
3471
\vspace*{1mm}
3472
\end{minipage}}}
3473
3474
%%%
3475
3476
\directlua{math.randomseed (2048)}
3477
\directlua{a=math.random()}
3478
3479
\begin{question}{square-root}
3480
  How much is the square root of \directlua{tex.print(a)}?
3481
3482
  \begin{choices}
3483
    \correctchoice{\directlua{tex.print(math.sqrt(a))}} 
3484
    \wrongchoice{\directlua{tex.print(math.sqrt(2*a))}} 
3485
    \wrongchoice{\directlua{tex.print(math.sqrt(a*1.001))}} 
3486
  \end{choices}
3487
\end{question}
3488
3489
\clearpage
3490
}
3491
3492
\end{document}      </programlisting>
3493
3494
        <para>Output formatting can be obtained using lua functions, or with
3495
        the <package>siunitx</package> package.</para>
3496
3497
        <note>
3498
          <para>You can also use the <command>\AMCIntervals</command> and
3499
          <command>\AMCnumericChoices</command> commands (see <xref
3500
          linkend="latex.intervals"/> and <xref
3501
          linkend="latex.numeric"/>)</para>
3502
        </note>
3503
      </sect3>
3504
    </sect2>
3505
  </sect1>
3506
3507
  <sect1 id="graphical-interface">
3508
    <title>Usage - Graphical interface</title>
3509
3510
    <para>We shall describe here a usage example with the graphic interface
3511
    from the conception of the multiple-choice test until the edition of
3512
    students' scores.</para>
3513
3514
    <sect2>
3515
      <title>Creating a new project and subject</title>
3516
3517
      <para>Let's open the graphic interface. This can be done ordinarily by
3518
      selecting <menuchoice>
3519
          <guimenu>Applications</guimenu>
3520
3521
          <guisubmenu>Education</guisubmenu>
3522
3523
          <guimenuitem>Auto Multiple Choice</guimenuitem>
3524
        </menuchoice> in the general menu of Gnome (or its equivalent in KDE
3525
      or other), but the command <userinput>auto-multiple-choice</userinput>
3526
      can be used directly.</para>
3527
3528
      <para>Let's now create a new project, thanks to <menuchoice>
3529
          <guimenu>Project</guimenu>
3530
3531
          <guimenuitem>New</guimenuitem>
3532
        </menuchoice>. A window opens and allows us to see existing project
3533
      names (if any) and choose a name for our new project (made with simple
3534
      characters; « test » will be OK for our short test), which we write in
3535
      the field <guilabel>Project name</guilabel>. Then we push the
3536
      <guibutton>New project</guibutton> button.</para>
3537
3538
      <para>Now we must choose a LaTeX file as a source for the
3539
      multiple-choice. Several possibilities are shown:</para>
3540
3541
      <itemizedlist>
3542
        <listitem>
3543
          <para><guilabel>model</guilabel>: this choice allows to choose from
3544
          models shipped with AMC an exam to customize later.</para>
3545
        </listitem>
3546
3547
        <listitem>
3548
          <para><guilabel>file</guilabel>: this choice allows to choose a
3549
          LaTeX file already prepared for this exam. Somebody may have
3550
          prepared the exam for you, or you can have prepared the exam outside
3551
          AMC, using your favorite LaTeX editor.</para>
3552
        </listitem>
3553
3554
        <listitem>
3555
          <para><guilabel>empty</guilabel>: using this choice, an empty LaTeX
3556
          file will be created. You have to edit it to compose the exam from
3557
          zero.</para>
3558
        </listitem>
3559
3560
        <listitem>
3561
          <para><guilabel>archive</guilabel>: use this choice if you have a
3562
          zip or tgz archive containing the exam definition (LaTeX source
3563
          file, along with image files, parameters file for example). This
3564
          archive can be made by an external software. It can also be a backup
3565
          of one of your AMC projects.</para>
3566
        </listitem>
3567
      </itemizedlist>
3568
3569
      <para>For our test, let us choose <guilabel>model</guilabel>. The next
3570
      window presents the models: choose for example <guilabel>Simple
3571
      example</guilabel> from <guilabel>[EN] Documentation group</guilabel>.
3572
      Now we can edit it to modify the shape of the document or the questions,
3573
      thanks to the <guibutton>Edit LaTeX file</guibutton> button which
3574
      launches the default editor.</para>
3575
    </sect2>
3576
3577
    <sect2>
3578
      <title>Preparing the subject</title>
3579
3580
      <para>Preparing a project is done in two steps. First we must make the
3581
      reference documents from the LaTeX source file. This can be done by
3582
      clicking the <guibutton>Update documents</guibutton>. The following
3583
      documents are produced:</para>
3584
3585
      <itemizedlist>
3586
        <listitem>
3587
          <para>The <emphasis>question</emphasis>. This file can be printed to
3588
          distribute its pages to students (see below).</para>
3589
        </listitem>
3590
3591
        <listitem>
3592
          <para>The <emphasis>solution</emphasis>. We can check that the
3593
          chosen responses there are the good ones. It is also made to be
3594
          distributed to students.</para>
3595
        </listitem>
3596
      </itemizedlist>
3597
3598
      <para>When produced, those documents can be viewed (and possibly
3599
      printed) from the corresponding buttons.</para>
3600
3601
      <para>Now we can begin the last step of the preparation: analyzing the
3602
      layout. It can be launched with the button <guibutton>Layout
3603
      detection</guibutton>. This analysis detects, in every page of the
3604
      subject, the exact position of every element which must be analyzed in
3605
      the students' copies.</para>
3606
3607
      <para>To check whether the layouts have been correctly detected, we can
3608
      use the button <guibutton>Check layouts</guibutton>. A short insight
3609
      allows to check that red checkboxes are correctly located over the boxes
3610
      of the subject.</para>
3611
    </sect2>
3612
3613
    <sect2 id="printing">
3614
      <title id="printing.title">Printing and exam</title>
3615
3616
      <para>Two alternative workflows can be considered:</para>
3617
3618
      <itemizedlist>
3619
        <listitem>
3620
          <para>For the most robust, create as many exam sheets as necessary
3621
          for all your students, with different sheets numbers, and print them
3622
          all. Each page can be identified by its numbers and boxes at the
3623
          top, so that you can scan several times the same completed answer
3624
          sheet page carefree.</para>
3625
        </listitem>
3626
3627
        <listitem>
3628
          <para>Secondly, you can print a few subjects (or only one if you
3629
          want), and photocopy them to get one subject for all students.
3630
          Questions shuffling will be less efficient, and if you give several
3631
          times a scan of the same page, AMC won't be able to know about it
3632
          and will create an unwanted duplicate.</para>
3633
        </listitem>
3634
      </itemizedlist>
3635
3636
      <warning>
3637
        <para>To use this second workflow using photocopies, there must be
3638
        only one page for students to write on (using a separate answer sheet
3639
        can help you for this). If not, you won't be able to continue with
3640
        AMC! Indeed, it would be impossible for AMC to make the link between
3641
        two pages from the same student.</para>
3642
      </warning>
3643
3644
      <para>When the preparation is over, we can print the subject, and
3645
      distribute it to the students... In simple cases, we can directly print
3646
      from the viewer (after clicking the line <guilabel>Subject</guilabel> in
3647
      the list of work documents). When it is better to print the copies
3648
      separately (for example if copies contain multiple pages and when the
3649
      printer allows to staple them together), we shall rather use the button
3650
      <guibutton>Print copies</guibutton> after calculating the layout.</para>
3651
3652
      <important>
3653
        <para>When the subject is printed and distributed, we may no more
3654
        modify the <emphasis>work documents</emphasis> because they must
3655
        remain identical to distributed copies.</para>
3656
      </important>
3657
    </sect2>
3658
3659
    <sect2>
3660
      <title>Reading the copies</title>
3661
3662
      <para>Now we shall describe the input from students' copies, which can
3663
      be done automatically and/or manually.</para>
3664
3665
      <para>Let's move to the <guilabel>Data capture</guilabel> tab of the
3666
      graphical interface.</para>
3667
3668
      <sect3>
3669
        <title>Automated input</title>
3670
3671
        <para>For automatic recognition of the checked boxes in the students'
3672
        pages, they must be previously digitalized. I use a copier/scanner
3673
        which does it automatically (all the pages in a bundle without
3674
        interaction with me), with the following settings: 300 dpi, OCR mode
3675
        (for the characters' recognition, black and white without grayscale -
3676
        but the scanner does not process any character recognition), each scan
3677
        delivered as a single TIFF file per page.</para>
3678
3679
        <note>
3680
          <para>To analyze the scans, we must have them in one or several
3681
          image files (TIFF, JPG, PNG, etc.). Vector graphics formats (PDF, PS
3682
          or EPS) are also suitable: scans will then be converted into PNG by
3683
          AMC before analysis.</para>
3684
        </note>
3685
3686
        <note>
3687
          <para>When giving scans for automated data capture the first time,
3688
          you will have tell AMC which method you used: either different
3689
          papers printed, or photocopied papers (see <xref
3690
          endterm="printing.title" linkend="printing"/>).</para>
3691
        </note>
3692
3693
        <para>Then we select this set of scan files in the dialog opened by
3694
        the button <guibutton>Automated</guibutton> of the section
3695
        <guilabel>Data capture after examination</guilabel>, then we validate
3696
        with the <guibutton>OK</guibutton> button. AMC begins with Optical
3697
        Mark Recognition to detect the position of the four circle corner
3698
        marks on the scans, position the boxes, and detects the amount of
3699
        black pixels in each box.</para>
3700
3701
        <para>The result of the analysis of each page is indicated in the
3702
        lists of the section <guilabel>Diagnosis</guilabel>:</para>
3703
3704
        <itemizedlist>
3705
          <listitem>
3706
            <para>The value <emphasis>MSD</emphasis> (mean square deviation)
3707
            is an indication of the good framing of the marks (the four black
3708
            dots surrounding each copy). When it is too great, the framing
3709
            must be checked (right click on the page's line then choose
3710
            <guimenuitem>page</guimenuitem> to view the scanned page and the
3711
            boxes as they were detected).</para>
3712
          </listitem>
3713
3714
          <listitem>
3715
            <para>The value <emphasis>sensitivity</emphasis> is an indicator
3716
            of proximity of the filling of the boxes with the threshold. If it
3717
            is too great (from 8 to its max value 10), we must check whether
3718
            the boxes recognized as checked are the good ones (a right click
3719
            on the page's line the choose <guimenuitem>zoom</guimenuitem> to
3720
            view the set of boxes in the copy, verify whether the detection
3721
            worked correctly, and correct it if needed drag-and-dropping the
3722
            boxes images).</para>
3723
          </listitem>
3724
        </itemizedlist>
3725
      </sect3>
3726
3727
      <sect3>
3728
        <title>Manual input</title>
3729
3730
        <para>If we cannot use easily the scanner, or if, for a few copies,
3731
        the automated input did not work as expected, we can manage the input
3732
        manually. To do so, let's open the right window thanks to the button
3733
        <guibutton>Manual</guibutton> of the section <guilabel>Input of the
3734
        copies after exam</guilabel>. In that window, we can input the boxes
3735
        which have been checked ourselves (by clicking them) on the wanted
3736
        pages.</para>
3737
3738
        <note>
3739
          <para>Every manual input will overwrite results eventually coming
3740
          from a previous or posterior automated input for the same
3741
          page.</para>
3742
        </note>
3743
      </sect3>
3744
    </sect2>
3745
3746
    <sect2>
3747
      <title>Correction</title>
3748
3749
      <para>In the <guilabel>Marking</guilabel> tab of the graphic interface,
3750
      the part <guilabel>Marking</guilabel> allows us to deduce the scores of
3751
      the students from the inputs, but also to read the codes written by the
3752
      students (see <xref linkend="latex.codes"/>).</para>
3753
3754
      <sect3>
3755
        <title>Process</title>
3756
3757
        <para>The computation of the scores is launched with the button
3758
        <guibutton>Mark</guibutton>, but we must previously make the following
3759
        choice:</para>
3760
3761
        <itemizedlist>
3762
          <listitem>
3763
            <para>If we check the box <guilabel>Update marking
3764
            scale</guilabel>, the scoring strategy will be first extracted
3765
            from the LaTeX source file. This allows to try many strategies at
3766
            the end of the correction process. This action also updates which
3767
            answers are specified as correct or as wrong. Hence, potential
3768
            mistakes in the answers can be easily fixed after the exam. The
3769
            method to specify the strategy in the LaTeX file will be explained
3770
            in the section <xref endterm="bareme.title" linkend="bareme"/> (a
3771
            default scoring strategy is used when no indication is
3772
            given).</para>
3773
          </listitem>
3774
        </itemizedlist>
3775
3776
        <para>When we click the button <guibutton>Mark</guibutton>, the
3777
        correction is made (this can take some time if we also asked for the
3778
        reading of the scale).</para>
3779
      </sect3>
3780
3781
      <sect3 id="bareme">
3782
        <title id="bareme.title">Scoring strategy</title>
3783
3784
        <para>The strategy used to score the copies is indicated in the LaTeX
3785
        source file, with the command <command>scoring</command>. It can be
3786
        used in an environment <command>question</command> or
3787
        <command>questionmult</command>, to set it for every response, but
3788
        also in the environment <command>choices</command>, to give scaling
3789
        indications about a single response. The argument of the LaTeX command
3790
        scoring is made of indications like
3791
        <code><replaceable>parameter</replaceable>=<replaceable>value</replaceable></code>,
3792
        separated by comas. The usable parameters are the following (the table
3793
        shows also in which context those parameters can be used):</para>
3794
3795
        <informaltable>
3796
          <tgroup cols="6">
3797
            <colspec align="center" colname="param" colwidth="3pc"/>
3798
3799
            <colspec align="center" colname="q" colwidth="1pc"/>
3800
3801
            <colspec align="center" colname="r" colwidth="1pc"/>
3802
3803
            <colspec align="center" colname="qm" colwidth="1pc"/>
3804
3805
            <colspec align="center" colname="rm" colwidth="1pc"/>
3806
3807
            <colspec align="left" colname="valeur"/>
3808
3809
            <spanspec nameend="r" namest="q" spanname="simple"/>
3810
3811
            <spanspec nameend="rm" namest="qm" spanname="multiple"/>
3812
3813
            <tbody>
3814
              <row>
3815
                <entry morerows="1">parameter</entry>
3816
3817
                <entry spanname="simple">simple</entry>
3818
3819
                <entry spanname="multiple">multiple</entry>
3820
3821
                <entry morerows="1">value</entry>
3822
              </row>
3823
3824
              <row>
3825
                <entry>Q</entry>
3826
3827
                <entry>A</entry>
3828
3829
                <entry>Q</entry>
3830
3831
                <entry>A</entry>
3832
              </row>
3833
3834
              <row>
3835
                <entry>e</entry>
3836
3837
                <entry></entry>
3838
3839
                <entry/>
3840
3841
                <entry></entry>
3842
3843
                <entry/>
3844
3845
                <entry>The score given when responses are incoherent: many
3846
                boxes checked for a simple question, or, for a multiple
3847
                question, the box "none of the responses are correct" checked
3848
                while another box is also checked.</entry>
3849
              </row>
3850
3851
              <row>
3852
                <entry>v</entry>
3853
3854
                <entry></entry>
3855
3856
                <entry/>
3857
3858
                <entry></entry>
3859
3860
                <entry/>
3861
3862
                <entry>The score given in case of no response (no box is
3863
                checked).</entry>
3864
              </row>
3865
3866
              <row>
3867
                <entry>d</entry>
3868
3869
                <entry/>
3870
3871
                <entry/>
3872
3873
                <entry></entry>
3874
3875
                <entry/>
3876
3877
                <entry>An offset, i.e. a value added to every score not
3878
                relevant of parameters e and v.</entry>
3879
              </row>
3880
3881
              <row>
3882
                <entry>p</entry>
3883
3884
                <entry/>
3885
3886
                <entry/>
3887
3888
                <entry></entry>
3889
3890
                <entry/>
3891
3892
                <entry>The bottom score. If the calculation of the score in
3893
                that question yields a value below the bottom value, the sore
3894
                is set to the bottom value.</entry>
3895
              </row>
3896
3897
              <row>
3898
                <entry>b</entry>
3899
3900
                <entry></entry>
3901
3902
                <entry/>
3903
3904
                <entry></entry>
3905
3906
                <entry></entry>
3907
3908
                <entry>Score for a good response to a question.</entry>
3909
              </row>
3910
3911
              <row>
3912
                <entry>m</entry>
3913
3914
                <entry></entry>
3915
3916
                <entry/>
3917
3918
                <entry></entry>
3919
3920
                <entry></entry>
3921
3922
                <entry>Score for a bad response to a question.</entry>
3923
              </row>
3924
3925
              <row>
3926
                <entry/>
3927
3928
                <entry/>
3929
3930
                <entry></entry>
3931
3932
                <entry/>
3933
3934
                <entry/>
3935
3936
                <entry>Without parameter name (syntax:
3937
                <code>\scoring{2}</code>), this indicates the score to give if
3938
                the student has checked <emphasis>this</emphasis>
3939
                response.</entry>
3940
              </row>
3941
3942
              <row>
3943
                <entry>auto</entry>
3944
3945
                <entry></entry>
3946
3947
                <entry/>
3948
3949
                <entry/>
3950
3951
                <entry/>
3952
3953
                <entry>With this parameter, the value of the response numbered
3954
                <replaceable>i</replaceable> will be
3955
                <replaceable>auto</replaceable>+<replaceable>i</replaceable>-1.
3956
                This option is mainly used with
3957
                <code>\QuestionIndicative</code> (see section <xref
3958
                endterm="latex.qr.title" linkend="latex.qr"/>).</entry>
3959
              </row>
3960
3961
              <row>
3962
                <entry>mz</entry>
3963
3964
                <entry></entry>
3965
3966
                <entry/>
3967
3968
                <entry></entry>
3969
3970
                <entry/>
3971
3972
                <entry>This parameter is used for a "maximum or zero" scoring:
3973
                if all the answers are correct, the score is
3974
                <replaceable>mz</replaceable>. If not, the score is
3975
                zero.</entry>
3976
              </row>
3977
3978
              <row>
3979
                <entry>haut</entry>
3980
3981
                <entry/>
3982
3983
                <entry/>
3984
3985
                <entry></entry>
3986
3987
                <entry/>
3988
3989
                <entry>When you give this parameter a value
3990
                <replaceable>n</replaceable>, the score given for a perfect
3991
                response will be <replaceable>n</replaceable>, and one point
3992
                will be withdrawn for each error.</entry>
3993
              </row>
3994
3995
              <row>
3996
                <entry>MAX</entry>
3997
3998
                <entry></entry>
3999
4000
                <entry/>
4001
4002
                <entry></entry>
4003
4004
                <entry/>
4005
4006
                <entry>Gives the maximal value given for the question (for a
4007
                "question scored 5", one can write MAX=5). To be used only
4008
                when it is not the same value as when one replies every good
4009
                response.</entry>
4010
              </row>
4011
4012
              <row>
4013
                <entry>formula</entry>
4014
4015
                <entry></entry>
4016
4017
                <entry/>
4018
4019
                <entry></entry>
4020
4021
                <entry/>
4022
4023
                <entry>Gives the score to be given for the question, often
4024
                using a formula that uses some variables (see <xref
4025
                linkend="scoring.global"/>), without taking <code>b</code> and
4026
                <code>m</code> values into account.</entry>
4027
              </row>
4028
4029
              <row>
4030
                <entry>set.<replaceable>XXX</replaceable></entry>
4031
4032
                <entry></entry>
4033
4034
                <entry></entry>
4035
4036
                <entry></entry>
4037
4038
                <entry></entry>
4039
4040
                <entry>Gives a particular value to the variable named
4041
                <replaceable>XXX</replaceable>, that will be available in a
4042
                <code>formula</code>. In an answer context, the value is
4043
                associated to the variable only if the box is ticked. As a
4044
                particular case, give a non-null value to the variable
4045
                <varname>INVALID</varname> to declare the responses incoherent
4046
                (so that the score will be given by the variable
4047
                <code>e</code>).</entry>
4048
              </row>
4049
4050
              <row>
4051
                <entry>default.<replaceable>XXX</replaceable></entry>
4052
4053
                <entry></entry>
4054
4055
                <entry/>
4056
4057
                <entry></entry>
4058
4059
                <entry/>
4060
4061
                <entry>Gives a value to the variable
4062
                <replaceable>XXX</replaceable> in the case when no ticked
4063
                boxes gave a value to <replaceable>XXX</replaceable>.</entry>
4064
              </row>
4065
4066
              <row>
4067
                <entry>requires.<replaceable>XXX</replaceable></entry>
4068
4069
                <entry></entry>
4070
4071
                <entry/>
4072
4073
                <entry></entry>
4074
4075
                <entry/>
4076
4077
                <entry>Tells that the variable <replaceable>XXX</replaceable>
4078
                has to be defined, unless the data is told
4079
                <emphasis>incoherent</emphasis> and the question scored with
4080
                the value of <code>e</code>.</entry>
4081
              </row>
4082
            </tbody>
4083
          </tgroup>
4084
        </informaltable>
4085
4086
        <para>The default scale for a simple question is
4087
        <code>e=0,v=0,b=1,m=0</code>, which gives one point for a good
4088
        response and no point in the other cases. The default scaling for a
4089
        multiple question is <code>e=0,v=0,b=1,m=0,p=-100,d=0</code>, which
4090
        gives a point for every checked box, either good or not (good box
4091
        checked or wrong box not checked).</para>
4092
4093
        <para>The LaTeX command <command>\scoring</command> can also be used
4094
        outside question definitions, for whole examination parameters:</para>
4095
4096
        <itemizedlist>
4097
          <listitem>
4098
            <para><code>SUF=</code><replaceable>x</replaceable> gives a total
4099
            number of points sufficient to get the maximal mark. For example,
4100
            with 10 for the maximal mark and parameter <code>SUF=8</code>, a
4101
            student getting a total of 6 points will get mark 6/8*10=7.5,
4102
            whatever the value of the total number of points for a perfect
4103
            answer sheet.</para>
4104
          </listitem>
4105
4106
          <listitem>
4107
            <para><code>allowempty=<replaceable>x</replaceable></code> allows
4108
            the student to leave <replaceable>x</replaceable> questions
4109
            unanswered. When summing up questions scores,
4110
            <replaceable>x</replaceable> unanswered questions will be
4111
            canceled.</para>
4112
          </listitem>
4113
        </itemizedlist>
4114
4115
        <para>Using all of these parameters in combination allows to define
4116
        many kinds of scoring strategies, as in the following example:</para>
4117
4118
        <para><!--NAME: Scoring strategy
4119
DESC: Example (from the documentation) with different scoring strategies.--><programlisting
4120
        id="modeles-scoring.tex" linenumbering="numbered">\documentclass{article}
4121
4122
\usepackage[utf8x]{inputenc}
4123
\usepackage[T1]{fontenc}
4124
4125
\usepackage[box,completemulti]{automultiplechoice}
4126
4127
\begin{document}
4128
4129
\element{qqs}{
4130
\begin{question}{good choice}
4131
  How many points would you like for this question?
4132
  \begin{choices}
4133
    \correctchoice{Maximum: 10}\scoring{10}
4134
    \wrongchoice{Only 5}\scoring{5}
4135
    \wrongchoice{Two will be enough}\scoring{2}
4136
    \wrongchoice{None, thanks}\scoring{0}
4137
  \end{choices}
4138
\end{question}
4139
}
4140
4141
\element{qqs}{
4142
\begin{questionmult}{added}
4143
  Get free points checking the following boxes:
4144
  \begin{choices}
4145
    \correctchoice{2 points}\scoring{b=2}
4146
    \wrongchoice{One negative point!}\scoring{b=0,m=-1}
4147
    \correctchoice{3 points}\scoring{b=3}
4148
    \correctchoice{1 point}
4149
    \correctchoice{Half point}\scoring{b=0.5}
4150
  \end{choices}
4151
\end{questionmult}
4152
}
4153
4154
\element{qqs}{
4155
\begin{questionmult}{3 or zero}\scoring{mz=3}
4156
  Only a perfect response will be scored 3 points - otherwise, null score.
4157
  \begin{choices}
4158
    \wrongchoice{Wrong}
4159
    \wrongchoice{Wrong}
4160
    \correctchoice{Right}
4161
    \correctchoice{Right}
4162
  \end{choices}
4163
\end{questionmult}
4164
}
4165
4166
\element{qqs}{
4167
\begin{questionmult}{all for 2}\scoring{haut=2}
4168
  Perfect response scored 2 points, and give back one point for any error...
4169
  \begin{choices}
4170
    \correctchoice{Right}
4171
    \correctchoice{This one is OK}
4172
    \correctchoice{Yes!}
4173
    \wrongchoice{False!}
4174
    \wrongchoice{Don't check!}
4175
  \end{choices}
4176
\end{questionmult}
4177
}
4178
4179
\element{qqs}{
4180
\begin{question}{attention}\scoring{b=2}
4181
  Some very bad answer yields here to a negative score (-2), but the correct answer is rewarded 2 points.
4182
  \begin{choices}
4183
    \correctchoice{Good!}
4184
    \wrongchoice{Not correct}
4185
    \wrongchoice{Not correct}
4186
    \wrongchoice{Not correct}
4187
    \wrongchoice{Very bad answer!}\scoring{-2}
4188
  \end{choices}
4189
\end{question}
4190
}
4191
4192
\element{qqs}{
4193
\begin{questionmult}{as you like}
4194
  Choose how much points you need:
4195
  \begin{choices}
4196
    \correctchoice{You take two points here}\scoring{b=2}
4197
    \wrongchoice{Check to give 3 points}\scoring{b=0,m=3}
4198
    \correctchoice{Get one if checked, but give one if not}\scoring{m=-1}
4199
  \end{choices}
4200
\end{questionmult}
4201
}
4202
4203
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4204
4205
\onecopy{20}{
4206
4207
\noindent{\bf QCM  \hfill Scoring strategy test}
4208
4209
\vspace*{.5cm}
4210
\begin{minipage}{.4\linewidth}
4211
\centering\large\bf Test\\ Jan. 2008\end{minipage}
4212
\namefield{\fbox{\begin{minipage}{.5\linewidth}
4213
Name:
4214
4215
\vspace*{.5cm}\dotfill
4216
\vspace*{1mm}
4217
\end{minipage}}}
4218
4219
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4220
4221
\shufflegroup{qqs}
4222
4223
\insertgroup{qqs}
4224
4225
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4226
4227
\clearpage
4228
4229
}
4230
4231
\end{document}</programlisting></para>
4232
      </sect3>
4233
4234
      <sect3 id="scoring.global">
4235
        <title>Global scoring strategy</title>
4236
4237
        <para>To use a strategy globally for a set of questions, one can
4238
        define it in a LaTeX command, as in the following example:</para>
4239
4240
        <programlisting>\def\barQmult{haut=3,p=-1}
4241
4242
\begin{questionmult}\scoring{\barQmult}
4243
[...]
4244
\end{questionmult}</programlisting>
4245
4246
        <para>Another possibility comes with the LaTeX commands
4247
        <command>\scoringDefaultS</command> and
4248
        <command>\scoringDefaultM</command>, to be used in the begin of the
4249
        document (outside the command <command>\onecopy</command>), which
4250
        allow to give default values for the scoring strategy of simple and
4251
        multiple questions:</para>
4252
4253
        <programlisting>\scoringDefaultM{haut=3,p=-1}</programlisting>
4254
4255
        <para>If you use <command>formula</command> with
4256
        <command>\scoringDefautM</command> or
4257
        <command>\scoringDefautS</command>, you must cancel it to score
4258
        different questions with a specific scoring.</para>
4259
4260
        <programlisting>
4261
\begin{questionmult}\scoring{b=1,m=-0.5,formula=}
4262
[...]
4263
\end{questionmult}</programlisting>
4264
4265
        <para>In some cases, defining a global strategy can be interesting
4266
        <emphasis>depending of the number of proposed responses</emphasis>. To
4267
        do so, just input the value <varname>N</varname>. For example, to get
4268
        a scale yielding 4 as the maximal score and such as the mean expected
4269
        score of a student checking randomly the boxes is 1, one can use the
4270
        scale <code>d=4,b=0,m=-(4-1)*2/N</code> (which give the score -2 if
4271
        every response is false, i.e. the wrong boxes have been checked and
4272
        the right boxes are not). Operations allowed in those formulas are the
4273
        four simple operations (<code>+</code> <code>-</code> <code>*</code>
4274
        <code>/</code>), cases operator <code>( ? : )</code>, parenthesis and
4275
        all perl operators.</para>
4276
4277
        <para>Other variables can also be used:</para>
4278
4279
        <itemizedlist>
4280
          <listitem>
4281
            <para><varname>N</varname> is the number of proposed responses,
4282
            without counting the response eventually added by the option
4283
            <option>completemulti</option>.</para>
4284
          </listitem>
4285
4286
          <listitem>
4287
            <para><varname>NB</varname> is the number of correct responses to
4288
            the question (without taking in account checked or non-checked
4289
            boxes).</para>
4290
          </listitem>
4291
4292
          <listitem>
4293
            <para><varname>NBC</varname> is the count of correct responses
4294
            which have been checked.</para>
4295
          </listitem>
4296
4297
          <listitem>
4298
            <para><varname>NM</varname> is the number of wrong responses to
4299
            the question (without taking in account checked or non-checked
4300
            boxes).</para>
4301
          </listitem>
4302
4303
          <listitem>
4304
            <para><varname>NMC</varname> is the count of wrong responses which
4305
            have been checked.</para>
4306
          </listitem>
4307
4308
          <listitem>
4309
            <para><varname>IS</varname> is set to 1 if the question is simple
4310
            and 0 if not.</para>
4311
          </listitem>
4312
4313
          <listitem>
4314
            <para><varname>IMULT</varname> is set to 1 if the question is
4315
            multiple and 0 if not.</para>
4316
          </listitem>
4317
        </itemizedlist>
4318
      </sect3>
4319
4320
      <sect3 id="scoring-result">
4321
        <title>From scoring strategy to students marks</title>
4322
4323
        <para>Here is how students' marks are computed: for every
4324
        student,</para>
4325
4326
        <orderedlist>
4327
          <listitem>
4328
            <para>The scoring strategy is applied for each question in turn,
4329
            to get the <emphasis>questions scores</emphasis>.</para>
4330
          </listitem>
4331
4332
          <listitem>
4333
            <para>All questions (except indicative ones) scores are added to
4334
            get the student <emphasis>total score</emphasis>.</para>
4335
          </listitem>
4336
4337
          <listitem>
4338
            <para>If a positive <emphasis>maximal mark</emphasis> is given as
4339
            a parameter (in the <guilabel>Project</guilabel> tab of the
4340
            <menuchoice>
4341
                <guimenu>Edit</guimenu>
4342
4343
                <guimenuitem>Preferences</guimenuitem>
4344
              </menuchoice> window), the total score of the student is divided
4345
            by the <emphasis>maximum total score</emphasis> (which is the
4346
            total score for a perfect copy), and multiplied by the
4347
            <emphasis>maximum mark</emphasis>, to get the student's
4348
            <emphasis>mark</emphasis>. This way, if the student answered
4349
            perfectly to all questions, his mark will be the maximum mark. If
4350
            you set the maximum mark to 100, the student's mark can be seen as
4351
            a percentage of good answers.</para>
4352
          </listitem>
4353
        </orderedlist>
4354
      </sect3>
4355
    </sect2>
4356
4357
    <sect2 id="sec.students.id">
4358
      <title>Identification of the students</title>
4359
4360
      <para>This stage is not mandatory. It deals with associating each copy
4361
      with a student. The name of the student is not read in an automated
4362
      fashion, but two reasonable possibilities are proposed:</para>
4363
4364
      <orderedlist>
4365
        <listitem>
4366
          <para>It is possible to ask students to identify themselves on their
4367
          copy with their student number, which will be written by checking
4368
          one box per digit. A LaTeX command is designed to use this method on
4369
          the copy (see the part <xref linkend="latex.codes"/>). After the
4370
          exam, copies will be identified automatically taking into account a
4371
          list matching the students' numbers and their names.</para>
4372
        </listitem>
4373
4374
        <listitem>
4375
          <para>With no input of the students' numbers, or in the case when
4376
          the automated identification has not succeeded perfectly (for
4377
          example when a student made a wrong input), the graphical interface
4378
          allows an assisted manual association.</para>
4379
        </listitem>
4380
      </orderedlist>
4381
4382
      <para>Let's first move to the <guilabel>Marking</guilabel> tab of the
4383
      graphical interface.</para>
4384
4385
      <sect3 id="liste.etudiants">
4386
        <title id="liste.etudiants.title">List of the students</title>
4387
4388
        <para>We must previously supply a list of students. This list can
4389
        obviously be used for many multiple-choices tests. This list is a CSV
4390
        file with optional comments lines at the beginning with prefix
4391
        `<code>#</code>', as in the following example:<programlisting># STUDENTS / 1ST YEAR
4392
surname:name:id:email
4393
Bienvenüe:Alexis:001:paamc@passoire.fr
4394
Boulix:Jojo:002:jojo.boulix@rien.xx
4395
Noël:Père:003:pere.noel@pole-nord.xx</programlisting></para>
4396
4397
        <para>The first lines of the file which begin with the character
4398
        `<code>#'</code> are comments. The first of the other lines contains
4399
        (separated by the character <code>`:'</code>) the column titles. Then,
4400
        with one line per student, we write the corresponding information.
4401
        There must be at least one column named <code>name</code> or
4402
        <code>surname</code>.</para>
4403
4404
        <note>
4405
          <para>One can replace the separator <code>`:'</code> by a comma, a
4406
          semicolon or a tabulation. However the same separator must be used
4407
          everywhere in the file which contains the list of students. The used
4408
          separator is detected by taking the character (out of the four
4409
          possible characters) which appears most frequently in the first line
4410
          which is not a comment.</para>
4411
4412
          <para>Any CSV file should be suitable.</para>
4413
        </note>
4414
4415
     <warning>
4416
        <para>
4417
       Type carefully the CSV file to send the same test to multiple recipients.
4418
        </para>
4419
        <itemizedlist>
4420
        <listitem>A semi-colon or colon or tabulation to separate the headers and a comma to separate the email adresses.</listitem>
4421
        <listitem>A comma to separate the headers and email adresses between inverted comma/quotation marks.</listitem>
4422
        </itemizedlist>
4423
        <programlisting>
4424
        name,forenama,email
4425
        Boulix,Jojo,"jojo@boulix.fr,parents@boulix.com" 
4426
        </programlisting>
4427
        </warning>
4428
4429
        <para>The prepared list of students will then be selected with the
4430
        button <guibutton>Set file</guibutton> in the <guilabel>Students
4431
        identification</guilabel> section. We must also choose one of the
4432
        columns as a unique key which will identify the students (generally,
4433
        one chooses the column containing the student's number). Last, to
4434
        prepare an automated association, we must choose the name of the
4435
        relevant code used in the LaTeX command <command>AMCcode</command> (if
4436
        used).</para>
4437
      </sect3>
4438
4439
      <sect3>
4440
        <title>Association</title>
4441
4442
        <sect4>
4443
          <title>Automated association</title>
4444
4445
          <para>When we push the button <guibutton>Automatic</guibutton> in
4446
          the part <guilabel>Students identification</guilabel>, matching of
4447
          the codes given by the students begins. We can watch or improve the
4448
          result later with a (partial) manual association.</para>
4449
4450
          <warning>
4451
            <para>To make an automated association, at least one command
4452
            <command>AMCcode</command> is required (see <xref
4453
            linkend="latex.codes"/>) in the LaTeX source file, as well as a
4454
            list of students with a column containing a reference (generally a
4455
            number of student) which will be identical to the input given in
4456
            the boxes produced by the command
4457
            <command>AMCcode</command>.</para>
4458
          </warning>
4459
        </sect4>
4460
4461
        <sect4>
4462
          <title>Manual association</title>
4463
4464
          <para>To open the window allowing recognition of the students'
4465
          names, let's click on <guibutton>Manual</guibutton> button in the
4466
          <guilabel>Students identification</guilabel> section. This window is
4467
          made of an upper part which presents in sequence images of the names
4468
          written by the students, a lower part containing a button for each
4469
          student from the list we supplied, and a right part allowing to
4470
          browse easily the copies to be identified. Let's click the button
4471
          matching the name written in the upper part for each presented page
4472
          (by default, only the copies not or badly identified are presented -
4473
          this can be changed by checking the box
4474
          <guilabel>associated</guilabel>). When every page is read, a blue
4475
          background appears instead of the names, and we just need to click
4476
          the <guibutton>Save</guibutton> button to end with
4477
          association.</para>
4478
        </sect4>
4479
      </sect3>
4480
    </sect2>
4481
4482
    <sect2>
4483
      <title>Exporting the scores list</title>
4484
4485
      <para>At this stage, we can get the list of scores under various formats
4486
      (currently CSV and OpenOffice), with the button
4487
      <guibutton>Export</guibutton>. This export will be followed by the
4488
      opening of the produced file by the appropriate software (if
4489
      available).</para>
4490
4491
      <sect3>
4492
        <title>Export to ODS (OpenOffice, LibreOffice)</title>
4493
4494
        <para>In the exported file, the following colors are used:</para>
4495
4496
        <variablelist>
4497
          <varlistentry>
4498
            <term>gray</term>
4499
4500
            <listitem>
4501
              <para>is used for <emphasis>non applicable</emphasis>. This may
4502
              be for example scores for absentees, or scores corresponding to
4503
              a question that was not shown to the corresponding
4504
              student.</para>
4505
            </listitem>
4506
          </varlistentry>
4507
4508
          <varlistentry>
4509
            <term>yellow</term>
4510
4511
            <listitem>
4512
              <para>is used for questions that has not been answered by the
4513
              student.</para>
4514
            </listitem>
4515
          </varlistentry>
4516
4517
          <varlistentry>
4518
            <term>red</term>
4519
4520
            <listitem>
4521
              <para>is used for questions with an <emphasis>invalid</emphasis>
4522
              answer: the student ticked several boxes in a simple question,
4523
              or he ticked some boxes <emphasis>and</emphasis> the box
4524
              <emphasis>None of these answers are correct</emphasis>.</para>
4525
            </listitem>
4526
          </varlistentry>
4527
4528
          <varlistentry>
4529
            <term>purple</term>
4530
4531
            <listitem>
4532
              <para>used for indicative questions.</para>
4533
            </listitem>
4534
          </varlistentry>
4535
        </variablelist>
4536
      </sect3>
4537
    </sect2>
4538
4539
    <sect2>
4540
      <title>Annotation</title>
4541
4542
      <para>When we push the button <guibutton>Annotate papers</guibutton>,
4543
      copies annotation will begin: on every scan, the following annotations
4544
      will be made (these are the default annotations, they can be
4545
      configured):</para>
4546
4547
      <itemizedlist>
4548
        <listitem>
4549
          <para>The boxes wrongly checked by the student will be circled in
4550
          red;</para>
4551
        </listitem>
4552
4553
        <listitem>
4554
          <para>the non-checked boxes which should have been are checked in
4555
          red;</para>
4556
        </listitem>
4557
4558
        <listitem>
4559
          <para>the checked boxes which had to be checked are checked in
4560
          blue;</para>
4561
        </listitem>
4562
4563
        <listitem>
4564
          <para>for each question, obtained and maximal scores are
4565
          indicated;</para>
4566
        </listitem>
4567
4568
        <listitem>
4569
          <para>the global score of the copy is indicated on the first page of
4570
          the copy.</para>
4571
        </listitem>
4572
      </itemizedlist>
4573
4574
      <para>The text written on the first page of the copies can be configured
4575
      (<menuchoice>
4576
          <guimenu>Edit</guimenu>
4577
4578
          <guimenuitem>Preferences</guimenuitem>
4579
4580
          <guimenuitem>Annotation</guimenuitem>
4581
4582
          <guimenuitem>Header</guimenuitem>
4583
        </menuchoice> or <menuchoice>
4584
          <guimenu>Edit</guimenu>
4585
4586
          <guimenuitem>Preferences</guimenuitem>
4587
4588
          <guimenuitem>Project</guimenuitem>
4589
4590
          <guimenuitem>Papers annotation</guimenuitem>
4591
4592
          <guimenuitem>Header text</guimenuitem>
4593
        </menuchoice>). Substitutions will be made within the provided text
4594
      (please have a look at <xref linkend="scoring-result"/> for some details
4595
      on the meaning of those values):</para>
4596
4597
      <variablelist>
4598
        <varlistentry>
4599
          <term><literal>%S</literal></term>
4600
4601
          <listitem>
4602
            <para>is replaced by the student's <emphasis>total
4603
            score</emphasis>.</para>
4604
          </listitem>
4605
        </varlistentry>
4606
4607
        <varlistentry>
4608
          <term><literal>%M</literal></term>
4609
4610
          <listitem>
4611
            <para>is replaced by the <emphasis>maximum total
4612
            score</emphasis>.</para>
4613
          </listitem>
4614
        </varlistentry>
4615
4616
        <varlistentry>
4617
          <term><literal>%s</literal></term>
4618
4619
          <listitem>
4620
            <para>is replaced by the student's
4621
            <emphasis>mark</emphasis>.</para>
4622
          </listitem>
4623
        </varlistentry>
4624
4625
        <varlistentry>
4626
          <term><literal>%m</literal></term>
4627
4628
          <listitem>
4629
            <para>is replaced by the <emphasis>maximum mark</emphasis>.</para>
4630
          </listitem>
4631
        </varlistentry>
4632
4633
        <varlistentry>
4634
          <term><literal>%(ID)</literal></term>
4635
4636
          <listitem>
4637
            <para>is replaced by the student's name.</para>
4638
          </listitem>
4639
        </varlistentry>
4640
4641
        <varlistentry>
4642
          <term><literal>%(<replaceable>COL</replaceable>)</literal></term>
4643
4644
          <listitem>
4645
            <para>is replaced by the value of column
4646
            <replaceable>COL</replaceable> in the students list for the
4647
            current student.</para>
4648
          </listitem>
4649
        </varlistentry>
4650
      </variablelist>
4651
4652
      <para>This operation is made for each page, giving as a result PDF
4653
      annotated papers. The name of the PDF file which will contain the
4654
      corrected copy of a student is based on the template indicated in the
4655
      field <guilabel>File name model</guilabel>. In that template, every
4656
      substring as « (<replaceable>col</replaceable>) » is replaced by the
4657
      contents of the column named <code><replaceable>col</replaceable></code>
4658
      in the file containing the list of students (see section <xref
4659
      endterm="liste.etudiants.title" linkend="liste.etudiants"/>). If we let
4660
      this field empty, a default value is built up based on the student's
4661
      name and student number.</para>
4662
4663
      <sect3 id="marks.position">
4664
        <title id="marks.position.title">Marks' position</title>
4665
4666
        <para>You may choose marks's position with the menu <menuchoice>
4667
            <guimenu>Edition</guimenu>
4668
4669
            <guimenuitem>Preference</guimenuitem>
4670
4671
            <guimenuitem>Project</guimenuitem>
4672
4673
            <guimenuitem>Marks position</guimenuitem>
4674
          </menuchoice></para>
4675
4676
        <para>Default choices</para>
4677
4678
        <itemizedlist>
4679
          <listitem>
4680
             (none) 
4681
          </listitem>
4682
4683
          <listitem>
4684
             In the margin. 
4685
          </listitem>
4686
4687
          <listitem>
4688
             In the both margins 
4689
          </listitem>
4690
4691
          <listitem>
4692
             Beside the boxes. 
4693
          </listitem>
4694
4695
          <listitem>
4696
             Where defined in the source (see 
4697
4698
            <xref endterm="marks.display.area.title"
4699
                  linkend="marks.display.area"/>
4700
4701
             ). 
4702
          </listitem>
4703
        </itemizedlist>
4704
      </sect3>
4705
    </sect2>
4706
  </sect1>
4707
4708
  <sect1>
4709
    <title>Alternative usages</title>
4710
4711
    <sect2>
4712
      <title>Photocopied subject</title>
4713
4714
      <para>As explained in <xref endterm="printing.title"
4715
      linkend="printing"/>, it is not always possible to photocopy one answer
4716
      sheet to give to several students. However, when using a separate answer
4717
      sheet and when questions and answers are not to be shuffled, you can
4718
      photocopy the subject, and print all the answer sheets separately. We
4719
      detail here the proper way to follow.</para>
4720
4721
      <itemizedlist>
4722
        <listitem>
4723
          <para>Use <option>separateanswersheet</option> package option (see
4724
          <xref endterm="sec.package.options.title"
4725
          linkend="sec.package.options"/>).</para>
4726
        </listitem>
4727
4728
        <listitem>
4729
          <para>Write the subject before calling <command>onecopy</command>
4730
          command or outside <command>examcopy</command> environment.</para>
4731
        </listitem>
4732
4733
        <listitem>
4734
          <para>Use <command>\AMCformS</command> to output answer boxes in
4735
          each answer sheet, inside
4736
          <command>onecopy</command>/<command>examcopy</command>.</para>
4737
        </listitem>
4738
      </itemizedlist>
4739
4740
      <para>Here is a minimal example:</para>
4741
4742
      <programlisting>\documentclass[a4paper]{article}
4743
\usepackage[separateanswersheet]{automultiplechoice}    
4744
\begin{document}
4745
4746
\noindent{\bf Subject}
4747
4748
\begin{question}{sum}
4749
  How much are one plus one?
4750
  \begin{choices}
4751
    \wrongchoice{1}
4752
    \correctchoice{2}
4753
    \wrongchoice{3}
4754
  \end{choices}
4755
\end{question}
4756
4757
\begin{question}{k2}
4758
  How high is the K2?
4759
  \begin{choices}
4760
    \wrongchoice{around 8000m}
4761
    \correctchoice{around 8600m}
4762
    \wrongchoice{around 9000m}
4763
  \end{choices}
4764
\end{question}
4765
4766
\AMCcleardoublepage    
4767
4768
\onecopy{5}{    
4769
4770
\AMCformBegin    
4771
4772
{\large\bf Answer sheet:}
4773
\hfill \namefield{\fbox{    
4774
    \begin{minipage}{.5\linewidth}
4775
      Name:
4776
      
4777
      \vspace*{.5cm}\dotfill
4778
      \vspace*{1mm}
4779
    \end{minipage}
4780
  }}
4781
4782
\AMCformS    
4783
4784
}  
4785
4786
\end{document}
4787
</programlisting>
4788
4789
      <para>You will get from this LaTeX file one subject (sheet numbered 0)
4790
      to print and photocopy to all students, and several answer sheets to
4791
      print (one for each student).</para>
4792
    </sect2>
4793
4794
    <sect2 id="postcorrect">
4795
      <title>Post correcting</title>
4796
4797
      <para>Suppose you want to use a single generic answer sheet for all your
4798
      exams. You simply print answer boxes on it (say 5 for each questions,
4799
      and 40 questions), and give the students a subject that you wrote
4800
      somewhere else. The point here is that the correct choices are not
4801
      pointed out in the LaTeX file, so that AMC does not know about them. The
4802
      solution is to give one answer sheet to the teacher to fill correct
4803
      choices. Then, after scanning and AMC analysis, you simply have to tell
4804
      AMC which is the teacher completed answer sheet.</para>
4805
4806
      <para>To implement this idea, follow these rules:</para>
4807
4808
      <itemizedlist>
4809
        <listitem>
4810
          <para>Use <option>postcorrect</option>, <option>insidebox</option>
4811
          and <option>noshuffle</option> package options (see <xref
4812
          endterm="sec.package.options.title"
4813
          linkend="sec.package.options"/>).</para>
4814
        </listitem>
4815
4816
        <listitem>
4817
          <para>Only use <command>\wrongchoice</command> for all your choices
4818
          (never <command>\correctchoice</command>).</para>
4819
        </listitem>
4820
      </itemizedlist>
4821
4822
      <para>Here is a minimal example:</para>
4823
4824
      <programlisting>\documentclass[a4paper]{article}
4825
\usepackage{multicol}
4826
\usepackage[insidebox,noshuffle,postcorrect]{automultiplechoice}    
4827
4828
\begin{document}
4829
4830
\onecopy{5}{    
4831
4832
\noindent
4833
\begin{tabular}{|l|l|l|}
4834
\hline
4835
student number &amp; class &amp; subject\\
4836
\hline
4837
 \vspace{-0.25cm}
4838
 &amp; &amp;\\
4839
\AMCcode{StudentNum}{10}&amp;
4840
\AMCcode{class}{2}&amp;
4841
\AMCcode{subject}{3}
4842
\\
4843
\hline
4844
\end{tabular}
4845
\hfill\namefield{\fbox{    
4846
    \begin{minipage}{.25\linewidth}
4847
      Name:
4848
      
4849
      \vspace*{.5cm}\dotfill
4850
      
4851
      \vspace*{.5cm}\dotfill
4852
      \vspace*{1mm}
4853
    \end{minipage}
4854
  }}\hfill
4855
4856
4857
\vspace{.5cm}
4858
\noindent\hrulefill
4859
4860
\begin{multicols}{2}\columnseprule=.4pt
4861
4862
\begin{question}{01}
4863
\begin{choicescustom}
4864
\wrongchoice{}%
4865
\wrongchoice{}%
4866
\wrongchoice{}%
4867
\wrongchoice{}%
4868
\wrongchoice{}%
4869
\end{choicescustom}
4870
\end{question}
4871
4872
\begin{question}{02}
4873
\begin{choicescustom}
4874
\wrongchoice{}%
4875
\wrongchoice{}%
4876
\wrongchoice{}%
4877
\wrongchoice{}%
4878
\wrongchoice{}%
4879
\end{choicescustom}
4880
\end{question}
4881
4882
% continue here to get as many questions as needed...
4883
4884
\end{multicols}  
4885
4886
}   
4887
4888
\end{document}
4889
</programlisting>
4890
4891
      <para>You can then process the LaTeX file in AMC, print the sheets, scan
4892
      them after the exam, and start AMC automatic data capture (including the
4893
      teacher sheet). When you click on <guibutton>Mark</guibutton> in the
4894
      <guilabel>Marking</guilabel> tab, letting <guilabel>Update marking
4895
      scale</guilabel> ticked, you will be prompted for the teacher answer
4896
      sheet number. You can then continue as usual.</para>
4897
4898
      <note>
4899
        <para>You can also write the letters outside the boxes: replace the
4900
        <option>insidebox</option> option with <option>outsidebox</option>,
4901
        and write your questions in the following way:</para>
4902
4903
        <programlisting>\begin{question}{01}
4904
\begin{choicescustom}
4905
\wrongchoice{A }%
4906
\wrongchoice{B }%
4907
\wrongchoice{C }%
4908
\wrongchoice{D }%
4909
\wrongchoice{E }%
4910
\end{choicescustom}
4911
\end{question}
4912
</programlisting>
4913
      </note>
4914
    </sect2>
4915
4916
    <sect2>
4917
      <title>Nominative sheets</title>
4918
4919
      <para>In some situations, it can be useful to prepare nominative sheets
4920
      for all students, from a list of students. Let us see how this can be
4921
      done.</para>
4922
4923
      <itemizedlist>
4924
        <listitem>
4925
          <para>The students list has to be a CSV list. Suppose in the
4926
          following that the file students.csv, in the project directory, is
4927
          UTF8 encoded and that its content is like the following:</para>
4928
4929
          <programlisting>name,forename,id
4930
Boulix,Jojo,001
4931
Golin,André,002
4932
Moniuszko,Stanisław,003</programlisting>
4933
4934
         <warning><para>
4935
        Type carefully the CSV file to send the same test to multiple recipients.
4936
        </para>
4937
        <itemizedlist><listitem>Headers separated by a semi-colon and email adresses by a comma.</listitem></itemizedlist>
4938
        <programlisting>
4939
name;surname;id;email
4940
Boulix;Jojo;001;jojo@boulix.fr,parents@boulix.com
4941
Golin;André;002;andre_golin@truc.fr,papa.golin@rouge.fr,mamangolin@rouge.com
4942
Moniuszko;Stanisław;003</programlisting>
4943
        </warning>
4944
4945
        </listitem>
4946
4947
         <warning>
4948
            <para>Do not use _ (underscore) with the student's name or forename. A compilation error will be display.</para>
4949
          </warning>
4950
4951
        <listitem>
4952
          <para>The LaTeX source file has to load csvsimple package,
4953
          with:</para>
4954
4955
          <programlisting>\usepackage{csvsimple}</programlisting>
4956
        </listitem>
4957
4958
        <listitem>
4959
          <para>In the LaTeX source file, define the subject as a command that
4960
          produce a single subject. This command will be called once for each
4961
          student by <command>\csvreader</command> (suppose here that the
4962
          questions has already be defined and included in a group named
4963
          <code>general</code>):</para>
4964
4965
          <programlisting>\newcommand{\subject}{
4966
  \onecopy{1}{    
4967
4968
    \noindent{\bf AutoMultipleChoice  \hfill TEST}
4969
4970
    \vspace*{.5cm}
4971
4972
    \begin{center}\em
4973
      Pre-filled test.
4974
    \end{center}
4975
4976
    \hfill \namefield{\fbox{    
4977
        \begin{minipage}{.5\linewidth}
4978
          Name:
4979
      
4980
          \Large\bf \name{} \surname{}
4981
4982
          \vspace*{1mm}
4983
        \end{minipage}
4984
      }}
4985
4986
    \noindent\hrulefill
4987
4988
    \vspace{1ex}
4989
4990
    \shufflegroup{general}
4991
    \insertgroup{general}
4992
4993
    \AMCassociation{\id}
4994
  }
4995
}
4996
4997
\csvreader[head to column names]{students.csv}{}{\subject}<co id="separator.comma" linkends="separator.comma.exp"/>
4998
%\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\subject}<co id="separator.semicolon" linkends="separator.semicolon.exp"/>
4999
5000
</programlisting>
5001
5002
          <para>The head to column names option for
5003
          <command>\csvreader</command> defines commands
5004
          <command>\name</command>, <command>\surname</command> and
5005
          <command>\id</command> (named from the CSV headers), that can be
5006
          used inside <command>\subject</command>. The
5007
          <command>\AMCassociation</command> call tells AMC to associate the
5008
          current sheet to student with id <command>\id</command>.</para>
5009
          <para>
5010
          <calloutlist>
5011
          <callout arearefs="separator.comma" id="separator.comma.exp">
5012
          <para>
5013
          Use this command if the CSV file contains only one email address per student.
5014
          </para>
5015
          </callout>
5016
 
5017
            <callout arearefs="separator.semicolon" id="separator.semicolon.exp">
5018
          <para>
5019
          Use this command if the CSV file contains multiple email addresses per student.
5020
          </para>
5021
          </callout>
5022
          </calloutlist>
5023
          </para>
5024
        </listitem>
5025
5026
        <listitem>
5027
          <para>After printing, scanning, data capture and marking, when
5028
          associating copies with students, choose value
5029
          "<emphasis>pre-association</emphasis>" for field "code-name for
5030
          automatic association", and "<emphasis>id</emphasis>" for field
5031
          "Primary key".</para>
5032
        </listitem>
5033
      </itemizedlist>
5034
    </sect2>
5035
  </sect1>
5036
5037
  <sect1 id="commands">
5038
    <title>Commands manual</title>
5039
5040
    <para>You may skip this part if you want to use only the graphical user
5041
    interface (and that should usually be the case). However, every action
5042
    carried out with the graphical interface can also be performed using the
5043
    various commands whose syntax is described here.</para>
5044
5045
    <refentry id="auto-multiple-choice">
5046
      <refmeta>
5047
        <refentrytitle>auto-multiple-choice</refentrytitle>
5048
5049
        <manvolnum>1</manvolnum>
5050
5051
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5052
5053
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5054
      </refmeta>
5055
5056
      <refnamediv>
5057
        <refname>auto-multiple-choice</refname>
5058
5059
        <refpurpose>Automated treatment of MCQs</refpurpose>
5060
      </refnamediv>
5061
5062
      <refsynopsisdiv>
5063
        <cmdsynopsis>
5064
          <command>auto-multiple-choice</command>
5065
5066
          <arg choice="plain"><replaceable>action</replaceable></arg>
5067
5068
          <arg rep="repeat">arguments</arg>
5069
        </cmdsynopsis>
5070
5071
        <cmdsynopsis>
5072
          <command>auto-multiple-choice</command>
5073
5074
          <arg>project</arg>
5075
        </cmdsynopsis>
5076
      </refsynopsisdiv>
5077
5078
      <refsect1>
5079
        <title>Description</title>
5080
5081
        <para>The <command>auto-multiple-choice</command> command transmits
5082
        its arguments to the
5083
        <command>AMC-<replaceable>action</replaceable>.pl</command>
5084
        command.</para>
5085
5086
        <para>The second form, which does not mention any action, calls the
5087
        graphical interface <command>AMC-gui.pl</command>, possibly with the
5088
        name of a project to be opened.</para>
5089
      </refsect1>
5090
5091
      <refsect1>
5092
        <title>See also</title>
5093
5094
        <para>Different AMC actions: <citerefentry>
5095
            <refentrytitle>AMC-prepare</refentrytitle>
5096
5097
            <manvolnum>1</manvolnum>
5098
          </citerefentry>, <citerefentry>
5099
            <refentrytitle>AMC-imprime</refentrytitle>
5100
5101
            <manvolnum>1</manvolnum>
5102
          </citerefentry>, <citerefentry>
5103
            <refentrytitle>AMC-analyse</refentrytitle>
5104
5105
            <manvolnum>1</manvolnum>
5106
          </citerefentry>, <citerefentry>
5107
            <refentrytitle>AMC-note</refentrytitle>
5108
5109
            <manvolnum>1</manvolnum>
5110
          </citerefentry>, <citerefentry>
5111
            <refentrytitle>AMC-association-auto</refentrytitle>
5112
5113
            <manvolnum>1</manvolnum>
5114
          </citerefentry>, <citerefentry>
5115
            <refentrytitle>AMC-export</refentrytitle>
5116
5117
            <manvolnum>1</manvolnum>
5118
          </citerefentry>, <citerefentry>
5119
            <refentrytitle>AMC-annotate</refentrytitle>
5120
5121
            <manvolnum>1</manvolnum>
5122
          </citerefentry>, <citerefentry>
5123
            <refentrytitle>AMC-regroupe</refentrytitle>
5124
5125
            <manvolnum>1</manvolnum>
5126
          </citerefentry>.</para>
5127
      </refsect1>
5128
    </refentry>
5129
5130
    <refentry id="AMC-prepare">
5131
      <refmeta>
5132
        <refentrytitle>AMC-prepare</refentrytitle>
5133
5134
        <manvolnum>1</manvolnum>
5135
5136
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5137
5138
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5139
      </refmeta>
5140
5141
      <refnamediv>
5142
        <refname>AMC-prepare</refname>
5143
5144
        <refpurpose>prepares working documents from LaTeX source
5145
        file</refpurpose>
5146
      </refnamediv>
5147
5148
      <refsynopsisdiv>
5149
        <cmdsynopsis>
5150
          <command>auto-multiple-choice</command>
5151
5152
          <arg choice="plain">prepare</arg>
5153
5154
          <arg choice="plain">--mode s</arg>
5155
5156
          <arg choice="plain">--prefix
5157
          <replaceable>project-dir</replaceable></arg>
5158
5159
          <arg choice="plain"><replaceable>mcq-source-file</replaceable></arg>
5160
        </cmdsynopsis>
5161
5162
        <cmdsynopsis>
5163
          <command>auto-multiple-choice</command>
5164
5165
          <arg choice="plain">prepare</arg>
5166
5167
          <arg choice="plain">--mode b</arg>
5168
5169
          <arg choice="plain">--data
5170
          <replaceable>project-data-dir</replaceable></arg>
5171
5172
          <arg choice="plain"><replaceable>mcq-source-file</replaceable></arg>
5173
        </cmdsynopsis>
5174
      </refsynopsisdiv>
5175
5176
      <refsect1>
5177
        <title>Description</title>
5178
5179
        <para>The <command>AMC-prepare.pl</command> command extracts working
5180
        documents from the source file describing the multiple choice
5181
        questionnaire. Information to be extracted depends on the
5182
        <option>--mode</option> argument value. In any mode, the source
5183
        filename must be given as an argument.</para>
5184
5185
        <itemizedlist>
5186
          <listitem>
5187
            <para>with "<option>--mode s</option>",
5188
            <command>AMC-prepare.pl</command> makes the subject file (answer
5189
            sheet to be printed and given to the students), the correction
5190
            (single corrected answer sheet) and the positions file (file
5191
            containing information about the positions of the boxes on the
5192
            pages). The following arguments can be used:</para>
5193
5194
            <variablelist>
5195
              <varlistentry>
5196
                <term><option>--out-sujet
5197
                <replaceable>subject.pdf</replaceable></option></term>
5198
5199
                <listitem>
5200
                  <para>sets the subject file to build.</para>
5201
                </listitem>
5202
              </varlistentry>
5203
5204
              <varlistentry>
5205
                <term><option>--out-corrige
5206
                <replaceable>corrected.pdf</replaceable></option></term>
5207
5208
                <listitem>
5209
                  <para>sets the correction to build.</para>
5210
                </listitem>
5211
              </varlistentry>
5212
5213
              <varlistentry>
5214
                <term><option>--out-calage
5215
                <replaceable>calage.xy</replaceable></option></term>
5216
5217
                <listitem>
5218
                  <para>sets the positions file to build.</para>
5219
                </listitem>
5220
              </varlistentry>
5221
5222
              <varlistentry>
5223
                <term><option>--prefix
5224
                <replaceable>directory</replaceable></option></term>
5225
5226
                <listitem>
5227
                  <para>this directory is only necessary if one or more of the
5228
                  three previous options are not used: default values are then
5229
                  <filename><replaceable>directory</replaceable>/sujet.pdf</filename>,
5230
                  <filename><replaceable>directory</replaceable>/corrige.pdf</filename>
5231
                  and
5232
                  <filename><replaceable>directory</replaceable>/calage.xy</filename>.</para>
5233
                </listitem>
5234
              </varlistentry>
5235
            </variablelist>
5236
          </listitem>
5237
5238
          <listitem>
5239
            <para>with "<option>--mode b</option>",
5240
            <command>AMC-prepare.pl</command> extracts scoring data from the
5241
            source file. In this mode, the <option>--data</option> argument
5242
            must be used (see below).</para>
5243
          </listitem>
5244
        </itemizedlist>
5245
5246
        <para>The following optional arguments can be used in any mode:</para>
5247
5248
        <variablelist>
5249
          <varlistentry>
5250
            <term><option>--with
5251
            <replaceable>latex-engine</replaceable></option></term>
5252
5253
            <listitem>
5254
              <para>gives the LaTeX engine (command) to be used.
5255
              <replaceable>latex-engine</replaceable> can be
5256
              <command>pdflatex</command> or <command>xelatex</command> for
5257
              example.</para>
5258
            </listitem>
5259
          </varlistentry>
5260
5261
          <varlistentry>
5262
            <term><option>--filter
5263
            <replaceable>filter</replaceable></option></term>
5264
5265
            <listitem>
5266
              <para>sets the filter name to transform the MCQ source file into
5267
              a LaTeX file. Native filters are <code>latex</code> (no change
5268
              at all) and <code>plain</code> (source is an AMC-TXT
5269
              file).</para>
5270
            </listitem>
5271
          </varlistentry>
5272
5273
          <varlistentry>
5274
            <term><option>--filtered-source
5275
            <replaceable>mcq-latex-file</replaceable></option></term>
5276
5277
            <listitem>
5278
              <para>gives the LaTeX file to make from the source file using
5279
              specified filter. If omitted, a filename derived from
5280
              <replaceable>mcq-source-file</replaceable> adding
5281
              <filename>_filtered.tex</filename> is used.</para>
5282
            </listitem>
5283
          </varlistentry>
5284
5285
          <varlistentry>
5286
            <term><option>--n-copies
5287
            <replaceable>n</replaceable></option></term>
5288
5289
            <listitem>
5290
              <para>sets the number of copies to produce, overriding the
5291
              number given in the LaTeX source file (first argument of the
5292
              <command>\onecopy</command> command).</para>
5293
            </listitem>
5294
          </varlistentry>
5295
5296
          <varlistentry>
5297
            <term><option>--debug
5298
            <replaceable>file.log</replaceable></option></term>
5299
5300
            <listitem>
5301
              <para>gives a file to fill with debugging information.</para>
5302
            </listitem>
5303
          </varlistentry>
5304
5305
          <varlistentry>
5306
            <term><option>--data
5307
            <replaceable>project-data-dir</replaceable></option></term>
5308
5309
            <listitem>
5310
              <para>sets the directory where the project's SQLite data files
5311
              are.</para>
5312
            </listitem>
5313
          </varlistentry>
5314
        </variablelist>
5315
      </refsect1>
5316
    </refentry>
5317
5318
    <refentry>
5319
      <refmeta>
5320
        <refentrytitle>AMC-meptex</refentrytitle>
5321
5322
        <manvolnum>1</manvolnum>
5323
5324
        <refmiscinfo>Auto Multiple Choice</refmiscinfo>
5325
5326
        <refmiscinfo>@/PACKAGE_V_DEB/@</refmiscinfo>
5327
      </refmeta>
5328
5329
      <refnamediv>
5330
        <refname>AMC-meptex</refname>
5331
5332
        <refpurpose>gets the layout information from the working document to
5333
        the layout database</refpurpose>
5334
      </refnamediv>
5335
5336
      <refsynopsisdiv>
5337
        <cmdsynopsis>
5338
          <command>auto-multiple-choice</command>
5339
5340
          <arg choice="plain">meptex</arg>
5341
5342
          <arg choice="plain">--src <replaceable>calage.xy</replaceable></arg>
5343
5344
          <arg choice="plain">--data
5345
          <replaceable>directory</replaceable></arg>
5346
        </cmdsynopsis>
5347
      </refsynopsisdiv>
5348
5349
      <refsect1>
5350
        <title>Description</title>
5351
5352
        <para>The <command>AMC-meptex.pl</command> command extracts the layout
5353
        information (exact positions of the boxes, the marks, the name field
5354
        on all the pages) from a working document
5355
        <replaceable>calage.xy</replaceable> and fills the layout database (a
5356
        SQLite file) in the data directory
5357
        <replaceable>directory</replaceable>.</para>
5358
      </refsect1>
5359
    </refentry>
5360
5361
    <refentry id="AMC-imprime">
5362
      <refmeta>
5363
        <refentrytitle>AMC-imprime</refentrytitle>
5364
5365
        <manvolnum>1</manvolnum>
5366
5367
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5368
5369
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5370
      </refmeta>
5371
5372
      <refnamediv>
5373
        <refname>AMC-imprime</refname>
5374
5375
        <refpurpose>prints AMC multiple choice answer sheets to be distributed
5376
        to the students</refpurpose>
5377
      </refnamediv>
5378
5379
      <refsynopsisdiv>
5380
        <cmdsynopsis>
5381
          <command>auto-multiple-choice</command>
5382
5383
          <arg choice="plain">imprime</arg>
5384
5385
          <arg choice="plain">--sujet
5386
          <replaceable>subject.pdf</replaceable></arg>
5387
5388
          <arg choice="plain">--fich-nums
5389
          <replaceable>numbers-file.txt</replaceable></arg>
5390
5391
          <arg choice="plain">--data <replaceable>data-dir</replaceable></arg>
5392
5393
          <arg choice="plain">--methode
5394
          <replaceable>method</replaceable></arg>
5395
5396
          <arg rep="repeat">where-to-print-arguments</arg>
5397
        </cmdsynopsis>
5398
      </refsynopsisdiv>
5399
5400
      <refsect1>
5401
        <title>Description</title>
5402
5403
        <para>The <command>AMC-imprime.pl</command> command prints selected
5404
        copies from a AMC multiple choice answer sheet.</para>
5405
5406
        <refsect2>
5407
          <title>What to print</title>
5408
5409
          <para>The following arguments describe what to print:</para>
5410
5411
          <variablelist>
5412
            <varlistentry>
5413
              <term><option>--sujet
5414
              <replaceable>subject.pdf</replaceable></option></term>
5415
5416
              <listitem>
5417
                <para>sets the subject file (prepared by <citerefentry>
5418
                    <refentrytitle>AMC-prepare</refentrytitle>
5419
5420
                    <manvolnum>1</manvolnum>
5421
                  </citerefentry>).</para>
5422
              </listitem>
5423
            </varlistentry>
5424
5425
            <varlistentry>
5426
              <term><option>--fich-nums
5427
              <replaceable>numbers-file.txt</replaceable></option></term>
5428
5429
              <listitem>
5430
                <para>gives a file where the numbers of the copies to be
5431
                printed are written (one number per line). If this argument is
5432
                not given, all the copies will be printed.</para>
5433
              </listitem>
5434
            </varlistentry>
5435
5436
            <varlistentry>
5437
              <term><option>--data
5438
              <replaceable>data-dir</replaceable></option></term>
5439
5440
              <listitem>
5441
                <para>gives the directory where data files are (see for
5442
                example <citerefentry>
5443
                    <refentrytitle>AMC-meptex</refentrytitle>
5444
5445
                    <manvolnum>1</manvolnum>
5446
                  </citerefentry>). The layout database in the data directory
5447
                is used to know at which page of the subject file each copy
5448
                begins and ends.</para>
5449
              </listitem>
5450
            </varlistentry>
5451
5452
            <varlistentry>
5453
              <term><option>--split</option></term>
5454
5455
              <listitem>
5456
                <para>asks to print separate answer sheets separately.</para>
5457
              </listitem>
5458
            </varlistentry>
5459
          </variablelist>
5460
        </refsect2>
5461
5462
        <refsect2>
5463
          <title>Where to print</title>
5464
5465
          <para>Several printing methods are currently defined:</para>
5466
5467
          <itemizedlist>
5468
            <listitem>
5469
              <para>with "<option>--methode CUPS</option>",
5470
              <command>AMC-imprime.pl</command> prints to a CUPS printer. One
5471
              print job is sent for each copy, allowing for example to use
5472
              stapling. Use the following options with this method:</para>
5473
5474
              <variablelist>
5475
                <varlistentry>
5476
                  <term><option>--imprimante
5477
                  <replaceable>printer</replaceable></option></term>
5478
5479
                  <listitem>
5480
                    <para>sets the CUPS printer name to print to.</para>
5481
                  </listitem>
5482
                </varlistentry>
5483
5484
                <varlistentry>
5485
                  <term><option>--options
5486
                  <replaceable>cups-options</replaceable></option></term>
5487
5488
                  <listitem>
5489
                    <para>gives CUPS options, in the
5490
                    <option>opt1=value1,opt2=value2,...</option>
5491
                    format.</para>
5492
                  </listitem>
5493
                </varlistentry>
5494
              </variablelist>
5495
            </listitem>
5496
5497
            <listitem>
5498
              <para>with "<option>--methode file</option>",
5499
              <command>AMC-imprime.pl</command> outputs the answer sheets to
5500
              files (one for each copy).</para>
5501
5502
              <variablelist>
5503
                <varlistentry>
5504
                  <term><option>--output
5505
                  <replaceable>filename</replaceable></option></term>
5506
5507
                  <listitem>
5508
                    <para>sets the filename for outputs. The
5509
                    '<literal>%e</literal>' sequence will be replaced by a
5510
                    4-digits copy number. If
5511
                    <replaceable>filename</replaceable> does not contain
5512
                    '<literal>%e</literal>', the string
5513
                    '<literal>-%e.pdf</literal>' will be added at its
5514
                    end.</para>
5515
                  </listitem>
5516
                </varlistentry>
5517
              </variablelist>
5518
            </listitem>
5519
5520
            <listitem>
5521
              <para>with "<option>--methode command</option>",
5522
              <command>AMC-imprime.pl</command> will use a provided command
5523
              for each copy.</para>
5524
5525
              <variablelist>
5526
                <varlistentry>
5527
                  <term><option>--print-command
5528
                  <replaceable>command</replaceable></option></term>
5529
5530
                  <listitem>
5531
                    <para>gives the command to be used for printing. The
5532
                    <replaceable>command</replaceable> string will be split at
5533
                    each space character (even when using quotes...). The
5534
                    sequence '<literal>%f</literal>' will be replaced by a PDF
5535
                    filename (containing the copy to print), and
5536
                    '<literal>%e</literal>' will be replaced by the copy
5537
                    number.</para>
5538
                  </listitem>
5539
                </varlistentry>
5540
              </variablelist>
5541
            </listitem>
5542
          </itemizedlist>
5543
        </refsect2>
5544
5545
        <refsect2>
5546
          <title>Other options</title>
5547
5548
          <para>Other available options:</para>
5549
5550
          <variablelist>
5551
            <varlistentry>
5552
              <term>--extract-with <replaceable>command</replaceable></term>
5553
5554
              <listitem>
5555
                <para>gives the command to use to extract pages from the PDF
5556
                subject. Currently only <command>pdftk</command> and
5557
                <command>gs</command> are available. The default value is
5558
                <command>pdftk</command>, but <command>gs</command> will be
5559
                used if the <command>pdftk</command> command is not
5560
                installed.</para>
5561
              </listitem>
5562
            </varlistentry>
5563
          </variablelist>
5564
        </refsect2>
5565
      </refsect1>
5566
    </refentry>
5567
5568
    <refentry>
5569
      <refmeta>
5570
        <refentrytitle>AMC-getimages</refentrytitle>
5571
5572
        <manvolnum>1</manvolnum>
5573
5574
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5575
5576
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5577
      </refmeta>
5578
5579
      <refnamediv>
5580
        <refname>AMC-getimages</refname>
5581
5582
        <refpurpose>prepares scan images before sending them to <citerefentry>
5583
            <refentrytitle>AMC-analyse</refentrytitle>
5584
5585
            <manvolnum>1</manvolnum>
5586
          </citerefentry> for analysis</refpurpose>
5587
      </refnamediv>
5588
5589
      <refsynopsisdiv>
5590
        <cmdsynopsis>
5591
          <command>auto-multiple-choice</command>
5592
5593
          <arg choice="plain">getimages</arg>
5594
5595
          <arg choice="opt">--copy-to
5596
          <replaceable>project-scans-dir</replaceable></arg>
5597
5598
          <arg>--vector-density <replaceable>density</replaceable></arg>
5599
5600
          <arg choice="plain">--list
5601
          <replaceable>list-file</replaceable></arg>
5602
5603
          <group>
5604
            <arg choice="plain"
5605
            rep="repeat"><replaceable>scan-files</replaceable></arg>
5606
          </group>
5607
        </cmdsynopsis>
5608
      </refsynopsisdiv>
5609
5610
      <refsect1>
5611
        <title>Description</title>
5612
5613
        <para>The <command>AMC-getimages.pl</command> command prepares scan
5614
        files before sending them to <citerefentry>
5615
            <refentrytitle>AMC-analyse</refentrytitle>
5616
5617
            <manvolnum>1</manvolnum>
5618
          </citerefentry>:</para>
5619
5620
        <itemizedlist>
5621
          <listitem>
5622
            <para>multipage image files are split to get one file per
5623
            page.</para>
5624
          </listitem>
5625
5626
          <listitem>
5627
            <para>vector images (such as PDF, EPS) are converted to bitmap
5628
            images.</para>
5629
          </listitem>
5630
        </itemizedlist>
5631
5632
        <para>The input images can be given either as arguments to
5633
        AMC-getimages.pl, either as the name of a file which contains all the
5634
        paths of the scan files.</para>
5635
5636
        <variablelist>
5637
          <varlistentry>
5638
            <term><option>--list
5639
            <replaceable>list-file</replaceable></option></term>
5640
5641
            <listitem>
5642
              <para>gives the name of the file that optionally contains (one
5643
              per line) the paths of the scan files. This file will be cleared
5644
              and filled with the paths of the scan files after processing, so
5645
              that the same path can be passed to
5646
              <command>AMC-analyse.pl</command> as the
5647
              <option>--list-fichiers</option> option value.</para>
5648
            </listitem>
5649
          </varlistentry>
5650
5651
          <varlistentry>
5652
            <term><option>--copy-to
5653
            <replaceable>project-scans-dir</replaceable></option></term>
5654
5655
            <listitem>
5656
              <para>gives a directory where to copy all the scans
5657
              files.</para>
5658
            </listitem>
5659
          </varlistentry>
5660
5661
          <varlistentry>
5662
            <term><option>--vector-density
5663
            <replaceable>density</replaceable></option></term>
5664
5665
            <listitem>
5666
              <para>sets the density used to convert vector graphics scans to
5667
              bitmap files. Defaults to 300.</para>
5668
            </listitem>
5669
          </varlistentry>
5670
        </variablelist>
5671
      </refsect1>
5672
    </refentry>
5673
5674
    <refentry id="AMC-analyse">
5675
      <refmeta>
5676
        <refentrytitle>AMC-analyse</refentrytitle>
5677
5678
        <manvolnum>1</manvolnum>
5679
5680
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5681
5682
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5683
      </refmeta>
5684
5685
      <refnamediv>
5686
        <refname>AMC-analyse</refname>
5687
5688
        <refpurpose>automatic data capture from scans for AMC multiple choice
5689
        exams.</refpurpose>
5690
      </refnamediv>
5691
5692
      <refsynopsisdiv>
5693
        <cmdsynopsis>
5694
          <command>auto-multiple-choice</command>
5695
5696
          <arg choice="plain">analyse</arg>
5697
5698
          <arg choice="plain">--projet
5699
          <replaceable>project-dir</replaceable></arg>
5700
5701
          <arg>--seuil-coche <replaceable>threshold</replaceable></arg>
5702
5703
          <arg>--tol-marque <replaceable>tol</replaceable></arg>
5704
5705
          <group>
5706
            <arg choice="plain">--list-fichiers
5707
            <replaceable>files-list.txt</replaceable></arg>
5708
5709
            <arg choice="plain"
5710
            rep="repeat"><replaceable>scan-files</replaceable></arg>
5711
          </group>
5712
        </cmdsynopsis>
5713
      </refsynopsisdiv>
5714
5715
      <refsect1>
5716
        <title>Description</title>
5717
5718
        <para>The <command>AMC-analyse.pl</command> command performs automatic
5719
        data capture from scans of completed answer sheets of an AMC multiple
5720
        choice questionnaire. Before calling
5721
        <command>AMC-analyse.pl</command>, <citerefentry>
5722
            <refentrytitle>AMC-prepare</refentrytitle>
5723
5724
            <manvolnum>1</manvolnum>
5725
          </citerefentry> should have been called to make working documents
5726
        (<option>--mode s</option>) and the layout should have been processed
5727
        with <citerefentry>
5728
            <refentrytitle>AMC-meptex</refentrytitle>
5729
5730
            <manvolnum>1</manvolnum>
5731
          </citerefentry>.</para>
5732
5733
        <variablelist>
5734
          <varlistentry>
5735
            <term><option>--data
5736
            <replaceable>data-dir</replaceable></option></term>
5737
5738
            <listitem>
5739
              <para>gives the directory where data files are (see for example
5740
              <citerefentry>
5741
                  <refentrytitle>AMC-meptex</refentrytitle>
5742
5743
                  <manvolnum>1</manvolnum>
5744
                </citerefentry>). Defaults to
5745
              <filename><replaceable>project-dir</replaceable>/data</filename>.</para>
5746
            </listitem>
5747
          </varlistentry>
5748
5749
          <varlistentry>
5750
            <term><option>--cr
5751
            <replaceable>project-cr-dir</replaceable></option></term>
5752
5753
            <listitem>
5754
              <para>gives a directory where to create image reports of the
5755
              data capture (zooms on the boxes in a <filename>zooms</filename>
5756
              sub-directory, name filed extraction as a
5757
              <filename>name-*.jpg</filename> file, and layout report as a
5758
              <filename>page-*.jpg</filename> file).</para>
5759
            </listitem>
5760
          </varlistentry>
5761
5762
          <varlistentry>
5763
            <term><option>--projet
5764
            <replaceable>project-dir</replaceable></option></term>
5765
5766
            <listitem>
5767
              <para>When using this option, if <option>--cr</option> is not
5768
              used, <replaceable>project-cr-dir</replaceable> will be set to
5769
              <filename><replaceable>project-dir</replaceable>/cr</filename>.</para>
5770
            </listitem>
5771
          </varlistentry>
5772
        </variablelist>
5773
5774
        <para>Giving the names of the scan files to process can be done in two
5775
        ways:</para>
5776
5777
        <itemizedlist>
5778
          <listitem>
5779
            <para>these names can be given as arguments,</para>
5780
          </listitem>
5781
5782
          <listitem>
5783
            <para>these names can be written to a plain file (one filename per
5784
            line), using the <option>--list-fichiers
5785
            <replaceable>files-list.txt</replaceable></option> to give the
5786
            name of this file.</para>
5787
          </listitem>
5788
        </itemizedlist>
5789
5790
        <para>Some parameters for data capture may be set using the following
5791
        options:</para>
5792
5793
        <variablelist>
5794
          <varlistentry>
5795
            <term><option>--prop
5796
            <replaceable>proportion</replaceable></option></term>
5797
5798
            <listitem>
5799
              <para>sets the proportion of each box that will be measured to
5800
              decide if the box is ticked or not. Default value is 0.8.</para>
5801
            </listitem>
5802
          </varlistentry>
5803
5804
          <varlistentry>
5805
            <term><option>--bw-threshold
5806
            <replaceable>threshold</replaceable></option></term>
5807
5808
            <listitem>
5809
              <para>This parameter is used when converting the grayscale scan
5810
              file to black and white. To get more black pixels, use a greater
5811
              value. To get more white pixels, use a smaller value. The
5812
              threshold must be between 0 and 1. The default value is
5813
              0.6.</para>
5814
            </listitem>
5815
          </varlistentry>
5816
5817
          <varlistentry>
5818
            <term><option>--ignore-red</option></term>
5819
5820
            <listitem>
5821
              <para>With this option, only red channel will be used from color
5822
              scans. This way, all that is written in red will be ignored in
5823
              the scan. This can be useful when the boxes are printed in
5824
              red.</para>
5825
            </listitem>
5826
          </varlistentry>
5827
5828
          <varlistentry>
5829
            <term><option>--tol-marque
5830
            <replaceable>tol</replaceable></option></term>
5831
5832
            <listitem>
5833
              <para>defines the tolerance when detecting the four marks in the
5834
              scans corners. These marks are detected looking for black
5835
              connected components which dimensions are
5836
              <emphasis>closed</emphasis> to the target dimension
5837
              <replaceable>target</replaceable> (exact dimensions of the marks
5838
              if printing/scanning process where perfectly accurate). If
5839
              <replaceable>tol</replaceable> is a real number, accepted
5840
              dimensions are those between
5841
              (1-<replaceable>tol</replaceable>)*<replaceable>target</replaceable>
5842
              and
5843
              (1+<replaceable>tol</replaceable>)*<replaceable>target</replaceable>.
5844
              If <replaceable>tol</replaceable> is
5845
              "<replaceable>tinf</replaceable>,<replaceable>tsup</replaceable>"
5846
              (where <replaceable>tinf</replaceable> and
5847
              <replaceable>tsup</replaceable> are real numbers), accepted
5848
              dimensions are those between
5849
              (1-<replaceable>tinf</replaceable>)*<replaceable>target</replaceable>
5850
              and
5851
              (1+<replaceable>tsup</replaceable>)*<replaceable>target</replaceable>.
5852
              A standard value is 0.2.</para>
5853
            </listitem>
5854
          </varlistentry>
5855
5856
          <varlistentry>
5857
            <term><option>--multiple</option></term>
5858
5859
            <listitem>
5860
              <para>This option is to be used when the scans are photocopies
5861
              from some subjects (different students can have the same
5862
              subject). In this case, <emphasis>copy</emphasis> numbers are
5863
              allocated to students so that their answer sheets, with the same
5864
              subject number, can be differentiated.</para>
5865
            </listitem>
5866
          </varlistentry>
5867
5868
          <varlistentry>
5869
            <term><option>--pre-allocate
5870
            <replaceable>copy_id</replaceable></option></term>
5871
5872
            <listitem>
5873
              <para>This option can be used in conjunction with
5874
              <option>--multiple</option>. The copy numbers used for the scans
5875
              will start from <replaceable>copy_id</replaceable>, in the same
5876
              order than the scans given as arguments.</para>
5877
            </listitem>
5878
          </varlistentry>
5879
5880
          <varlistentry>
5881
            <term>--try-three | --no-try-three</term>
5882
5883
            <listitem>
5884
              <para>Use one of these options to tell if you allow processing
5885
              of scans where only three corner marks are present.</para>
5886
            </listitem>
5887
          </varlistentry>
5888
5889
          <varlistentry>
5890
            <term><option>--debug
5891
            <replaceable>file.log</replaceable></option></term>
5892
5893
            <listitem>
5894
              <para>gives a file to fill with debugging information.</para>
5895
            </listitem>
5896
          </varlistentry>
5897
        </variablelist>
5898
      </refsect1>
5899
    </refentry>
5900
5901
    <refentry id="AMC-note">
5902
      <refmeta>
5903
        <refentrytitle>AMC-note</refentrytitle>
5904
5905
        <manvolnum>1</manvolnum>
5906
5907
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
5908
5909
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
5910
      </refmeta>
5911
5912
      <refnamediv>
5913
        <refname>AMC-note</refname>
5914
5915
        <refpurpose>computes marks after scans data capture for AMC multiple
5916
        choice exams.</refpurpose>
5917
      </refnamediv>
5918
5919
      <refsynopsisdiv>
5920
        <cmdsynopsis>
5921
          <command>auto-multiple-choice</command>
5922
5923
          <arg choice="plain">note</arg>
5924
5925
          <arg choice="plain">--data
5926
          <replaceable>project-data-dir</replaceable></arg>
5927
5928
          <arg>--seuil <replaceable>threshold</replaceable></arg>
5929
5930
          <arg>--grain <replaceable>granularity</replaceable></arg>
5931
5932
          <arg>--arrondi <replaceable>rounding</replaceable></arg>
5933
5934
          <arg>--notemin <replaceable>min</replaceable></arg>
5935
5936
          <arg>--notemax <replaceable>max</replaceable></arg>
5937
5938
          <group>
5939
            <arg choice="plain">--no-plafond</arg>
5940
5941
            <arg choice="plain">--plafond</arg>
5942
          </group>
5943
        </cmdsynopsis>
5944
      </refsynopsisdiv>
5945
5946
      <refsect1>
5947
        <title>Description</title>
5948
5949
        <para>The <command>AMC-note.pl</command> command computes marks for
5950
        all students from the scoring strategy extracted from the LaTeX source
5951
        file by <citerefentry>
5952
            <refentrytitle>AMC-prepare</refentrytitle>
5953
5954
            <manvolnum>1</manvolnum>
5955
          </citerefentry> and from the data capture reports made by
5956
        <citerefentry>
5957
            <refentrytitle>AMC-analyse</refentrytitle>
5958
5959
            <manvolnum>1</manvolnum>
5960
          </citerefentry>.</para>
5961
5962
        <variablelist>
5963
          <varlistentry>
5964
            <term><option>--data
5965
            <replaceable>project-data-dir</replaceable></option></term>
5966
5967
            <listitem>
5968
              <para>gives the directory where data files are (see for example
5969
              <citerefentry>
5970
                  <refentrytitle>AMC-meptex</refentrytitle>
5971
5972
                  <manvolnum>1</manvolnum>
5973
                </citerefentry>).</para>
5974
            </listitem>
5975
          </varlistentry>
5976
5977
          <varlistentry>
5978
            <term><option>--seuil
5979
            <replaceable>threshold</replaceable></option></term>
5980
5981
            <listitem>
5982
              <para>gives the black ratio threshold for deciding whether a box
5983
              is ticked or not. When deciding whether a box is checked or not,
5984
              <command>AMC-note.pl</command> compares the black ratio (number
5985
              of black pixels over total number of pixels) to
5986
              <replaceable>threshold</replaceable>. If the black ratio is
5987
              greater then <replaceable>threshold</replaceable>, the box is
5988
              declared to be checked. Standard values can be 0.15 in the
5989
              standard layout, or 0.5 for separate answer sheet layout (in
5990
              this last case, letters are drawn in the boxes, and the students
5991
              are told to fill the boxes entirely).</para>
5992
            </listitem>
5993
          </varlistentry>
5994
5995
          <varlistentry>
5996
            <term><option>--grain <replaceable>granularity</replaceable>
5997
            --arrondi <replaceable>rounding</replaceable></option></term>
5998
5999
            <listitem>
6000
              <para>ask marks to be rounded to a multiple of
6001
              <replaceable>granularity</replaceable>. If
6002
              <replaceable>rounding</replaceable> is '<literal>i</literal>',
6003
              rounding is done from below (as with <citerefentry>
6004
                  <refentrytitle>floor</refentrytitle>
6005
6006
                  <manvolnum>3</manvolnum>
6007
                </citerefentry>). If <replaceable>rounding</replaceable> is
6008
              '<literal>n</literal>', rounding is done to the nearest multiple
6009
              of <replaceable>granularity</replaceable>. If
6010
              <replaceable>rounding</replaceable> is '<literal>s</literal>',
6011
              rounding is done from above (as with <citerefentry>
6012
                  <refentrytitle>ceil</refentrytitle>
6013
6014
                  <manvolnum>3</manvolnum>
6015
                </citerefentry>). For example, with options "<option>--grain
6016
              0.25 --arrondi s</option>", mark 6.285 is rounded to 6.5.</para>
6017
            </listitem>
6018
          </varlistentry>
6019
6020
          <varlistentry>
6021
            <term><option>--notemin
6022
            <replaceable>min</replaceable></option></term>
6023
6024
            <listitem>
6025
              <para>with this option, all marks below
6026
              <replaceable>min</replaceable> will be replaced by
6027
              <replaceable>min</replaceable>.</para>
6028
            </listitem>
6029
          </varlistentry>
6030
6031
          <varlistentry>
6032
            <term><option>--notemax
6033
            <replaceable>max</replaceable></option></term>
6034
6035
            <listitem>
6036
              <para>gives the mark to associate to a sheet where all answers
6037
              are correct. If not used, marks are not scaled.</para>
6038
            </listitem>
6039
          </varlistentry>
6040
6041
          <varlistentry>
6042
            <term><option>--plafond</option></term>
6043
6044
            <listitem>
6045
              <para>with this option, all marks above
6046
              <replaceable>max</replaceable> will be replaced by
6047
              <replaceable>max</replaceable>.</para>
6048
            </listitem>
6049
          </varlistentry>
6050
6051
          <varlistentry>
6052
            <term><option>--debug
6053
            <replaceable>file.log</replaceable></option></term>
6054
6055
            <listitem>
6056
              <para>gives a file to fill with debugging information.</para>
6057
            </listitem>
6058
          </varlistentry>
6059
6060
          <varlistentry>
6061
            <term><option>--postcorrect-student <replaceable>s</replaceable>
6062
            --postcorrect-copy <replaceable>c</replaceable></option></term>
6063
6064
            <listitem>
6065
              <para>requests port-correction from the completed answer sheet
6066
              identified by student and copy numbers. In post-correction mode,
6067
              correct answers are not extracted from the LaTeX source file,
6068
              but taken from the answers given on this sheet.</para>
6069
            </listitem>
6070
          </varlistentry>
6071
        </variablelist>
6072
      </refsect1>
6073
    </refentry>
6074
6075
    <refentry id="AMC-association-auto">
6076
      <refmeta>
6077
        <refentrytitle>AMC-association-auto</refentrytitle>
6078
6079
        <manvolnum>1</manvolnum>
6080
6081
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
6082
6083
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
6084
      </refmeta>
6085
6086
      <refnamediv>
6087
        <refname>AMC-association-auto</refname>
6088
6089
        <refpurpose>automatic association between students and answer sheets
6090
        for AMC multiple choice exams.</refpurpose>
6091
      </refnamediv>
6092
6093
      <refsynopsisdiv>
6094
        <cmdsynopsis>
6095
          <command>auto-multiple-choice</command>
6096
6097
          <arg choice="plain">association-auto</arg>
6098
6099
          <arg choice="plain">--data
6100
          <replaceable>project-data-dir</replaceable></arg>
6101
6102
          <arg choice="plain">--notes-id <replaceable>id</replaceable></arg>
6103
6104
          <arg choice="plain">--liste
6105
          <replaceable>students-list.csv</replaceable></arg>
6106
6107
          <arg>--encodage-liste <replaceable>list-encoding</replaceable></arg>
6108
6109
          <arg choice="plain">--liste-key <replaceable>key</replaceable></arg>
6110
        </cmdsynopsis>
6111
      </refsynopsisdiv>
6112
6113
      <refsect1>
6114
        <title>Description</title>
6115
6116
        <para>The <command>AMC-association-auto.pl</command> command
6117
        associates students with their answer sheet (when there are no errors
6118
        from students when coding their student number and no error during
6119
        data capture). See <xref linkend="sec.students.id"/> from English user
6120
        documentation for details.</para>
6121
6122
        <variablelist>
6123
          <varlistentry>
6124
            <term><option>--data
6125
            <replaceable>project-data-dir</replaceable></option></term>
6126
6127
            <listitem>
6128
              <para>gives the directory where data files are (see for example
6129
              <citerefentry>
6130
                  <refentrytitle>AMC-prepare</refentrytitle>
6131
6132
                  <manvolnum>1</manvolnum>
6133
                </citerefentry>).</para>
6134
            </listitem>
6135
          </varlistentry>
6136
6137
          <varlistentry>
6138
            <term><option>--notes-id
6139
            <replaceable>id</replaceable></option></term>
6140
6141
            <listitem>
6142
              <para>gives the identification string of the code provided for
6143
              student numbers (command <command>\AMCcode</command> in the
6144
              LaTeX source file).</para>
6145
            </listitem>
6146
          </varlistentry>
6147
6148
          <varlistentry>
6149
            <term><option>--pre-association</option></term>
6150
6151
            <listitem>
6152
              <para>if used, the <option>--notes-id</option> option is ignored
6153
              and the automatic association is made from the pre-association
6154
              data (command <command>\AMCassociation</command> in the LaTeX
6155
              source file).</para>
6156
            </listitem>
6157
          </varlistentry>
6158
6159
          <varlistentry>
6160
            <term><option>--liste
6161
            <replaceable>students-list.csv</replaceable></option></term>
6162
6163
            <listitem>
6164
              <para>gives the students list.</para>
6165
            </listitem>
6166
          </varlistentry>
6167
6168
          <varlistentry>
6169
            <term><option>--encodage-liste
6170
            <replaceable>list-encoding</replaceable></option></term>
6171
6172
            <listitem>
6173
              <para>gives the students list file encoding (default is
6174
              utf-8).</para>
6175
            </listitem>
6176
          </varlistentry>
6177
6178
          <varlistentry>
6179
            <term><option>--liste-key
6180
            <replaceable>key</replaceable></option></term>
6181
6182
            <listitem>
6183
              <para>gives the column name where to find the student number in
6184
              the students list.</para>
6185
            </listitem>
6186
          </varlistentry>
6187
6188
          <varlistentry>
6189
            <term><option>--debug
6190
            <replaceable>file.log</replaceable></option></term>
6191
6192
            <listitem>
6193
              <para>gives a file to fill with debugging information.</para>
6194
            </listitem>
6195
          </varlistentry>
6196
        </variablelist>
6197
      </refsect1>
6198
    </refentry>
6199
6200
    <refentry id="AMC-association">
6201
      <refmeta>
6202
        <refentrytitle>AMC-association</refentrytitle>
6203
6204
        <manvolnum>1</manvolnum>
6205
6206
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
6207
6208
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
6209
      </refmeta>
6210
6211
      <refnamediv>
6212
        <refname>AMC-association</refname>
6213
6214
        <refpurpose>manual association between students and answer sheets for
6215
        AMC multiple choice exams.</refpurpose>
6216
      </refnamediv>
6217
6218
      <refsynopsisdiv>
6219
        <cmdsynopsis>
6220
          <command>auto-multiple-choice</command>
6221
6222
          <arg choice="plain">association</arg>
6223
6224
          <arg choice="plain">--data
6225
          <replaceable>project-data-dir</replaceable></arg>
6226
6227
          <arg choice="plain">--list</arg>
6228
        </cmdsynopsis>
6229
6230
        <cmdsynopsis>
6231
          <command>auto-multiple-choice</command>
6232
6233
          <arg choice="plain">association</arg>
6234
6235
          <arg choice="plain">--data
6236
          <replaceable>project-data-dir</replaceable></arg>
6237
6238
          <arg choice="plain">--set</arg>
6239
6240
          <arg choice="plain">--student
6241
          <replaceable>student-sheet-number</replaceable></arg>
6242
6243
          <arg>--copy <replaceable>copy-number</replaceable></arg>
6244
6245
          <arg choice="plain">--id <replaceable>student-id</replaceable></arg>
6246
        </cmdsynopsis>
6247
      </refsynopsisdiv>
6248
6249
      <refsect1>
6250
        <title>Description</title>
6251
6252
        <para>The <command>AMC-association.pl</command> command handles
6253
        association data between students and their answer sheet.</para>
6254
6255
        <variablelist>
6256
          <varlistentry>
6257
            <term><option>--data
6258
            <replaceable>project-data-dir</replaceable></option></term>
6259
6260
            <listitem>
6261
              <para>gives the directory where data files are (see for example
6262
              <citerefentry>
6263
                  <refentrytitle>AMC-prepare</refentrytitle>
6264
6265
                  <manvolnum>1</manvolnum>
6266
                </citerefentry>).</para>
6267
            </listitem>
6268
          </varlistentry>
6269
        </variablelist>
6270
6271
        <para>With option <option>--list</option>, all association data is
6272
        output.</para>
6273
6274
        <para>With option <option>--set</option>, a manual association is
6275
        updated.</para>
6276
      </refsect1>
6277
    </refentry>
6278
6279
    <refentry id="AMC-export">
6280
      <refmeta>
6281
        <refentrytitle>AMC-export</refentrytitle>
6282
6283
        <manvolnum>1</manvolnum>
6284
6285
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
6286
6287
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
6288
      </refmeta>
6289
6290
      <refnamediv>
6291
        <refname>AMC-export</refname>
6292
6293
        <refpurpose>exports marks for AMC multiple choice exams.</refpurpose>
6294
      </refnamediv>
6295
6296
      <refsynopsisdiv>
6297
        <cmdsynopsis>
6298
          <command>auto-multiple-choice</command>
6299
6300
          <arg choice="plain">export</arg>
6301
6302
          <arg choice="plain">--data
6303
          <replaceable>project-data-dir</replaceable></arg>
6304
6305
          <arg choice="plain">--module <replaceable>module</replaceable></arg>
6306
6307
          <arg choice="plain">--fich-noms
6308
          <replaceable>students-list.csv</replaceable></arg>
6309
6310
          <arg>--noms-encodage <replaceable>list-encoding</replaceable></arg>
6311
6312
          <arg choice="plain">--o <replaceable>output-file</replaceable></arg>
6313
        </cmdsynopsis>
6314
      </refsynopsisdiv>
6315
6316
      <refsect1>
6317
        <title>Description</title>
6318
6319
        <para>The <command>AMC-export.pl</command> command exports marks from
6320
        an Auto Multiple Choice exam.</para>
6321
6322
        <variablelist>
6323
          <varlistentry>
6324
            <term><option>--data
6325
            <replaceable>project-data-dir</replaceable></option></term>
6326
6327
            <listitem>
6328
              <para>gives the directory where data files are (see for example
6329
              <citerefentry>
6330
                  <refentrytitle>AMC-prepare</refentrytitle>
6331
6332
                  <manvolnum>1</manvolnum>
6333
                </citerefentry>).</para>
6334
            </listitem>
6335
          </varlistentry>
6336
6337
          <varlistentry>
6338
            <term><option>--module
6339
            <replaceable>module</replaceable></option></term>
6340
6341
            <listitem>
6342
              <para>selects a module for export. See below for the modules
6343
              included in the AMC standard distribution.</para>
6344
            </listitem>
6345
          </varlistentry>
6346
6347
          <varlistentry>
6348
            <term><option>--fich-noms
6349
            <replaceable>students-list.csv</replaceable></option></term>
6350
6351
            <listitem>
6352
              <para>sets the students list file.</para>
6353
            </listitem>
6354
          </varlistentry>
6355
6356
          <varlistentry>
6357
            <term><option>--noms-encodage
6358
            <replaceable>list-encoding</replaceable></option></term>
6359
6360
            <listitem>
6361
              <para>selects an encoding for file
6362
              <replaceable>students-list.csv</replaceable> (default is
6363
              utf-8).</para>
6364
            </listitem>
6365
          </varlistentry>
6366
6367
          <varlistentry>
6368
            <term><option>--o
6369
            <replaceable>output-file</replaceable></option></term>
6370
6371
            <listitem>
6372
              <para>gives the output file name.</para>
6373
            </listitem>
6374
          </varlistentry>
6375
6376
          <varlistentry>
6377
            <term><option>--option-out
6378
            <replaceable>options</replaceable></option></term>
6379
6380
            <listitem>
6381
              <para>gives an option for selected module, in the form
6382
              <literal>key=value</literal> (see below for possible options for
6383
              each module). To specify multiple options, use
6384
              <option>--option</option> several times.</para>
6385
            </listitem>
6386
          </varlistentry>
6387
6388
          <varlistentry>
6389
            <term><option>--sort
6390
            <replaceable>sort-type</replaceable></option></term>
6391
6392
            <listitem>
6393
              <para>sort the students names, depending on
6394
              <replaceable>sort-type</replaceable>. If
6395
              <replaceable>sort-type</replaceable> is <literal>l</literal>,
6396
              use line number from students list file to sort. If
6397
              <replaceable>sort-type</replaceable> is <literal>m</literal>,
6398
              use mark (and name if marks are equal) to sort. If
6399
              <replaceable>sort-type</replaceable> is <literal>i</literal>,
6400
              use student number to sort. If
6401
              <replaceable>sort-type</replaceable> is <literal>n</literal>,
6402
              use name to sort (or line from students list if equal).</para>
6403
            </listitem>
6404
          </varlistentry>
6405
6406
          <varlistentry>
6407
            <term><option>--useall
6408
            <replaceable>all</replaceable></option></term>
6409
6410
            <listitem>
6411
              <para>if <replaceable>all</replaceable> is <literal>0</literal>
6412
              or empty, only students with a scanned answer sheet appears in
6413
              the output. If <replaceable>all</replaceable> is
6414
              <literal>1</literal>, all students in the students list appears
6415
              in the output.</para>
6416
            </listitem>
6417
          </varlistentry>
6418
        </variablelist>
6419
      </refsect1>
6420
6421
      <refsect1>
6422
        <title>Modules</title>
6423
6424
        <refsect2>
6425
          <title>OpenDocument</title>
6426
6427
          <para>With "<option>--module ods</option>", an OpenDocument (for use
6428
          by OpenOffice or LibreOffice for example) is produced. The following
6429
          options are recognized:</para>
6430
6431
          <variablelist>
6432
            <varlistentry>
6433
              <term>nom</term>
6434
6435
              <listitem>
6436
                <para>gives a name for the exam, to be written on the
6437
                beginning of the sheet.</para>
6438
              </listitem>
6439
            </varlistentry>
6440
6441
            <varlistentry>
6442
              <term>code</term>
6443
6444
              <listitem>
6445
                <para>gives an short name for the exam, to be used as a tab
6446
                name.</para>
6447
              </listitem>
6448
            </varlistentry>
6449
6450
            <varlistentry>
6451
              <term>columns</term>
6452
6453
              <listitem>
6454
                <para>sets the list of columns that are to be added to each
6455
                student. Default value is
6456
                <code>student.key,student.name</code>.</para>
6457
              </listitem>
6458
            </varlistentry>
6459
6460
            <varlistentry>
6461
              <term>stats</term>
6462
6463
              <listitem>
6464
                <para>with a true value, a table will be added with statistics
6465
                for all questions.</para>
6466
              </listitem>
6467
            </varlistentry>
6468
6469
            <varlistentry>
6470
              <term>statsindic</term>
6471
6472
              <listitem>
6473
                <para>with a true value, a table will be added with statistics
6474
                for all indicative questions.</para>
6475
              </listitem>
6476
            </varlistentry>
6477
          </variablelist>
6478
        </refsect2>
6479
6480
        <refsect2>
6481
          <title>CSV</title>
6482
6483
          <para>With "<option>--module CSV</option>", a CSV file is produced.
6484
          The following options are recognized:</para>
6485
6486
          <variablelist>
6487
            <varlistentry>
6488
              <term>columns</term>
6489
6490
              <listitem>
6491
                <para>sets the list of columns that are to be added to each
6492
                student. Default value is
6493
                <code>student.copy,student.key,student.name</code>.</para>
6494
              </listitem>
6495
            </varlistentry>
6496
6497
            <varlistentry>
6498
              <term>decimal</term>
6499
6500
              <listitem>
6501
                <para>sets the decimal point (default is a dot).</para>
6502
              </listitem>
6503
            </varlistentry>
6504
6505
            <varlistentry>
6506
              <term>encodage</term>
6507
6508
              <listitem>
6509
                <para>sets the encoding to use for output (default is
6510
                utf-8).</para>
6511
              </listitem>
6512
            </varlistentry>
6513
6514
            <varlistentry>
6515
              <term>separateur</term>
6516
6517
              <listitem>
6518
                <para>sets the character used between colums (default is a
6519
                comma).</para>
6520
              </listitem>
6521
            </varlistentry>
6522
6523
            <varlistentry>
6524
              <term>entoure</term>
6525
6526
              <listitem>
6527
                <para>sets the character used to enclose strings (default is a
6528
                double quote).</para>
6529
              </listitem>
6530
            </varlistentry>
6531
6532
            <varlistentry>
6533
              <term>ticked</term>
6534
6535
              <listitem>
6536
                <para>if not empty, additional columns (with
6537
                "<literal>CHECKED:</literal>" prefix) are included to give all
6538
                the checked boxes on all the sheets. This can be used by an
6539
                external program to retrieve all the checked boxes when marks
6540
                are not sufficient. Use value <literal>01</literal> to get
6541
                0;0;1;1;0 if boxes 3 and 4 are checked, and value
6542
                <literal>AB</literal> to get CD if boxes 3 and 4 are
6543
                checked.</para>
6544
              </listitem>
6545
            </varlistentry>
6546
          </variablelist>
6547
        </refsect2>
6548
6549
        <refsect2>
6550
          <title>List</title>
6551
6552
          <para>With "<option>--module List</option>", a PDF file is produced
6553
          with a list of marks for all students. The following options are
6554
          recognized:</para>
6555
6556
          <variablelist>
6557
            <varlistentry>
6558
              <term>pagesize</term>
6559
6560
              <listitem>
6561
                <para>The page size. Default value is <code>a4</code>.</para>
6562
              </listitem>
6563
            </varlistentry>
6564
6565
            <varlistentry>
6566
              <term>nom</term>
6567
6568
              <listitem>
6569
                <para>gives the name of the exam, to be printed at the top of
6570
                the page.</para>
6571
              </listitem>
6572
            </varlistentry>
6573
6574
            <varlistentry>
6575
              <term>ncols</term>
6576
6577
              <listitem>
6578
                <para>The number of columns. Default value is 2.</para>
6579
              </listitem>
6580
            </varlistentry>
6581
6582
            <varlistentry>
6583
              <term>decimal</term>
6584
6585
              <listitem>
6586
                <para>sets the decimal point (default is a dot).</para>
6587
              </listitem>
6588
            </varlistentry>
6589
          </variablelist>
6590
        </refsect2>
6591
      </refsect1>
6592
    </refentry>
6593
6594
    <refentry id="AMC-annote">
6595
      <refmeta>
6596
        <refentrytitle>AMC-annotate</refentrytitle>
6597
6598
        <manvolnum>1</manvolnum>
6599
6600
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
6601
6602
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
6603
      </refmeta>
6604
6605
      <refnamediv>
6606
        <refname>AMC-annotate</refname>
6607
6608
        <refpurpose>completed answer sheets annotation after marking for AMC
6609
        multiple choice exams.</refpurpose>
6610
      </refnamediv>
6611
6612
      <refsynopsisdiv>
6613
        <cmdsynopsis>
6614
          <command>auto-multiple-choice</command>
6615
6616
          <arg choice="plain">annotate</arg>
6617
6618
          <arg choice="plain">--projet
6619
          <replaceable>project-dir</replaceable></arg>
6620
6621
          <arg choice="plain">--names-file
6622
          <replaceable>students.csv</replaceable></arg>
6623
6624
          <arg rep="repeat">annotation options</arg>
6625
        </cmdsynopsis>
6626
      </refsynopsisdiv>
6627
6628
      <refsect1>
6629
        <title>Description</title>
6630
6631
        <para>The <command>AMC-annotate.pl</command> command annotates papers
6632
        scans with scores for all questions, global score and mark, resulting
6633
        in PDF files (one for each student, or one single file).</para>
6634
6635
        <refsect2>
6636
          <title>General options</title>
6637
6638
          <variablelist>
6639
            <varlistentry>
6640
              <term><option>--projet
6641
              <replaceable>project-dir</replaceable></option></term>
6642
6643
              <listitem>
6644
                <para>sets the project name or directory.</para>
6645
              </listitem>
6646
            </varlistentry>
6647
6648
            <varlistentry>
6649
              <term><option>--data
6650
              <replaceable>project-data-dir</replaceable></option></term>
6651
6652
              <listitem>
6653
                <para>gives the directory where data files are (default value
6654
                is
6655
                <filename><replaceable>project-dir</replaceable>/data</filename>).</para>
6656
              </listitem>
6657
            </varlistentry>
6658
6659
            <varlistentry>
6660
              <term><option>--pdf-dir
6661
              <replaceable>pdf-dir</replaceable></option></term>
6662
6663
              <listitem>
6664
                <para>sets the project pdf directory, where to output
6665
                annotated scans (default value is
6666
                <filename><replaceable>project-dir</replaceable>/cr/corrections/pdf</filename>).</para>
6667
              </listitem>
6668
            </varlistentry>
6669
6670
            <varlistentry>
6671
              <term><option>--names-file
6672
              <replaceable>students-list.csv</replaceable></option></term>
6673
6674
              <listitem>
6675
                <para>sets the students list file name.</para>
6676
              </listitem>
6677
            </varlistentry>
6678
6679
            <varlistentry>
6680
              <term><option>--names-encoding
6681
              <replaceable>encoding</replaceable></option></term>
6682
6683
              <listitem>
6684
                <para>selects an encoding for file
6685
                <replaceable>students-list.csv</replaceable> (default is
6686
                utf-8).</para>
6687
              </listitem>
6688
            </varlistentry>
6689
6690
            <varlistentry>
6691
              <term><option>--association-key
6692
              <replaceable>key</replaceable></option></term>
6693
6694
              <listitem>
6695
                <para>sets the key (column name in the students list file)
6696
                that is used for association. Default value is stored in the
6697
                database from value actually used for association, so this
6698
                option should not be used.</para>
6699
              </listitem>
6700
            </varlistentry>
6701
6702
            <varlistentry>
6703
              <term><option>--subject
6704
              <replaceable>subject.pdf</replaceable></option></term>
6705
6706
              <listitem>
6707
                <para>sets the path to the PDF question file (default is
6708
                <filename><replaceable>project-dir</replaceable>/DOC-sujet.pdf</filename>).</para>
6709
              </listitem>
6710
            </varlistentry>
6711
6712
            <varlistentry>
6713
              <term><option>--compose
6714
              <replaceable>mode</replaceable></option></term>
6715
6716
              <listitem>
6717
                <para>use this option if you want to take pages from the
6718
                subject when there is no boxes to be filled on them (for
6719
                example, question pages before the annotated answer sheet).
6720
                When <replaceable>mode</replaceable> equals 1, the pages are
6721
                taken from the subject, are filled or not according to the
6722
                student's answers (the same as on the answer sheet), and the
6723
                same correction marks are drawn as on the answer sheet. When
6724
                mode equals 2, the pages are taken from the corrected answer
6725
                sheet (so the ticked answers are the correct ones), and no
6726
                correction marks are drawn.</para>
6727
              </listitem>
6728
            </varlistentry>
6729
6730
            <varlistentry>
6731
              <term><option>--corrected
6732
              <replaceable>corrected.pdf</replaceable></option></term>
6733
6734
              <listitem>
6735
                <para>sets the path to the PDF corrected subject (default is
6736
                <filename><replaceable>project-dir</replaceable>/DOC-corrected.pdf</filename>).
6737
                If not present, this file will be built using values from
6738
                options <option>--n-copies</option>, <option>--with</option>,
6739
                <option>--filter</option> and
6740
                <option>--filtered-source</option>).</para>
6741
              </listitem>
6742
            </varlistentry>
6743
6744
            <varlistentry>
6745
              <term><option>--darkness-threshold
6746
              <replaceable>t</replaceable></option></term>
6747
6748
              <listitem>
6749
                <para>sets the darkness threshold. Default value is stored in
6750
                the database from value actually used for scoring, so this
6751
                option should not be used.</para>
6752
              </listitem>
6753
            </varlistentry>
6754
6755
            <varlistentry>
6756
              <term><option>--csv-build-name
6757
              <replaceable>name-model</replaceable></option></term>
6758
6759
              <listitem>
6760
                <para>sets the model for building students names from the
6761
                students list file. Default value is '<code>(nom|surname)
6762
                (prenom|name)</code>', so that the name is built using the
6763
                <code>nom</code> column content (or the <code>surname</code>
6764
                column if the <code>nom</code> column does not exist),
6765
                followed by the content of the <code>prenom</code> column (or
6766
                the <code>name</code> column), so that the result should be OK
6767
                for French or English simple CSV files.</para>
6768
              </listitem>
6769
            </varlistentry>
6770
6771
            <varlistentry>
6772
              <term><option>--id-file
6773
              <replaceable>ids.txt</replaceable></option></term>
6774
6775
              <listitem>
6776
                <para>gives a filename where to find the ids of copies to
6777
                annotate (one per line, either the student number if photocopy
6778
                mode is off, or
6779
                <code><replaceable>student</replaceable>:<replaceable>copy</replaceable></code>
6780
                if the photocopy mode is on). If no file is given, then all
6781
                copies will be annotated.</para>
6782
              </listitem>
6783
            </varlistentry>
6784
6785
            <varlistentry>
6786
              <term><option>--debug
6787
              <replaceable>file.log</replaceable></option></term>
6788
6789
              <listitem>
6790
                <para>gives a file to fill with debugging information.</para>
6791
              </listitem>
6792
            </varlistentry>
6793
          </variablelist>
6794
        </refsect2>
6795
6796
        <refsect2>
6797
          <title>PDF output options</title>
6798
6799
          <variablelist>
6800
            <varlistentry>
6801
              <term><option>--single-output</option></term>
6802
6803
              <listitem>
6804
                <para>use this option if you need all annotated copies in a
6805
                single PDF file. Default behavior is to build one PDF file per
6806
                student.</para>
6807
              </listitem>
6808
            </varlistentry>
6809
6810
            <varlistentry>
6811
              <term><option>--sort
6812
              <replaceable>s</replaceable></option></term>
6813
6814
              <listitem>
6815
                <para>sets the sort key (only useful when using
6816
                <option>--single-output</option>): use</para>
6817
6818
                <variablelist>
6819
                  <varlistentry>
6820
                    <term>l</term>
6821
6822
                    <listitem>
6823
                      <para>to keep students in the same order as in the
6824
                      students list file.</para>
6825
                    </listitem>
6826
                  </varlistentry>
6827
6828
                  <varlistentry>
6829
                    <term>m</term>
6830
6831
                    <listitem>
6832
                      <para>to sort students according to their marks.</para>
6833
                    </listitem>
6834
                  </varlistentry>
6835
6836
                  <varlistentry>
6837
                    <term>i</term>
6838
6839
                    <listitem>
6840
                      <para>to sort students according to the copy id.</para>
6841
                    </listitem>
6842
                  </varlistentry>
6843
6844
                  <varlistentry>
6845
                    <term>n</term>
6846
6847
                    <listitem>
6848
                      <para>to sort students according to their names.</para>
6849
                    </listitem>
6850
                  </varlistentry>
6851
                </variablelist>
6852
              </listitem>
6853
            </varlistentry>
6854
6855
            <varlistentry>
6856
              <term><option>--filename-model
6857
              <replaceable>model</replaceable></option></term>
6858
6859
              <listitem>
6860
                <para>sets a file name model for annotated PDFs. In this
6861
                model, some sequences will be substituted:</para>
6862
6863
                <variablelist>
6864
                  <varlistentry>
6865
                    <term><literal>(N)</literal></term>
6866
6867
                    <listitem>
6868
                      <para>is replaced by the student's name (see
6869
                      <option>--csv-build-name</option>).</para>
6870
                    </listitem>
6871
                  </varlistentry>
6872
6873
                  <varlistentry>
6874
                    <term><literal>(ID)</literal></term>
6875
6876
                    <listitem>
6877
                      <para>is replaced by the student number.</para>
6878
                    </listitem>
6879
                  </varlistentry>
6880
6881
                  <varlistentry>
6882
                    <term><literal>(<replaceable>COL</replaceable>)</literal></term>
6883
6884
                    <listitem>
6885
                      <para>is replaced by the value of column
6886
                      <replaceable>COL</replaceable> in the students list for
6887
                      the current student.</para>
6888
                    </listitem>
6889
                  </varlistentry>
6890
                </variablelist>
6891
6892
                <para>The default value is
6893
                '<literal>(N)-(ID).pdf</literal>'.</para>
6894
              </listitem>
6895
            </varlistentry>
6896
          </variablelist>
6897
        </refsect2>
6898
6899
        <refsect2>
6900
          <title>Source file options</title>
6901
6902
          <para>These options are used when the <option>--corrected</option>
6903
          path points to a non-existing file, so that this file can be
6904
          rebuilt.</para>
6905
6906
          <variablelist>
6907
            <varlistentry>
6908
              <term><option>--src <replaceable>mcq-source-file</replaceable>
6909
              --n-copies <replaceable>n</replaceable> --with
6910
              <replaceable>latex-engine</replaceable> --filter
6911
              <replaceable>filter-name</replaceable> --filtered-source
6912
              <replaceable>fs.tex</replaceable></option></term>
6913
6914
              <listitem>
6915
                <para>see <citerefentry>
6916
                    <refentrytitle>AMC-prepare</refentrytitle>
6917
6918
                    <manvolnum>1</manvolnum>
6919
                  </citerefentry>.</para>
6920
              </listitem>
6921
            </varlistentry>
6922
          </variablelist>
6923
        </refsect2>
6924
6925
        <refsect2>
6926
          <title>Options for embedded scans</title>
6927
6928
          <para>When present, scans are embedded in the annotated PDF file.
6929
          The following options control the quality of the embedded scans, to
6930
          reduce the annotated file size.</para>
6931
6932
          <variablelist>
6933
            <varlistentry>
6934
              <term><option>--embedded-max-size
6935
              <replaceable>maxsize</replaceable></option></term>
6936
6937
              <listitem>
6938
                <para>sets the maximal size for scans (in the format
6939
                <literal><replaceable>width</replaceable>x<replaceable>height</replaceable></literal>,
6940
                in pixels). Default value is the empty string, which means
6941
                there is no maximum size. Scans that are larger will be
6942
                reduced before being included in the annotated file.</para>
6943
              </listitem>
6944
            </varlistentry>
6945
6946
            <varlistentry>
6947
              <term><option>--embedded-format
6948
              <replaceable>format</replaceable></option></term>
6949
6950
              <listitem>
6951
                <para>sets the format for scans inclusion:
6952
                <replaceable>jpeg</replaceable> or
6953
                <replaceable>png</replaceable>.</para>
6954
              </listitem>
6955
            </varlistentry>
6956
6957
            <varlistentry>
6958
              <term><option>--embedded-jpeg-quality
6959
              <replaceable>quality</replaceable></option></term>
6960
6961
              <listitem>
6962
                <para>sets the JPEG quality (from 1 to 100) for jpeg embedded
6963
                scans.</para>
6964
              </listitem>
6965
            </varlistentry>
6966
          </variablelist>
6967
        </refsect2>
6968
6969
        <refsect2>
6970
          <title>Annotation options</title>
6971
6972
          <para>These options controls what kind of annotations are being to
6973
          be drawn.</para>
6974
6975
          <variablelist>
6976
            <varlistentry>
6977
              <term><option>--font-size
6978
              <replaceable>fs</replaceable></option></term>
6979
6980
              <listitem>
6981
                <para>sets the font size, in points, for annotations.</para>
6982
              </listitem>
6983
            </varlistentry>
6984
6985
            <varlistentry>
6986
              <term><option>--text-color
6987
              <replaceable>color</replaceable></option></term>
6988
6989
              <listitem>
6990
                <para>text color for annotations. Default value is
6991
                <replaceable>red</replaceable>.</para>
6992
              </listitem>
6993
            </varlistentry>
6994
6995
            <varlistentry>
6996
              <term><option>--verdict
6997
              <replaceable>header</replaceable></option></term>
6998
6999
              <listitem>
7000
                <para>sets the text header to be printed on each first page of
7001
                the students copies. This text may contain CR characters for
7002
                multi-line headers. Some sequences are substituted in
7003
                it:</para>
7004
7005
                <variablelist>
7006
                  <varlistentry>
7007
                    <term><literal>%S</literal></term>
7008
7009
                    <listitem>
7010
                      <para>is replaced by the student total score.</para>
7011
                    </listitem>
7012
                  </varlistentry>
7013
7014
                  <varlistentry>
7015
                    <term><literal>%M</literal></term>
7016
7017
                    <listitem>
7018
                      <para>is replaced by the maximum total score.</para>
7019
                    </listitem>
7020
                  </varlistentry>
7021
7022
                  <varlistentry>
7023
                    <term><literal>%s</literal></term>
7024
7025
                    <listitem>
7026
                      <para>is replaced by the student mark.</para>
7027
                    </listitem>
7028
                  </varlistentry>
7029
7030
                  <varlistentry>
7031
                    <term><literal>%m</literal></term>
7032
7033
                    <listitem>
7034
                      <para>is replaced by the maximum mark.</para>
7035
                    </listitem>
7036
                  </varlistentry>
7037
7038
                  <varlistentry>
7039
                    <term><literal>%(ID)</literal></term>
7040
7041
                    <listitem>
7042
                      <para>is replaced by the student's name.</para>
7043
                    </listitem>
7044
                  </varlistentry>
7045
7046
                  <varlistentry>
7047
                    <term><literal>%(<replaceable>COL</replaceable>)</literal></term>
7048
7049
                    <listitem>
7050
                      <para>is replaced by the value of column
7051
                      <replaceable>COL</replaceable> in the students list for
7052
                      the current student.</para>
7053
                    </listitem>
7054
                  </varlistentry>
7055
                </variablelist>
7056
              </listitem>
7057
            </varlistentry>
7058
7059
            <varlistentry>
7060
              <term><option>--position
7061
              <replaceable>pos</replaceable></option></term>
7062
7063
              <listitem>
7064
                <para>sets the position where question scores are to be
7065
                written:</para>
7066
7067
                <variablelist>
7068
                  <varlistentry>
7069
                    <term>marge</term>
7070
7071
                    <listitem>
7072
                      <para>the scores will be written in the left
7073
                      margin</para>
7074
                    </listitem>
7075
                  </varlistentry>
7076
7077
                  <varlistentry>
7078
                    <term>marges</term>
7079
7080
                    <listitem>
7081
                      <para>the scores will be written in the closest margin
7082
                      (left or right).</para>
7083
                    </listitem>
7084
                  </varlistentry>
7085
7086
                  <varlistentry>
7087
                    <term>case</term>
7088
7089
                    <listitem>
7090
                      <para>the scores will be written near the boxes</para>
7091
                    </listitem>
7092
                  </varlistentry>
7093
7094
                  <varlistentry>
7095
                    <term>none</term>
7096
7097
                    <listitem>
7098
                      <para>the scores won't be written.</para>
7099
                    </listitem>
7100
                  </varlistentry>
7101
                </variablelist>
7102
              </listitem>
7103
            </varlistentry>
7104
7105
            <varlistentry>
7106
              <term>--verdict-question
7107
              <replaceable>perl-expression</replaceable></term>
7108
7109
              <listitem>
7110
                <para>sets the text to be printed next to all questions,
7111
                through a perl expression to be evaluated (if you need a
7112
                simple text, simply quote it with <code>"</code>). Some
7113
                sequences are substituted in it before evaluation:</para>
7114
7115
                <variablelist>
7116
                  <varlistentry>
7117
                    <term><literal>%S</literal></term>
7118
7119
                    <listitem>
7120
                      <para>is replaced by the student score for this
7121
                      question.</para>
7122
                    </listitem>
7123
                  </varlistentry>
7124
7125
                  <varlistentry>
7126
                    <term><literal>%M</literal></term>
7127
7128
                    <listitem>
7129
                      <para>is replaced by the maximum score for this
7130
                      question.</para>
7131
                    </listitem>
7132
                  </varlistentry>
7133
7134
                  <varlistentry>
7135
                    <term><literal>%s</literal></term>
7136
7137
                    <listitem>
7138
                      <para>is the same as <code>%S</code>, but rounded to
7139
                      <replaceable>nc</replaceable> significant digits (see
7140
                      option <option>--ch-sign</option>).</para>
7141
                    </listitem>
7142
                  </varlistentry>
7143
7144
                  <varlistentry>
7145
                    <term><literal>%m</literal></term>
7146
7147
                    <listitem>
7148
                      <para>is the same as <code>%M</code>, but rounded to
7149
                      <replaceable>nc</replaceable> significant digits (see
7150
                      option <option>--ch-sign</option>).</para>
7151
                    </listitem>
7152
                  </varlistentry>
7153
                </variablelist>
7154
7155
                <para>A standard value for this option is
7156
                <code>"\"%s/%m\""</code>. You can also use tests (with the
7157
                perl syntax <code>( TEST ? IF-YES : IF-NO )</code>) to write
7158
                <emphasis>Valid</emphasis> if the score is the maximal score,
7159
                or <emphasis>Failed</emphasis> if not, using</para>
7160
7161
                <programlisting>--verdict-question "(%S==%M ? \"Valid\" : \"Failed\")"</programlisting>
7162
              </listitem>
7163
            </varlistentry>
7164
7165
            <varlistentry>
7166
              <term>--verdict-question-cancelled
7167
              <replaceable>perl-expression</replaceable></term>
7168
7169
              <listitem>
7170
                <para>same as <option>--verdict-question</option>, but applies
7171
                for cancelled questions (see <code>allowempty</code> scoring
7172
                strategy). The default value is <code>"X"</code>.</para>
7173
              </listitem>
7174
            </varlistentry>
7175
7176
            <varlistentry>
7177
              <term><option>--indicatives</option></term>
7178
7179
              <listitem>
7180
                <para>use this option to request boxes annotation for
7181
                indicative questions (these questions' scores won't be taken
7182
                into account while computing the global score. The
7183
                correct/wrong status is often irrelevant for these questions,
7184
                so there is no point correcting the corresponding
7185
                boxes).</para>
7186
              </listitem>
7187
            </varlistentry>
7188
7189
            <varlistentry>
7190
              <term><option>--line-width
7191
              <replaceable>width</replaceable></option></term>
7192
7193
              <listitem>
7194
                <para>sets the line width (in points) when drawing symbols to
7195
                correct answers.</para>
7196
              </listitem>
7197
            </varlistentry>
7198
7199
            <varlistentry>
7200
              <term><option>--symbols
7201
              <replaceable>symbols-definition</replaceable></option></term>
7202
7203
              <listitem>
7204
                <para>defines how boxes will be annotated. symbols-definition
7205
                is a comma separated list of
7206
                <literal><replaceable>H</replaceable>-<replaceable>A</replaceable>:<replaceable>shape</replaceable>:<replaceable>color</replaceable></literal>
7207
                constructs, where <replaceable>H</replaceable> is
7208
                <literal>0</literal> or <literal>1</literal> depending on
7209
                whether the box has to be checked or not,
7210
                <replaceable>A</replaceable> is <literal>0</literal> or
7211
                <literal>1</literal> depending on whether the box is actually
7212
                checked or not, <replaceable>shape</replaceable> is one of
7213
                <literal>none</literal>, <literal>circle</literal>,
7214
                <literal>mark</literal>, <literal>box</literal> and
7215
                <replaceable>color</replaceable> is a color (name or #RGB, see
7216
                ImageMagick or GraphicsMagick documentation for details).
7217
                Default value is
7218
                "<code>0-0:none,0-1:circle:red,1-0:mark:red,1-1:mark:blue</code>".</para>
7219
              </listitem>
7220
            </varlistentry>
7221
          </variablelist>
7222
        </refsect2>
7223
7224
        <refsect2>
7225
          <title>Lengths</title>
7226
7227
          <para>The following length can be given with a unit
7228
          (<code>in</code>, <code>ft</code>, <code>pt</code>, <code>cm</code>
7229
          or <code>mm</code>).</para>
7230
7231
          <variablelist>
7232
            <varlistentry>
7233
              <term><option>--dist-to-box
7234
              <replaceable>d</replaceable></option></term>
7235
7236
              <listitem>
7237
                <para>sets the distance from the boxes (going left) where to
7238
                write questions scores when using <option>--position
7239
                case</option>.Defaults to <code>1cm</code>.</para>
7240
              </listitem>
7241
            </varlistentry>
7242
7243
            <varlistentry>
7244
              <term><option>--dist-margin
7245
              <replaceable>d</replaceable></option></term>
7246
7247
              <listitem>
7248
                <para>sets the margin size. Defaults to
7249
                <code>5mm</code>.</para>
7250
              </listitem>
7251
            </varlistentry>
7252
7253
            <varlistentry>
7254
              <term><option>--dist-margin-global
7255
              <replaceable>d</replaceable></option></term>
7256
7257
              <listitem>
7258
                <para>sets the margin size for the header. Defaults to
7259
                <code>3mm</code>.</para>
7260
              </listitem>
7261
            </varlistentry>
7262
          </variablelist>
7263
        </refsect2>
7264
      </refsect1>
7265
    </refentry>
7266
7267
    <refentry>
7268
      <refmeta>
7269
        <refentrytitle>AMC-mailing</refentrytitle>
7270
7271
        <manvolnum>1</manvolnum>
7272
7273
        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>
7274
7275
        <refmiscinfo class="version">@/PACKAGE_V_DEB/@</refmiscinfo>
7276
      </refmeta>
7277
7278
      <refnamediv>
7279
        <refname>AMC-mailing</refname>
7280
7281
        <refpurpose>mail PDF annotated completed answer sheets to
7282
        students</refpurpose>
7283
      </refnamediv>
7284
7285
      <refsynopsisdiv>
7286
        <cmdsynopsis>
7287
          <command>auto-multiple-choice</command>
7288
7289
          <arg choice="plain">mailing</arg>
7290
7291
          <arg>--xmlargs <replaceable>args.xml</replaceable></arg>
7292
7293
          <arg choice="plain">--project
7294
          <replaceable>project-dir</replaceable></arg>
7295
7296
          <arg choice="plain">--students-list
7297
          <replaceable>students-list.csv</replaceable></arg>
7298
7299
          <arg>--list-encoding <replaceable>encoding</replaceable></arg>
7300
7301
          <arg choice="plain">--email-column
7302
          <replaceable>col</replaceable></arg>
7303
7304
          <arg choice="plain">--sender
7305
          <replaceable>sender-email</replaceable></arg>
7306
7307
          <arg choice="plain">--subject
7308
          <replaceable>subject</replaceable></arg>
7309
7310
          <arg choice="plain">--text
7311
          <replaceable>email-body</replaceable></arg>
7312
7313
          <arg>--text-content-type
7314
          <replaceable>content-type</replaceable></arg>
7315
7316
          <arg>--debug <replaceable>file.log</replaceable></arg>
7317
7318
          <arg rep="repeat"><replaceable>transport
7319
          arguments</replaceable></arg>
7320
        </cmdsynopsis>
7321
      </refsynopsisdiv>
7322
7323
      <refsect1>
7324
        <title>Description</title>
7325
7326
        <para>The command <command>AMC-mailing.pl</command> sends by email the
7327
        PDF annotated completed answer sheets to the students. Email addresses
7328
        are taken from the students list file.</para>
7329
7330
        <variablelist>
7331
          <varlistentry>
7332
            <term><option>--project
7333
            <replaceable>project-dir</replaceable></option></term>
7334
7335
            <listitem>
7336
              <para>Gives the project directory.</para>
7337
            </listitem>
7338
          </varlistentry>
7339
7340
          <varlistentry>
7341
            <term><option>--students-list
7342
            <replaceable>students-list.csv</replaceable></option></term>
7343
7344
            <listitem>
7345
              <para>sets the students list file name.</para>
7346
            </listitem>
7347
          </varlistentry>
7348
7349
          <varlistentry>
7350
            <term><option>--list-encoding
7351
            <replaceable>encoding</replaceable></option></term>
7352
7353
            <listitem>
7354
              <para>selects an encoding for file
7355
              <replaceable>students-list.csv</replaceable> (default is
7356
              utf-8).</para>
7357
            </listitem>
7358
          </varlistentry>
7359
7360
          <varlistentry>
7361
            <term><option>--email-column
7362
            <replaceable>col</replaceable></option></term>
7363
7364
            <listitem>
7365
              <para>sets the name of the column containing the email addresses
7366
              of the students in the students list file.</para>
7367
            </listitem>
7368
          </varlistentry>
7369
7370
          <varlistentry>
7371
            <term><option>--sender
7372
            <replaceable>sender-email</replaceable></option></term>
7373
7374
            <listitem>
7375
              <para>sets the sender email.</para>
7376
            </listitem>
7377
          </varlistentry>
7378
7379
          <varlistentry>
7380
            <term><option>--cc
7381
            <replaceable>cc-email-address</replaceable></option></term>
7382
7383
            <listitem>
7384
              <para>sets the carbon copy email address.</para>
7385
            </listitem>
7386
          </varlistentry>
7387
7388
          <varlistentry>
7389
            <term><option>--bcc
7390
            <replaceable>bcc-email-address</replaceable></option></term>
7391
7392
            <listitem>
7393
              <para>sets the blind carbon copy email address.</para>
7394
            </listitem>
7395
          </varlistentry>
7396
7397
          <varlistentry>
7398
            <term><option>--subject
7399
            <replaceable>subject</replaceable></option></term>
7400
7401
            <listitem>
7402
              <para>sets the subject of the emails to send.</para>
7403
            </listitem>
7404
          </varlistentry>
7405
7406
          <varlistentry>
7407
            <term><option>--text
7408
            <replaceable>email-body</replaceable></option></term>
7409
7410
            <listitem>
7411
              <para>sets the body text of the emails to send.</para>
7412
            </listitem>
7413
          </varlistentry>
7414
7415
          <varlistentry>
7416
            <term><option>--text-content-type
7417
            <replaceable>content-type</replaceable></option></term>
7418
7419
            <listitem>
7420
              <para>sets the content-type of email text.
7421
              <replaceable>content-type</replaceable> may be
7422
              <constant>text/plain</constant> or
7423
              <constant>text/html</constant>.</para>
7424
            </listitem>
7425
          </varlistentry>
7426
7427
          <varlistentry>
7428
            <term><option>--attach
7429
            <replaceable>filename</replaceable></option></term>
7430
7431
            <listitem>
7432
              <para>adds file <replaceable>filename</replaceable> as an
7433
              attachment to all emails sent. Use this option several times to
7434
              attach multiple files.</para>
7435
            </listitem>
7436
          </varlistentry>
7437
7438
          <varlistentry>
7439
            <term><option>--transport
7440
            <replaceable>transport</replaceable></option></term>
7441
7442
            <listitem>
7443
              <para>sets the transport to use.
7444
              <replaceable>transport</replaceable> may be
7445
              <constant>sendmail</constant> or
7446
              <constant>SMTP</constant>.</para>
7447
            </listitem>
7448
          </varlistentry>
7449
7450
          <varlistentry>
7451
            <term><option>--debug
7452
            <replaceable>file.log</replaceable></option></term>
7453
7454
            <listitem>
7455
              <para>gives a file to fill with debugging information.</para>
7456
            </listitem>
7457
          </varlistentry>
7458
        </variablelist>
7459
      </refsect1>
7460
7461
      <refsect1>
7462
        <title>Transport arguments</title>
7463
7464
        <para>Depending on the value used for argument
7465
        <replaceable>transport</replaceable>, the following arguments can be
7466
        added:</para>
7467
7468
        <refsect2>
7469
          <title>Transport sendmail</title>
7470
7471
          <variablelist>
7472
            <varlistentry>
7473
              <term><option>--sendmail-path
7474
              <replaceable>path</replaceable></option></term>
7475
7476
              <listitem>
7477
                <para>sets the path to the <command>sendmail</command> command
7478
                (defaults to <filename>/usr/sbin/sendmail</filename>).</para>
7479
              </listitem>
7480
            </varlistentry>
7481
          </variablelist>
7482
        </refsect2>
7483
7484
        <refsect2>
7485
          <title>Transport SMTP</title>
7486
7487
          <variablelist>
7488
            <varlistentry>
7489
              <term><option>--smtp-host
7490
              <replaceable>host</replaceable></option></term>
7491
7492
              <listitem>
7493
                <para>sets the SMTP hostname (defaults to
7494
                <constant>smtp</constant>).</para>
7495
              </listitem>
7496
            </varlistentry>
7497
7498
            <varlistentry>
7499
              <term><option>--smtp-port
7500
              <replaceable>port</replaceable></option></term>
7501
7502
              <listitem>
7503
                <para>sets the port to use (default value is 25).</para>
7504
              </listitem>
7505
            </varlistentry>
7506
          </variablelist>
7507
        </refsect2>
7508
      </refsect1>
7509
7510
      <refsect1>
7511
        <title>Arguments in a XML file</title>
7512
7513
        <para>To avoid encoding problems, one can place some arguments in a
7514
        XML file and use the <option>--xmlargs
7515
        <replaceable>file.xml</replaceable></option> argument as the first
7516
        command argument. Here is an example of such a file:</para>
7517
7518
        <programlisting>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
7519
&lt;arguments&gt;
7520
  &lt;arg&gt;--sender&lt;/arg&gt;&lt;arg&gt;Bienvenüe &amp;lt;paamc@passoire.fr&amp;gt;&lt;/arg&gt;
7521
  &lt;arg&gt;--text&lt;/arg&gt;&lt;arg&gt;Voilà votre copie corrigée&lt;/arg&gt;
7522
  &lt;arg&gt;--subject&lt;/arg&gt;&lt;arg&gt;QCM&lt;/arg&gt;
7523
&lt;/arguments&gt;</programlisting>
7524
      </refsect1>
7525
    </refentry>
7526
  </sect1>
7527
</article>