AMC

Multiple Choice sheets automated marking

Alternative usages

Photocopied subject

As explained in Printing and exam, it is not always possible to photocopy one answer sheet to give to several students. However, when using a separate answer sheet and when questions and answers are not to be shuffled, you can photocopy the subject, and print all the answer sheets separately. We detail here the proper way to follow.

  • Use separateanswersheet package option (see Package options).

  • Write the subject before calling \onecopy command or outside examcopy environment.

  • Use \AMCformS to output answer boxes in each answer sheet, inside \onecopy/examcopy.

Here is a minimal example:

\documentclass[a4paper]{article}
\usepackage[separateanswersheet]{automultiplechoice}
\begin{document}

\noindent{\bf Subject}

\begin{question}{sum}
  How much are one plus one?
  \begin{choices}
    \wrongchoice{1}
    \correctchoice{2}
    \wrongchoice{3}
  \end{choices}
\end{question}

\begin{question}{k2}
  How high is the K2?
  \begin{choices}
    \wrongchoice{around 8000m}
    \correctchoice{around 8600m}
    \wrongchoice{around 9000m}
  \end{choices}
\end{question}

\AMCcleardoublepage

\onecopy{5}{

\AMCformBegin

{\large\bf Answer sheet:}
\hfill \namefield{\fbox{
    \begin{minipage}{.5\linewidth}
      Name:

      \vspace*{.5cm}\dotfill
      \vspace*{1mm}
    \end{minipage}
  }}

\AMCformS

}

\end{document}

You will get from this LaTeX file one subject (sheet numbered 0) to print and photocopy to all students, and several answer sheets to print (one for each student).

Post correcting

Suppose you want to use a single generic answer sheet for all your exams. You simply print answer boxes on it (say 5 for each questions, and 40 questions), and give the students a subject that you wrote somewhere else. The point here is that the correct choices are not pointed out in the LaTeX file, so that AMC does not know about them. The solution is to give one answer sheet to the teacher to fill correct choices. Then, after scanning and AMC analysis, you simply have to tell AMC which is the teacher completed answer sheet.

To implement this idea, follow these rules:

  • Use postcorrect, insidebox and noshuffle package options (see Package options).

  • Only use \wrongchoice for all your choices (never \correctchoice).

Here is a minimal example:

\documentclass[a4paper]{article}
\usepackage{multicol}
\usepackage[insidebox,noshuffle,postcorrect]{automultiplechoice}

\begin{document}

\onecopy{5}{

\noindent
\begin{tabular}{|l|l|l|}
\hline
student number & class & subject\\
\hline
 \vspace{-0.25cm}
 & &\\
\AMCcode{StudentNum}{10}&
\AMCcode{class}{2}&
\AMCcode{subject}{3}
\\
\hline
\end{tabular}
\hfill\namefield{\fbox{
    \begin{minipage}{.25\linewidth}
      Name:

      \vspace*{.5cm}\dotfill

      \vspace*{.5cm}\dotfill
      \vspace*{1mm}
    \end{minipage}
  }}\hfill


\vspace{.5cm}
\noindent\hrulefill

\begin{multicols}{2}\columnseprule=.4pt

\begin{question}{01}
\begin{choicescustom}
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\end{choicescustom}
\end{question}

\begin{question}{02}
\begin{choicescustom}
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\wrongchoice{}%
\end{choicescustom}
\end{question}

% continue here to get as many questions as needed...

\end{multicols}

}

\end{document}

You can then process the LaTeX file in AMC, print the sheets, scan them after the exam, and start AMC automatic data capture (including the teacher sheet). When you click on Mark in the Marking tab, letting Update marking scale ticked, you will be prompted for the teacher answer sheet number. You can then continue as usual.

[Note]Note

You can also write the letters outside the boxes: replace the insidebox option with outsidebox, and write your questions in the following way:

\begin{question}{01}
  \begin{choicescustom}
    \wrongchoice{A }%
    \wrongchoice{B }%
    \wrongchoice{C }%
    \wrongchoice{D }%
    \wrongchoice{E }%
  \end{choicescustom}
\end{question}
[Note]Note

To use this option only for the questions answers (and not for the student number), type, just after \begin{document}

\makeatletter
\def\setoutsidebox{\AMC@outside@boxtrue}
\makeatother

Then, use this command locally (inside braces) in the form :

{\setoutsidebox\AMCform}

Nominative sheets

In some situations, it can be useful to prepare nominative sheets for all students, from a list of students. Let us see how this can be done.

  • The students list has to be a CSV list. Suppose in the following that the file students.csv, in the project directory, is UTF8 encoded and that its content is like the following:

    name,forename,id
    Boulix,Jojo,001
    Golin,André,002
    Moniuszko,Stanisław,003
    [Warning]Warning

    Do not use _ (underscore) with the student's name or forename. A compilation error will be displayed.

  • \onecopy{1} must be equal to one.

  • The number of papers must be equal to zero (graphical interface).

  • The LaTeX source file has to load csvsimple package, with:

    \usepackage{csvsimple}
  • In the LaTeX source file, define the subject as a command that produce a single subject. This command will be called once for each student by \csvreader (suppose here that the questions has already be defined and included in a group named general):

    \newcommand{\subject}{
      \onecopy{1}{
    
        \noindent{\bf AutoMultipleChoice  \hfill TEST}
    
        \vspace*{.5cm}
    
        \begin{center}\em
          Pre-filled test.
        \end{center}
    
        \hfill \namefield{\fbox{
            \begin{minipage}{.5\linewidth}
              Name:
    
              \Large\bf \name{} \surname{}
    
              \vspace*{1mm}
            \end{minipage}
          }}
    
        \noindent\hrulefill
    
        \vspace{1ex}
    
        \insertgroup{general}
    
        \AMCassociation{\id}
      %\AMCassociation[\name-\surname]{\id}1
      }
    }
    
    %password protect
    %\AMCstudentslistfile{liste.csv}{id} 2
    
    \csvreader[head to column names]{students.csv}{}{\subject}3
    %\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\subject}4
    
    

    The head to column names option for \csvreader defines commands \name, \surname and \id (named from the CSV headers), that can be used inside \subject. The \AMCassociation call tells AMC to associate the current sheet to student with id \id.

    1

    Optional argument to \AMCassociation to suggest a file name when printing to file.

    2

    To protect each file with a unique password.

    3

    Use this command if the CSV file contains only one email address per student.

    4

    Use this command if the CSV file contains multiple email addresses per student.

  • After printing, scanning, data capture and marking, when associating copies with students, choose value "pre-association" for field "code-name for automatic association", and "id" for field "Primary key".