# Auto Multiple Choice

自動採点と評定の可能な選択式試験問題のデザイン

AMCは、プレーンテキストあるいはLaTeXで記述されたマークシート方式の選択式試験問題を使用して、答案用紙のスキャンデータからのOMR（光学マーク認識）により自動採点と評定のできるユーティリティ群です。この文書はその使用説明書です。（バージョン@/PACKAGE_V_DEB/@~svn @/PACKAGE_V_SVN/@~en1358）

AMCプロジェクトはGna!によってホスティングされています。AMCウェブサイトはhttp://home.gna.org/auto-qcm/にあり、プロジェクトがホスティングされているサイトはhttps://gna.org/projects/auto-qcm/です。

Alexis

    paamc@passoire.fr

Bienvenüe 主な著者
2008-2013 Alexis Bienvenüe
Bérard Jean フランス語版から英語版への翻訳
Khaznadar Georges フランス語版から英語版への翻訳
Kagotani Hiroto 英語版から日本語版への翻訳

この文書はGNU一般公衆利用許諾書バージョン2またはそれ以降に従って利用することができます。

## ライセンス

Auto Multiple Choiceはフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行されたGNU一般公衆利用許諾書バージョン2か、（希望によっては）それ以降のバージョンのいずれかの定める条件の下で再頒布または改変することができます。

このプログラムは有用であることを願って頒布されますが、*全くの無保証* です。商業可能性の保証や特定の目的への適合性は、言外に示されたものも含め全く存在しません。詳しくはGNU一般公衆利用許諾書をご覧ください。あなたはこのプログラムと共に、GNU一般公衆利用許諾書の複製物を1部受け取ったはずです。もし受け取っていなければ、http://www.gnu.org/licenses/をご覧ください。

## 必要条件

### オペレーティングシステム

AMCユーティリティはLinux用に作成されています。MAC OS XやWindowsにもそれほど困難なく移植できるかもしれませんが、すぐにとりかかる準備はできていません。これを行ってみたい方は連絡をしてください。少しはお手伝いできますし、必要ならAMCに変更を加えさせていただきます。

### ソフトウェア

AMCをdebあるいはRPMパッケージを用いて（debian、Ubuntuとその派生、Mandriva、openSUSE、Fedora上で）インストールすれば、AMCに必要なソフトウェアはすべて自動的にインストールされます。

AMCを用いるのに不可欠となる主要なパッケージあるいはソフトウェアは次のとおりです。

- LaTeX

- ImageMagick

- Perl（GUI用にGtk2-PerlとGlade::XMLを含む）

  Perl

#### AMCで用いるソフトウェアの推奨バージョン

AMCで用いるソフトウェアのバージョンが古いと、そのバグにより正常な動作の妨げになるものがあります。

- Net::CUPS（debianパッケージ libnet-cups-perl）の古いバージョンを用いると、試験問題用紙の印刷のコマンドによって、AMCのGUIが異常終了してしまいます。このバグはNet::CUPSのバージョン0.61以降で修正されています。

- ImageMagickの古いバージョンを用いると、採点記入済の答案を受験者ごとにPDFファイルにまとめる機能が、複数ページの答案の場合に動作しません。このバグはImageMagickのバージョン6.5.5以降で修正されています。

### LaTeX

AMCのバージョン1.1からは、試験問題をLaTeX言語で記述することは必須ではなくなりました（プレーンテキストでの代替文法についてはを参照）。しかし、LaTeXは試験問題を記述するためのネイティブなAMC言語であり、比べものにならない自由度で試験問題をデザインすることができます。LaTeX形式に抵抗のある人でも、用意されたテンプレートで自分の選択式試験問題をすぐに書き始められます。

## 利用メモ

### 数値的な限界

（0.156以降の）現在までのバージョンでは、試験あたりの受験者数は4095人まで、試験あたりの（受験者ごとの）ページ数は63ページまでに限定されています。

設問ごとの選択肢数は199個までに限定されています。

LaTeX自体の限界でコンパイルができないことがあり、例えば、「No room for a new \toks」というエラーが出ます。この場合、`\usepackage{etex}`コマンドによりetexパッケージを試してみてください。

### バージョン

問題が出ることは多くはありませんが、あるプロジェクトを実施している間（試験問題用紙を印刷してから採点して成績をつけ終わるまでの期間）はプログラムのバージョンを変更しないことをお勧めします。何らかのプロジェクトを実施している最中に適用してしまうと、AMCの正常な動作に干渉してしまうような修正がいくつかあります。

- バージョン0.155以前のAMCでコンパイル・印刷を行った後、バージョン0.156以降でそのプロジェクトを扱う場合、LaTeXファイルのautomultiplechoiceパッケージを読み込んでいる部分で、次のように`versionA`オプションを付けてください。

      \usepackage[box,completemulti,versionA]{automultiplechoice}

- バージョン0.262以降、チェックボックスの描画が若干大きくなりました。このせいで試験問題用紙のレイアウトが変わってしまう可能性があります。

- バージョン0.267以降、A4版の試験問題用紙を作成したい場合は、LaTeXファイルで次のように明示的に指定する必要があります。

      \documentclass[a4paper]{article}

- バージョン0.394以降、graphicxパッケージが必要な場合は明示的にロードする必要があります（それより前のバージョンでは、AMCによってロードされていました）。

- LaTeXの`\AMCcode`コマンドはバージョン0.5.18で書き直されました。これによってより堅牢になり設定を柔軟に変更しやすくなりましたが、旧バージョン用に書かれたLaTeXのソースで同じレイアウトを得るためには修正する必要があります。

- バージョン1.1.0より、AMCの全データは多数のXMLファイルではなくSQLiteデータベースに格納されます。プロジェクトを最初に開いたときに、古いXMLファイルが新しい形式に変換されます。

### インストール

debian、Ubuntuあるいはその派生OSでは、debian公式リポジトリとubuntu AMCリポジトリを用いることができます。Mandriva、openSUSE、Fedoraでは、ビルド済のRPMパッケージを用いることができます。インストール手順はAMCウェブサイトで説明されています。

ソースコードのアーカイブは、プロジェクトのダウンロードエリアでダウンロードでき、その場合は端末上で次のコマンドを使ってください。

    tar xvzf auto-multiple-choice_xxxx_precomp.tar.gz
    cd auto-multiple-choice-xxx
    make
    sudo make install

### 起動

インストールが完了したら、Gnomeの一般メニュー（あるいは、KDEなどの対応するメニュー）からアプリケーション教育 Auto Multiple Choiceを選ぶことにより、GUIを起動することができます。また、`auto-multiple-choice`コマンドを使用することもできます。

## AMC-TXT構文

LaTeX語をまだ話すことができず、勉強する時間もない方のために、AMCにはAMC-TXTという特別な形式の簡単なテキストファイルを処理するフィルターが含まれています。この節では、AMC-TXTファイルの構文を詳しく解説します。LaTeXを用いて試験問題を精密に制御する場合は、この節はスキップしてください。

単純な例から始めましょう:

    # AMC-TXTソースファイル
    Title: はじめてのAMC試験問題
    Lang: JA

    Presentation: 以下の設問に最も適切な解答を
    選択してください。

    * カメルーンの首都はどれですか？
    + ヤウンデ
    - ドゥアラ
    - クリビ

    ** 以下の数のうち、正の数はどれですか？
    - -2
    + 2
    + 10

試験問題を含んだファイルは、UTF-8でエンコードされたプレーンテキストファイルでなければなりません。UTF-8はいくつかのテキストエディタ（`gedit`など）のデフォルトエンコーディングです。テキストをボールドにしたり、画像が埋め込めたりするような、OpenOffice/LibreOfficeやそれに類するエディタを使用しないでください。これらはテキスト以外に多量のデータを保存し、AMCはそれを読むことができません。

デフォルトとして用いられるフォントはlibertineで、これは多数の言語の文字を含んだオープンソースフォントです。このフォントをインストールするか、そうでなければ他のフォントを選ぶ必要があります（下記オプション参照）。debian/ubuntuパッケージでAMCをインストールすれば、このフォントは推奨パッケージとしていっしょにインストールされます。

AMC-TXTの構造はすでにおわかりのとおりです。最初に全体的なオプションがあり、そして設問が続きます。

### コメント

AMC-TXTソースファイル内の ``#`' 文字で始まる行にはコメントを書くことができます。AMCはこれらの行を無視します。

### 全体オプション

以下のオプションを（任意の順序で）使用することができます:

Lang:

  試験問題が記述されている言語を指定するのに用います。現時点では、DE（ドイツ語）、ES（スペイン語）、FR（フランス語）、IT（イタリア語）、NL（オランダ語）、NO（ノルウェー語）、JA（日本語、参照）、AR（アラビア語、参照）のみがサポートされています。オプションを指定しないと、英語が選択されます。他の言語用にローカライズ文字列を定義することもできます（`L-xxx`形式のオプション参照）。

PaperSize:

  用紙サイズを設定します。設定可能な値は、`A3`、`A4`、`A5`、`A6`、`B3`、`B4`、`B5`、`B6`、`letter`、`legal`、`ANSIA`、`ANSIB`、`ANSIC`、`ANSID`、`ANSIE`です。

Title:

  試験タイトル。試験問題用紙の上部に印刷されます。

Presentation:

  試験の注意事項を記述する文章（時間、規則など）です。

ShuffleQuestions:

  1なら（デフォルト）、設問がシャフルされ、用紙ごとに順序が変わります。0なら、ファイルに記述された通りの順序で設問が並びます。

Code:

  正の整数値nを与えると、n桁の受験番号をマークする欄が試験問題用紙に追加されます。

Columns:

  正の整数値nを与えると、試験問題全体がnカラムで作成されます。

CompleteMulti:

  1なら（デフォルト）、複数選択問題（正解数が0以上の任意個）において、「該当なし」の選択肢を追加します。これをしないと、「受験者がこの設問に解答しなかった」のと「受験者がこの設問に正解がないと考えた」のが区別できません。この選択肢をつけたくない場合は0に設定してください。

L-None:

  「該当なし」（上記オプション参照）にかわる文字列を設定します。

QuestionBlocks:

  1なら（デフォルト）、各設問は複数のカラムやページにまたがらないように見えないフレームで囲まれます。0なら、必要に応じて設問が分割され、読み易さは多少犠牲になりますがページ数が節約できます。

L-Question:

  必要なら、試験問題内での「問」にかわる文字列を設定します。

L-Name:

  受験者が氏名を記入するボックスに書かれる「氏名」にかわる文字列を設定します。

L-Student:

  `Code`オプションが使用された場合に、受験者に、受験番号と氏名を記入するよう指示する短い文章です。

ManualDuplex:

  1にすると（これはデフォルト値ではありません）、各試験問題用紙のページ数が偶数になり、PDFの試験問題用紙を手動で印刷する際、両面印刷モードで一度に行うことができます。

SingleSided:

  1にすると（これはデフォルト値ではありません）、設問のページ数が奇数の場合でも、設問と別紙答案用紙の間に空ページが追加されません。このモードは試験問題用紙を片面印刷するときや、設問と答案用紙を分ける必要がないときに有用です。

BoxColor:

  受験者がマークするボックスの色です。これによりボックスは指定した色（例えばredや、薄いグレーもありえます）で印刷され、データ取込み時の誤検出を軽減します。色は、有効な`xcolor`（詳細はLaTeXの`xcolor`ドキュメント参照）で、red、magenta、pink、lightgray、cyanや、`#RRGGBB`の形式で`#FFBEC8`（淡い赤）のように指定します。

DefaultScoringS:

  単一選択問題（唯一の選択肢のみが正解になる設問）でのデフォルト採点基準です。詳細はを参照してください。デフォルト値は、正解に1点、それ以外に0点です。

DefaultScoringM:

  複数選択問題（正解の選択肢が0個、1個あるいは複数個ありうる設問）でのデフォルト採点基準です。詳細はを参照してください。デフォルト値は`haut=2`で、完答に2点、1箇所の誤り（マークすべきでないボックスをマークしたり、マークすべきボックスをマークしなかったり）ごとに1点減点します（ただし負にはしない）。

LaTeX:

  文章中にLaTeXコマンドを使用したい場合は、このオプションを1にしてください。これにより例えば、`$\sqrt{a+b}$`のような数式を挿入できます。0なら（デフォルト）、記述した文章がそのまま印刷されます。

LaTeX-Preambule:

  LaTeXプリアンブルに追加したいコマンド（例えば`\usepackage`コマンドなど）を設定します。

LaTeX-BeginDocument:

  LaTeXの`document`環境の先頭に挿入したいコマンド（例えばマクロ定義など）を設定します。

Disable:

  無効にする機能のリストをコンマで区切って与えます。現在実装されている機能は`images`（参照）、`embf`（参照）、`local_latex`（参照）です。

#### 別紙答案用紙

試験問題に別紙答案用紙を用いる場合は、次のオプションを指定してください:

SeparateAnswerSheet:

  1なら、別紙答案用紙が追加されます。

AnswerSheetTitle:

  別紙答案用紙のタイトルです。

AnswerSheetPresentation:

  別紙答案用紙の注意書きです。例えば、解答をこの用紙に記入しなければ無効であることを受験者に伝えます。

AnswerSheetColumns:

  別紙答案用紙のカラム数です。

### 設問

単一選択問題（唯一の選択肢のみが正解となる設問）は、行を`*`で始め、複数選択問題（任意個の正解がある設問）は`**`で始めます。そのうしろに設問文を続け、以降の行に`+`で始まる正しい選択肢と、 `-`で始まる誤った選択肢を書きます。

#### 設問オプション

設問にはいくつかオプションが設定できます。それらは次の例のように、`*`か`**`のあとに角括弧で囲み、カンマで区切って並べます:

    *[ordered,horiz,name=sum] 1足す1は
    いくつですか？
    - 0
    - 1
    + 2

設問に使用できるオプションは以下のとおりです:

horiz

  選択肢を横に並べていきます。

columns=n

  選択肢をnカラムに配置します。

ordered

  選択肢をシャフルせず、記述ファイル内と同じ順序を保ちます。

name=xxxx

  設問に名前をつけ、出力した採点表の得点がどの設問のものかわかりやすくします。この名前にはアクセントなどを含まずLaTeXの特殊文字（`_`、`^`、`%`など）でない単純な文字しか使用できません。

#### 採点基準

特定の設問や選択肢の開始文字（`*`、`**`、`+`、`-`）とオプションの後に、波括弧で囲んで採点基準を設定することができます。例えば次の例のようになりますが、採点基準の詳細については、を参照してください。

    *{b=2,m=-1} フランスの首都はどれですか？
    + パリ
    - リール
    - マルセイユ
    - ワガドゥグー
    -{-2} ニューヨーク

    **[ordered,horiz,name=positive]{haut=1} 以下の数のうち、正の数はどれですか？
    - -2
    + 2
    + 10

#### 記述式設問

次の例のように`<`と`>`で囲むことにより、記述式の設問（ 参照）を定義することができます:

    *<lines=4> 月について述べよ。
    -[O]{0} 誤り
    -[P]{1} 微妙
    +[V]{2} 正解

以下のグローバルオプションを使用することも検討すべきです:

L-OpenText:

  別紙答案用紙に記入するよう指示するテキスト（関連する場合のみ）。

L-OpenReserved:

  採点用ボックスに記入しないようボックス脇に表示するテキスト。

### 複数行

文章はどこで切って次の行に続けても（それが空行であっても）、それがオプションや次の設問文や選択肢の開始と混同さえされなければかまいません。例として次の設問を見てください:

    * 2
      + 2はいくつですか？
    - 0
    + 4
    - 10

これは正しいAMC-TXTの設問ですが、これは意図したとおりには扱われません。それは、2行目が、1行目の続きと認識されず、この設問の最初の選択肢の形式になっているためです！

同様の問題は次のAMC-TXTの設問でも発生します。ここでは、「`Gershwin:`」が全体オプションの定義とみなされてしまいます。

    * みなさんは、George
      Gershwin: （作曲家）を知っています。
      彼が生まれたのは何年ですか？
    + 1898年
    - 1892年
    - 1902年

正しい書き方は次のようになります:

    * みなさんは、George Gershwin:
      （作曲家）を知っています。
      彼が生まれたのは何年ですか？
    + 1898年
    - 1892年
    - 1902年

空行があると改行が挿入されます:

    Presentation: タイトル

    試験の説明。

    ** 難問です。

    空には星が何個ありますか？
    - 1個
    - 2個
    - 何千万個も

### 太字、斜体

太字のテキストを出力するには、それを`[*`と`*]`で囲みます。斜体のテキストを出力するには、それを`[_`と`_]`で囲みます。

    * [_フランス_]の[*首都*]はどこですか？
    + パリ
    - リール
    - マルセイユ

### 画像

次の構文を用いて文書に画像を追加することができます:

    ![height=2cm]images/bird.png!

これにより、プロジェクトディレクトリにある画像`images/bird.png`が、2cmの高さで追加されます。角括弧内で使用できるオプションはLaTeXコマンド`\includegraphics`のオプションと同じです（例えばwidth=3cmやkeepaspectratio）。横幅の3/4の幅で画像をセンタリングしたい場合は、次のようにします。

    !{center}[width=.75\linewidth]images/map.pdf!

### LaTeXコードの断片

文書内に小さなLaTeXコード片を置くには、次のように二重の角括弧内にそれを入れます:

    [[\multiSymbole{}]]の記号のある設問の正解は1個とは限りません。0個の場合や複数の場合があります。

### アラビア語

アラビア語で試験問題を作成するのは少し特殊です。もちろん次のオプションを用います。

    Lang: AR

さらに、以下の全体オプションを使用することができます:

ArabicFont:

  アラビア語テキストに用いるフォントです。デフォルト値はArabEyesプロジェクト（debian/ubuntuではttf-arabeyesパッケージにあります）のフォントRasheeqです。

できばえと可搬性をよりよくするには、`L-Name`および `L-Student`オプションに値を明示的に与えてください。

非アラビア文字を挿入するには、`LaTeX`オプションをオンにして、挿入したい文字をLaTeXコマンド`\textLR`の引数として`\textLR{xelatex command}`のように与えてください。

### 日本語

日本語の試験問題は次のオプションを用いて生成することができます。

    Lang: JA

AMCは、生成されるLaTeXソースにいくらか調整を行い、日本語テキストが処理できるようにします。

この場合、AMCはAMC-TXTソースファイルから作られたLaTeXファイルを処理するのに`platex`コマンドを用います。これには、最近のバージョンの`platex`が必要です。いくつかの旧版linuxディストリビューションに含まれているtexlive 2009に付属の`platex`は、AMCに対応していません。

## LaTeXソースファイル

この節では、LaTeXソースファイルから試験問題をデザインできるようにするためのLaTeXコマンドを説明します。別の形式をソースファイルにする場合は、この節はスキップしてください。選択式試験問題は、automultiplechoiceパッケージを用いてLaTeXファイルで記述できます。LaTeXファイルは、`latex`コマンドでコンパイルして生成されたdviファイルを表示することで、いつでも確認することができます。

選択式試験問題用のLaTeXファイルをどのように作ればいいかを簡潔に示すいくつかの例から始めます。それぞれのLaTeXファイルはテンプレートとして用意されているので、これらのテンプレートの一つを用いて選択式試験問題プロジェクトを作ることができます。

### 簡単な例

    \documentclass[a4paper]{article}

    \usepackage[utf8x]{inputenc}
    \usepackage[T1]{fontenc}

    \usepackage[box,completemulti,lang=JA]{automultiplechoice}
    \begin{document}

    \onecopy{10}{

    %%% 試験問題用紙ヘッダー開始:

    \noindent{\bf QCM  \hfill TEST}

    \vspace*{.5cm}
    \begin{minipage}{.4\linewidth}
    \centering\large\bf テスト\\ 試験日 2008年1月1日\end{minipage}
    \namefield{\fbox{
                    \begin{minipage}{.5\linewidth}
                      氏名:

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

    \begin{center}
    試験時間 : 10 分。

      資料の持込みと電子計算機の使用は禁じます。

      \multiSymbole{}の記号のある設問の正解は1個とは限りません。
      0個の場合や複数の場合があります。

      それ以外の設問には正解が1個だけあります。

      \emph{非常に悪い解答}にはマイナス点がつくことがあります。
    \end{center}
    \vspace{1ex}

    %%% ヘッダー終了

    \begin{question}{総理大臣}
      次のうち、日本の総理大臣になったことがある人を一人選びなさい。
      \begin{choices}
        \correctchoice{大隈重信}
        \wrongchoice{湯川秀樹}
        \wrongchoice{聖徳太子}
        \wrongchoice{徳川家康}
      \end{choices}
    \end{question}

    \begin{questionmult}{都道府県}
      次のうち、日本の都道府県はどれか、すべて選びなさい。
      \begin{choices}
        \correctchoice{石川}
        \wrongchoice{山田}
        \correctchoice{宮崎}
      \end{choices}
    \end{questionmult}

    \clearpage

    }

    \end{document}

この例題の解説:

inputencおよびfontencパッケージにより、試験問題の文章にUTF-8エンコーディングを用いることができます。当然、利用したいエンコーディングに合わせて修正することができます。（訳注: 日本語の試験問題において、後述する最近の`platex`を使用する場合は、なくてもUTF-8で動作します。）

ここで使われているautomultiplechoiceパッケージのオプションは、設問が2ページにまたがるのを防ぎ（`box`）、複数選択問題にどの選択肢も該当しないことを示すもう一つの選択肢を自動追加します（`completemulti`）。

`onecopy`コマンドは（異なる）試験問題を必要数（ここでは10）実体化します。LaTeXの環境を用いた代替の構文についてはを参照してください。

この行以降は、試験問題用紙のヘッダーを記述します。

`namefield`コマンドは受験者が氏名を記入する欄を指定します。

`question`および`choices`環境は、単一の正解のある選択式問題を作成します。固有の識別名（ここでは総理大臣）を指定する必要があります。

`questionmult`および`choices`環境は、任意個数の正解のある選択式問題を作成します。受験者は、正解と思われるすべてのボックスにマークするか、（6行目のパッケージ読込みでの`completemulti`オプションで自動的に追加された）最後のボックスにマークすることになります。

`clearpage`は試験問題の次の実体を次のページから開始させるのに用います。

（9行目で始まった）`onecopy`コマンドの終わりを表します。

### 設問グループとシャフルの例

この例では、設問の順序は試験問題の実体ごとに変えたいけれど、同じ分野の設問どうしはいっしょにまとめておきたい場合を考えます。この目的のためには、設問グループを二つ作成し、各グループ内で設問をランダムにシャフルします。

    \documentclass[a4paper]{article}

    \usepackage[box,completemulti,lang=JA]{automultiplechoice}
    \begin{document}

    %%% グループの準備

    \element{地理}{
      \begin{question}{パリ}
        パリはどの大陸にありますか？
        \begin{choices}
          \correctchoice{ヨーロッパ}
          \wrongchoice{アフリカ}
          \wrongchoice{アジア}
          \wrongchoice{火星}
        \end{choices}
      \end{question}
    }

    \element{地理}{
      \begin{question}{カメルーン}
        カメルーンの首都はどれですか？
        \begin{choices}
          \correctchoice{ヤウンデ}
          \wrongchoice{ドゥアラ}
          \wrongchoice{アブダビ}
        \end{choices}
      \end{question}
    }

    \element{歴史}{
      \begin{question}{応仁}
        応仁の乱はいつ始まりましたか？
        \begin{choiceshoriz}
          \correctchoice{1467年}
          \wrongchoice{1967年}
          \wrongchoice{1419年}
        \end{choiceshoriz}
      \end{question}
    }

    \element{歴史}{
      \begin{questionmult}{Nantes}
        \emph{ナントの勅令}について正しいのはどれですか？
        \begin{choices}
          \correctchoice{1598年に発布された}
          \correctchoice{ルイ14世により破棄された}
          \wrongchoice{ヘンリ2世により発布された}
        \end{choices}
      \end{questionmult}
    }

    %%% copies

    \onecopy{10}{

    %%% 試験問題用紙ヘッダー開始:

    \noindent{\bf QCM  \hfill TEST}

    \vspace*{.5cm}
    \begin{minipage}{.4\linewidth}
      \centering\large\bf 歴史と地理\\ 試験日 2008年1月1日
    \end{minipage}
    \namefield{\fbox{\begin{minipage}{.5\linewidth}
    氏名::

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

    %%% ヘッダー終了

    \begin{center}
      \hrule\vspace{2mm}
      \bf\Large 地理
      \vspace{1mm}\hrule
    \end{center}

    \shufflegroup{地理}
    \insertgroup{地理}

    \begin{center}
      \hrule\vspace{2mm}
      \bf\Large 歴史
      \vspace{2mm}\hrule
    \end{center}

    \shufflegroup{歴史}
    \insertgroup{歴史}

    \clearpage

    }

    \end{document}

### 別紙答案用紙を用いた例

この例では、マーク用のボックスをすべて別紙に集めて配置したい場合を考えます。こうすれば、不正行為はさらに難しくなり、また重要なのは、受験者一人につき用紙を1枚だけスキャンすればいいので、スキャンを手動で行う場合の手間が軽減されます。この例は設問数が少なく1枚に収まるため、このような配置はこの特定の場合ではあまり有用ではないかもしれません。多数の設問でこの配置を利用できるようにこの例を修正するのはおまかせします！

    \documentclass[a4paper]{article}

    \usepackage[box,completemulti,separateanswersheet,lang=JA]{automultiplechoice}
    \begin{document}

    \AMCrandomseed{1237893}

    \def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par {\sc 問 #1:} }

    \element{general}{
      \begin{question}{総理大臣}
        次のうち、日本の総理大臣になったことがある人を一人選びなさい。
        \begin{choices}
          \correctchoice{大隈重信}
          \wrongchoice{湯川秀樹}
          \wrongchoice{聖徳太子}
          \wrongchoice{徳川家康}
        \end{choices}
      \end{question}
    }

    \element{general}{
      \begin{questionmult}{都道府県}
        次のうち、日本の都道府県はどれか、すべて選びなさい。
        \begin{choices}
          \correctchoice{石川}
          \wrongchoice{山田}
          \correctchoice{宮崎}
        \end{choices}
      \end{questionmult}
    }

    \element{general}{
      \begin{question}{EU}
        欧州連合には2009年1月現在、何ヶ国が加盟していますか？
        \begin{choiceshoriz}[o]
          \wrongchoice{15}
          \wrongchoice{21}
          \wrongchoice{25}
          \correctchoice{27}
          \wrongchoice{31}
        \end{choiceshoriz}
      \end{question}
    }

    \onecopy{5}{

    %%% 試験問題用紙ヘッダー開始:

    \noindent{\bf QCM  \hfill TEST}

    \vspace*{.5cm}
    \begin{minipage}{.4\linewidth}
      \centering\large\bf テスト\\ 試験日 2008年1月1日
    \end{minipage}

    \begin{center}\em
    試験時間 : 10 分。

      資料の持込みと電子計算機の使用は禁じます。

      \multiSymbole{}の記号のある設問の正解は1個とは限りません。
      0個の場合や複数の場合があります。

      それ以外の設問には正解が1個だけあります。

      \emph{非常に悪い解答}にはマイナス点がつくことがあります。

    \end{center}
    \vspace{1ex}

    %%% ヘッダー終了

    \shufflegroup{general}
    \insertgroup{general}

    \AMCcleardoublepage

    \AMCformBegin

    %%% 答案用紙ヘッダー開始

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

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

    \begin{center}
      \bf\em 解答はこの用紙にのみ行わなければなりません:
      他の用紙に行った解答は無視されます。
    \end{center}

    %%% 答案用紙ヘッダー終了

    \AMCform

    \clearpage

    }

    \end{document}

以下の解説により、上の例がより明確になるでしょう:

`separateanswersheet`オプションにより、所望の配置ができるようになります。

別紙答案用紙上での設問番号の表示方法をこのように変更することができます（この行はなくてもかまいません）。

この改ページはマーク用ボックスを集めた答案専用の用紙の前に置きます。両面印刷を行う場合は、このページが次の用紙に印刷されるように`\AMCcleardoublepage`を使用してください。片面印刷の場合は、単純に`\clearpage`が使えます。

このコマンドは答案用紙部の開始を示します。答案用紙側にしか現れない設問（例えば`AMCcode`で生成される擬似的な設問）を適切に扱うために必要です。

受験者の氏名は答案用紙側に記入しないと意味がありません！

`AMCform`コマンドにより、マーク用ボックスがすべて出力されます。

別紙答案用紙を用いる場合、アルファベット（あるいは`digits`オプションを使用した場合は数字。参照）がマーク用ボックス内に印刷されます。マーク有無を正確に検出するために、受験者にはボックスをしっかり塗りつぶすように（単純にチェックマークだけでは不十分）指示する必要があります。また、マーク判定閾値（マークのあるボックス内での黒ピクセルの割合で定義）を0.5付近に調整する必要があります。

### LaTeXコマンドの説明

#### パッケージオプション

automultiplechoiceパッケージを使用するには、

    \usepackage[...]{automultiplechoice}

という行を用い、`...`部分はカンマで区切ったオプションのリストを指定します。指定できるオプションは以下のとおりです:

- `lang=XX`: 試験問題の言語をXXに設定します。現時点では、DE（ドイツ語）、ES（スペイン語）、FR（フランス語）、IT（イタリア語）、JA（日本語）、NL（オランダ語）のみ指定可能です。automultiplechoiceが`completemulti`オプションで挿入する「該当なし」のような数種類の文字列も翻訳されます。

- `box`: 各設問をボックスに入れ、改ページで分割されないようにします。

- `completemulti`: 「該当なし」の選択肢を複数選択問題の最後に自動的に付け足します。これにより、複数選択問題において、解答がされない場合とどの選択肢も該当しないという解答とが区別できるようになります。この動作は、個別の設問において、`questionmult`環境の内部で `\AMCcompleteMulti`あるいは`\AMCnoCompleteMulti`コマンドを用いることで、強制あるいはキャンセルすることができます。

- `noshuffle`: 各設問で選択肢を自動シャフルしないようにします。

- `answers`: 試験問題用紙ではなく、模範解答を生成します。

- `separateanswersheet`: マーク用ボックスをすべてまとめて試験問題用紙の最後に配置するようにします（通常このオプションは、受験者一人あたり用紙を1枚だけスキャンしたいときに使用します。使用例はを参照してください）。

- `digits`: `separateanswersheet`オプションを用いる場合に、`digits`オプションにより選択肢を（デフォルトの）アルファベットではなく数字で識別します。このオプションを用いる場合は選択肢の数が9を越えないように注意する必要があります。

- `outsidebox`: `separateanswersheet`を用いる場合に、このオプションによりアルファベット（あるいは数字）を答案用紙のボックスの外側に印刷します。

- `insidebox`: `separateanswersheet`を用いない場合に、このオプションによりアルファベット（あるいは数字）を受験者がマークするボックス内に印刷します。

- `catalog`: 将来の試験で組み合わせて使えるように設問のカタログを作成します。設問は番号ではなく識別名で区別されます。このレイアウトには`\onecopy`を使用する必要はありません。

- `postcorrect`: スキャンデータの解析を終えてから（採点時）、出題者が作成した答案用紙を正解として与えたい場合にこのオプションを用います。詳細はを参照してください。

- `automarks`: `separateanswersheet`（別紙答案用紙）モードにおいて、試験問題のページに四隅のマーカーを印刷したくない場合に使用してください。マーカーは別紙答案用紙にのみ印刷されます。この場合に試験問題ページ上のページ番号の書式を変更するには、`\AMCsubjectPageTag`コマンドを次のように再定義してください:

      \renewcommand\AMCsubjectPageTag{%
        \fbox{\texttt{\the\AMCid@etud:\thepage}}%
      }

  `automarks`オプションは、AMCが試験問題ページ上のデータを処理できなくなりますので、これを読み取る必要がない場合にのみ使用してください。

#### 試験問題数の記述

試験問題用紙の内容を記述したLaTeXソースコードは`\onecopy`コマンドの呼出しに含まれている必要があります。これの最初の引数は生成する実体の部数、2番目が実体を生成するコードです。

    \onecopy{50}{ ... }

environパッケージをautomultiplechoiceの前に読み込んだ場合は、代替構文として`examcopy`環境が使用可能で、部数はそのオプションで与えます（デフォルトは5）。

    \begin{examcopy}[50]
    ...
    \end{examcopy}

environパッケージは、Ubuntuディストリビューション9.10（Karmic Koala）までで用いられているTeX Live 2007ディストリビューションでは使用できません。

#### 設問と選択肢

単一選択問題（正解が1個）では、次のようなモデルを用います:

    \begin{question}{識別名}
      ここに問題文...
      \begin{choices}
        \correctchoice{正しい選択肢}
        \wrongchoice{誤った選択肢}
        \wrongchoice{別の誤った選択肢}
      \end{choices}
    \end{question}

各設問には異なる識別名を用いなければなりません。識別名には、数字、アルファベットと、単純な文字（ただし波括弧や角括弧などを除く）が使えます。設問識別名はピリオドとそれに続く数字で終わらないようにしてください。この形式は受験番号記入欄用に予約されています。

各設問の選択肢の数は199個までです。

特定の設問について選択肢をシャフルせず順序を保つには、`choices`環境の`o`オプションを利用することができます。3行目を次のようにしてください:

    \begin{choices}[o]

選択肢を2カラムに配置するには、multicolパッケージを使用できます。

    \usepackage{multicol}

を用いてプリアンブル部（automultiplechoiceへの参照の直後など）でロードし、以下に示すようにmulticols環境の中にchoices環境を入れてください:

      \begin{multicols}{2}
        \begin{choices}
          \correctchoice{正しい選択肢}
          \wrongchoice{誤った選択肢}
          \wrongchoice{別の誤った選択肢}
        \end{choices}
      \end{multicols}

選択肢がさらに短い場合、`choices`環境のかわりに`choiceshoriz`を用いることで、選択肢を横に並べていくことができます。

（正解が任意個あるような）複数選択問題には、`question`環境のかわりに`questionmult`を使用します。

どの選択肢を選んだかが成績に無関係な設問には、次の例のように`\QuestionIndicative`コマンドが使用できます。

    \begin{question}{難易度}\QuestionIndicative
      \scoring{auto=0,v=-1,e=-2}
      この授業は易しいですか難しいですか？0（非常に難しい）から5（非常に易しい）の範囲で選んでください。
      \begin{choiceshoriz}[o]
        \correctchoice{0}
        \correctchoice{1}
        \correctchoice{2}
        \correctchoice{3}
        \correctchoice{4}
        \correctchoice{5}
      \end{choiceshoriz}
    \end{question}

#### 選択肢を複数カラムに配置

選択肢を複数のカラムに置く（そしてスペースを節約する）には、LaTeXのmulticolパッケージを用いて、`multicols`環境内に`choices`環境を入れることができます。

選択肢がカラムの1行におさまらない場合、その一部が次のカラムに分割されてしまうことがあり、これは受験者を混乱させるかもしれません。この現象を避けるには、`\AMCBoxedAnswers`コマンドを使用して、各選択肢をボックスに入れてしまうことができます。使用例を示します:

    \begin{question}{2カラム}
      鳥とは何ですか？
      \begin{multicols}{2}\AMCBoxedAnswers
        \begin{choices}
          \correctchoice{翼をもった動物で、卵を産みます。あらゆる種類の色をもった鳥がいます。}
          \wrongchoice{木製の大きな家具で、多くの場合、家庭用の衣類を保管するのに使われます。}
          \wrongchoice{蒸気で動く機械で、高速に缶を密封することができます。}
        \end{choices}
      \end{multicols}
    \end{question}

選択肢ブロック間の垂直間隔はパラメータになっており、寸法AMCinterBrepにより変更することができます:

    \AMCinterBrep=.5ex

#### 設問のグループ

設問をグループに入れることにより、グループ内の設問をシャフルして試験問題の実体ごとに順序を変えることができます。それぞれの設問グループは通常文字によるグループ名をもたなければなりません。

設問を一つ一つグループに入れるには、次の例のようにします。

    \element{マイグループ}{
      \begin{question}{簡単}
        では、1足す1はいくつですか？
        \begin{choiceshoriz}
          \correctchoice{2}
          \wrongchoice{0}
          \wrongchoice{3}
        \end{choiceshoriz}
      \end{question}
    }

`element`を用いたグループの構築は1回しか行ってはいけません。そのため、これらは、試験問題の実体ごとに内容を繰り返す`onecopy`コマンドの前に置かなければなりません。

グループを構築すると、`shufflegroup`コマンドを次のように用いてグループ内の設問をシャフルすることができます:

    \shufflegroup{マイグループ}

そして、`insertgroup`コマンドを次のように用いてグループの内容を試験問題用紙に出力することができます:

    \insertgroup{マイグループ}

最後の二つのコマンド（`shufflegroup`と`insertgroup`）は`onecopy`の引数内部で使用されるべきものです。これによって、それぞれの実体化の前にシャフルが行われます。

設問グループは、次のようなコマンドによって、より細かく操作することができます:

- `\insertgroup[n]{マイグループ}` は、（オプションのパラメータnを使用することにより）グループ内の最初のn要素だけ出力します。

- `\cleargroup{マイグループ}` は、グループの中身を空にします。

- `\copygroup{グループA}{グループB}` は、グループAの全要素をグループBの最後にコピーします。オプション引数nを用いると、最初のn要素だけコピーされます: `\copygroup[n]{グループA}{グループB}`

これらのコマンドを用いれば、例えば次のコードにより、GAグループからランダムに4個、GBグループからランダムに5個、GOグループから全設問を取り出して、それらをシャフルするということができます（`onecopy`コマンドの引数内部で使用します）:

    \cleargroup{all}
    \shufflegroup{GA}\copygroup[4]{GA}{all}
    \shufflegroup{GB}\copygroup[5]{GB}{all}
    \copygroup{GO}{all}
    \shufflegroupe{all}
    \insertgroup{all}

#### 用紙サイズと余白

LaTeXの`automultiplechoice`パッケージは`geometry`を用いて余白とページレイアウトを設定しています。その設定を上書きするには、`\begin{document}`の直前で`\geometry`コマンドを用いてください。詳細はgeometryパッケージのドキュメントを参照してください。AMCが設定する初期値は次のとおりです:

    \geometry{hmargin=3cm,headheight=2cm,headsep=.3cm,footskip=1cm,top=3.5cm,bottom=2.5cm}

スペースを広げるために余白を縮めるときは、以下に注意してください:

- 四隅のマーカーは完全に印刷されていなければなりません（プリンタの印刷可能範囲により欠けてしまう可能性があります）。

- 四隅のマーカーはスキャン画像上で完全に見えなければなりません（マーカーが用紙の端ぎりぎりのとき、用紙がずれたり傾いたりすると、画像からはみ出してしまいます）。

`\geometry`コマンドの引数リストの一つのオプションとして用紙サイズを設定することもできます。可能な値は、`a4paper`、`a5paper`、`a6paper`, `b4paper`、`b5paper`、`ansibpaper`、`ansicpaper`、`ansidpaper`、`letterpaper`、`executivepaper`、`legalpaper`などです。

用紙サイズが小さいときは、（`+1/1/53+`のような）目視用の用紙IDの位置を変更したい場合があるかもしれません。これは次のような形式で、`\AMCidsPosition`コマンドを用いることでできます:

    \AMCidsPosition{pos=p,width=w,height=h}

ここで、pは`none`、`top`、`side`のいずれかで、w、hはIDを含む（見えない）ボックスの寸法です。デフォルト値は次の値です:

    \AMCidsPosition{pos=side,width=4cm,height=3ex}

最後に、A5用紙のための設定例を示します:

    \geometry{a5paper,hmargin=1.6cm,top=2.5cm}
    \AMCidsPosition{pos=top}

#### マーク用ボックスの外見スタイル

`\AMCboxDimensions`コマンドにより、マーク用ボックスの寸法を変えることができます。

- `shape` はボックスの形状です。squareとすれば四角形になり、ovalとすれば円または楕円になります。ovalを使用するにはLaTeXのtikzパッケージをロードする必要があることに注意してください。

- `width` はボックスの幅です。

- `height` はボックスの高さです。

- `size` はボックスのサイズ（`width`と`height`）です。

- `rule` はボックスの枠の太さです。

- `down` はボックスをどれだけ下に下げるかを制御します。

小さめのボックスを作るには、例えば次のようなコマンドを使ってください:

    \AMCboxDimensions{size=1.7ex,down=.2ex}

パッケージの`separateanswersheet`オプションを使用しているときは、ボックスのラベルをカスタマイズすることもできます。デフォルトの動作はアルファベットの大文字によるラベルで、`digits`オプションを用いると数字になります。独自のラベルを用いるには、`\AMCchoiceLabel`コマンドを再定義する必要があります。このコマンドは、選択肢を数えるカウンタ名を引数にとります。例えば以下のコードにより、ボックスのラベルにアルファベットの小文字を用いるようになります:

    \def\AMCchoiceLabel#1{\alph{#1}}

別の例として、arabxetexパッケージを使用している場合、以下のコードが便利かもしれません:

    \def\AMCchoiceLabel#1{\textLR{\Alph{#1}}}

ボックスのラベルのスタイルも、次の例のように`\AMCchoiceLabelFormat`コマンドを再定義して変更することができます（ラベルを太字にしたいとします）:

    \def\AMCchoiceLabelFormat#1{\textbf{#1}}

さらに、受験者がマークするボックスの色も、次のように設定することもできます:

    \AMCboxColor{red}

`red`は任意の色に置き換えられます（ただし`xcolor`パッケージが認識できなければなりません）。例えば、淡緑色にするには次のようにしてください:

    \definecolor{amcboxcolor}{rgb}{0.67,0.88,0.5}
    \AMCboxColor{amcboxcolor}

#### 設問の外見スタイル

LaTeXの`AMCbeginQuestion`コマンドを再定義することにより、各設問の外見を変更することができます。デフォルトの定義は次のとおりです:

    \def\AMCbeginQuestion#1#2{\par\noindent{\bf Question #1} #2\hspace*{1em}}

このコマンドに与えられる最初のパラメータは表示する設問の番号です。2番目は複数選択問題の場合に`\multiSymbole`を含み、それ以外の場合は空です。`\multiSymbole`コマンドは複数選択問題を他と区別できるようにするためのものであり、これも変更することができます。デフォルトではトランプのクラブ記号です。

    \def\multiSymbole{$\clubsuit$}

最後に、`\AMCnumero`コマンドにより、次の設問の番号を変更できます。試験問題の各実体化において、最初に

    \AMCnumero{1}

の呼出しが実行されますが、どこで用いてもかまいません。

選択肢の外見も、`choices`や`choiceshoriz`のかわりに`choicescustom`を用いれば、次の三つのLaTeXマクロを再定義して同様に変更できます:

    \def\AMCbeginAnswer{}
    \def\AMCendAnswer{}
    \def\AMCanswer#1#2{#1 #2}

以下の寸法を再定義すれば間隔を変更することもできます（これはデフォルト値です）:

    \AMCinterIrep=0pt
    \AMCinterBrep=.5ex
    \AMCinterIquest=0pt
    \AMCinterBquest=3ex

これらの寸法は、設問間（`quest`）あるいは選択肢間（`rep`）の垂直間隔で、またボックスモード（`B`。`\AMCBoxedAnswers`の使用時や`box`パッケージオプション使用時）と標準モード（`I`）用があります。

#### 別紙答案用紙方式

`separateanswersheet`オプション（参照）で生成される別紙答案用紙のレイアウトを変更することも可能です。

1. マーク用ボックスの水平間隔を変更したり、設問間の垂直間隔を変更したりするだけならば、以下の寸法を再定義するだけです:

       \AMCformHSpace=.3em
       \AMCformVSpace=1.2ex

2. 表示設定をもっと細かく変更したい場合は、各設問と選択肢の開始に使われるコマンドを再定義することができます（以下はデフォルトの定義を示します）:

       \def\AMCformQuestion#1{\vspace{\AMCformVSpace}\par{\bf Question #1:}}
       \def\AMCformAnswer#1{\hspace{\AMCformHSpace} #1}

これらの定義は、LaTeXファイルの`\begin{document}`の直後に挿入しなければなりません。

#### 受験番号取得

受験番号の取得はLaTeXの`AMCcode`コマンドを使用して、受験者に答案用紙上に自分の受験番号を記入してもらうことで、容易に行うことができます。このコマンドの二つの引数は、設問識別名と、番号に用いる桁数です。例えば次のようなヘッダーを用いることができます:

    {\setlength{\parindent}{0pt}\hspace*{\fill}\AMCcode{受験番号}{8}\hspace*{\fill}
    \begin{minipage}[b]{6.5cm}
    $\longleftarrow{}$\hspace{0pt plus 1cm} 受験番号を以下にマークし、その下に氏名を記入してください。

    \vspace{3ex}

    \hfill\namefield{\fbox{
        \begin{minipage}{.9\linewidth}
          氏名:

          \vspace*{.5cm}\dotfill

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

    }

`separateanswersheet`オプションを用いている場合は、 `AMCcode`コマンドは`AMCformBegin`コマンドの後に置く必要があります。

`\AMCcode`の出力は、 長さ`\AMCcodeHspace`、`\AMCcodeVspace`、`\AMCcodeBoxSep`を設定することで変更することができます。それぞれ、ボックス間の水平および垂直の間隔、ボックスとラベルの間隔（ラベルがボックスの外に印刷される場合）です。デフォルト値は次のように設定されています:

    \AMCcodeHspace=.5em
    \AMCcodeVspace=.5em
    \AMCcodeBoxSep=.1em

水平バージョン`AMCcodeH`も使用することができ、桁数が少ない場合に便利です。

#### 記述式設問

試験問題に記述式設問を加えたい場合があるかもしれません。一つの方法は、そういった設問のマーク用ボックスを採点者用に予約しておくことです。試験実施後、記入された答案を読んで、採点者が評価に該当するボックスにマークをつけます。そして答案をスキャンしてAMCで採点すれば、その点数を得点に組み入れることができます。

    \begin{question}{記述}
      \emph{インフレーション}の定義を述べよ。
      \AMCOpen{lines=5}{\wrongchoice[W]{誤}\scoring{0}\wrongchoice[P]{部}\scoring{1}\correctchoice[C]{正}\scoring{2}}
    \end{question}

この例では、採点用にボックスが3個作成されます。最初の（誤りの「誤」のラベルのついた）ボックスをマークすると、受験者は0点を獲得します。2番目の（部分点の「部」のラベルのついた）ボックスをマークすると、受験者は1点を獲得します。3番目の（正解の「正」のラベルのついた）ボックスをマークすると、受験者は2点を獲得します。

`\AMCOpen`の最初の引数はカンマで区切ったオプションです。使用できるオプションは次のとおりです:

lineup=bool

  `true`なら、解答欄と採点用ボックスを同じ行に並べます。`false`（デフォルト）なら、解答欄を枠で囲み、採点用ボックスの下に配置します。

lines=num

  解答の行数を設定します。デフォルト値は`1`です。

lineheight=dim

  各行の高さを設定します。デフォルト値は`1cm`です。

dots=bool

  `true`（デフォルト）なら、各行に点線を引きます。

contentcommand=cmdname

  解答領域の内容をカスタマイズするにはこのオプションを使用してください。内容を生成するための`\cmdname`コマンドを定義する必要があります。

hspace=dim

  採点用ボックスの間隔を設定します。

backgroundcol=color

  採点領域の背景色を設定します。

foregroundcol=color

  採点用ボックスの枠の色を設定します。

scan=bool

  `false`なら、採点用ボックスをスキャンしません（これは、この設問に限り手動でマーク認識することにして、受験者がボックスに何を記入しても無視したい場合に便利です）。デフォルトは`true`です。

annotate=bool

  `false`（デフォルト）なら、答案に採点記入する際、ボックスに記号をつけません（素点のみ記入されます）。

question=text

  採点者が設問を識別しやすくするための短いテキストを設定します。このテキストは、別紙答案用紙を用いる場合のみ、採点用ボックスの前に記載されます。

answer=text

  模範解答用紙の解答欄に記入される短いテキストを設定します。

width=dim

  `lineup=false`のときの、解答欄を囲む枠の幅を設定します。デフォルト値は`.95\linewidth`です。

framerule=dim

  解答欄を囲む枠の線幅を設定します。

framerulecol=color

  解答欄を囲む枠の色を設定します。

boxmargin=dim

  採点用ボックスの周囲の余白を設定します。

boxframerule=dim

  採点用ボックスの周囲枠の線幅を設定します。

boxframerulecol=color

  採点用ボックスの周囲枠の色を設定します。

これらのパラメータの（試験全体での）デフォルト値は、次のようにして`\AMCopenOpts`コマンドで設定できます

    \AMCopenOpts{boxframerule=2pt,boxframerulecol=red}

さらに、`\AMCotextReserved`コマンドを次のように再定義すると、受験者にマークしないように指示するテキストを採点領域に書くことができます:

    \def\AMCotextReserved{\emph{この欄には記入しないこと}}

別紙答案用紙を用いている場合は、各設問に付け加えるテキストを次のように定義できます:

    \def\AMCotextGoto{\par{\bf\emph{解答は別紙答案用紙に記入してください。}}}

#### シャフルパラメータの選択

シャフルの生成に用いる乱数生成器のシードは、以下のコマンドで変更することができます（documentの最初の方で、少なくとも`onecopy`コマンドの外で使わなければなりません）:

    \AMCrandomseed{1527384}

割り当てた値（1から4194303までの中から選びます）が変更されると、シャフルが変わります。もちろん、試験問題用紙を印刷した後は、この値を変更してはいけません。

#### セクション分けと別紙答案用紙

別紙答案用紙上にもセクション分けが見えるようにするには、`\section`と`\subsection`の代わりに、`\AMCsection`と`\AMCsubsection`を使用してください。

#### 試験問題内での参照

LaTeXのコマンド`\label`、`\ref`、`\pageref`コマンドを設問や選択肢で用いると、試験問題の実体化ごとに同じ引数で呼び出され、毎回参照する番号が変わるので、問題を起こします。これを解決するには、それぞれ`\AMClabel`、`\AMCref`、`\AMCpageref`を用いてください。これらは、`\label`、`\ref`、`\pageref`を呼び出す前に、引数に実体の番号を付加します。

また、各実体化の最初に、カウンタを0にリセットする必要があります。一例として、別の用紙にまとめて配置された図への参照を行いたいとき、次のように書けます:

    \element{動物}{
      \begin{figure}[p]
        \centering
        \includegraphics[width=.6\linewidth]{tiger}
        \caption{とある動物}
        \AMClabel{虎}
      \end{figure}

      \begin{question}{tiger}
        図\AMCref{虎}（\AMCpageref{tiger}ページ）の動物は何ですか？
        \begin{choices}
          \correctchoice{トラ}
          \wrongchoice{キリン}
          \wrongchoice{ゾウ}
          \wrongchoice{ネコ}
        \end{choices}
      \end{question}
    }

そして重要なのは、`\onecopy`コマンドの直後に

    \setcounter{figure}{0}

を挿入して、図の番号がどの実体でも1から始まるようにすることです。これを行わないと、実体ごとに番号が増加してしまい、意図した動作ではなくなってしまいます。

#### AMCが挿入するテキストのカスタマイズ

以下のカスタマイズには`\AMCtext`を使用してください:

- `\AMCtext{none}{sentence}` は、`completemulti`オプションを使用した場合の「該当なし。」（日本語でのデフォルトテキスト）を、与えられたsentenceに置換します。

- `\AMCtext{corrected}{title}` は、模範解答用紙に表示される「模範解答」（日本語でのデフォルトテキスト）を、与えられたtitleに置換します。

- `\AMCtext{catalog}{title}` は、`catalog`オプションで生成される設問カタログに表示される「設問カタログ」（日本語でのデフォルトテキスト）を、与えられたtitleに置換します。

- 同様に、以下のようなコマンドも検討できます（2番目の引数は日本語でのデフォルトテキストです）:

      \AMCtext{draft}{ドラフト}
      \AMCtext{message}{試験の実施には、auto-multiple-choiceでコンパイルされた文書を印刷してください。}

### AMCへのオプション

ソースファイルのヘッダ（'%'で始まる先頭行）に、AMCに渡すオプションをいくつか付加することができます:

`%%AMC:preprocess_command=commandname`

  ソースファイルを処理するLaTeXを呼ぶ前に、commandnameコマンドを実行させます。このコマンドはプロジェクトディレクトリ内で実行され、ソースファイルのコピーの名前が引数として渡されます。これは単なるコピーなので、commandnameがファイルの内容を変更しても問題ありません。

`%%AMC:latex_engine=engine`

  ユーザ設定されたLaTeXエンジンにかかわらず、このファイルに用いるエンジンを指定します。

### 乱数を用いた数学設問

#### fpパッケージの使用

automultiplechoiceの前に

    \usepackage{fp}

としてfpパッケージを使用すると、乱数データを用いた練習問題を作ることができます。fpパッケージのドキュメントはhttp://mirrors.ctan.org/macros/latex/contrib/fp/READMEにあります。以下では単純な例から見てみます。

    \begin{question}{加算}
      \FPeval\VQa{trunc(1+random*8,0)}
      \FPeval\VQb{trunc(4+random*5,0)}
      \FPeval\VQsomme{clip(VQa+VQb)}
      \FPeval\VQnonA{clip(VQa+VQb-1)}
      \FPeval\VQnonB{clip(VQa*VQb)}
      \FPeval\VQnonC{clip(VQa-VQb)}

      \VQa{} と \VQb{} の和はいくつですか？
      \begin{choiceshoriz}
        \correctchoice{\VQsomme}
        \wrongchoice{\VQnonA}
        \wrongchoice{\VQnonB}
        \wrongchoice{\VQnonC}
      \end{choiceshoriz}
    \end{question}

`\FPeval`コマンドは計算を実行するのに使います:

`random`は[0,1]の実数を返すので、このコマンドによりVQaには1から8までの乱数の整数値が設定されます。次の行では、VQbに4から8までの乱数の整数値が設定されます。

正しい値をVQsomme変数に入れています。

誤った値をVQnonA、VQnonB、VQnonCに入れています。

変数名のVQは他のLaTeXコマンドと干渉しないように選んであります。

##### 区間の選択

`automultiplechoice`パッケージは、さらに、この種の設問の作成が容易になるように`\AMCIntervals`コマンドを定義しています。以下に例を示します:

    \begin{question}{inf-expo-indep}
      \FPeval\VQa{trunc(2 + random * 4,0)}
      \FPeval\VQb{trunc(6 + random * 5,0)}
      \FPeval\VQr{VQa/(VQa+VQb)}

      $X$と$Y$を互いに独立な指数分布に従う乱数変数とし、それぞれのパラメータを\VQa{}と\VQb{}とします。確率 $\mathbb{P}[X<Y]$ は、次のどの区間に属しますか？

      \begin{multicols}{5}
        \begin{choices}[o]
          \AMCIntervals{\VQr}{0}{1}{0.1}
        \end{choices}
      \end{multicols}
    \end{question}

（訳注: \mathbbを使用するにはamsfontsパッケージが必要です。）

この行は、各区間 [0,0.1[ [0.1,0.2[ ... [0.9,1[ に対応した10個の選択肢を挿入し、正解の選択肢は VQr を含んだ区間であることを指示します。`\AMCIntervals`の引数は次のとおりです:

1. 正解の値

2. 最初の区間の左端の値

3. 最後の区間の右端の値

4. 各区間の長さ

区間の書式は、ローカルな（例えば、よくあるのは [a,b[ ではなく [a,b) と書くなどの）慣行に合わせて、`\AMCIntervalFormat`コマンドを再定義して変更できます。オリジナルは

    \def\AMCIntervalFormat#1#2{[#1,\,#2[}

と定義されています。

##### 数値での解答

`\AMCnumericChoices`コマンドを用いれば、次の例のように、受験者に数値での解答をマークで記入させることもできます:

    \begin{questionmultx}{sqrt}
      \FPeval\VQa{trunc(5+random*15,0)}
      \FPeval\VQs{VQa^0.5}
      $\sqrt{\VQa}$ を計算して、小数点以下2桁で丸めよ。

      \AMCnumericChoices{\VQs}{digits=3,decimals=2,sign=true,
                     borderwidth=0pt,backgroundcol=lightgray,approx=5}
    \end{questionmultx}

`questionmultx`環境に注意してください。この設問は複数のボックスをマークする必要があるので複数選択問題にしなければなりませんが、複数の正解があると言うことはできません。なので複数選択問題の記号を表示しません。

`\AMCnumericChoices`コマンドの2番目の引数で用いられるオプションは次のとおりです（boolは`true`か`false`で、colorは`xcolor`で認識できる色でなければなりません）:

digits=num

  は、必要な桁数（デフォルトは3）を指定します。

decimals=num

  は、小数点以下の桁数（デフォルトは0）を指定します。

base=num

  は、数字の基数（進法）（デフォルトは10）を指定します。

significant=bool

  `true`なら、`\AMCnumericChoices`の最初の引数のうち上位桁のみ解答させます。例えば、`\AMCnumericChoices{56945.23}{digits=2,significant=true}`の正解は 57 となります。

nozero=bool

  全桁から選択肢0を除去します。`\AMCnumericChoices`を用いて小さい正の値（<10）を記入するのに便利かもしれません。

sign=bool

  は、符号の有無（デフォルトはtrue）を指定します。

strict=bool

  が`true`なら、符号とすべての桁のボックスがマークされなければなりません。`false`なら、マークしていない桁は0として扱います。デフォルトは`false`です。

vertical=bool

  が`true`なら、1桁分のボックスを縦に配置します。`false`（デフォルト）なら、1桁分のボックスを横に配置します。

reverse=bool

  が`true`なら、`vertical`モードにおいて、大きい数字を上に配置します（デフォルトは`true`）。

vhead=bool

  が`true`なら、`vertical`モードにおいて、各桁の上部に`\AMCntextVHead`コマンドを使用して作成されるヘッダーを置きます。`\AMCntextVHead`はもともと次のように定義されています。

      \def\AMCntextVHead#1{\emph{b#1}}

  このデフォルト値は、2進数の桁に番号をつけるのに便利です。

  デフォルト値は`false`です。

hspace=space

  は、ボックス間の水平間隔（デフォルトは`.5em`）を設定します。

vspace=space

  は、ボックス間の垂直間隔（デフォルトは`1ex`）を設定します。

borderwidth=space

  は、全ボックスを囲む枠線の太さ（デフォルトは`1mm`）を設定します。

bordercol=color

  は、枠線の色（デフォルトは`lightgray`）を設定します。

backgroundcol=color

  は、背景色（デフォルトは`white`）を設定します。

Tsign=text

  は、符号をマークするボックスの上に表示するテキスト（デフォルトは空で、`\def\AMCntextSign{text}`で再定義も可能）を設定します。

Tpoint=text

  は、小数点のテキストを設定します。デフォルトは`\raisebox{1ex}{\bf .}`で、`\def\AMCdecimalPoint{text}`で再定義も可能です。

scoring=bool

  が`true`なら、AMCにこの設問の採点基準を指定します。デフォルトは`true`です。

scoreexact=num

  は、正解に対する素点（デフォルトは2）を指定します。

exact=num

  は、正解として認めて`scoreexact`の得点を与える誤差（正解の整数値（小数点を除いた値）との差）（デフォルトは0）を設定します。

scoreapprox=num

  は、近似解に対する素点（デフォルトは1）を指定します。

approx=num

  は、近似解として認めて`scoreapprox`の得点を与える誤差（正解の整数値（小数点を除いた値）との差）（デフォルトは0）を設定します。

`\AMCnumericOpts`コマンドを使えば、これらのパラメータに対して、（試験全体用の）デフォルト値を別の値に設定することができます:

    \AMCnumericOpts{scoreexact=3,borderwidth=2pt}

さらに、（`separateanswersheet`オプションで別紙答案用紙を使用していて）別紙答案用紙の外で`\AMCnumericChoices`を用いた設問に付加するテキストを、`\AMCntextGoto`コマンドを再定義して設定することができます:

    \def\AMCntextGoto{\par{\bf\emph{Please code the answer on
                               the separate answer sheet.}}}

#### pgf/tikzパッケージの使用

LaTeXのpgf/tikzパッケージ（http://www.ctan.org/tex-archive/graphics/pgf/baseを参照）は、

    \usepackage{tikz}

とともに利用可能な数学関数を提供します。

latexを走らせて試験問題をコンパイルするたびに常に同じ結果が得られるよう、最初に乱数シードを設定しなければなりません:

    \pgfmathsetseed{2056}

##### 単純な計算

これは単純な計算を用いた例です

    \begin{question}{inverse}
      \pgfmathrandominteger{\x}{1}{50}

      $x=\x$ の逆数はいくつですか？

      \begin{choices}
        \correctchoice{\pgfmathparse{1/\x}\pgfmathresult }
        \wrongchoice{\pgfmathparse{1/(\x +1))}\pgfmathresult}
        \wrongchoice{\pgfmathparse{cos(\x)} \pgfmathresult}
        \wrongchoice{\pgfmathparse{\x^(-0.5)}\pgfmathresult}
      \end{choices}
    \end{question}

`\pgfmathparse`コマンドが計算を行い、`\pgfmathresult`が結果を出力します。

出力の書式は、次の例（小数点以下3桁、小数点としてカンマを使用）に示すように、`\pgfmathprintnumber`を用いて調整することができます。

    \begin{question}{inverse3}
      \pgfmathrandominteger{\x}{1}{50}
      \pgfkeys{/pgf/number format/.cd,fixed,fixed zerofill,precision=3,use comma}
      $x=\pgfmathprintnumber{\x}$ の逆数はいくつですか？

      \begin{choices}
        \correctchoice{\pgfmathparse{1/\x}\pgfmathprintnumber{\pgfmathresult}}
        \wrongchoice{\pgfmathparse{1/(\x +1))} \pgfmathprintnumber{\pgfmathresult}}
        \wrongchoice{\pgfmathparse{cos(\x)} \pgfmathprintnumber{\pgfmathresult}}
        \wrongchoice{\pgfmathparse{\x^(-0.5)} \pgfmathprintnumber{\pgfmathresult}}
      \end{choices}
    \end{question}

`\AMCIntervals`コマンドと`\AMCnumericChoices`コマンドを使用することもできます（および参照）。

##### グラフ

tkizパッケージはグラフを（ランダムなものもそうでないものも）作成することもできます。

    \begin{questionmult}{graph}
      以下にグラフが示された三つの関数を考えます:
      \pgfmathrandominteger{\a}{2}{4}
      \begin{center}
        \begin{tikzpicture}[domain=0:4]
          \draw[very thin,color=gray] (-0.1,-4.1) grid (3.9,3.9);
          \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
          \draw[->] (0,-4.2) -- (0,4.2) node[above] {$f(x)$};
          \draw[color=red] plot (\x,{(1+\a/4)*\x-\a}) node[right] {$f_{1} (x)$};
          \draw[color=blue] plot (\x,{\a*sin(\x r)}) node[right] {$f_{2}(x)$};
          \draw[color=orange] plot (\x,{\a*cos(\x r)}) node[right] {$f_{3}(x)$};
        \end{tikzpicture}
      \end{center}
      以下のうち正しいものはどれですか？
      \begin{choices}
        \pgfmathrandominteger{\x0}{2}{4}
        \correctchoice{$f_{2}(\x0)$=\pgfmathparse{\a*sin(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
        \correctchoice{$f_{3}(\x0)$=\pgfmathparse{\a*cos(\x0 r)} \pgfmathprintnumber{\pgfmathresult}.}
        \wrongchoice{関数 $f_{1}(x)$ は線形関数である。}
      \end{choices}
    \end{questionmult}

きれいなグラフを作成するには、pgfplotsも有用です。

pgfmathでは精度が有限なので、"算術オーバーフロー" を考慮に入れる必要があるかもしれません。tikzとpgfplotsは、バックエンドに`gnuplot`を用いることで、この問題を克服しています。これには、`gnuplot`をシステムにインストールし、LaTeXの`--shell-escape`オプションを用いる必要があります。このためには、AMCの設定ウィンドウで、プロジェクト用のLaTeXエンジンとして "`pdflatex --shell-escape`" （引用符なし）を設定してください。

#### LuaLaTeXの使用

`lualatex`コマンドを用いれば、LaTeX文書内でLUA言語を使用できます。これを用いる場合は、文書はUTF-8でエンコードされている必要があり、inputencパッケージはロードできません。これに関する情報は http://www.luatex.org/documentation.html を参照してください。

LUAのコマンドは、`\directlua`の引数として与えます。最も便利なLUA関数は`tex.print`で、結果をLaTeXに戻して出力します。

これも同じように、乱数を用いる場合は、コンパイルごとに同じ結果が得られるように常に乱数シードを固定してください:

    \directlua{math.randomseed (2048)}

これはとても単純なソースファイルです:

    \documentclass[a4paper]{article}
    %\usepackage[utf8x]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[box,completemulti,lang=JA]{automultiplechoice}
    \begin{document}

    \onecopy{10}{

    %%% head

    \noindent{\bf QCM  \hfill TEST}

    \vspace*{.5cm}
    \begin{minipage}{.4\linewidth}
      \centering\large\bf LuaLaTeXサンプル試験
    \end{minipage}
    \namefield{\fbox{\begin{minipage}{.5\linewidth}
    Name :

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

    %%%

    \directlua{math.randomseed (2048)}
    \directlua{a=math.random()}

    \begin{question}{平方根}
      \directlua{tex.print(a)}の平方根はいくつですか？

      \begin{choices}
        \correctchoice{\directlua{tex.print(math.sqrt(a))}}
        \wrongchoice{\directlua{tex.print(math.sqrt(2*a))}}
        \wrongchoice{\directlua{tex.print(math.sqrt(a*1.001))}}
      \end{choices}
    \end{question}

    \clearpage
    }

    \end{document}

出力の書式調整はluaの関数で行うか、siunitxで行うことができます。

`\AMCIntervals`コマンドと`\AMCnumericChoices`コマンドを使用することもできます（および参照）。

## GUIの使用方法

ここでは、選択式試験問題の作成から受験者の得点の編集まで、GUIによる使用例を解説します。

### プロジェクトの新規作成

GUIを開きましょう。通常は、Gnomeの一般メニュー（あるいは、KDEなどの対応するメニュー）からアプリケーション教育 Auto Multiple Choiceを選んで開きます。`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に通知します（参照）。

そして、「試験実施後のマーク認識」セクションの自動ボタンで開いたダイアログから、スキャンデータファイルをすべて選択したのち、このダイアログのOKボタンで開始します。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=x`は、 x個の設問に解答する必要がないことを示します。素点を加算する際、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です。

#### 採点基準を用いた得点計算

ここでは受験者の得点の計算方法を説明します。各受験者について:

1. 各設問に順番に採点基準を適用し、設問別素点を求めます。

2. （採点対象外設問を除いて）すべての設問の素点を足し、その受験者の素点合計を求めます。

3. （編集設定ウィンドウのプロジェクトタブで）正の満点がパラメータとして設定されている場合、受験者の素点合計を素点合計の満点（完答での素点合計）で割り、設定されている満点を掛けることにより、受験者の得点が得られます。これにより、受験者が全問正解していれば、満点を得ることになります。満点を100点に設定した場合、受験者の得点は正解のパーセンテージとみなすことができます。

### 受験者の識別

このステージは必須ではありません。ここでは、各答案と受験者の結び付け（リンク）をします。受験者の氏名は自動的には読み込まれませんが、現実的な策が2通りあります:

1. 受験番号を一桁ごとにボックスにマークする方式で、受験者自身に答案用紙に記入してもらうことが可能です。答案用紙にこの方式を用いるためのLaTeXのコマンドが用意されています（参照）。試験の実施後、受験番号と受験者名を対応づけるリストを用いて、自動的に答案の識別が行われます。

2. 受験番号を記入させない場合や、自動識別が（記入ミスなどで）完全にはうまくいかなかった場合には、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`という名前のカラムに受験者名を格納しないと、下で説明する手動リンクでボタン表示ができなくなります。

セパレータの ``:'` は、カンマ、セミコロン、タブのいずれかに置き換えることができます。しかし、名簿ファイルのすべての箇所で同じセパレータを使わなければなりません。どの文字をセパレータとして（この4種から）選ぶかは、コメントでない最初の行において、どれが最も多く出現するかで決定されます。

CSVファイルであれば適合するはずです。

準備した受験者名簿は受験者識別セクションのファイル登録ボタンにより選択します。そして受験者名簿の中でユニークなキーとなるカラム（一般には、受験番号を格納するカラム）を一つ選ばなければなりません。最後に、自動リンクの準備として、（使用した場合には）LaTeXの`AMCcode`コマンドで使用した関連するコード名を選びます。

#### リンク

##### 自動リンク

受験者識別セクションの自動ボタンを押すと、受験者が記入したコードの対応づけが開始します。その結果は、後から（半）手動リンクにより確認したり改善したりできます。

自動リンクを行うためには、LaTeXソースファイル中に`AMCcode`コマンド（参照）が少なくとも一つ必要です。また、受験者名簿には、`AMCcode`が生成したボックスに記入されるはずの参照（一般には受験番号）を格納したカラムが必要です。

##### 手動リンク

受験者の氏名を読み取るためのウィンドウを開くには、受験者識別セクションの手動ボタンをクリックします。このウィンドウは、上部に受験者が記入した氏名の画像が順番に表示され、下部に名簿にある受験者ごとにボタンが並び、さらに右側には答案用紙の一覧で区別できるようになっています。各ページについて、上部に提示された氏名に対応したボタンをクリックします（デフォルトでは識別できなかった答案だけが表示されますが、「リンク済も表示」ボックスにチェックすれば変更できます）。すべてのページを読み取れたら、氏名の画像のかわりに青い背景が表示され、最後に保存ボタンをクリックしてリンクを終了するだけです。

### 採点表のエクスポート

このステージでは、エクスポートボタンを使って、採点表をさまざまな形式（現在のところ、CSVとOpenOffice）で取り出せます。エクスポートすると、それに引き続いて、（可能なら）エクスポートされたファイルが適切なソフトウェアで開かれます。

#### ODS（OpenOffice、LibreOffice）へのエクスポート

エクスポートされたファイルでは、以下の色が使われています:

灰色

  は、適用外に使われます。これは例えば、欠席者の得点や、その受験者には表示されなかった設問の素点です。

黄色

  は、受験者が無回答のままにした設問に使われます。

赤色

  は、選択が無効だった設問に使われます。単一選択問題に複数のマークをした場合や、該当なしボックスとそれ以外のボックスをマークした場合です。

紫色

  は、採点対象外の設問に使われます。

### 採点記入

採点記入ボタンを押すと、答案への採点記入が始まります。各スキャンデータに、次のように記入されます（これらはデフォルトの記入書式で、設定で変更できます）:

- 受験者が誤ってマークしたボックスには、赤い円が記入されます。

- マークすべきボックスにマークされていない場合は、赤いチェック印が記入されます。

- マークすべきボックスにマークされている場合は、青いチェック印が記入されます。

- 各設問について、取得した素点と満点が記入されます。

- 答案全体の得点が答案の最初のページに記入されます。

答案の最初のページに記入されるテキストは設定で変更可能です（ 編集 設定 採点記入 ヘッダー 、または、 編集 設定 プロジェクト 答案の採点記入 ヘッダーテキスト ）。設定されたテキストに対して、次のように置換が行われます（これらの値の意味についてはをご覧ください）:

`%S`

  は受験者の素点合計に置換されます。

`%M`

  は素点合計の満点に置換されます。

`%s`

  は受験者の得点に置換されます。

`%m`

  は満点に置換されます。

`%(ID)`

  は受験者名に置換されます。

`%(COL)`

  は受験者名簿内のCOLの値に置換されます。

この処理は各ページに行われ、PDF形式の採点記入済の答案用紙が得られます。受験者の答案を格納するPDFファイル名は、ファイル名テンプレートフィールドで指示したテンプレートによって決められます。テンプレートでは、「(col)」は受験者名簿内のCOLの値に置換されます（参照）。このフィールドを空にすると、試験問題番号と受験者名からなるデフォルト値が使用されます。

## 非標準の使用方法

### 問題用紙コピー方式

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

- `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にどれが出題者の記入した答案用紙かを教えるだけです。

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

- `postcorrect`、`insidebox`、`noshuffle`オプションを使用します（参照）。

- 選択肢には`\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}

### 指名試験問題用紙

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

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

      name,surname,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}

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

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

## コマンドマニュアル

GUIのみを使用する場合は（たいていはそうですが）、この節はスキップしてかまいません。しかし、GUIで実行される各動作は、以下に解説する構文に従って様々なコマンドを用いることによっても実行することができます。

auto-multiple-choice 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
auto-multiple-choice 選択式試験問題の自動処理
`auto-multiple-choice` action arguments `auto-multiple-choice` project

#### 解説

`auto-multiple-choice`コマンドは、引数を`AMC-action.pl`コマンドに渡して起動します。

動作を指定しない2番目の形式では、GUIである`AMC-gui.pl`が（プロジェクト名が指定されていればそれとともに）呼び出されます。

#### 関連項目

AMCの各動作: AMC-prepare 1 , AMC-imprime 1 , AMC-analyse 1 , AMC-note 1 , AMC-association-auto 1 , AMC-export 1 , AMC-annote 1 , AMC-regroupe 1

AMC-prepare 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-prepare LaTeXソースファイルから作業文書を作成する
`auto-multiple-choice` prepare --mode s --prefix project-dir mcq-source-file `auto-multiple-choice` prepare --mode b --data project-data-dir mcq-source-file

#### 解説

`AMC-prepare.pl`コマンドは、選択式試験問題を記述したソースファイルから作業文書を生成します。抽出される情報は`--mode`引数の値によります。どちらのモードでもソースファイル名は引数として与えなければなりません。

- "`--mode s`" を用いると、`AMC-prepare.pl`は、試験問題ファイル（印刷して受験者に配布する試験問題用紙）、模範解答ファイル（正解をマークした答案用紙1部）、位置情報ファイル（ページ上のボックスの位置に関する情報を含んだファイル）を作成します。以下の引数が利用可能です:

  `--out-sujet subject.pdf`

    作成する試験問題ファイル名を設定します。

  `--out-corrige corrected.pdf`

    作成する模範解答ファイル名を設定します。

  `--out-calage calage.xy`

    作成する位置情報ファイル名を設定します。

  `--prefix directory`

    上の三つのオプションで使用されていないものがあるときは、このディレクトリが必要になります。そしてそれらのデフォルト値は`directory/sujet.pdf`、`directory/corrige.pdf`、`directory/calage.xy`となります。

- "`--mode b`" を用いると、`AMC-prepare.pl`は、ソースファイルから採点基準を抽出します。このモードでは、`--data`オプション（下記参照）を使用しなければなりません。

以下のオプション引数はどのモードでも使用できます:

`--with latex-engine`

  使用するLaTeXエンジン（コマンド）を指定します。latex-engineは例えば`pdflatex`や`xelatex`となります。

`--filter filter`

  選択式試験問題のソースファイルをLaTeXファイルに変換するフィルター名を設定します。組込みのフィルターは`latex`（何も変換しない）と`plain`（AMC-TXTソース）です。

`--filtered-source mcq-latex-file`

  指定したフィルターを用いてソースファイルから作成するLaTeXファイル名を指定します。省略した場合、mcq-source-fileに`_filtered.tex`を付け足して得られたファイル名が使用されます。

`--n-copies n`

  生成する試験問題の部数を設定し、LaTeXソースファイル（`\onecopy`の最初の引数）で指定した部数を上書きします。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

`--data project-data-dir`

  SQLiteデータファイルを格納するディレクトリを設定します。

AMC-meptex 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-meptex 作業文書からレイアウト情報を取得しレイアウトデータベースに格納する
`auto-multiple-choice` meptex --src calage.xy --data directory

#### 解説

`AMC-meptex.pl`コマンドは作業文書calage.xyからレイアウト情報（全ページのボックス、マーカー、氏名領域の正確な位置）を取り出し、データディレクトリdirectoryのレイアウトデータベース（SQLiteファイル）に格納します。

AMC-imprime 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-imprime AMC試験問題用紙を受験者に配布できるように印刷する
`auto-multiple-choice` imprime --sujet subject.pdf --fich-nums numbers-file.txt --data data-dir --methode method where-to-print-arguments

#### Description

`AMC-imprime.pl`コマンドは選択した試験問題用紙を印刷します。

##### 印刷内容の指定

以下の引数により、印刷対象を指定します:

`--sujet subject.pdf`

  （ AMC-prepare 1 で作成された）試験問題ファイルを設定します。

`--fich-nums numbers-file.txt`

  印刷する試験問題番号が（各行に一つ）書かれたファイルを指定します。この引数が指定されなければ、すべての試験問題が印刷されます。

`--data data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。データディレクトリのレイアウトデータベースは一つの試験問題が何ページ目から何ページ目まであるかを知るのに使われます。

`--split`

  別紙答案用紙を別に印刷します。

##### 印刷方法の指定

いくつかの印刷方法が定義されています:

- "`--methode CUPS`" を用いると、 `AMC-imprime.pl`はCUPSプリンタに印刷します。試験問題ごとに自動ステープルなどができるように1部につきプリントジョブを1件送ります。この方法では、以下のオプションを使用してください:

  `--imprimante printer`

    印刷するCUPSプリンタ名を設定します。

  `--options cups-options`

    CUPSオプションを`opt1=value1,opt2=value2,...`の形式で指定します。

- "`--methode file`" を用いると、`AMC-imprime.pl`は試験問題用紙をファイルに（1部につき1個）出力します。

  `--output filename`

    出力するファイル名を設定します。'`%e`' というシーケンスがあれば4桁の試験問題番号に置換されます。filenameが '`%e`' を含んでいない場合、'`-%e.pdf`' という文字列が付け足されます。

- "`--methode command`" を用いると、`AMC-imprime.pl`は試験問題1部ごとに指定したコマンドを使用します。

  `--print-command command`

    印刷に使用するコマンドを指定します。commandの文字列は（引用符を使用していても）空白文字の場所で区切られます。'`%f`' というシーケンスは（印刷する試験問題を含んだ）PDFファイル名に置換され、'`%e`' は試験問題番号に置換されます。

AMC-getimages 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-getimages 自動マーク認識用に AMC-analyse 1 に送るためのスキャン画像を用意する。
`auto-multiple-choice` getimages --copy-to project-scans-dir --vector-density density --list list-file scan-files

#### 解説

`AMC-getimages.pl`コマンドは AMC-analyse 1 に送る前にスキャン画像を用意します:

- 複数画像からなるファイルはページごとのファイルに分割されます。

- ベクター画像（PDF、EPSなど）はビットマップ画像に変換されます。

入力画像は、AMC-getimages.plへの引数としても、スキャンファイルのパスをすべて含むファイル名としても与えることができます。

`--list list-file`

  スキャンファイルのパスを（1行に一つ）含むファイルの名前を指定します。処理後にこのファイル内容は消去され、同じパスを`AMC-analyse.pl`の`--list-fichiers`オプションに渡せるように、スキャンファイルのパスが書き込まれます。

`--copy-to project-scans-dir`

  スキャンファイルを指定したディレクトリにすべてコピーします。

`--vector-density density`

  ベクター画像をビットマップ画像に変換する際の解像度を設定します。デフォルトは300です。

AMC-analyse 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-analyse AMC選択式試験問題のスキャンデータから自動マーク認識する
`auto-multiple-choice` analyse --projet project-dir --seuil-coche threshold --tol-marque tol --list-fichiers files-list.txt scan-files

#### 解説

`AMC-analyse.pl`コマンドは、AMC選択式試験問題の答案用紙のスキャンデータから自動マーク認識を実行します。`AMC-analyse.pl`を呼び出す前に、 AMC-prepare 1 を呼び出して、作業文書（`--mode s`）とMEPファイル（`--mode m`）を作成し、 AMC-meptex 1 を用いてレイアウトを処理しておかなければなりません。

`--data data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。デフォルトは`project-dir/data`です。

`--cr project-cr-dir`

  マーク認識に利用する画像を作成するディレクトリを指定します（ボックスの拡大画像は`zooms`サブディレクトリに、氏名記入欄の画像は`name-*.jpg`ファイルに、レイアウト結果の画像は`page-*.jpg`ファイルに格納されます）。

`--projet project-dir`

  `--cr`が使用されていない場合、このオプションを使用すると、project-cr-dirが `project-dir/cr` に設定されます。

処理するスキャンファイルの名前の指定方法には2通りあります:

- ファイル名を引数により指定する。

- ファイル名をプレーンファイルに（各行に1ファイル名の形式で）列挙して、`--list-fichiers files-list.txt`でこのファイルを指定する。

マーク認識用のパラメータは以下のオプションを用いて設定できます:

`--prop proportion`

  各ボックスのマーク有無を判定する領域の比率を設定します。デフォルト値は0.8です。

`--bw-threshold threshold`

  このパラメータはグレースケールのスキャンデータを白黒に変換する際に使用されます。多くのピクセルを黒とするには、大きな値を使用します。多くのピクセルを白とするには、小さな値を使用します。閾値は0と1の間でなければなりません。デフォルト値は0.6です。

`--ignore-red`

  このオプションを用いると、カラースキャンデータの赤チャネルのみ使用されます。これにより、スキャンデータ上の赤色で記入されたものはすべて無視されます。ボックスが赤で印刷されている場合に有用です。

`--tol-marque tol`

  スキャンデータの四隅にあるマーカーを検出する際の許容度を定義します。マーカーの検出には、目標サイズtarget（印刷とスキャンが完璧であった場合のマーカーの正確なサイズ）に近いサイズの、黒い連結領域を探します。tolが単純な実数の場合、サイズが近いと判断されるのは(1-tol)*targetから(1+tol)*target までの範囲です。tolが "tinf,tsup" の形式（tinfとtsupは実数）の場合は(1-tinf)*targetから(1+tsup)*target までの範囲です。標準値は0.2です。

`--multiple`

  このオプションは、試験問題をコピーした（つまり複数の受験者が同じ試験問題に解答しうる）場合に使用します。この場合、同じ試験問題番号をもつ答案用紙が区別できるように、答案用紙に複製番号が割り当てられます。

`--pre-allocate copy_id`

  このオプションは`--multiple`と共に使用されます。スキャンごとの複製番号がcopy_idから開始し、引数で与えたスキャンデータと同じ順序で割り当てられます。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

AMC-note 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-note AMC選択式試験問題の採点をする
`auto-multiple-choice` note --data project-data-dir --seuil threshold --grain granularity --arrondi rounding --notemin min --notemax max --no-plafond --plafond

#### 解説

`AMC-note.pl`コマンドは AMC-prepare 1 によってLaTeXソースファイルから取り出した採点基準と AMC-analyse 1 によって作成されたマーク認識データとから、各答案の得点を計算します。

`--data project-data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。

`--seuil threshold`

  ボックスがマークされているかどうかを判定するための黒ピクセル比率の閾値を指定します。ボックスがマークされているかどうか判定する際、`AMC-note.pl`は黒ピクセル比率（全ピクセル数に対する黒ピクセル数の割合）をthreshold（閾値）と比較します。黒ピクセル比率がthresholdよりも大きい場合、このボックスはマークされていると宣言されます。標準的な値は通常レイアウトで0.15、別紙答案用紙レイアウト（ボックス内に文字が記入されており、受験者にはボックスを完全に塗りつぶすよう指示する）で0.5程度です。

`--grain granularity --arrondi rounding`

  得点がgranularityの倍数になるように丸めます。roundingが '`i`' なら、（ floor 3 がするように）切り捨てます。roundingが '`n`' なら、近い方に丸めます。roundingが '`s`' なら、（ ceil 3 がするように）切り上げます。例えば、 "`--grain 0.25 --arrondi s`" というオプションを与えたとき、6.285という得点は6.5に丸められます。

`--notemin min`

  このオプションを用いると、min未満の得点はすべてminに置換されます。

`--notemax max`

  全問正解の答案に与える満点を指定します。これを用いなければ、得点は素点のままです。

`--plafond`

  このオプションを用いると、maxを越える得点はすべてmaxに置換されます。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

`--postcorrect-student s --postcorrect-copy c`

  受験番号と試験問題番号で指定された答案を用いて採点時正解提示を指示します。採点時正解提示モードでは、LaTeXソースファイルからではなく、この答案で与えられた解答から正解を取り出します。

AMC-association-auto 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-association-auto AMC選択式試験問題の受験者と答案を自動リンクする
`auto-multiple-choice` association-auto --data project-data-dir --notes-id id --liste students-list.csv --encodage-liste list-encoding --liste-key key

#### 解説

`AMC-association-auto.pl` コマンドは、受験者と答案用紙をリンクします（受験者が受験番号を正しく記入し、マーク認識に誤りがない場合）。詳細はユーザードキュメントのを参照してください。

`--data project-data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。

`--notes-id id`

  受験番号マーク欄の（LaTeXソースファイルで`\AMCcode`に与えられた）識別名を指定します。

`--pre-association`

  使用された場合、`--notes-id`オプションを無視し、印刷時リンクデータ（LaTeXソースファイルの`\AMCassociation`コマンド）から自動リンクを行います。

`--liste students-list.csv`

  受験者名簿ファイル名を指定します。

`--encodage-liste list-encoding`

  受験者名簿ファイルのエンコーディング（デフォルトはutf-8）を指定します。

`--liste-key key`

  受験者名簿内の受験番号のカラム名を指定します。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

AMC-association 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-association AMC選択式試験問題の受験者と答案用紙を手動リンクする。
`auto-multiple-choice` association-auto --data project-data-dir --list `auto-multiple-choice` association-auto --data project-data-dir --set --student student-sheet-number --copy copy-number --id student-id

#### 解説

`AMC-association.pl`コマンドは、受験者と答案用紙のリンク用データを扱います。

`--data project-data-dir`

  データファイルがあるディレクトリを指定します（ AMC-prepare 1 などを参照してください）。

`--list`オプションは、リンク用データをすべて出力します。

`--set`オプションは、手動リンクを更新します。

AMC-export 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-export AMC選択式試験問題の採点結果をエクスポートする
`auto-multiple-choice` export --data project-data-dir --module module --fich-noms students-list.csv --noms-encodage list-encoding --o output-file

#### 解説

`AMC-export.pl`コマンドは、AMC選択式試験から採点結果をエクスポートします。

`--data project-data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。

`--module module`

  エクスポート用のモジュールを選択します。AMCの標準ディストリビューションに付属しているモジュールは下記を参照してください。

`--fich-noms students-list.csv`

  受験者名簿ファイル名を設定します。

`--noms-encodage list-encoding`

  students-list.csvのエンコーディング（デフォルトはutf-8）を選択します。

`--o output-file`

  出力ファイル名を指定します。

`--option-out options`

  選択したモジュールのオプションを`key=value`の形式で指定します（各モジュールで利用できるオプションは下記を参照してください）。複数のオプションを指定する場合は、`--option`を複数回使用してください。

`--sort sort-type`

  受験者名をsort-typeに従って並べ替えます。sort-typeが`l`なら、並べ替えに受験者名簿の行番号を用います。sort-typeが`m`なら、並べ替えに得点（得点が等しければ受験者名）を用います。sort-typeが`i`なら、並べ替えに受験番号を用います。sort-typeが`n`なら、並べ替えに受験者名（等しければ名簿の行番号）を用います。

`--useall all`

  allが`0`か空なら、スキャンした答案のある受験者のみが出力されます。allが`1`なら、受験者名簿にある全受験者が出力されます。

#### モジュール

##### OpenDocument

"`--module ods`" とすると、OpenDocument（OpenOfficeやLibreOfficeなどで用いられる形式）が生成されます。以下のオプションが認識されます:

nom

  シートの先頭に表示される試験の名称を指定します。

code

  タブ名に使用される試験の略称を指定します。

columns

  受験者ごとに追加するカラムのリストを設定します。デフォルト値は `student.key,student.name` です。

stats

  trueなら、設問の統計表が追加されます。

statsindic

  trueなら、採点対象外設問の統計表が追加されます。

##### CSV

"`--module CSV`" とすると、CSVファイルが生成されます。以下のオプションが認識されます:

columns

  受験者ごとに追加するカラムのリストを設定します。デフォルト値は `student.copy,student.key,student.name` です。

decimal

  小数点（デフォルトはピリオド）を設定します。

encodage

  出力に用いるエンコーディング（デフォルトはutf-8）を設定します。

separateur

  カラム間の区切文字（デフォルトはカンマ）を設定します。

entoure

  文字列を囲む文字（デフォルトは二重引用符）を指定します。

ticked

  空でなければ、カラム（名前が "`CHECKED:`" で始まる）が追加され、各答案でどのボックスがマークされているか表示されます。これは、採点をもっと柔軟に行いたい場合に、外部プログラムがマークされたボックスの情報を得るのに使うことができます。ボックス3と4がマークされている場合、`01`という値を与えれば0;0;1;1;0となり、`AB`という値を与えればCDとなります。

##### List

"`--module List`" とすると、受験者ごとの得点の一覧がPDFファイルで生成されます。以下のオプションが認識されます:

pagesize

  ページサイズです。デフォルト値は `a4` です。

nom

  ページの先頭に表示する試験の名称を指定します。

ncols

  カラム数です。デフォルト値は2です。

decimal

  小数点（デフォルトはピリオド）を設定します。

AMC-annote 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-annote AMC選択式試験問題の答案に採点結果を記入する
`auto-multiple-choice` annote --projet project-dir --data project-data-dir --fich-assoc assoc.xml annotation options

#### 解説

`AMC-annote.pl`コマンドは、答案に各設問の採点と全体の採点を記入し、JPEGファイルを（ページごとに1ファイル）出力します。

`--projet project-dir`

  プロジェクトディレクトリを設定します。

`--data project-data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。

`--cr project-cr-dir`

  プロジェクトのレポートディレクトリを設定します。このディレクトリ内で AMC-analyse 1 で作成されたマーク認識データを探し、採点記入済答案を出力します。デフォルト値は`project-dir/cr`です。

`--fich-noms students-list.csv`

  受験者名簿ファイル名を設定します。

`--noms-encodage encoding`

  students-list.csvのエンコーディング（デフォルトはutf-8）を選択します。

`--qualite qual`

  出力ファイルのJPEG品質を設定します。デフォルト値は65です。

`--taille-max maxsize`

  出力ファイルの最大サイズを（ピクセル単位で `幅x高さ` の形式で）設定します。デフォルト値は`1000x1500`です。

`--pointsize-nl lines`

  ページ内にlines行のテキストが収まるようにテキストのサイズを設定します。デフォルト値は`60`です。

`--verdict header`

  各受験者の答案の先頭ページに記入されるヘッダーテキストを設定します。このテキストにはCR文字を含めて複数行にわたるヘッダーを作成することもできます。この中で特定のシーケンスが以下のように置換されます:

  `%S`

    は受験者の素点合計に置換されます。

  `%M`

    は素点合計の満点に置換されます。

  `%s`

    は受験者の得点に置換されます。

  `%m`

    は満点に置換されます。

  `%(ID)`

    は受験者名に置換されます。

  `%(COL)`

    は受験者名簿内のCOLカラムの値に置換されます。

--verdict-question perl-expression

  各設問の隣に印刷されるテキストをperlで評価される式として設定します（単純なテキストが必要なら`"`で囲んでください）。いくつかのシーケンスは評価の前に置換されます:

  `%S`

    はこの設問の素点合計に置換されます。

  `%M`

    はこの設問の満点に置換されます。

  `%s`

    は`%S`と同じですが、nc桁（`--ch-sign`オプション参照）に丸められます。

  `%m`

    は`%M`と同じですが、nc桁（`--ch-sign`オプション参照）に丸められます。

  このオプションの標準値は`"\"%s/%m\""`です。条件式を書くこともできます（`( TEST ? IF-YES : IF-NO )`というperlの構文を用いて）。満点なら合格、そうでなければ不合格と書くには、次のようにします。

      --verdict-question "(%S==%M ? \"合格\" : \"不合格\")"

`--ch-sign nc`

  総得点を印刷する際に用いる有効桁数をnc桁に設定します。

`--symbols symbols-definition`

  はボックスにどのように注釈をつけるかを定義します。symbols-definitionは、`H-A:shape:colour`の形式をカンマで区切ったリストで、Hは`0`か`1`でボックスがマークすべきでないかすべきかを表し、Aは`0`か`1`でボックスがマークされていないかされているかを表し、shapeは`none`、`circle`、`mark`、`box`の一つであり、colourは色（名前または#RGBで、詳細はImageMagickかGraphicsMagickのドキュメントを参照）を表します。デフォルト値は "`0-0:none,0-1:circle:red,1-0:mark:red,1-1:mark:blue`" です。

`--position pos`

  各設問の採点記入位置を設定します。 posは '`none`' （各設問の採点を記入しない）、'`marge`' （余白部分に採点を記入する）、 '`case`' （その設問の一番左のボックスの左側に採点を記入する）のいずれかです。

`--ecart dx`

  `--position case`を用いた場合の、採点記入位置と一番左のボックスとの間のスペースを設定します。

`--ecart-marge x`

  各設問の採点を余白部分に記入する際のx座標を（em単位で）設定します。

`--line-width lw`

  スキャンデータ上に記入する記号の線幅（ピクセル数）を設定します。デフォルト値は2です。

`--indicatives bool`

  採点対象外の設問にも採点を記入するかどうか示します（真なら1、偽なら0で、デフォルトは偽です）。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

AMC-regroupe 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-regroupe 採点記入済答案のJPEGをまとめて受験者ごとのPDFファイルにする
`auto-multiple-choice` regroupe --projet project-dir --sujet subject.pdf --modele file-name-model --fich-noms students-list.csv --noms-encodage encoding --compose

#### 解説

`AMC-regroupe.pl`コマンドは、1ページ1ファイルの採点記入済答案を受験者ごとに一つのPDFファイルにまとめます。

`--data data-dir`

  データファイルがあるディレクトリを指定します（ AMC-meptex 1 などを参照してください）。

`--projet project-dir`

  プロジェクトディレクトリを指定します。

`--sujet subject.pdf`

  （ AMC-prepare 1 で作成された）試験問題ファイルを指定します。試験問題のページサイズを取得して採点記入済PDFのサイズを合わせるのに役立ちます。

`--fich-noms students-list.csv`

  受験者名簿ファイル名を設定します。

`--noms-encodage encoding`

  students-list.csvのエンコーディング（デフォルトはutf-8）を選択します。

`--modele file-name-model`

  採点記入済PDF用のファイル名モデルを設定します。このモデルでは特定のシーケンスが以下のように置換されます:

  `(N)`

    は受験者名に置換されます。

  `(ID)`

    は受験番号に置換されます。

  `(COL)`

    は受験者名簿内のCOLカラムの値に置換されます。

  デフォルト値は '`(N)-(ID).pdf`' です。

`--compose`

  このオプションを使用すると、スキャンデータのないページが、模範解答の該当ページに置換されます。このオプションは例えば、別紙答案用紙レイアウトを用いていて問題用紙なしに採点記入済答案だけでは意味のないような場合に有用です。

  `--compose`オプションを用いるには、`--tex-src`オプションを（さらに場合によって、`--with`、`--filter`、`--filtered-source`も）指定する必要があります。

`--tex-src mcq-source-file`

  試験問題のソースファイルを指定します。

`--with latex-engine`

  （場合によりフィルター処理された）ソースファイルを処理するLaTeXエンジン（コマンド）を指定します。latex-engineは例えば`pdflatex`や`xelatex`となります。

`--filter filter`

  選択式試験問題のソースファイルをLaTeXファイルに変換するフィルター名を設定します（ AMC-prepare 1 を参照してください）。

`--filtered-source mcq-latex-file`

  指定したフィルターを用いてソースファイルから作成するLaTeXファイルを指定します。（ AMC-prepare 1 を参照してください）。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

AMC-mailing 1 Auto Multiple Choice @/PACKAGE_V_DEB/@
AMC-mailing 採点記入済答案のPDFを受験者にメールする
`auto-multiple-choice` mailing --xmlargs args.xml --projet project-dir --students-list students-list.csv --list-encoding encoding --email-column col --sender sender-email --subject subject --text email-body --debug file.log transport arguments

#### 解説

`AMC-mailing.pl`コマンドは、採点記入済答案のPDFを受験者にメールで送付します。メールアドレスは受験者名簿ファイルから取り出されます。

`--projet project-dir`

  プロジェクトディレクトリを指定します。

`--students-list students-list.csv`

  受験者名簿ファイル名を設定します。

`--list-encoding encoding`

  students-list.csvのエンコーディング（デフォルトはutf-8）を選択します。

`--email-column col`

  受験者名簿ファイル内で、受験者のメールアドレスに該当するカラム名を設定します。

`--sender sender-email`

  差出人アドレスを設定します。

`--subject subject`

  送付するメールの件名を設定します。

`--text email-body`

  送付するメールの本文を設定します。

--attach filename

  送付する各メールにファイルfilenameを添付します。このオプションを複数回使用すれば、複数のファイルを添付できます。

`--transport transport`

  転送方法を設定します。有効なtransportは`sendmail`と`SMTP`のいずれかです。

`--debug file.log`

  デバッグ情報を記録するファイルを指定します。

#### 転送方法別の引数

transport引数の値により、以下の引数が追加されます:

##### sendmail転送

`--sendmail-path path`

  `sendmail`コマンドのパス（デフォルトは`/usr/sbin/sendmail`）を設定します。

##### SMTP転送

`--smtp-host host`

  SMTPホスト名（デフォルトは`smtp`）を設定します。

`--smtp-port port`

  使用するポート（デフォルト値は25）を設定します。

#### XMLファイルによる引数

エンコーディング問題を避けるため、XMLファイルに引数を置いて、`--xmlargs file.xml`をコマンドの最初の引数とすることができます。そのようなファイルの例を示します:

    <?xml version="1.0" encoding="UTF-8"?>
    <arguments>
      <arg>--sender</arg><arg>Bienvenüe &lt;paamc@passoire.fr&gt;</arg>
      <arg>--text</arg><arg>Voilà votre copie corrigée</arg>
      <arg>--subject</arg><arg>QCM</arg>
    </arguments>