Multiple Choice sheets automated marking
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).
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 Marking tab, letting Update marking scale ticked, you will be prompted for the teacher answer sheet number. You can then continue as usual.
in theNote | |
---|---|
You can also write the letters outside the boxes: replace the
\begin{question}{01} \begin{choicescustom} \wrongchoice{A }% \wrongchoice{B }% \wrongchoice{C }% \wrongchoice{D }% \wrongchoice{E }% \end{choicescustom} \end{question} |
Note | |
---|---|
To use this option only for the questions answers (and not for
the student number), type, just after \makeatletter \def\setoutsidebox{\AMC@outside@boxtrue} \makeatother Then, use this command locally (inside braces) in the form : {\setoutsidebox\AMCform} |
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 | |
---|---|
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} } } %password protect %\AMCstudentslistfile{liste.csv}{id} \csvreader[head to column names]{students.csv}{}{\subject} %\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\subject}
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.
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".