ここでは、選択式試験問題の作成から受験者の得点の編集まで、GUIによる使用例を解説します。
GUIを開きましょう。通常は、Gnomeの一般メニュー(あるいは、KDEなどの対応するメニュー)から → → を選んで開きます。auto-multiple-choiceコマンドを直接使うこともできます。
→ を選んで、プロジェクトを作成しましょう。ウィンドウが開いて、既存のプロジェクトがあればその一覧が表示され、これから作成するプロジェクトの名前(単純な文字で。今回のテスト用に「test」でもOKです)をプロジェクト名欄に記入することができます。そして、ボタンを押します。
ここで、選択式試験問題用のAMC-TXTファイルあるいはLaTeXソースファイルを選ばなければなりません。オプションがいくつか示されます:
テンプレート: これを選択すると、AMCに付属するいくつかのテンプレートの中から一つを選び、後から試験問題をカスタマイズしていくことができます。
ファイル: これを選択すると、この試験用に既に準備されたLaTeXファイルを選ぶことができます。誰か他の人が既に準備してくれたか、AMCの外で好みのエディタを使ってあなたが準備したものかもしれません。
空: これを選択すると、空のLaTeXファイルが作成されます。ゼロから試験問題を作成しなければいけません。
アーカイブ: 試験問題の記述(LaTeXソースファイル、画像ファイル、パラメータファイルなど)を含んだzipあるいはtgzのアーカイブがある場合は、これを選択してください。このアーカイブは外部のソフトウェアによって作成することができます。既存のAMCプロジェクトのバックアップかもしれません。
ここでは、テンプレートを選択します。次のウィンドウがテンプレートを示します。例えば、[JA] ドキュメントグループから、単純な例を選びます。これで、ボタンによりデフォルトのエディタが起動し、編集してレイアウトや設問を変更できるようになります。
試験問題の作成は二つのステップからなります。最初にLaTeXソースファイルから、参照用の文書を作成しなければなりません。これはをクリックすることにより行われ、以下の文書が生成されます
試験問題: このファイルはそのまま印刷して受験者に配布することができます(下記参照)。
解答: 試験問題に間違いがないかどうかチェックすることができます。受験者に配布することもできます。
これらの文書が作成されると、対応するボタンをクリックして表示(そして必要なら印刷)することができます。
以上で、試験問題作成の最後のステップを始められます。レイアウトの解析です。これは、ボタンをクリックすることにより起動されます。この解析処理は、試験問題の各ページにおいて、受験者の答案用紙で解析しなければならない全要素の正確な位置を検出します。
レイアウトが正しく検出されているか検証するには、ボタンを使います。結果をさっと見て、試験問題の各ボックス上に赤いチェックボックスが正しく乗っているかを調べます。
2種類のワークフローが検討可能です:
最も堅牢なモードでは、受験者全員分の試験問題用紙を別々の試験問題番号で作成し、全部印刷します。各ページはその番号と上部にあるボックスで完全に識別でき、同じ答案用紙を特に注意せず何度もマーク認識させてかまいません。
2番目のモードでは、少数の試験問題だけ(あるいは希望なら1部のみ)を印刷し、受験者全員分はコピーで作成することができます。設問のシャフル効果は若干低下します。誤って、同じページを何度かマーク認識させてしまうと、AMCはそれを検知できないので望まない重複を作成してしまいます。
![]() | 警告 |
|---|---|
2番目のコピーを用いたワークフローを使うには、受験者が記入するページは1枚だけでなければなりません(場合によっては別紙答案方式が役に立ちます)。でなければ、AMCでこの先を続けることはできません!AMCは、同じ受験生が記入した二つのページをリンクすることができないのです。 |
試験問題の作成が完了すれば、試験問題を印刷して受験者に配布することができます... 単純な場合には、(作業文書の問題ボタンをクリックしたあと)ビューアから直接印刷できます。用紙を別々に(それぞれ複数ページからなり、それらをステープルできるようなプリンタを使う場合など)印刷する場合、レイアウト検出後にボタンを使うといいでしょう。
![]() | 重要 |
|---|---|
試験問題を印刷し配布したら、それらと完全に同一にしておく必要があるので作業文書を修正してはいけません。 |
ここでは、受験者の答案からの入力を説明します。これは、自動あるいは手動で行うことができます。
GUIのマーク認識タブに行きます。
受験者が記入したマークを自動認識するには、事前に答案をデジタル化しておかなければなりません。私の場合は、その作業を(私の操作なしに束にした全ページに対して)自動でやってくれるコピー機/スキャナを使い、300dpi、OCRモード(文字認識向き、グレースケールでないモノクロモードのことで、文字認識をしてくれるわけではありません)の設定で行って、各ページが一つのTIFFファイルとしてスキャンデータが得られます。(訳注: 訳者の場合、300dpi、グレースケールを使用しています。)
![]() | 注記 |
|---|---|
スキャンデータを解析するには、それらを一つあるいは複数の画像ファイル(TIFF、JPG、PNG等)として持つ必要があります。ベクターグラフィックス形式(PDF、PS、EPS)でもかまいません。この場合はスキャンデータは解析前にPNGに変換されます(訳注: 多数のページを含むファイルを変換すると、ImageMagickが /var/tmp を多量に消費するので、ファイルを適度に分けた方がいいでしょう)。 |
![]() | 注記 |
|---|---|
スキャンデータを使って最初に自動マーク認識を行う際は、個別答案用紙かコピー答案用紙のどちらの方法を使うかAMCに通知します(印刷と試験実施参照)。 |
そして、「試験実施後のマーク認識」セクションの自動ボタンで開いたダイアログから、スキャンデータファイルをすべて選択したのち、このダイアログのボタンで開始します。AMCは光学マーク認識を開始して、四隅のマーカー位置を検出し、ボックスの位置を決定して、各ボックスの黒ピクセルの量を検出します。
各ページの解析結果は診断セクションのリストに表示されます:
用紙ゆがみの値はマーカー(各用紙の四隅の黒い点)位置の認識の妥当性を表します。これが大きすぎるときは、認識結果をチェックする必要があります(ページリストの行の上で右クリックして、を選ぶと、スキャンしたページと検出したボックスが表示されます)。
不確かさの値は、ボックスの黒ピクセル比率と閾値との近さを表します。これが大きすぎる(8から最大値10まで)場合、ボックスのマーク有無判定が正しいかどうかチェックする必要があります(ページリストの行の上で右クリックしてを選ぶと、用紙上の全ボックスが表示され、判定結果が正しいか確認し、必要ならボックス画像のドラッグアンドドロップで修正できます)。
GUIの採点タブでは、採点セクションでスキャンデータから受験者の得点を計算するとともに、受験者が記入したコードを読み取ります(「受験番号取得」参照)。
得点の計算はボタンで起動しますが、以下の選択をしておく必要があります:
採点基準を更新のボックスにチェックすると、採点基準は最初にLaTeXソースファイルから取り出されます。これにより、採点処理において、いろいろな採点基準を試してみることができます。また同時に、どの解答が正解でどれが誤りかも更新されます。したがって、試験実施後でも、問題作成時の正解の誤りを修正することができます。LaTeXファイルで採点基準を設定する方法は採点基準の節で説明されます(何も指示しなければデフォルトの採点基準が使用されます)。
ボタンをクリックすると、採点が実行されます(採点基準の更新もする場合は少し時間がかかります)。
採点基準はLaTeXソースファイル内でscoringコマンドによって指定します。これはquestion環境かquestionmult環境で全選択肢の採点基準を設定するのに用いますが、choices環境においても、各選択肢個別の増減を与えるのに用いることができます。LaTeXのscoringコマンドの引数は、カンマで区切られたのような形式から成っています。使用できるパラメータは次のとおりです(各パラメータがどんな文脈で使用できるかも示しています):parameter=value
| parameter | simple | multiple | value | ||
| Q | A | Q | A | ||
| e | ● | ● | 解答に矛盾があるときに与える素点。単一選択問題で複数のボックスにマークされていたり、複数選択問題で「該当なし」と他のボックスに同時にマークされている場合です。 | ||
| v | ● | ● | 解答されていない(どのボックスもマークされていない)ときに与える素点。 | ||
| d | ● | オフセット。eやvのパラメータにかかわらず、素点に加算される値。 | |||
| p | ● | 素点の下限。この設問の素点を計算してこの下限を下回ってしまった場合、素点をこの下限値に設定します。 | |||
| b | ● | ● | ● | 正解に与える素点。 | |
| m | ● | ● | ● | 誤りに与える素点。 | |
| ● | パラメータはなく(構文: \scoring{2})、この選択肢にマークした場合に与える素点を示します。 | ||||
| auto | ● | このパラメータを用いると、i番目の選択肢の値がauto+i-1になります。このオプションは主に\QuestionIndicativeで用います(設問と選択肢参照)。 | |||
| mz | ● | ● | このパラメータは "満点かゼロか" 方式の採点基準に用いられます。選択がすべて正しければ素点はmzになり、そうでなければ0点です。 | ||
| haut | ● | このパラメータにnという値を与えると、満点がnになり、誤り一つにつき1点減点されます。 | |||
| MAX | ● | ● | この設問の満点を指定します(5点の設問には、MAX=5と書きます)。完答した場合の点数が目的の満点と異なる場合にのみ用います。 | ||
| formula | ● | ● | bやmの値を考慮せず、変数を用いた式(「全体採点基準」参照)などによって、設問に与えられた素点を指定します。 | ||
set.XXX | ● | ● | ● | ● | XXXという変数に特定の値を指定し、formulaで使用できるようにします。選択肢に指定すると、そのボックスがマークされたときだけ値が設定されます。 |
default.XXX | ● | ● | 選択肢によってXXXという変数に値が設定されなかった場合のXXXの値を指定します。 | ||
requires.XXX | ● | ● | 解答に矛盾があって設問の得点がeの値に設定される場合を除いて、XXX変数が定義されなければならないことを通知します。 | ||
単一選択問題でのデフォルトの採点基準はe=0,v=0,b=1,m=0で、正解には1点、そうでなければ0点を与えます。複数選択問題でのデフォルトの採点基準はe=0,v=0,b=1,m=0,p=-100,d=0で、マーク有無の正しい(マークすべきボックスをマークして、マークすべきでないボックスをマークしなかった)選択肢ごとに1点を与えます。
LaTeXの\scoringコマンドは、設問定義の外側で用いて、試験全体のパラメータを変更することもできます。
SUF=xは、満点を得るのに十分な素点を定めます。例えば満点を10点とし、SUF=8と設定すると、完答での素点合計にかかわらず、素点合計が6点の受験生は得点として6/8*10=7.5点を得ます。
allowempty=は、
xx個の設問に解答する必要がないことを示します。素点を加算する際、x個の無回答設問はキャンセルされます。
これらのパラメータを組み合わせれば、以下の例のように、様々な種類の採点基準を定義することができます:、
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[box,completemulti,lang=JA]{automultiplechoice}
\begin{document}
\element{qqs}{
\begin{question}{good choice}
この設問に何点欲しいですか?
\begin{choices}
\correctchoice{満点: 10}\scoring{10}
\wrongchoice{5点だけ欲しい}\scoring{5}
\wrongchoice{2点でよい}\scoring{2}
\wrongchoice{いらない}\scoring{0}
\end{choices}
\end{question}
}
\element{qqs}{
\begin{questionmult}{added}
次のボックスをマークしてポイントをゲット:
\begin{choices}
\correctchoice{2点}\scoring{b=2}
\wrongchoice{マイナス1点!}\scoring{b=0,m=-1}
\correctchoice{3点}\scoring{b=3}
\correctchoice{1点}
\correctchoice{0.5点}\scoring{b=0.5}
\end{choices}
\end{questionmult}
}
\element{qqs}{
\begin{questionmult}{3 or zero}\scoring{mz=3}
完答なら3点、そうでなければ0点。
\begin{choices}
\wrongchoice{誤り}
\wrongchoice{誤り}
\correctchoice{正しい}
\correctchoice{正しい}
\end{choices}
\end{questionmult}
}
\element{qqs}{
\begin{questionmult}{all for 2}\scoring{haut=2}
完答なら2点、ミス1件ごとに-1点...
\begin{choices}
\correctchoice{正解}
\correctchoice{これも可}
\correctchoice{そのとおり!}
\wrongchoice{ダメ!}
\wrongchoice{マークするな!}
\end{choices}
\end{questionmult}
}
\element{qqs}{
\begin{question}{attention}\scoring{b=2}
ひどい誤りにはマイナス点(-2点)がつきますが、正解なら2点が得られます。
\begin{choices}
\correctchoice{正しい!}
\wrongchoice{正しくない}
\wrongchoice{正しくない}
\wrongchoice{正しくない}
\wrongchoice{ひどい誤り!}\scoring{-2}
\end{choices}
\end{question}
}
\element{qqs}{
\begin{questionmult}{as you like}
必要な点数を選んでください:
\begin{choices}
\correctchoice{ここなら2点得られます}\scoring{b=2}
\wrongchoice{マークすると3点あげます}\scoring{b=0,m=3}
\correctchoice{マークすると1点得ますが、マークしないと1点失います}\scoring{m=-1}
\end{choices}
\end{questionmult}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\onecopy{20}{
\noindent{\bf QCM \hfill 採点基準テスト}
\vspace*{.5cm}
\begin{minipage}{.4\linewidth}
\centering\large\bf Test\\ Jan. 2008\end{minipage}
\namefield{\fbox{\begin{minipage}{.5\linewidth}
Name:
\vspace*{.5cm}\dotfill
\vspace*{1mm}
\end{minipage}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\shufflegroup{qqs}
\insertgroup{qqs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
}
\end{document}一つの採点基準をいくつかの設問にまとめて適用したい場合、次の例のようにそれをLaTeXのコマンドに定義することができます:
\def\barQmult{haut=3,p=-1}
\begin{questionmult}\scoring{\barQmult}
[...]
\end{questionmult}もう一つの方法はLaTeXの\scoringDefaultSコマンドと\scoringDefaultMコマンドを使うことです。これは文書の先頭で(\onecopyの外側で)用い、それぞれ単一選択問題と複数選択問題のデフォルトの採点基準を与えることができます:
\scoringDefaultM{haut=3,p=-1}場合によっては、与えた選択肢の個数に依存して全体採点基準が定義できれば、より便利かもしれません。これを行うには、Nという値を用いるだけでできます。例えば、満点を4点とし、ランダムにマークした場合の平均点を1点としたい場合、d=4,b=0,m=-(4-1)*2/Nという基準が使えます(すべての選択肢を誤った場合は-2点となります)。これらの式に使用できる演算は、通常の四則演算(+ - * /)、条件付演算( ? : )、括弧と、任意のperlの演算子です。
他にも次の変数が使用できます:
N は選択肢の個数です。completemultiオプションによる追加分は数えません。
NB はマークすべき選択肢の個数です。
NBC は正しくマークした選択肢の個数です。
NM はマークすべきでない選択肢の個数です。
NMC は誤ってマークした選択肢の個数です。
IS は、単一選択問題なら1でそうでなければ0です。
IMULT は、複数選択問題なら1でそうでなければ0です。
このステージは必須ではありません。ここでは、各答案と受験者の結び付け(リンク)をします。受験者の氏名は自動的には読み込まれませんが、現実的な策が2通りあります:
受験番号を一桁ごとにボックスにマークする方式で、受験者自身に答案用紙に記入してもらうことが可能です。答案用紙にこの方式を用いるためのLaTeXのコマンドが用意されています(「受験番号取得」参照)。試験の実施後、受験番号と受験者名を対応づけるリストを用いて、自動的に答案の識別が行われます。
受験番号を記入させない場合や、自動識別が(記入ミスなどで)完全にはうまくいかなかった場合には、GUIの補助により手動で受験番号と氏名をリンクすることができます。
まず、GUIの採点タブに行きます。
事前に受験者名簿を準備しておかなければなりません。この名簿は、いくつもの試験で再利用することができます。このリストは `#' で始まるコメント行をオプションとしてもつ、次の例のようなCSVファイルです:
# STUDENTS / 1ST YEAR surname:name:id:email Bienvenüe:Alexis:001:paamc@passoire.fr Boulix:Jojo:002:jojo.boulix@rien.xx Noël:Père:003:pere.noel@pole-nord.xx
ファイルの冒頭にある `#' で始まる行はコメントです。コメントでない最初の行は(`:' で区切った)カラム名を格納します。その行以降は、受験者1名につき1行で、対応する情報を記入します。必ずnameあるいはsurnameという名前のカラムに受験者名を格納しないと、下で説明する手動リンクでボタン表示ができなくなります。
![]() | 注記 |
|---|---|
セパレータの CSVファイルであれば適合するはずです。 |
準備した受験者名簿は受験者識別セクションのボタンにより選択します。そして受験者名簿の中でユニークなキーとなるカラム(一般には、受験番号を格納するカラム)を一つ選ばなければなりません。最後に、自動リンクの準備として、(使用した場合には)LaTeXのAMCcodeコマンドで使用した関連するコード名を選びます。
受験者識別セクションのボタンを押すと、受験者が記入したコードの対応づけが開始します。その結果は、後から(半)手動リンクにより確認したり改善したりできます。
![]() | 警告 |
|---|---|
自動リンクを行うためには、LaTeXソースファイル中にAMCcodeコマンド(「受験番号取得」参照)が少なくとも一つ必要です。また、受験者名簿には、AMCcodeが生成したボックスに記入されるはずの参照(一般には受験番号)を格納したカラムが必要です。 |
このステージでは、ボタンを使って、採点表をさまざまな形式(現在のところ、CSVとOpenOffice)で取り出せます。エクスポートすると、それに引き続いて、(可能なら)エクスポートされたファイルが適切なソフトウェアで開かれます。
ボタンを押すと、答案への採点記入が始まります。各スキャンデータに、次のように記入されます(これらはデフォルトの記入書式で、設定で変更できます):
受験者が誤ってマークしたボックスには、赤い円が記入されます。
マークすべきボックスにマークされていない場合は、赤いチェック印が記入されます。
マークすべきボックスにマークされている場合は、青いチェック印が記入されます。
各設問について、取得した素点と満点が記入されます。
答案全体の得点が答案の最初のページに記入されます。
答案の最初のページに記入されるテキストは設定で変更可能です( → → → 、または、 → → → → )。設定されたテキストに対して、次のように置換が行われます(これらの値の意味については「採点基準を用いた得点計算」をご覧ください):
%Sは受験者の素点合計に置換されます。
%Mは素点合計の満点に置換されます。
%sは受験者の得点に置換されます。
%mは満点に置換されます。
%(ID)は受験者名に置換されます。
%(COL)は受験者名簿内のCOLの値に置換されます。
この処理は各ページに行われ、PDF形式の採点記入済の答案用紙が得られます。受験者の答案を格納するPDFファイル名は、ファイル名テンプレートフィールドで指示したテンプレートによって決められます。テンプレートでは、「(col)」は受験者名簿内のCOLの値に置換されます(受験者名簿参照)。このフィールドを空にすると、試験問題番号と受験者名からなるデフォルト値が使用されます。