標準外の使用方法

問題用紙コピー方式

印刷と試験実施で説明したように、複数の受験者に同一の答案用紙をコピーして配るのは常に可能とは限りません。しかし、別紙答案用紙方式で、設問と選択肢がシャフルされていなければ、問題用紙はコピーで用意して、答案用紙だけ全員分個別に印刷することができます。ここではその方法を詳しく説明します。

  • separateanswersheetオプションを使用します(パッケージオプション参照)。

  • onecopyコマンドを呼ぶ前か、examcopy環境の外側に試験問題を記述します。

  • onecopy/examcopyの内側で\AMCformSコマンドを用いて、マーク用のボックスを各答案用紙に出力します。

最小限の例を示します:

\documentclass[a4paper]{article}
\usepackage[separateanswersheet,lang=JA]{automultiplechoice}
\begin{document}

\noindent{\bf 試験問題}

\begin{question}{和}
  1足す1はいくつですか?
  \begin{choices}
    \wrongchoice{1}
    \correctchoice{2}
    \wrongchoice{3}
  \end{choices}
\end{question}

\begin{question}{k2}
  K2の標高はいくらですか?
  \begin{choices}
    \wrongchoice{約8000m}
    \correctchoice{約8600m}
    \wrongchoice{約9000m}
  \end{choices}
\end{question}

\AMCcleardoublepage

\onecopy{5}{

\AMCformBegin

{\large\bf 答案用紙:}
\hfill \namefield{\fbox{
    \begin{minipage}{.5\linewidth}
      氏名:
      
      \vspace*{.5cm}\dotfill
      \vspace*{1mm}
    \end{minipage}
  }}

\AMCformS

}

\end{document}

このLaTeXファイルから、印刷してから受験者全員分をコピーする(試験問題番号0の)試験問題用紙1部と、(各受験者に1部の)複数の答案用紙が得られます。

採点時正解提示

単一の汎用答案用紙を毎回の試験で使いたい場合を想定します。答案用紙には単純にマーク用ボックスだけを(例えば40問、各設問に5個)印刷し、問題は別のどこかに書いて受験者に提示します。ここでのポイントは、正しい選択肢はLaTeXファイルに明示されておらず、そのためAMCはそれがどれかわかりません。この解決方法は、出題者に答案用紙を渡して正しい選択肢をマークしてもらうことです。そうすれば、スキャンをしてAMCでマーク認識をしたあと、AMCにどれが出題者の記入した答案用紙かを教えるだけです。

このアイデアを実施するには、次のルールに従ってください:

  • postcorrectinsideboxnoshuffleオプションを使用します(パッケージオプション参照)。

  • 選択肢には\wrongchoiceのみを使ってください(\correctchoiceは一切使わないでください)。

最小限の例を示します:

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

\begin{document}

\onecopy{5}{

\noindent
\begin{tabular}{|l|l|l|}
\hline
受験番号 & クラス & 科目\\
\hline
 \vspace{-0.25cm}
 & &\\
\AMCcode{StudentNum}{10}&
\AMCcode{class}{2}&
\AMCcode{subject}{3}
\\
\hline
\end{tabular}
\hfill\namefield{\fbox{
    \begin{minipage}{.25\linewidth}
      氏名:

      \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}

% これを必要な設問数の分だけ続ける...

\end{multicols}

}

\end{document}

そしてこのLaTeXファイルをAMCで処理し、用紙を印刷し、試験実施後に(模範解答の用紙も含めて)スキャンして、AMCの自動マーク認識を開始させます。採点タブで採点基準を更新にチェックを入れて採点ボタンをクリックすると、出題者が記入した模範解答用紙の番号を入力するよう求められます。そのあとは通常どおりに続けることができます。

[注記]注記

アルファベット(あるいは数字)をボックスの外に印刷することもできます。insideboxオプションをoutsideboxに置き換え、次のように設問を記述してください:

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

この方式を(受験番号以外の)設問の選択肢のみに使用するには、\begin{document}の後に次のように記述します。

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

そして用紙内でローカルに(波括弧の内側で)このコマンドを使用します:

{\setoutsidebox\AMCform}

指名試験問題用紙

状況によっては、受験者名簿をもとに各受験者を個別に指名した試験問題用紙を準備すると有用かもしれません。これをどのように行うか見てみます。

  • 受験者名簿はCSVリストでなければなりません。以下では、students.csvファイルが、プロジェクトディレクトリにあり、UTF8でエンコードされ、中身が次のようになっているものとします:

    surname,name,id
    Boulix,Jojo,001
    Golin,André,002
    Moniuszko,Stanisław,003
    [警告]警告

    受験者の氏名に_(アンダースコア)を使用しないでください。コンパイル時にエラーが発生します。

  • LaTeXソースファイルで、次のようにcsvsimpleパッケージをロードします:

    \usepackage{csvsimple}
  • LaTeXソースファイルで、試験問題を生成するコマンドを定義します。このコマンドは、各受験者ごとに一回、\csvreaderが呼び出します(ここでは、設問が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}
    
        \shufflegroup{general}
        \insertgroup{general}
    
        \AMCassociation{\id}
      }
    }
    
    \csvreader[head to column names]{students.csv}{}{\subject}1
    %\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\subject}2
    
    

    \csvreaderhead to column namesオプションは、\subject内で使えるように(CSVのヘッダーから)\surname\name\idコマンドを定義します。\AMCassociationの呼出しにより、AMCは現在の試験問題用紙を\idというidをもつ受験者のものとして識別します。

    1

    受験者ごとにメールアドレスが一つだけあるCSVファイルの場合にこのコマンドを使用してください。

    2

    受験者ごとにメールアドレスが複数あるCSVファイルの場合にこのコマンドを使用してください。

  • 印刷、スキャン、マーク認識、採点が終わった後、答案用紙の受験者を識別する際、「答案内の受験者識別用コード名」フィールドに「印刷時識別済」、「名簿内の受験者識別用カラム名」フィールドに「id」を選択してください。