<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<article lang="ja">
  <title>Auto Multiple Choice</title>

  <articleinfo>
    <title>Auto Multiple Choice</title>

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

    <date>2025-07-04</date>

    <abstract>
      <para>AMCは、プレーンテキストあるいはLaTeXで記述されたマークシート方式の選択式試験問題を使用して、答案用紙のスキャン画像からのOMR（光学マーク認識）により自動採点と評定のできるユーティリティ群です。この文書はその使用説明書です。（バージョン1.7.0+git20250704122834~r:7717fe27）</para>

      <para>AMCのWebサイトは<ulink
      url="https://www.auto-multiple-choice.net/">https://www.auto-multiple-cho
ice.net/</ulink>にあり、ソースコードは<ulink
      url="https://gitlab.com/jojo_boulix/auto-multiple-choice/">https://gitlab
.com/jojo_boulix/auto-multiple-choice/</ulink>にあります。</para>
    </abstract>

    <author>
      <firstname>Alexis</firstname>

      <affiliation>
        <address><email>paamc@passoire.fr</email></address>
      </affiliation>

      <surname>Bienvenue</surname>

      <contrib>主な著者</contrib>
    </author>

    <author>
      <firstname>Anirvan</firstname>

      <surname>Sarkar</surname>

      <contrib>著者・編集者</contrib>
    </author>

    <author>
      <firstname>Hiroto</firstname>

      <surname>Kagotani</surname>

      <contrib>編集者</contrib>
    </author>

    <author>
      <firstname>Frédéric</firstname>

      <surname>Bréal</surname>

      <contrib>著者・編集者</contrib>
    </author>

    <copyright>
      <year>2008-2018</year>

      <holder>Alexis Bienvenüe</holder>
    </copyright>

    <othercredit class="translator">
      <surname>Bérard</surname>

      <firstname>Jean</firstname>

      <contrib>フランス語版から英語版への翻訳</contrib>
    </othercredit>

    <othercredit class="translator">
      <surname>Khaznadar</surname>

      <firstname>Georges</firstname>

      <contrib>フランス語版から英語版への翻訳</contrib>
    </othercredit>

    <othercredit class="translator">
      <surname>Kagotani</surname>

      <firstname>Hiroto</firstname>

      <contrib>英語版から日本語版への翻訳</contrib>
    </othercredit>

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

  <sect1 id="license">
    <title>ライセンス</title>

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

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

  <sect1 id="prerequis">
    <title>必要条件</title>

    <sect2 id="prerequis.os">
      <title>オペレーティングシステム</title>

      <para>AMCユーティリティはLinux用に開発されています。MAC OS XにもMacPortsを用いてインストールすることができます。</para>
    </sect2>

    <sect2 id="prerequis.soft">
      <title>ソフトウェア</title>

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

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

      <itemizedlist>
        <listitem>
          <para>LaTeX</para>
        </listitem>

        <listitem>
          <para>画像処理ライブラリImageMagickとOpenCV</para>
        </listitem>

        <listitem>
          <para>Perl<indexterm><primary>Perl</primary></indexterm>（GUI用にGtk2-PerlとGlade::XMLを含む）</para>
        </listitem>
      </itemizedlist>

      <sect3 id="prerequis.soft.v">
        <title>AMCで用いるソフトウェアの推奨バージョン</title>

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

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

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

    <sect2 id="prerequis.latex">
      <title>LaTeX</title>

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

  <sect1 id="usagenotes">
    <title>利用メモ</title>

    <sect2 id="num.limits">
      <title>数値的な限界</title>

      <para>（0.156以降の）現在までのバージョンでは、試験あたりの受験者数は4,095人まで、試験あたりの（受験者ごとの）ページ数は63ページまでに限定されています（これらのデフォルト値は変更可能です。<xref endterm="binary.code.title" linkend="binary.code"/>参照）。</para>

      <para>設問ごとの選択肢数は199個までに限定されています（このデフォルト値は変更できません）。</para>

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

    <sect2 id="versions">
      <title>バージョン</title>

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

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

          <programlisting>\usepackage[box,completemulti,versionA]{automultiplechoice}</programlisting>
        </listitem>

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

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

          <programlisting>\documentclass[a4paper]{article}</programlisting>
        </listitem>

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

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

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

    <sect2 id="install">
      <title>インストール</title>

      <para>debian、Ubuntuあるいはその派生OSでは、debian公式リポジトリとubuntu AMCリポジトリを用いることができます。Mandriva、openSUSE、Fedoraでは、ビルド済のRPMパッケージを用いることができます。インストール手順は<ulink url="http://auto-multiple-choice.net/download">AMCウェブサイト</ulink>で説明されています。</para>

      <para>ソースコードのアーカイブは、プロジェクトの<ulink url="http://download.auto-multiple-choice.net/">ダウンロードエリア</ulink>でダウンロードでき、その場合は端末上で次のコマンドを使ってください。</para>

      <screen>tar xvzf auto-multiple-choice_xxxx_dist.tar.gz
cd auto-multiple-choice-xxx
make
sudo make install</screen>
    </sect2>

    <sect2 id="launch">
      <title>起動</title>

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

  <sect1 id="AMC-TXT">
    <title>AMC-TXT構文</title>

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

    <para>単純な例から始めましょう:</para>

    <!--NAME: AMC-TXT形式の単純な例
DESC: 非常に単純なAMC-TXTの使用例（ドキュメントより抜粋）。これはLaTeXの知識をまったくもたずに試験問題を記述する非常に単純なテキスト形式です。-->

    <programlisting id="modeles-simple-txt.txt"># AMC-TXTソースファイル
Title: はじめてのAMC試験問題
Lang: JA

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

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

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

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

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

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

    <sect2 id="txt.comments">
      <title>コメント</title>

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

    <sect2 id="txt.opts">
      <title>全体オプション</title>

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

      <variablelist>
        <varlistentry>
          <term>Lang:</term>

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

        <varlistentry>
          <term>PaperSize:</term>

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

        <varlistentry>
          <term>Title:</term>

          <listitem>
            <para>試験タイトル。試験問題用紙の上部に印刷されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>Presentation:</term>

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

        <varlistentry>
          <term>ShuffleQuestions:</term>

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

        <varlistentry>
          <term>RandomSeed:</term>

          <listitem>
            <para>シャフル用の乱数生成器のシードはこのオプションで変更することができます。設定されている値（1から4194303の範囲で選択できます）が変更されると、シャフル結果が変わります。当然ですが、問題用紙を印刷したあとはこの値を変更してはなりません。</para>

            <note>
              <para>この値はxyファイルに（<code>\rngstate{1}{1527384}</code>のように）記録されます。デフォルト値は1527384です。</para>
            </note>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>Code:</term>

          <listitem>
            <para>正の整数値<replaceable>n</replaceable>を指定すると、<replaceable>n</replaceable>桁分の受験番号をマークする欄が試験問題用紙に追加されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>CodeDigitsDirection:</term>

          <listitem>
            <para>受験番号欄の方向を（<code>virtical</code>または<code>horizontal</code>で）設定します。設定しない場合は桁数により（桁数が少なければ水平、多ければ垂直に）自動選択されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>Columns:</term>

          <listitem>
            <para>正の整数値<replaceable>n</replaceable>を指定すると、問題用紙を<replaceable>n</replaceable>カラムで生成します。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>CompleteMulti:</term>

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

        <varlistentry>
          <term>L-None:</term>

          <listitem>
            <para>「<emphasis>該当なし</emphasis>」（上記オプション参照）に代わる文字列を設定します。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>QuestionBlocks:</term>

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

        <varlistentry>
          <term>L-Question:</term>

          <listitem>
            <para>必要なら、試験問題内での「<emphasis>問</emphasis>」に代わる文字列を設定します。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>L-Name:</term>

          <listitem>
            <para>受験者の氏名記入欄に表示する「<emphasis>氏名</emphasis>」に代わる文字列を設定します。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>L-Student:</term>

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

        <varlistentry>
          <term>TitleWidth:</term>

          <listitem>
            <para><option>Code:</option>を使用しない場合のタイトル領域の幅。デフォルト値は<code>.47\linewidth</code>です。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>NameFieldWidth:</term>

          <listitem>
            <para>氏名フィールドの幅。LaTeXの通常の長さ単位が使用できます。デフォルト値は、<option>Code:</option>を使用する場合は<code>5.8cm</code>で、使用しない場合は<code>.47\linewidth</code>です。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>NameFieldLines:</term>

          <listitem>
            <para>氏名フィールドボックスの行数。デフォルト値は、<option>Code:</option>を使用する場合は<code>2</code>で、使用しない場合は<code>1</code>です。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>NameFieldLinespace:</term>

          <listitem>
            <para>氏名フィールドボックスの行間。デフォルト値は<code>.5em</code>です。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>Pages:</term>

          <listitem>
            <para>各問題用紙の最小ページ数を指定します。問題がこのページ数より少ない場合は白紙ページが追加されます。別紙答案用紙を使用している場合は、<option><replaceable>q</replaceable>+<replaceable>a</replaceable></option> （例 <option>4+2</option>）のように書くことができ、<replaceable>q</replaceable>は問題用紙自身の最小ページ数、<replaceable>q</replaceable>+<replaceable>a</replaceable>は答案用紙も含めた最小ページ数になります。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>ManualDuplex:</term>

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

        <varlistentry>
          <term>SingleSided:</term>

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

        <varlistentry>
          <term>BoxColor:</term>

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

        <varlistentry>
          <term>DefaultScoringS:</term>

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

        <varlistentry>
          <term>DefaultScoringM:</term>

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

        <varlistentry>
          <term>LaTeX:</term>

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

        <varlistentry>
          <term>LaTeX-Preambule:</term>

          <listitem>
            <para>LaTeXプリアンブルに追加したいコマンド（例えば<command>\usepackage</command>コマンドなど）を設定します。
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>LaTeX-BeginDocument:</term>

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

        <varlistentry>
          <term>Disable:</term>

          <listitem>
            <para>無効にする機能のリストをコンマで区切って指定します。現在実装されている機能は<code>verbatim</code>（<xref linkend="parse_verbatim"/>参照）、<code>images</code>（<xref linkend="parse_images"/>参照）、<code>embf</code>（<xref linkend="parse_embf"/>参照）、<code>local_latex</code>（<xref linkend="parse_local_latex"/>参照）です。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>PackageOptions:</term>

          <listitem>
            <para>LaTeXのautomultiplechoiceパッケージに渡す追加オプションを与えます（<xref linkend="sec.package.options"/>参照）。</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <sect3 id="txt.separate">
        <title>別紙答案用紙</title>

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

        <variablelist>
          <varlistentry>
            <term>SeparateAnswerSheet:</term>

            <listitem>
              <para>1なら、別紙答案用紙が追加されます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AnswerSheetTitle:</term>

            <listitem>
              <para>別紙答案用紙のタイトルです。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AnswerSheetPresentation:</term>

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

          <varlistentry>
            <term>AnswerSheetColumns:</term>

            <listitem>
              <para>別紙答案用紙のカラム数です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutoMarks:</term>

            <listitem>
              <para>1にすると、<option>automarks</option>オプション（<xref linkend="sec.package.options"/>参照）を使用します。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="txt.questions">
      <title>設問</title>

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

      <sect3 id="txt.questions.opts">
        <title>設問オプション</title>

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

        <programlisting>*[ordered,horiz,id=sum] 1足す1は
いくつですか？
- 0
- 1
+ 2</programlisting>

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

        <variablelist>
          <varlistentry>
            <term>horiz</term>

            <listitem>
              <para>選択肢を横に並べていきます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>columns=<replaceable>n</replaceable></term>

            <listitem>
              <para>選択肢を<replaceable>n</replaceable>カラムに配置します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ordered</term>

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

          <varlistentry>
            <term>id=<replaceable>xxxx</replaceable></term>

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

              <para>旧版との互換性のため<option>id</option>のかわりに<option>name</option>も使用できますが、<option>id</option>を使用してください。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>indicative</term>

            <listitem>
              <para>この設問の採点結果を、受験者の最終得点に加えません。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>next</term>

            <listitem>
              <para><option>ShuffleQuestions</option>オプションで設問をシャフルする場合でも、直前の設問の次にこの設問を配置します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>first</term>

            <listitem>
              <para>この設問を常にグループの先頭に配置します（<xref linkend="sec.txt-groups"/>を参照してください）。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>last</term>

            <listitem>
              <para>この設問を常にグループの末尾に配置します（<xref linkend="sec.txt-groups"/>を参照してください）。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="txt.questions.scoring">
        <title>採点基準</title>

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

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

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

      <sect3 id="txt.questions.open">
        <title>記述式設問</title>

        <para>次の例のように<code>&lt;</code>と<code>&gt;</code>で囲むことにより、記述式の設問（<xref linkend="openquestions"/>参照）を定義することができます:</para>

        <programlisting>*&lt;lines=4&gt; 月について述べよ。
-[O]{0} 誤り
-[P]{1} 部分点
+[V]{2} 正解</programlisting>

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

        <variablelist>
          <varlistentry>
            <term>L-OpenText:</term>

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

          <varlistentry>
            <term>L-OpenReserved:</term>

            <listitem>
              <para>採点用ボックスに記入しないようボックス脇に表示するテキスト。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="txt.multiline">
      <title>複数行</title>

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

      <programlisting>* 2
  + 2はいくつですか？
- 0
+ 4
- 10</programlisting>

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

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

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

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

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

      <para>空行があると改行が挿入されます:</para>

      <programlisting>Presentation: タイトル

試験の説明。

** 難問です。

空には星が何個ありますか？
- 1個
- 2個
- 何千万個も</programlisting>
    </sect2>

    <sect2 id="txt.title">
      <title>タイトル</title>

      <para>タイトルをつけるには、<code>[==</code>と<code>==]</code>で囲みます。</para>
    </sect2>

    <sect2 id="parse_verbatim">
      <title>逐語的コンテント</title>

      <para><emphasis>逐語的</emphasis>なブロック（プログラムのコードのような）を得るには、それを<code>[verbatim]</code>と<code>[/verbatim]</code>で囲みます:</para>

      <programlisting>* 次のプログラムは何を出力しますか？
[verbatim]
main( )
{
    printf("hello, world\n");
}
[/verbatim]

+ [| hello, world |]
- [| hello |]
- [| world |]</programlisting>
    </sect2>

    <sect2 id="parse_embf">
      <title>太字、斜体、タイプライター、アンダーライン</title>

      <para><emphasis>太字</emphasis>のテキストを出力するには、それを<code>[*</code>と<code>*]</code>で囲みます。<emphasis>斜体</emphasis>のテキストを出力するには、それを<code>[_</code>と<code>_]</code>で囲みます。<emphasis>タイプライター</emphasis>のテキストを出力するには、それを<code>[|</code>と<code>|]</code>で囲みます。<emphasis>アンダーライン</emphasis>のテキストを出力するには、それを<code>[/</code>と<code>/]</code>で囲みます。</para>

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

    <sect2 id="parse_images">
      <title>画像</title>

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

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

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

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

    <sect2 id="parse_local_latex">
      <title>LaTeXコードの断片</title>

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

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

    <sect2 id="sec.txt-groups">
      <title>設問グループ</title>

      <para>次の構文により、複数の設問をグループに入れ、シャフルしても離ればなれにならないようにできます:</para>

      <programlisting>*( マーチン・ルーサー・キングに関する問題

* 生年はいつですか？
- 1901年
+ 1929年
- 1968年

* 没年はいつですか？
- 1945年
- 1515年
+ 1968年
- 1999年

* どこで生まれましたか？
+ アトランタ
- メンフィス
- ニューヨーク

*) マーチン・ルーサー・キングに関する問題はここまで</programlisting>

      <para>次のように、グループにオプションを指定することができます:</para>

      <programlisting>*([shuffle=false,columns=2] マーチン・ルーサー・キングに関する問題</programlisting>

      <para>以下のオプションが使用できます:</para>

      <variablelist>
        <varlistentry>
          <term>shuffle=<replaceable>xxx</replaceable></term>

          <listitem>
            <para>グループ内の設問をシャフルするかどうかを、<replaceable>true</replaceable>か<replaceable>false</replaceable>で示します。デフォルト値はグローバルな<option>ShuffleQuestions</option>オプションから得ます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>columns=<replaceable>n</replaceable></term>

          <listitem>
            <para>グループの設問のカラム数。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>group=<replaceable>nom</replaceable></term>

          <listitem>
            <para>グループに名前をつけます（内部的な事情）。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>numquestions=<replaceable>n</replaceable></term>

          <listitem>
            <para>このオプションによりグループの先頭の<replaceable>n</replaceable>個の設問だけが使用されます。設問がシャフルされている場合は、グループから<replaceable>n</replaceable>個の設問をランダムに選べるようになります。</para>

            <note>
              <para><option>first</option>と<option>last</option>のオプションのついた設問には影響しません（必ず挿入されます）。さらに、<option>next</option>オプションで結びついた設問どうしは一つの設問としてカウントされます。</para>
            </note>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>needspace=<replaceable>dimen</replaceable></term>

          <listitem>
            <para>グループを開始するのに必要な高さを（<replaceable>4cm</replaceable> のように単位を付けて）指定します。現在のページの残りの垂直スペースがこれより少なければ、グループを次のページから開始します。</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="txt-arabic">
      <title>アラビア語</title>

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

      <programlisting>Lang: AR</programlisting>

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

      <variablelist>
        <varlistentry>
          <term>ArabicFont:</term>

          <listitem>
            <para>アラビア語テキストに用いるフォントです。デフォルト値は<ulink url="http://arabeyes.org/">ArabEyes</ulink>プロジェクト（debian/ubuntuではttf-arabeyesパッケージにあります）のフォント<emphasis>Rasheeq</emphasis>です。</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>非アラビア文字を挿入するには、<option>LaTeX</option>オプションをオンにして、挿入したい文字をLaTeXコマンド<command>\textLR</command>の引数として<code>\textLR{xelatex command}</code>のように指定してください。</para>
      </note>
    </sect2>

    <sect2 id="txt-japanese">
      <title>日本語</title>

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

      <programlisting>Lang: JA</programlisting>

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

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

    <sect2 id="txt.includes">
      <title>他のファイルのインクルード</title>

      <para>次のようにして他のファイルをインクルードできます:</para>

      <programlisting>IncludeFile: <replaceable>file-to-include.txt</replaceable></programlisting>

      <warning>
        <para>異なるプロジェクトから同じファイルをインクルードするときは十分に注意してください！仮にプロジェクトAとBから<filename>/home/alexis/questions-a.txt</filename>をインクルードしているとしましょう。プロジェクトAは完了し、現在プロジェクトBが進行中です。<filename>/home/alexis/questions-a.txt</filename>にある設問の採点基準を更新し、さらに他の設問を追加します。もし、プロジェクトAの採点をこの新しい採点基準で更新する必要が生じたとき、プロジェクトAで使用した設問のほかに新たな設問があることからAMC内で不整合が生じ、Aの採点はすべておかしくなってしまいます。</para>
      </warning>
    </sect2>
  </sect1>

  <sect1 id="latex">
    <title>LaTeXソースファイル</title>

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

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

    <sect2 id="latex.simple">
      <title>簡単な例</title>

      <para><!--NAME: 単純な例
DESC: 単一選択問題1件と複数選択問題1件からなる単純な例（ドキュメントより抜粋）--><programlisting
      id="modeles-simple.tex" linenumbering="numbered">\documentclass[a4paper]{article}

\usepackage[utf8x]{inputenc}    <co id="simple.latin1"
            linkends="simple.latin1.exp"/>
\usepackage[T1]{fontenc}

\usepackage[box,completemulti,lang=JA]{automultiplechoice}    <co id="simple.amc"
            linkends="simple.amc.exp"/>
\begin{document}

\onecopy{10}{    <co id="simple.exemplaire" linkends="simple.exemplaire.exp"/>

%%% 試験問題用紙ヘッダー開始:    <co id="simple.entete"
            linkends="simple.entete.exp"/>

\noindent{\bf QCM  \hfill TEST}

\vspace*{.5cm}
\begin{minipage}{.4\linewidth}
\centering\large\bf テスト\\ 試験日 2008年1月1日\end{minipage}
\namefield{\fbox{    <co id="simple.champnom" linkends="simple.champnom.exp"/>
                \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}{総理大臣}    <co id="simple.qr" linkends="simple.qr.exp"/>
  次のうち、日本の総理大臣になったことがある人を一人選びなさい。
  \begin{choices}
    \correctchoice{大隈重信}
    \wrongchoice{湯川秀樹}
    \wrongchoice{聖徳太子}
    \wrongchoice{徳川家康}
  \end{choices}
\end{question}

\begin{questionmult}{都道府県}    <co id="simple.qrmult"
            linkends="simple.qrmult.exp"/>
  次のうち、日本の都道府県はどれか、すべて選びなさい。
  \begin{choices}
    \correctchoice{石川}
    \wrongchoice{山田}
    \correctchoice{宮崎}
  \end{choices}
\end{questionmult}

% \AMCaddpagesto{3} <co id="AMCaddpage" linkends="AMCaddpage.exp"/>

}   <co id="simple.fin" linkends="simple.fin.exp"/>

\end{document}
</programlisting></para>

      <para>この例題の解説:</para>

      <para><calloutlist>
          <callout arearefs="simple.latin1" id="simple.latin1.exp">
            <para><package>inputenc</package>および<package>fontenc</package>パッケージにより、試験問題の文章にUTF-8エンコーディングを用いることができます。もちろん、使用したいエンコーディングに合わせて変更することもできます。（訳注: 日本語の試験問題において、後述する最近の<command>platex</command>を使用する場合は、なくてもUTF-8で動作します。）</para>
          </callout>

          <callout arearefs="simple.amc" id="simple.amc.exp">
            <para>ここで使われている<package>automultiplechoice</package>パッケージのオプションは、設問が2ページにまたがるのを防ぎ（<option>box</option>）、複数選択問題にどの選択肢も該当しないことを示すもう一つの選択肢を自動追加します（<option>completemulti</option>）。</para>
          </callout>

          <callout arearefs="simple.exemplaire" id="simple.exemplaire.exp">
            <para><command>onecopy</command>コマンドは（異なる）試験問題を必要数（ここでは10）実体化します。LaTeXの環境を用いた代替の構文については<xref linkend="sec.unecopie"/>を参照してください。</para>
          </callout>

          <callout arearefs="simple.entete" id="simple.entete.exp">
            <para>この行以降は、試験問題用紙のヘッダーを記述します。</para>
          </callout>

          <callout arearefs="simple.champnom" id="simple.champnom.exp">
            <para><command>namefield</command>コマンドは受験者が氏名を記入する欄を指定します。</para>
          </callout>

          <callout arearefs="simple.qr" id="simple.qr.exp">
            <para><command>question</command>および<command>choices</command>環境は、単一の正解のある選択式問題を作成します。固有の識別名（ここでは<emphasis>総理大臣</emphasis>）を指定する必要があります。</para>
          </callout>

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

          <callout arearefs="AMCaddpage" id="AMCaddpage.exp">
            <para>各試験問題のページ数を3ページに固定するには、この行をアンコメントしてください。（<xref linkend="latex.layout.npages"/>参照）</para>
          </callout>

          <callout arearefs="simple.fin" id="simple.fin.exp">
            <para>（9行目で始まった）<command>onecopy</command>コマンドの終わりを表します。</para>
          </callout>
        </calloutlist></para>
    </sect2>

    <sect2 id="latex.shuffle">
      <title>設問グループとシャフルの例</title>

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

      <para><!--NAME: 設問グルーピング
DESC: 二つの異なる設問グループの各内部で設問がシャフルされる例（ドキュメントより抜粋）--><programlisting
      id="modeles-groups.tex" linenumbering="numbered">\documentclass[a4paper]{article}

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

%%% グループの準備

\setdefaultgroupmode{withoutreplacement}

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

\insertgroup{地理}

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

\insertgroup{歴史}

}

\end{document}
</programlisting></para>
    </sect2>

    <sect2 id="secensemble">
      <title>別紙答案用紙を用いた例</title>

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

      <para><!--NAME: 別紙答案用紙
DESC: 各受験者用にすべてのマーク用ボックスを1枚の別紙に集めた例（ドキュメントより抜粋）--><programlisting
      id="modeles-separate.tex" linenumbering="numbered">\documentclass[a4paper]{article}

\usepackage[box,completemulti,separateanswersheet,lang=JA]{automultiplechoice}    <co
            id="ensemble.opt" linkends="ensemble.opt.exp"/>
\begin{document}

\AMCrandomseed{1237893}

\def\AMCformQuestion#1{{\sc 問 #1:}}    <co
            id="ensemble.fq" linkends="ensemble.fq.exp"/>

\setdefaultgroupmode{withoutreplacement}

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

%%% ヘッダー終了

\insertgroup{general}

\AMCcleardoublepage    <co id="ensemble.cp" linkends="ensemble.cp.exp"/>

% \AMCaddpagesto{3} <co id="AMCaddpage.separateanswersheet.sujet"
            linkends="AMCaddpage.separateanswersheet.sujet.exp"/>

\AMCformBegin    <co id="debut.form" linkends="debut.form.exp"/>

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

{\large\bf Answer sheet:}
\hfill \namefield{\fbox{    <co id="ensemble.nom" linkends="ensemble.nom.exp"/>
    \begin{minipage}{.5\linewidth}
      氏名:
      
      \vspace*{.5cm}\dotfill
      \vspace*{1mm}
    \end{minipage}
  }}

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

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

\AMCform    <co id="ensemble.formulaire" linkends="ensemble.formulaire.exp"/>

% \AMCaddpagesto{5} <co id="AMCaddpage.separateanswersheet.total"
            linkends="AMCaddpage.separateanswersheet.total.exp"/>

}  

\end{document}</programlisting>以下の解説により、上の例がより明確になるでしょう:<calloutlist>
          <callout arearefs="ensemble.opt" id="ensemble.opt.exp">
            <para><option>separateanswersheet</option>オプションにより、所望の配置ができるようになります。</para>
          </callout>

          <callout arearefs="ensemble.fq" id="ensemble.fq.exp">
            <para>別紙答案用紙上での設問番号の表示方法をこのように変更することができます（この行はなくてもかまいません）。</para>
          </callout>

          <callout arearefs="ensemble.cp" id="ensemble.cp.exp">
            <para>この改ページはマーク用ボックスを集めた答案専用の用紙の前に置きます。両面印刷を行う場合は、このページが次の用紙に印刷されるように<command>\AMCcleardoublepage</command>を使用してください。片面印刷の場合は、単純に<command>\clearpage</command>でもかまいません。</para>
          </callout>

          <callout arearefs="AMCaddpage.separateanswersheet.sujet"
                   id="AMCaddpage.separateanswersheet.sujet.exp">
            <para>各試験問題の問題ページ数を3ページに固定するには、この行をアンコメントしてください。（<xref linkend="latex.layout.npages"/>参照）（このままではコメントアウトされているので、何も起きません）</para>
          </callout>

          <callout arearefs="debut.form" id="debut.form.exp">
            <para>このコマンドは答案用紙部の開始を示します。答案用紙側にしか現れない設問（例えば<command>\AMCcodeGrid</command>で生成される擬似的な設問）を適切に扱うために必要です。</para>
          </callout>

          <callout arearefs="ensemble.nom" id="ensemble.nom.exp">
            <para>受験者の氏名は答案用紙側に記入しないと意味がありません！</para>
          </callout>

          <callout arearefs="ensemble.formulaire" id="ensemble.formulaire.exp">
            <para><command>AMCform</command>コマンドにより、マーク用ボックスがすべて出力されます。</para>
          </callout>

          <callout arearefs="AMCaddpage.separateanswersheet.total"
                   id="AMCaddpage.separateanswersheet.total.exp">
            <para>各試験問題のページ数（問題ページと答案ページの合計）を5ページに固定するには、この行をアンコメントしてください。（<xref linkend="latex.layout.npages"/>参照）</para>
          </callout>
        </calloutlist></para>

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

    <sect2 id="latex.commands">
      <title>LaTeXコマンドの説明</title>

      <sect3 id="sec.package.options">
        <title id="sec.package.options.title">パッケージオプション</title>

        <para><package>automultiplechoice</package>パッケージを使用するには、<programlisting>\usepackage[...]{automultiplechoice}</programlisting>という行を用い、<option>...</option>部分はカンマで区切ったオプションのリストを指定します。指定できるオプションは以下のとおりです:</para>

        <itemizedlist>
          <listitem>
            <para><option>lang=<replaceable>XX</replaceable></option>: 試験問題の言語を<replaceable>XX</replaceable>に設定します。現時点では、DE（ドイツ語）、ES（スペイン語）、FR（フランス語）、IT（イタリア語）、JA（日本語）、NL（オランダ語）、NO（ノルウェー語）、PT（ポルトガル語）のみ指定可能です。<package>automultiplechoice</package>が<option>completemulti</option>オプションで挿入する「該当なし」のような数種類の文字列も翻訳されます。</para>
          </listitem>

          <listitem>
            <para><option>pdfform</option>: 記入可能なPDFファイルを生成します。</para>

            <note>
              <para>AMCには作成したPDFの自動送信機能はありません。</para>
            </note>
          </listitem>

          <listitem>
            <para><option>box</option>: 各設問をボックスに入れ、改ページで分割されないようにします。</para>

            <note>
              <para>状況により、設問ごとに<command>\AMCnobloc</command>を用いてこのオプションをキャンセルすることもできます。<programlisting>{\AMCnobloc%
  \begin{question}{EU}
    欧州連合には2009年1月現在、何ヶ国が加盟していますか？
    \begin{choiceshoriz}[o]
      \wrongchoice{15}
      \wrongchoice{21}
      \wrongchoice{25}
      \correctchoice{27}
      \wrongchoice{31}
    \end{choiceshoriz}
  \end{question}
}%</programlisting></para>
            </note>
          </listitem>

          <listitem>
            <para><option>asbox</option>: 別紙答案用紙内で<option>box</option>と同様に働きます。</para>
          </listitem>

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

          <listitem>
            <para><option>noshuffle</option>: 各設問の選択肢を自動シャフルしないようにします。</para>
          </listitem>

          <listitem>
            <para><option>noshufflegroups</option>: 試験問題の設問グループを自動シャフルしないようにします。（<xref endterm="Groups.questions.title" linkend="Groups.questions"/>参照）</para>
          </listitem>

          <listitem>
            <para><option>answers</option>: 試験問題用紙ではなく、模範解答を生成します。</para>
          </listitem>

          <listitem>
            <para><option>indivanswers</option>: 各試験問題用の模範解答を生成します。</para>
          </listitem>

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

          <listitem>
            <para><option>digits</option>: <option>separateanswersheet</option>オプションを用いる場合に、<option>digits</option>オプションにより選択肢を（デフォルトの）アルファベットではなく数字で識別します。</para>
          </listitem>

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

          <listitem>
            <para><option>init</option>: 時刻を用いて乱数生成を初期化します。
            <emphasis>このオプションはテスト用です。実際の試験では使用しないでください!</emphasis></para>
          </listitem>

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

          <listitem>
            <para><option>catalog</option>: 将来の試験で組み合わせて使えるように設問のカタログを作成します。設問は番号ではなく識別名で区別されます<!-- 訳注: 仏文にしかない記述 -->。このレイアウトには<command>\onecopy</command>を使用する必要はありません。</para>
          </listitem>

          <listitem>
            <para><option>postcorrect</option>: スキャン画像の解析を終えてから（採点時）、出題者が作成した答案用紙を正解として指定したい場合にこのオプションを用います。詳細は<xref linkend="postcorrect"/>を参照してください。</para>
          </listitem>

          <listitem>
            <para><option>fullgroups</option>: <command>\insertgroup</command>と<command>\copygroup</command>のオプションパラメータの使用を取り消します。したがって、グループ全体が挿入およびコピーされます。（<xref endterm="Groups.questions.title" linkend="Groups.questions"/>参照）</para>
          </listitem>

          <listitem>
            <para><option>storebox</option>: ボックスの形状（デフォルトは長方形。<xref endterm="box.style.title" linkend="box.style"/>参照）を長円や円に変更した場合に、automultiplechoiceが<option>\savebox</option>ではなく、<option>\storebox</option>を使用してボックスの形状を保存するようにします。</para>
          </listitem>

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

            <programlisting>\renewcommand\AMCsubjectPageTag{%
  \fbox{\texttt{\the\AMCid@etud:\thepage}}%
}</programlisting>

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

          <listitem>
            <para><option>nopage</option>: 余白、四隅のマーカー、識別ボックスが必要ない場合、つまり（練習問題などのため）文書をAMCで使用する予定がない場合に使用してください。</para>
          </listitem>
        </itemizedlist>
      </sect3>

      <sect3 id="sec.unecopie">
        <title>試験問題数の記述</title>

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

        <programlisting>\onecopy{50}{ ... }</programlisting>

        <para>代替の構文として<command>examcopy</command>環境も使用可能で、部数はそのオプションで指定します（デフォルトは5）。</para>

        <programlisting>\begin{examcopy}[50]
...
\end{examcopy}</programlisting>

        <note>
          <para>examcopyを使用するには<package>environ</package>パッケージをインストールする必要があります。このパッケージは、Ubuntuディストリビューション9.10（Karmic Koala）までで用いられているTeX Live 2007ディストリビューションでは使用できません。</para>
        </note>

        <para>問題用紙番号が奇数か偶数かにより設問内容を変えたい場合には、<command>\exemplairepair</command>コマンドを使用してください。（訳注: 隣の問題と確実に差異を設けるために使用できます。<command>\exemplairepair</command>奇数番号用<command>\else</command>偶数番号用<command>\fi</command>のように使用します。<command>examcopy</command>環境内では直接には記述できません。）</para>

        <para><command>\AMCStudentNumber</command> コマンドにより問題用紙番号が表示されます。</para>
      </sect3>

      <sect3 id="latex.qr">
        <title id="latex.qr.title">設問と選択肢</title>

        <para>単一選択問題（正解が1個）では、次のようなモデルを用います: <programlisting linenumbering="unnumbered">\begin{question}{識別名}
  ここに問題文...
  \begin{choices}
    \correctchoice{正しい選択肢}
    \wrongchoice{誤った選択肢}
    \wrongchoice{別の誤った選択肢}
  \end{choices}
\end{question}</programlisting></para>

        <important>
          <para>各設問には異なる識別名を用いなければなりません。識別名には、数字、アルファベットと、単純な文字が使えます（アンダースコア、波括弧、角括弧などLaTeXで特殊な意味をもつ文字は使えません）。設問識別名は角括弧で数字を囲んだ形式で終わらないようにしてください。この形式は受験番号記入欄用に予約されています。</para>
        </important>

        <note>
          <para>各設問の選択肢の数は199個までです。</para>
        </note>

        <important>
          <para>設問を入れ子にしてはいけません。採点表のエクスポートが正しく行われなくなります（<xref endterm="sec.export.notes.title" linkend="sec.export.notes"/>参照）。</para>
        </important>

        <para>特定の設問について選択肢をシャフルせず順序を保つには、<option>choices</option>環境の<option>o</option>オプションを使用します。3行目を次のようにしてください:<programlisting>\begin{choices}[o]</programlisting></para>

        <para>選択肢を2カラムに配置するには、<package>multicol</package>パッケージを使用できます。<programlisting>\usepackage{multicol}</programlisting>を用いてプリアンブル部（<package>automultiplechoice</package>への参照の直後など）でロードし、以下に示すようにmulticols環境の中にchoices環境を入れてください:<programlisting>\begin{multicols}{2}
  \begin{choices}
    \correctchoice{正しい選択肢}
    \wrongchoice{誤った選択肢}
    \wrongchoice{別の誤った選択肢}
  \end{choices}
\end{multicols}</programlisting></para>

        <para>選択肢がもっと短い場合、<option>choices</option>環境のかわりに<option>choiceshoriz</option>を用いることで、選択肢を横に並べていくことができます。</para>

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

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

        <para><programlisting>\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}</programlisting>
        </para>

        <sect4 id="latex.lastchoice">
          <title>Last choice</title>

          <para><command>\lastchoices</command>コマンドを使用すると、一部の選択肢をシャフルせず常に末尾に置くことができます。</para>

          <programlisting>\begin{question}{color}
  なに色ですか？
  \begin{choiceshoriz}
    \wrongchoice{赤}
    \wrongchoice{青}
    \wrongchoice{黄}
    \lastchoices
    \correctchoice{透明}
    \wrongchoice{わからない}
  \end{choiceshoriz}
\end{question}

\begin{questionmult}{number}
  いくつですか？
  \begin{choiceshoriz}
    \wrongchoice{なし}
    \correctchoice{1}
    \wrongchoice{2}
    \wrongchoice{3}
    \lastchoices
    \correctchoice{あまり多くない}
    \wrongchoice{たくさん}
  \end{choiceshoriz}
\end{questionmult}</programlisting>
        </sect4>

        <sect4>
          <title>設問番号</title>

          <para>次の設問の番号は<code>\AMCnumero</code>コマンドで変更できます。各試験問題の実体化前に</para>

          <para><programlisting>\AMCnumero{1}</programlisting></para>

          <para>が呼び出されますが、どこで使用してもかまいません。</para>

          <note>
            <para>特定の設問の番号を非表示にして、番号の増加を抑制するには、次の例のように<command>\AMCquestionNumberfalse</command>を使用します:</para>

            <programlisting>{
  \AMCquestionNumberfalse
  \def\AMCbeginQuestion#1#2{}
  \begin{question}
    ...
  \end{question}
}</programlisting>
          </note>
        </sect4>
      </sect3>

      <sect3 id="latex.explain">
        <title id="latex.explain.title">設問の模範解答解説</title>

        <para>設問に対する解答に解説を加えるには、<command>\explain</command>コマンドを使うことができます。解説はオプションであり、模範解答と設問カタログファイルにのみ表示されます。</para>

        <warning>
          <para>個別模範解答には表示されません。</para>
        </warning>

        <para>単純な例を示します:</para>

        <para><programlisting>\begin{question}{解説}
  次の中で標高が一番高いのはどれですか？
  \begin{choices}
      \correctchoice{サガルマータ}
      \wrongchoice{K2}
      \wrongchoice{モンブラン}
      \wrongchoice{アコンカグア}
  \end{choices}
  \explain{サガルマータは文字どおり「世界の頂上」という意味で、世界一の標高をもつエベレスト山の地元名です。}
\end{question}</programlisting></para>

        <note>
          <para><command>explain</command>コマンドは<option>question</option>系の環境内でのみ使用できます。これには<option>question</option>、<option>questionmult</option>、<option>questionmultx</option>環境があります。</para>
        </note>
        
        <para>デフォルトではこのコマンドは解説の前に<emphasis>解説: </emphasis>と表示します。この動作は<command>\AMCtext</command>コマンドで変更できます（<xref linkend="AMCtext"/>参照）。</para>
        
        <para>このデフォルト動作を特定の設問でのみ変更したい場合は、<command>\AMCtext</command>コマンドを次の例のように<command>\explain</command>の前に使用してください:</para>

        <para><programlisting>\begin{question}{標高}
  次の中で標高が一番高いのはどれですか？
  \begin{choices}
      \correctchoice{サガルマータ}
      \wrongchoice{K2}
      \wrongchoice{モンブラン}
      \wrongchoice{アコンカグア}
  \end{choices}
  \explain{サガルマータは文字どおり「世界の頂上」という意味で、世界一の標高をもつエベレスト山の地元名です。}
\end{question}

\begin{question}{仲間はずれ}
  次の中から仲間はずれを選びなさい。
  \begin{choices}
      \correctchoice{キリマンジャロ}
      \wrongchoice{ヒマラヤ}
      \wrongchoice{アルプス}
      \wrongchoice{アンデス}
  \end{choices}
  \AMCtext{explain}{\textit{\textbf{理由: }}}
  \explain{キリマンジャロは山ですが、残りは山脈です。}
\end{question}

\begin{questionmult}{ヒマラヤ}
  次の中でヒマラヤにあるのはどれですか？すべて選びなさい。
  \begin{choices}
      \correctchoice{エベレスト山}
      \correctchoice{K2}
      \wrongchoice{モンブラン}
      \wrongchoice{アコンカグア}
  \end{choices}
  \explain{アコンカグアはアンデス山脈にあり、モンブランはアルプスにあります。}
\end{questionmult}</programlisting></para>
        
        <para>このようにすると、最初と三つめの設問では解説の前に<emphasis>解説: </emphasis>と表示しますが、二つ目の設問の解説の前には<emphasis>理由: </emphasis>と表示されます。</para>
      </sect3>

      <sect3 id="latex.choices.multicol">
        <title>選択肢を複数カラムに配置</title>

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

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

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

        <para>複数カラム等のブロック内の選択肢間の垂直間隔はパラメータ化されており、寸法<parameter>AMCinterBrep</parameter>により変更することができます:</para>

        <para><programlisting>\AMCinterBrep=.5ex</programlisting></para>
      </sect3>

      <sect3 id="latex.choices.space">
        <title>選択肢間のスペース</title>

        <para>通常の選択肢間の垂直間隔もパラメータ化されており、寸法<parameter>AMCinterIrep</parameter>により変更することができます:</para>

        <para><programlisting>\AMCinterIrep=.75ex</programlisting></para>
      </sect3>

      <sect3 id="marks.display.area">
        <title id="marks.display.area.title">得点表記領域の定義</title>

        <para>得点表記領域に<package>tikz</package>パッケージを用いてオプションを付加することができます（<xref
        endterm="marks.position.title" linkend="marks.position"/>参照）。</para>

        <programlisting>\usepackage{tikz}</programlisting>

        <sect4 id="latex.zone.std">
          <title><option>separateanswersheet</option>オプションを使用しない場合</title>

          <para>以下のコマンドを<command>\begin{document}</command>コマンドから<command>\onecopy</command>コマンドまでの間に入力してください:</para>

          <programlisting>\AMCsetScoreZone{width=1.5em,height=1.5ex,depth=.5ex,position=margins}</programlisting>

          <para><parameter>width</parameter>, <parameter>height</parameter>, <parameter>depth</parameter>の各変数は得点表記領域の寸法を表します。</para>

          <para><parameter>position</parameter>の値は、none, question, margin, marginsのいずれかです。</para>
        </sect4>

        <sect4 id="latex.zone.separate">
          <title><option>separateanswersheet</option>オプションを使用する場合</title>

          <para>以下のコマンドを<command>\begin{document}</command>コマンドから<command>\onecopy</command>コマンドまでの間に入力してください:</para>

          <programlisting>\AMCsetScoreZoneAnswerSheet{width=1.5em,height=1.5ex,depth=.5ex,position=question}</programlisting>

          <para><parameter>width</parameter>, <parameter>height</parameter>, <parameter>depth</parameter>の各変数は得点表記記入領域の寸法を表します。</para>

          <para><parameter>position</parameter>の値は、none, question, margin, marginsのいずれかです。</para>

          <warning>
            <para><option>margins</option> オプションはAMC-TXTでは動作しません。</para>

            <para>これらのコマンドを、試験問題の印刷<emphasis>後</emphasis>に入力してはいけません。</para>
          </warning>
        </sect4>
      </sect3>

      <sect3 id="Groups.questions">
        <title id="Groups.questions.title">設問のグループ</title>

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

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

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

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

        <para>最後に、グループの内容は<command>insertgroup</command>コマンドを用いて、<programlisting>\insertgroup{mygroup}</programlisting>のようにして試験問題用紙に出力されます。</para>

        <para>グループの出力方法は<command>setgroupmode</command>コマンド（グループの作成後、<command>onecopy</command>の前に1度だけ実行）で設定するグループモードによって制御されます:</para>

        <programlisting>\setgroupmode{mygroup}{XXX}</programlisting>

        <para><code>XXX</code>は以下のいずれかです:</para>

        <variablelist>
          <varlistentry>
            <term>fixed</term>

            <listitem>
              <para>このモードでは、出力のたびに、グループの要素を先頭から取ります。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>cyclic</term>

            <listitem>
              <para>そのグループで前回使用した要素の次から要素を取り、必要ならリサイクルします。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>withreplacement</term>

            <listitem>
              <para>グループを使用する前にシャフルする以外は<code>fixed</code>と同様です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>withoutreplacement</term>

            <listitem>
              <para><code>cyclic</code>と同様ですが、リサイクルでグループの先頭に戻るときにシャフルします。</para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para>次に作成するグループ（グループは最初の<command>element</command>で作成されます）のデフォルトのグループモードは、次のコマンドで設定できます:</para>

        <programlisting>\setdefaultgroupmode{XXX}</programlisting>

        <para>モードをまったく指定していない場合は、<code>fixed</code>モードが使用されます。</para>

        <para>グループを構築すると、<command>shufflegroup</command>コマンドを次のように用いてグループ内の設問をシャフルすることができます:<programlisting>\shufflegroup{マイグループ}</programlisting></para>

        <para>しかし、<command>shufflegroup</command>コマンドは、グループモードを適切に使用することでいつでも置き換えられます。</para>

        <warning>
          <para>AMC 1.2.2014.111201より前のバージョンでレイアウトした試験問題を再利用し、デフォルト（<code>fixed</code>）以外のモードを選択する場合は、<command>\shufflegroup</command>コマンドを忘れずに削除してください。</para>
        </warning>

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

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

          <listitem>
            <para><code>\insertgroupfrom[n]{グループ名}{i}</code>は<code>\insertgroup[n]{groupname}</code>と同じですが、<replaceable>i</replaceable>番目（先頭は0番目）の要素から開始します。</para>
          </listitem>

          <listitem>
            <para><code>\cleargroup{マイグループ}</code>は、グループの中身を空にします。</para>
          </listitem>

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

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

        <programlisting>\cleargroup{all}
\copygroup[4]{GA}{all}
\copygroup[5]{GB}{all}
\copygroup{GO}{all}
\insertgroup{all}</programlisting>

        <itemizedlist>
          <listitem>
            <para><code>\copygroupfrom[n]{groupA}{groupB}{i}</code>は<code>\copygroup[n]{groupA}{groupB}</code>と同じですが、<replaceable>i</replaceable>番目（先頭は0番目）の要素から開始します。</para>
          </listitem>
        </itemizedlist>
      </sect3>

      <sect3 id="latex.page">
        <title>用紙サイズと余白</title>

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

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

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

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

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

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

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

        <programlisting>\AMCidsPosition{pos=<replaceable>p</replaceable>,width=<replaceable>w</replaceable>,height=<replaceable>h</replaceable>}</programlisting>

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

        <programlisting>\AMCidsPosition{pos=side,width=4cm,height=3ex}</programlisting>

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

        <programlisting>\geometry{a5paper,hmargin=1.6cm,top=2.5cm}
\AMCidsPosition{pos=top}</programlisting>

        <warning>
          <para><command>pgfpages</command>パッケージや、他のレイアウト用パッケージをロードしないでください。</para>
        </warning>

      </sect3>

      <sect3 id="box.style">
        <title id="box.style.title">マーク用ボックスの外見スタイル</title>

        <para><command>\AMCboxStyle</command>コマンド（旧称の<command>\AMCboxDimensions</command>も使用可能です）により、マーク用ボックスの寸法を変えることができます。</para>

        <para>デフォルト値:</para>
  
        <programlisting>\AMCboxStyle{shape=square,size=2.5ex,down=.4ex,rule=.5pt,outsidesep=.1em,color=black}</programlisting>

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

          <listitem>
            <para><option>width</option>はボックスの幅です。</para>
          </listitem>

          <listitem>
            <para><option>height</option>はボックスの高さです。</para>
          </listitem>

          <listitem>
            <para><option>size</option>はボックスのサイズ（<option>width</option>と<option>height</option>）です。</para>
          </listitem>

          <listitem>
            <para><option>rule</option>はボックスの枠の太さです。</para>
          </listitem>

          <listitem>
            <para><option>down</option>はボックスをどれだけ下に下げるかを制御します。</para>
          </listitem>
  
          <listitem>
            <para><option>outsidesep</option>は、<option>outsidebox</option>オプションを選択したときに、ボックスとその外に印刷する文字との間隔です（<xref endterm="sec.package.options.title" linkend="sec.package.options"/>参照）。</para>
          </listitem>
  
          <listitem>
            <para><option>cross=true</option>正答を表すボックス（模範解答用紙で表示されます）を、黒の塗りつぶしではなくクロス記号で示します。</para>
          </listitem>

          <listitem>
            <para><option>crossrule=1.5pt</option>クロス記号の太さです。</para>
          </listitem>

          <listitem>
            <para><option>color=<replaceable>col</replaceable></option>はボックスを描画する色を指定します。<replaceable>col</replaceable>は<command>xcolor</command>パッケージで認識できる表記でなければなりません。例えば<replaceable>red</replaceable>のような名前も使用できます。また次のように好みの色を定義することもできます。</para>

            <programlisting>\definecolor{mylightgreen}{rgb}{0.67,0.88,0.5}
\AMCboxStyle{color=mylightgreen}</programlisting>
          </listitem>
        </itemizedlist>

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

        <programlisting>\AMCboxStyle{size=1.7ex,down=.2ex}</programlisting>

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

        <programlisting>\def\AMCchoiceLabel#1{\alph{#1}}</programlisting>

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

        <programlisting>\def\AMCchoiceLabel#1{\textLR{\Alph{#1}}}</programlisting>

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

        <programlisting>\def\AMCchoiceLabelFormat#1{\textbf{#1}}</programlisting>

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

        <programlisting>\def\AMCoutsideLabelFormat#1{\textbf{#1}}</programlisting>

        <note>
          <para>正答のボックスにマークを表示するかどうかのスイッチは<command>\AMC@correc</command>です。\begin{document}の後に、これをtrueに設定するコマンドを定義できます。</para>

          <programlisting>\makeatletter
\def\AMCforcecorrect{\AMC@correctrue}
\makeatother</programlisting>

          <para>そして、特定の設問で使用します（効果がその設問のみに限定されるよう、波括弧で囲みます）:</para>

          <programlisting>{\AMCforcecorrect\begin{questionmult}{test}\QuestionIndicative
   .....
 \end{questionmult}
}</programlisting>

          <para>AMCがこの設問の得点を計算しないよう（採点基準を0点とするか<command>\QuestionIndicative</command>を用いて）設定するべきです。</para>
        </note>
      </sect3>

      <sect3 id="latex.style">
        <title>設問の外見スタイル</title>

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

        <para><programlisting>\def\AMCbeginQuestion#1#2{\par\noindent{\bf Question #1} #2\hspace*{1em}}</programlisting></para>

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

        <para><programlisting>\def\multiSymbole{$\clubsuit$}</programlisting></para>

        <warning>
          <para>指名試験問題用紙（<xref endterm="Nominative.sheets.title" linkend="Nominative.sheets"/>参照）を使用する場合は、プリアンブルで次のように新しいコマンドを設定し、</para>

          <informalexample>
            <programlisting>\def\Iswitch{\def\AMCbeginQuestion##1##2{}\AMCquestionNumberfalse}</programlisting>
          </informalexample>

          <para>必要な箇所で使用します（効果の範囲を限定するため、波括弧内に記述することを忘れないでください）:</para>

          <programlisting>{\Iswitch
 \begin{question}{Number}
   大きいものを選びなさい。
   \begin{choiceshoriz}[o]
     \wrongchoice{200}\wrongchoice{2}\wrongchoice{20}\wrongchoice{200}\correctchoice{600}
   \end{choiceshoriz}
 \end{question}
}</programlisting>
        </warning>

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

        <programlisting>\def\AMCbeginAnswer{}
\def\AMCendAnswer{}
\def\AMCanswer#1#2{#1 #2}</programlisting>

        <important>
          <para><command>\onecopy</command>コマンド内では、<code>#</code>は2重にしてください。</para>

          <programlisting>\def\AMCanswer##1##2{##1  ##2}
\def\AMCbeginQuestion##1##2{}</programlisting>
        </important>

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

        <programlisting>\AMCinterIrep=0pt
\AMCinterBrep=.5ex
\AMCinterIquest=0pt
\AMCinterBquest=3ex
\AMCpostOquest=7mm
\setlength{\AMChorizAnswerSep}{3em plus 4em}
\setlength{\AMChorizBoxSep}{1em}
</programlisting>

        <para>これらの寸法は、標準モード用（<code>I</code>）とボックスモード用（<code>B</code>）（<command>\AMCBoxedAnswers</command>の使用時や<option>box</option>パッケージオプション使用時）での設問間（<code>quest</code>）と選択肢間（<code>rep</code>）の垂直スペース、および記述式設問後のスペースです。最後の二つの長さは <option>choicescustom</option> 環境内で使用されます。</para>
      </sect3>

      <sect3 id="latex.layout">
        <title>レイアウト</title>

        <sect4 id="latex.layout.margins">
          <title>マージン</title>

          <para>マージンはほとんどのプリンタで正しく印刷できるように選んであります。変更するには、LaTeXの<package>geometry</package>パッケージにある<command>geometry</command>コマンドを使用することができます。例えば、トップマージンを減らすには、デフォルトの3.5cmの代わりに、<code>\begin{document}</code>の直前で<code>\geometry{top=3cm}</code>とします。</para>
        </sect4>
  
        <sect4 id="latex.layout.npages">
          <title>ページ番号</title>

          <para>AMCは各試験問題のページ番号を自動的に取り扱います。各試験問題の末尾や問題用紙と答案用紙の区切りなどに<command>\AMCaddpagesto{integer}</command>コマンドを置くと、いくつか空ページが挿入され、その次のページ番号が各試験問題で同一になります。</para>
        </sect4>

      </sect3>

      <sect3 id="latex.style.separate">
        <title>別紙答案用紙方式</title>

        <para><option>separateanswersheet</option>オプション（<xref linkend="secensemble"/>参照）で生成される別紙答案用紙のレイアウトを変更することも可能です。</para>

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

            <programlisting>\AMCformHSpace=.3em
\AMCformVSpace=1.2ex
</programlisting>
          </listitem>

          <listitem>
            <para>表示設定をもっと細かく変更したい場合は、各設問と選択肢の開始に使われるコマンドを再定義することができます:</para>

            <programlisting>\def\AMCformBeforeQuestion{\vspace{\AMCformVSpace}\par}
\def\AMCformQuestion#1{{\bf 問 #1:} }
\def\AMCformAnswer#1{\hspace{\AMCformHSpace} #1}
</programlisting>
          </listitem>
        </orderedlist>

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

      <sect3 id="latex.codes">
        <title>受験番号取得</title>

        <para>受験番号の取得はLaTeXの<command>\AMCcodeGridInt[<replaceable>options</replaceable>]{<replaceable>key</replaceable>}{<replaceable>n</replaceable>}</command>コマンドを使用して、受験者に答案用紙上に自分の受験番号を記入してもらうことで、容易に行うことができます。このコマンドの二つの引数は、設問キー（識別名）と、受験番号に用いる桁数<replaceable>n</replaceable>です。例えば次のようなヘッダーを用いることができます:</para>

        <para><programlisting>{\setlength{\parindent}{0pt}\hspace*{\fill}\AMCcodeGridInt{受験番号}{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}

}
</programlisting></para>

        <para><option>separateanswersheet</option>オプションを用いている場合は、
<command>\AMCcodeGridInt</command>コマンドは<command>\AMCformBegin</command>コマンドの後に置く必要があります。</para>

        <para>記入欄は、長さ <command>\AMCcodeHspace</command>、<command>\AMCcodeVspace</command> を変更することにより調整することができます。それぞれ、ボックス間の水平および垂直の間隔です。デフォルト値は次のように設定されています:</para>

        <programlisting>\AMCcodeHspace=.5em
\AMCcodeVspace=.5em
</programlisting>

        <para><command>\AMCcodeGrid[<replaceable>options</replaceable>]{<replaceable>key</replaceable>}{<replaceable>description</replaceable>}</command> コマンドは、より複雑な構造の受験番号を扱いたいときに使用できます。<replaceable>description</replaceable> はカンマ区切りの候補文字集合のリストです。一例として、AからEの英字1文字の後に3桁の数字で構成されるような受験番号は、<command>\AMCcodeGrid{client}{ABCDE,0123456789,0123456789,0123456789}</command> により扱うことができます。</para>

        <para><command>\AMCcodeGrid</command> と <command>\AMCcodeGridInt</command> の二つのコマンドは、以下のオプション（<replaceable>options</replaceable> 引数にカンマ区切りで指定）を認識します:</para>

        <variablelist>
          <varlistentry>
            <term>vertical=<replaceable>bool</replaceable></term>

            <listitem>
              <para>で <replaceable>bool</replaceable> を <code>true</code> か <code>false</code> にすると、指定した方向を使用します（デフォルトは <code>true</code> です）。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>v</term>

            <listitem>
              <para>は <code>vertical=true</code> の別名です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>h</term>

            <listitem>
              <para>は <code>vertical=false</code> の別名です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>top</term>

            <listitem>
              <para>は、各カラムの上端を垂直方向に揃えます。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="openquestions">
        <title>記述式設問</title>

        <para>試験問題に記述式設問を加えたい場合があるかもしれません。一つの方法は、そういった設問のマーク用ボックスを採点者用に予約しておくことです。試験実施後、記入された答案を読んで、採点者が評価に該当するボックスにマークをつけます。そして答案をスキャンしてAMCで採点すれば、その点数を得点に組み入れることができます。<programlisting>\begin{question}{記述}
  \emph{インフレーション}の定義を述べよ。
  \AMCOpen{lines=5}{\wrongchoice[W]{誤}\scoring{0}\wrongchoice[P]{部}\scoring{1}\correctchoice[C]{正}\scoring{2}}
\end{question}
</programlisting></para>

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

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

        <variablelist>
          <varlistentry>
            <term>lineup=<replaceable>bool</replaceable></term>

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

          <varlistentry>
            <term>lineuptext=<replaceable>text</replaceable></term>

            <listitem>
              <para><code>lineup=true</code>のとき、このテキストと解答欄を同じ行に並べます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>lines=<replaceable>num</replaceable></term>

            <listitem>
              <para>解答の行数を設定します。デフォルト値は<code>1</code>です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>lineheight=<replaceable>dim</replaceable></term>

            <listitem>
              <para>各行の高さを設定します。デフォルト値は<code>1cm</code>です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>dots=<replaceable>bool</replaceable></term>

            <listitem>
              <para><code>true</code>（デフォルト）なら、各行に点線を引きます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>contentcommand=<replaceable>cmdname</replaceable></term>

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

          <varlistentry>
            <term>hspace=<replaceable>dim</replaceable></term>

            <listitem>
              <para>採点用ボックスの間隔を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>backgroundcol=<replaceable>color</replaceable></term>

            <listitem>
              <para>採点領域の背景色を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>foregroundcol=<replaceable>color</replaceable></term>

            <listitem>
              <para>採点用ボックスの枠の色を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>scan=<replaceable>bool</replaceable></term>

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

          <varlistentry>
            <term>annotate=<replaceable>bool</replaceable></term>

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

          <varlistentry>
            <term>question=<replaceable>text</replaceable></term>

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

              <para>questionのみ指定すると、デフォルトで設問の識別名が表示されます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>answer=<replaceable>text</replaceable></term>

            <listitem>
              <para>模範解答用紙の解答欄に記入される短いテキストを設定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>

        <tip>
          <para><emphasis>onecopyコマンドの外</emphasis>で<command>\savebox</command>コマンドを使用すると、改行を含む長いテキストを表示できます。</para>

          <programlisting>
       \newsavebox{\correcbox}
        \savebox{\correcbox}{\parbox{5cm}{\color{red}{ここで改行\\あるいは\\ここで...}}}
       </programlisting>

          <para>ボックスの中身を呼び出すには次のようにします:</para>
 
          <programlisting>
        \AMCOpen{lines=4,lineheight=0.15cm, answer= \usebox{\correcbox}}{問題}
       </programlisting>
        </tip>

        <variablelist>
          <varlistentry>
            <term>width=<replaceable>dim</replaceable></term>

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

          <varlistentry>
            <term>framerule=<replaceable>dim</replaceable></term>

            <listitem>
              <para>解答欄を囲む枠の線幅を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>framerulecol=<replaceable>color</replaceable></term>

            <listitem>
              <para>解答欄を囲む枠の色を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>boxmargin=<replaceable>dim</replaceable></term>

            <listitem>
              <para>採点用ボックスの周囲の余白を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>boxframerule=<replaceable>dim</replaceable></term>

            <listitem>
              <para>採点用ボックスの周囲枠の線幅を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>boxframerulecol=<replaceable>color</replaceable></term>

            <listitem>
              <para>採点用ボックスの周囲枠の色を設定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>

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

        <programlisting>\AMCopenOpts{boxframerule=2pt,boxframerulecol=red}</programlisting>

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

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

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

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

        <tip>
          <para>ボックス数が多く一定幅で改行させたい場合は、次のヒント（<command>\parbox</command>）が使えます。</para>

          <programlisting>\AMCOpen{lines=6}{
          \hbox{\parbox{8.5cm}{
                           \correctchoice[1]{1}\scoring{b=1}
                           \correctchoice[2]{2}\scoring{b=2}
                           \correctchoice[3]{3}\scoring{b=3}
                           \correctchoice[4]{4}\scoring{b=4}
                           \correctchoice[5]{5}\scoring{b=5}
                           \correctchoice[6]{6}\scoring{b=6}
                           \correctchoice[7]{7}\scoring{b=7}
                           \correctchoice[8]{8}\scoring{b=8}
                           \correctchoice[9]{9}\scoring{b=9}
                           \correctchoice[10]{10}\scoring{b=10}
                           \wrongchoice[F]{F}\scoring{b=0}
                    }}
            }
             </programlisting>
        </tip>
      </sect3>

      <sect3 id="latex.oneletter">
        <title>1文字選択肢</title>

        <para>選択肢の記述に長い文章は必要でなく1文字で十分の場合があります。別紙答案用紙を用いる場合、問題用紙と答案用紙の両方にボックスを表示するのはとても面倒です。そのような場合、<code>choices</code>環境のかわりに<command>\AMCBoxOnly</command>コマンドを使用してください:</para>

        <programlisting>\begin{question}{arm}
  図中の\textbf{腕}を示す文字はどれですか？
  \AMCBoxOnly{ordered=true}{\wrongchoice[A]{}\correctchoice[B]{}%
    \wrongchoice[C]{}\wrongchoice[D]{}}
\end{question}</programlisting>

        <para><command>\AMCBoxOnly</command>の最初の引数はカンマで区切ったオプションです。使用できるオプションは次のとおりです:</para>

        <variablelist>
          <varlistentry>
            <term>help=<replaceable>text</replaceable></term>

            <listitem>
              <para>別紙答案用紙のボックスの前にリマインダーのテキストを表示します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ordered=<replaceable>bool</replaceable></term>

            <listitem>
              <para><code>true</code>（デフォルト値は<code>false</code>）なら、選択肢はシャフルされません。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="latex.seed">
        <title>シャフルパラメータの選択</title>

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

        <para><programlisting>\AMCrandomseed{1527384}</programlisting></para>

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

        <note>
          <para>値はxyファイルに（<code>\rngstate{1}{1515}</code>のように）記録されます。デフォルト値は1515です。</para>
        </note>
      </sect3>

      <sect3 id="latex.separate.sect">
        <title>セクション分けと別紙答案用紙</title>

        <para>別紙答案用紙上にもセクション分けが見えるようにするには、<command>\section</command>と<command>\subsection</command>の代わりに、<command>\AMCsection</command>と<command>\AMCsubsection</command>を使用してください。（番号なしセクション用に<command>\AMCsection*</command>と<command>\AMCsubsection*</command>も定義されています）</para>
      </sect3>

      <sect3 id="latex.refs">
        <title>試験問題内での参照</title>

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

        <note>
          <para>バージョン1.2.2015.102901以降では<command>\AMCqlabel</command>ではなく<command>\AMClabel</command>を使ってください。旧コマンドは以前のtexファイルとの互換性のために残しています。</para>
        </note>

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

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

        <para>そして重要なのは、<command>\onecopy</command>コマンドの直後に</para>

        <programlisting>\setcounter{figure}{0}</programlisting>

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

        <sect4 id="cleveref">
          <title>cleverefパッケージの使用</title>

          <para>このパッケージは、設問番号、設問ページ番号、ラベルのページ番号を昇順にソートします（ドキュメント<ulink url="http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf">http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf</ulink>）。</para>

          <warning>
            <para>このパッケージは、<package>automuliplechoice</package>パッケージの<emphasis>後</emphasis>にロードしなければなりません。</para>
          </warning>

          <para>このパッケージを使用するために新しいコマンド<command>\AMCstudentlabel</command>を導入しました。<programlisting>\cref{\AMCstudentlabel{led},\AMCstudentlabel{lamp},\AMCstudentlabel{moter}}</programlisting><emphasis>led</emphasis>, <emphasis>lamp</emphasis>, <emphasis>moter</emphasis>は、設問を参照するために \AMClabel{led}, \AMClabel{lamp}, \AMClabel{moter} で作成されたラベルです。これらの設問の番号はコンパイル時に自動的にソートされます。</para>
        </sect4>
      </sect3>

      <sect3 id="AMCtext">
        <title>AMCが挿入するテキストのカスタマイズ</title>

        <para>以下のカスタマイズには<command>\AMCtext</command>を使用してください:</para>

        <itemizedlist>
          <listitem>
            <para><code>\AMCtext{none}{<replaceable>sentence</replaceable>}</code>は、<option>completemulti</option>オプションを使用する場合の「該当なし。」（日本語でのデフォルトテキスト）を、指定した<replaceable>sentence</replaceable>に置換します。</para>
          </listitem>

          <listitem>
            <para><code>\AMCtext{corrected}{<replaceable>title</replaceable>}</code>は、模範解答用紙に表示される「模範解答」（日本語でのデフォルトテキスト）を、指定した<replaceable>title</replaceable>に置換します。</para>
          </listitem>

          <listitem>
            <para><code>\AMCtext{catalog}{<replaceable>title</replaceable>}</code>は、<option>catalog</option>オプションで生成される設問カタログに表示される「設問カタログ」（日本語でのデフォルトテキスト）を、指定した<replaceable>title</replaceable>に置換します。</para>
          </listitem>

          <listitem>
            <para><code>\AMCtext{explain}{<replaceable>title</replaceable>}</code>は、<command>explain</command>コマンドのために生成される解説の前に表示する「<emphasis>解説</emphasis>」（日本語でのデフォルトテキスト）を、指定した<replaceable>title</replaceable>に置換します。</para>

            <para>このコマンドのデフォルトオプションは次のとおりです:</para>

            <programlisting>\AMCtext{explain}{\textit{\textbf{解説: }}}</programlisting>
          </listitem>

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

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

          <listitem>
            <para><code>\AMCsetFoot{<replaceable>text</replaceable>}</code>はフッタに表示するテキストを設定します。例えば、ページ番号を表示するには、<code>\AMCsetFoot{\thepage}</code>のように使用します。</para>
          </listitem>
        </itemizedlist>
      </sect3>

      <sect3 id="binary.code">
        <title id="binary.code.title">バイナリコード</title>

        <para>AMCは各試験問題とページの番号をバイナリコードを使って識別します。</para>

        <itemizedlist>
          <listitem>
            <para>1行目 : （デフォルトで）12桁 : 試験問題番号の最大値 = 2^12-1 = 4,095</para>
          </listitem>

          <listitem>
            <para>2行目 : （デフォルトで）最初の6桁 : 1試験問題あたりの最大ページ数 = 2^6-1 = 63</para>
          </listitem>

          <listitem>
            <para>2行目 : （デフォルトで）次の6桁 : チェックコード</para>
          </listitem>
        </itemizedlist>

        <para>試験問題やページの数を増やすには、<command>\AMC@NCBetud</command>, <command>\AMC@NCBpage</command>, <command>\AMC@NCBcheck</command>のデフォルト値を変更してください。</para>

        <para>プリアンブルに以下のコマンドを記述します（これらはデフォルト値）。</para>

        <programlisting>\makeatletter
\def\AMC@NCBetud{12}
\def\AMC@NCBpage{6}
\def\AMC@NCBcheck{6}
\makeatother</programlisting>
      </sect3>
    </sect2>

    <sect2 id="latex.amcopts">
      <title>AMC用のオプション</title>

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

      <variablelist>
        <varlistentry>
          <term><code>%%AMC:preprocess_command=<replaceable>commandname</replaceable></code></term>

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

        <varlistentry>
          <term><code>%%AMC:latex_engine=<replaceable>engine</replaceable></code></term>

          <listitem>
            <para>ユーザ設定されたLaTeXエンジンにかかわらず、このファイルのコンパイルに用いるエンジンを指定します。</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="latex.numerical">
      <title>乱数を用いた数学設問</title>

      <sect3 id="latex.numerical.fp">
        <title>fpパッケージの使用</title>

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

        <para><programlisting>\begin{question}{加算}
  \FPeval\VQa{trunc(1+random*8,0)}  <co id="alea.random"
              linkends="alea.random.exp"/>
  \FPeval\VQb{trunc(4+random*5,0)}
  \FPeval\VQsomme{clip(VQa+VQb)}  <co id="alea.result"
              linkends="alea.result.exp"/>
  \FPeval\VQnonA{clip(VQa+VQb-1)}  <co id="alea.fausse"
              linkends="alea.fausse.exp"/>
  \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}</programlisting></para>

        <para><command>\FPeval</command>コマンドは計算を実行するのに使います:</para>

        <para><calloutlist>
            <callout arearefs="alea.random" id="alea.random.exp">
              <para><command>random</command>は[0,1]の実数を返すので、このコマンドによりVQaには1から8までの乱数の整数値が設定されます。次の行では、VQbに4から8までの乱数の整数値が設定されます。</para>
            </callout>

            <callout arearefs="alea.result" id="alea.result.exp">
              <para>正しい値をVQsomme変数に入れています。</para>
            </callout>

            <callout arearefs="alea.fausse" id="alea.fausse.exp">
              <para>誤った値をVQnonA、VQnonB、VQnonCに入れています。</para>
            </callout>
          </calloutlist>変数名のVQは他のLaTeXコマンドと干渉しないように選んであります。</para>

        <note>
          <para>乱数シードは次のように設定できます:</para>

          <para><programlisting>\FPseed=<replaceable>integer</replaceable></programlisting></para>

          <para><replaceable>integer</replaceable>は固定値でなければなりません。日付や時刻から計算してはいけません。</para>
        </note>

        <sect4 id="latex.intervals">
          <title>区間の選択</title>

          <para><command>automultiplechoice</command>パッケージは、さらに、この種の設問の作成が容易になるように<command>\AMCIntervals</command>コマンドを定義しています。以下に例を示します:<programlisting>\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&lt;Y]$ は、次のどの区間に属しますか？

  \begin{multicols}{5}
    \begin{choices}[o]
      \AMCIntervals{\VQr}{0}{1}{0.1}  <co id="choix.intervalles"
              linkends="choix.intervalles.exp"/>
    \end{choices}
  \end{multicols}
\end{question}</programlisting>（訳注: \mathbbを使用するにはamsfontsパッケージが必要です。）</para>

          <calloutlist>
            <callout arearefs="choix.intervalles" id="choix.intervalles.exp">
              <para>この行は、各区間 [0,0.1[ [0.1,0.2[ ... [0.9,1[ に対応した10個の選択肢を挿入し、正解の選択肢は VQr を含んだ区間であることを指示します。<command>\AMCIntervals</command>の引数は次のとおりです:</para>

              <orderedlist>
                <listitem>
                  <para>正解の値</para>
                </listitem>

                <listitem>
                  <para>最初の区間の左端の値</para>
                </listitem>

                <listitem>
                  <para>最後の区間の右端の値</para>
                </listitem>

                <listitem>
                  <para>各区間の長さ</para>
                </listitem>
              </orderedlist>
            </callout>
          </calloutlist>

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

          <programlisting>\def\AMCIntervalFormat#1#2{[#1,\,#2[}</programlisting>

          <para>と定義されています。</para>
        </sect4>

        <sect4 id="latex.numeric">
          <title>数値での解答</title>

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

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

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

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

          <variablelist>
            <varlistentry>
              <term>digits=<replaceable>num</replaceable></term>

              <listitem>
                <para>は、必要な桁数（デフォルトは3）を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>decimals=<replaceable>num</replaceable></term>

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

            <varlistentry>
              <term>base=<replaceable>num</replaceable></term>

              <listitem>
                <para>は、数字の基数（進法）（デフォルトは10）を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>significant=<replaceable>bool</replaceable></term>

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

            <varlistentry>
              <term>exponent=<replaceable>num</replaceable></term>

              <listitem>
                <para>指数を<replaceable>num</replaceable>桁とした、科学的記数法モードにします。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>nozero=<replaceable>bool</replaceable></term>

              <listitem>
                <para>全桁から選択肢0を除去します。<command>\AMCnumericChoices</command>を用いて小さい正の値（&lt;10）を記入するのに便利かもしれません。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>sign=<replaceable>bool</replaceable></term>

              <listitem>
                <para>は、符号の有無（デフォルトはtrue）を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>exposign=<replaceable>bool</replaceable></term>

              <listitem>
                <para>指数の符号を同様に指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>strict=<replaceable>bool</replaceable></term>

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

            <varlistentry>
              <term>vertical=<replaceable>bool</replaceable></term>

              <listitem>
                <para><code>true</code>なら、1桁分のボックスを縦に配置します。<code>false</code>（デフォルト）なら、1桁分のボックスを横に配置します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>expovertical=<replaceable>bool</replaceable></term>

              <listitem>
                <para><code>true</code>なら、仮数を指数の<emphasis>上</emphasis>に配置します。<code>false</code>なら、仮数を指数の<emphasis>横</emphasis>に配置します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>reverse=<replaceable>bool</replaceable></term>

              <listitem>
                <para><code>true</code>なら、<code>vertical</code>モードにおいて、大きい数字を上に配置します（デフォルトは<code>true</code>）。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>vhead=<replaceable>bool</replaceable></term>

              <listitem>
                <para><code>true</code>なら、<code>vertical</code>モードにおいて、各桁の上部に<command>\AMCntextVHead</command>コマンドを使用して作成されるヘッダーを置きます。<command>\AMCntextVHead</command>はデフォルトで次のように定義されています。</para>

                <programlisting>\def\AMCntextVHead#1{\emph{b#1}}</programlisting>

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

                <para>デフォルト値は<code>false</code>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>hspace=<replaceable>space</replaceable></term>

              <listitem>
                <para>は、ボックス間の水平間隔（デフォルトは<code>.5em</code>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>vspace=<replaceable>space</replaceable></term>

              <listitem>
                <para>は、ボックス間の垂直間隔（デフォルトは<code>1ex</code>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>borderwidth=<replaceable>space</replaceable></term>

              <listitem>
                <para>は、全ボックスを囲む枠線の太さ（デフォルトは<code>1mm</code>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>bordercol=<replaceable>color</replaceable></term>

              <listitem>
                <para>は、枠線の色（デフォルトは<code>lightgray</code>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>backgroundcol=<replaceable>color</replaceable></term>

              <listitem>
                <para>は、背景色（デフォルトは<code>white</code>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>Tsign=<replaceable>text</replaceable></term>

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

            <varlistentry>
              <term>Tpoint=<replaceable>text</replaceable></term>

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

            <varlistentry>
              <term>Texponent=<replaceable>text</replaceable></term>

              <listitem>
                <para>は、仮数と指数を分けるテキストを設定します。デフォルトは<code>$\times10$\textasciicircum</code>で、<code>\def\AMCexponent{<replaceable>text</replaceable>}</code>でも再定義できます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>scoring=<replaceable>bool</replaceable></term>

              <listitem>
                <para><code>true</code>なら、AMCにこの設問の採点基準を指定します。デフォルトは<code>true</code>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>scoreexact=<replaceable>num</replaceable></term>

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

            <varlistentry>
              <term>exact=<replaceable>num</replaceable></term>

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

            <varlistentry>
              <term>scoreapprox=<replaceable>num</replaceable></term>

              <listitem>
                <para>は、<emphasis>近似解</emphasis>に対する素点（デフォルトは1）を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>approx=<replaceable>num</replaceable></term>

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

                <warning>
                  <para>AMCは<code>approx</code>との差分をとり比較する前に、すべての数字を（単純に小数点を取り除いて）整数に変換します。一例として、<code>decimals=2</code>のとき、正答が3.14で答案が3.2の場合、整数の差分は 320-314=6 となるので、<code>approx</code>が6以上のときに限って、受験者は<code>scoreapprox</code>を得ます。</para>
                </warning>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>scorewrong=<replaceable>num</replaceable></term>
                <listitem>
                <para>は、誤答に対する素点（デフォルトは0）を指定します。</para>
              </listitem>
            </varlistentry>

          </variablelist>

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

          <programlisting>\AMCnumericOpts{scoreexact=3,borderwidth=2pt}</programlisting>

          <para>さらに、<code>separateanswersheet</code>オプションにより別紙答案用紙を使用する場合、<command>\AMCntextGoto</command>コマンドを再定義することにより、問題用紙側の<command>\AMCnumericChoices</command>を使用する各設問の最後に付加するテキストを設定することができます:</para>

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

        </sect4>
      </sect3>

      <sect3 id="latex.numerical.pgf">
        <title>pgf/tikzパッケージの使用</title>

        <para>このパッケージは、<package>automuliplechoice</package>パッケージの<emphasis>後</emphasis>にロードしなければなりません。</para>

        <para>LaTeXの<package>pgf/tikz</package>パッケージ（<ulink
        url="http://www.ctan.org/tex-archive/graphics/pgf/base">http://www.ctan.org/tex-archive/graphics/pgf/base</ulink>を参照）は数学用関数などを提供するもので、<programlisting>\usepackage{tikz}</programlisting>でロードされます。</para>

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

        <para><programlisting>\pgfmathsetseed{2056}</programlisting></para>

        <sect4 id="latex.numerical.pgf.simple">
          <title>単純な計算</title>

          <para>これは単純な計算を用いた例です</para>

          <para><programlisting>\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}
</programlisting></para>

          <para><command>\pgfmathparse</command>コマンドが計算を行い、<command>\pgfmathresult</command>が結果を出力します。</para>

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

          <para><programlisting>\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}
</programlisting><note>
              <para><command>\AMCIntervals</command>コマンドと<command>\AMCnumericChoices</command>コマンドを使用することもできます（<xref linkend="latex.intervals"/>および<xref linkend="latex.numeric"/>参照）。</para>
            </note></para>
        </sect4>

        <sect4 id="latex.numerical.pgf.graphs">
          <title>グラフ</title>

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

          <para><programlisting>\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[-&gt;] (-0.2,0) -- (4.2,0) node[right] {$x$};
      \draw[-&gt;] (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}
</programlisting></para>

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

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

      <sect3 id="latex.numerical.lualatex">
        <title>LuaLaTeXの使用</title>

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

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

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

        <programlisting>\directlua{math.randomseed (2048)}</programlisting>

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

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

\end{document}</programlisting>

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

        <note>
          <para><command>\AMCIntervals</command>コマンドと<command>\AMCnumericChoices</command>コマンドを使用することもできます（<xref linkend="latex.intervals"/>および<xref linkend="latex.numeric"/>参照）。</para>
        </note>
      </sect3>
      
      <sect3 id="latex.pstricks">
        <title>PSTricksの使用</title>

        <para>このパッケージは<package>automultiplechoice</package>の<emphasis>after</emphasis>にロードしてください。</para>

        <para><command>PSTricks</command>を使用するには、AMCを次のように設定する必要があります:<menuchoice>
            <guimenu>編集</guimenu>

            <guimenuitem>設定</guimenuitem>

            <guimenuitem>メイン</guimenuitem>

            <guimenuitem>デフォルトLaTeXエンジン</guimenuitem>

            <guimenuitem>latex+dvipdf</guimenuitem>
          </menuchoice></para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="graphical-interface">
    <title>GUIの使用方法</title>

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

    <sect2 id="gui.new">
      <title>プロジェクトの新規作成</title>

      <para>GUIを開きましょう。通常は、Gnomeの一般メニュー（あるいは、KDEなどの対応するメニュー）から<menuchoice><guimenu>アプリケーション</guimenu><guisubmenu>教育</guisubmenu><guimenuitem>Auto Multiple Choice</guimenuitem></menuchoice>を選んで開きます。<userinput>auto-multiple-choice</userinput>コマンドを直接使うこともできます。</para>

      <para><menuchoice>
          <guimenu>プロジェクト</guimenu>

          <guimenuitem>新規</guimenuitem>
        </menuchoice>を選んで、プロジェクトを作成しましょう。ウィンドウが開いて、既存のプロジェクトがあればその一覧が表示され、これから作成するプロジェクトの名前（単純な文字で。今回のテスト用に「test」でもOKです）を<guilabel>プロジェクト名</guilabel>欄に記入することができます。そして、<guibutton>新規プロジェクト</guibutton>ボタンを押します。</para>

      <para>ここで、選択式試験問題用のAMC-TXTファイルあるいはLaTeXソースファイルを選ばなければなりません。オプションがいくつか示されます:</para>

      <itemizedlist>
        <listitem>
          <para><guilabel>テンプレート</guilabel>: これを選択すると、AMCに付属するいくつかのテンプレートの中から一つを選び、後から試験問題をカスタマイズしていくことができます。</para>
        </listitem>

        <listitem>
          <para><guilabel>ファイル</guilabel>: これを選択すると、この試験用に既に準備されたLaTeXファイルを選ぶことができます。誰か他の人が既に準備してくれたか、AMCの外で好みのエディタを使ってあなたが準備したものかもしれません。</para>
        </listitem>

        <listitem>
          <para><guilabel>空</guilabel>: これを選択すると、空のLaTeXファイルが作成されます。ゼロから試験問題を作成しなければいけません。</para>
        </listitem>

        <listitem>
          <para><guilabel>アーカイブ</guilabel>: 試験問題の記述（LaTeXソースファイル、画像ファイル、パラメータファイルなど）を含んだzipあるいはtgzのアーカイブがある場合は、これを選択してください。このアーカイブは外部のソフトウェアによって作成することができます。既存のAMCプロジェクトのバックアップかもしれません。</para>
        </listitem>
      </itemizedlist>

      <para>ここでは、<guilabel>テンプレート</guilabel>を選択します。次のウィンドウがテンプレートを示します。例えば、<guilabel>[JA] ドキュメント</guilabel>グループから、<guilabel>単純な例</guilabel>を選びます。これで、<guibutton>ソースファイル編集</guibutton>ボタンによりデフォルトのエディタが起動し、編集してレイアウトや設問を変更できるようになります。</para>
    </sect2>

    <sect2 id="gui.prepare">
      <title>試験問題の作成</title>

      <para>試験問題の作成は二つのステップからなります。最初にLaTeXソースファイルから、参照用の文書を作成しなければなりません。これは<guibutton>文書更新</guibutton>をクリックすることにより行われ、以下の文書が生成されます</para>

      <itemizedlist>
        <listitem>
          <para><emphasis>試験問題</emphasis>: このファイルはそのまま印刷して受験者に配布することができます（下記参照）。</para>
        </listitem>

        <listitem>
          <para><emphasis>模範解答</emphasis>: 試験問題に間違いがないかどうかチェックすることができます。受験者に配布することもできます。</para>
        </listitem>
      </itemizedlist>

      <para>これらの文書が作成されると、対応するボタンをクリックして表示（そして必要なら印刷）することができます。</para>

      <para>以上で、試験問題作成の最後のステップを始められます。レイアウトの解析です。これは、<guibutton>レイアウト検出</guibutton>ボタンをクリックすることにより起動されます。この解析処理は、試験問題の各ページにおいて、受験者の答案用紙で解析しなければならない全要素の正確な位置を検出します。</para>

    <para>レイアウトが正しく検出されているか検証するには、<guibutton>レイアウト確認</guibutton>ボタンを使います。結果をさっと見て、試験問題の各ボックス上に赤いチェックボックスが正しく乗っているかを調べます。</para>
    </sect2>

    <sect2 id="printing">
      <title id="printing.title">印刷と試験実施</title>

      <para>2種類のワークフローが検討可能です:</para>

      <itemizedlist>
        <listitem>
          <para>最も堅牢なモードでは、受験者全員分の試験問題用紙を別々の試験問題番号で作成し、全部印刷します。各ページはその番号と上部にあるボックスで完全に識別でき、同じ答案用紙を特に注意せず何度もマーク認識させてかまいません。</para>
        </listitem>

        <listitem>
          <para>2番目のモードでは、少数の試験問題だけ（あるいは希望なら1部のみ）を印刷し、受験者全員分はコピーで作成することができます。設問のシャフル効果は若干低下します。誤って、同じページを何度かマーク認識させてしまうと、AMCはそれを検知できないので望まない重複を作成してしまいます。</para>
        </listitem>
      </itemizedlist>

      <warning>
        <para>2番目のコピーを用いたワークフローを使うには、受験者が記入するページは1枚だけでなければなりません（場合によっては別紙答案方式が役に立ちます）。でなければ、AMCでこの先を続けることはできません！AMCは、同じ受験者が記入した二つのページを結びつけることができないのです。</para>
      </warning>

      <para>試験問題の作成が完了すれば、試験問題を印刷して受験者に配布することができます... 単純な場合には、（作業文書の<guilabel>問題</guilabel>ボタンをクリックしたあと）ビューアから直接印刷できます。用紙を別々に（それぞれ複数ページからなり、それらをステープルできるようなプリンタを使う場合など）印刷する場合、レイアウト検出後に<guibutton>試験問題印刷</guibutton>ボタンを使うといいでしょう。</para>

      <important>
        <para>試験問題を印刷し配布したら、それらと完全に同一にしておく必要があるので<emphasis>作業文書</emphasis>を修正してはいけません。</para>
      </important>
    </sect2>

    <sect2 id="gui.test">
      <title>試験</title>
      <para>受験者に合格してもらいましょう。</para>
      
      <important>
        <para>試験問題を印刷して配布したら、<emphasis>作業文書</emphasis>を変更してはいけません。配布物と同一でなければならないためです。</para>
      </important>

      <para>受験者には、黒または青のペンか、BまたはHBの鉛筆を使用させるべきです。</para>

      <para>ボックスをチェックするか塗りつぶすかは、状況に合わせて受験者に指示することができます。</para>

      <sect3 id="gui.advice">
        <title>ボックスにチェック</title>

        <para>選択したボックスにチェックをつけるよう指示する場合、チェックを修正するときに消しゴムや修正液を使用することができます。しかし、（例えば修正範囲が広すぎたりしても）<emphasis>ボックスそのものを書き直そうとしてはいけません</emphasis>。これをしようとすると、ボックスの内側に線がはみ出してしまい、チェックされていると認識されてしまうことがあります。</para>

        <para>チェックしたボックスを訂正するために、ボックスを完全に塗りつぶさせることもできます。この方式を選択する場合、<guilabel>マーク判定上限閾値</guilabel>（<guimenu>設定</guimenu>メニュー, <guilabel>プロジェクト</guilabel>タブ）を1より小さい（小さすぎない）値に設定する必要があります。黒ピクセル比率が<guilabel>マーク判定閾値</guilabel>と<guilabel>マーク判定上限閾値</guilabel>の間にあれば、ボックスはチェックされていると認識されます。黒ピクセル比率が<guilabel>マーク判定上限閾値</guilabel>より大きければ、ボックスはチェックされていないと認識されます。</para>
      </sect3>

      <sect3 id="gui.correct">
        <title>ボックスを塗りつぶし</title>

        <para>文字や数字をボックス内に印字してある場合、AMCには文字のあるボックスとチックされているボックスの区別がつかないため、受験者にボックスを塗りつぶすよう指示する必要があります。</para>

        <para>塗りつぶしを修正するには消しゴムや修正液を使用することができますが、それ以外の方法はありません。<guilabel>マーク判定上限閾値</guilabel>は1に設定しなければなりません。</para>
      </sect3>
    </sect2>

    <sect2 id="gui.capture">
      <title>答案のスキャン</title>

      <para>ここでは、受験者の答案の入力方法を説明します。これは、自動あるいは手動で行うことができます。</para>

      <para>GUIの<guilabel>マーク認識</guilabel>タブに行きます。</para>

      <sect3 id="gui.capture.auto">
        <title>自動入力</title>

        <para>受験者が記入したマークを自動認識するには、事前に答案をデジタル化しておかなければなりません。私の場合は、その作業を（私の操作なしに束にした全ページに対して）自動でやってくれるコピー機/スキャナを使い、300dpi、OCRモード（文字認識向き、グレースケールでないモノクロモードのことで、文字認識をしてくれるわけではありません）の設定で行って、各ページが一つのTIFFファイルとしてスキャン画像が得られます。（訳注: 訳者の場合、300dpi、グレースケールを使用しています。）</para>

        <note>
          <para>スキャン画像を解析するには、それらを一つあるいは複数の画像ファイル（TIFF、JPG、PNG等）として持つ必要があります。ベクターグラフィックス形式（PDF、PS、EPS）でもかまいません。この場合はスキャン画像は解析前にPNGに変換されます（訳注: 多数のページを含むファイルを変換すると、ImageMagickが /var/tmp を多量に消費するので、ファイルを適度に分けた方がいいでしょう）。</para>
        </note>

        <note>
          <para>スキャン画像を使って最初に自動マーク認識を行う際は、個別答案用紙かコピー答案用紙のどちらの方法を使うかAMCに通知します（<xref endterm="printing.title" linkend="printing"/>参照）。</para>
        </note>

        <para>そして、「<guilabel>試験実施後のマーク認識</guilabel>」セクションの<guilabel>自動</guilabel>ボタンで開いたダイアログから、スキャン画像ファイルをすべて選択したのち、このダイアログの<guibutton>OK</guibutton>ボタンで開始します。AMCは光学マーク認識を開始して、四隅のマーカー位置を検出し、ボックスの位置を決定して、各ボックスの黒ピクセルの量を検出します。</para>

        <para>各ページの解析結果は<guilabel>診断</guilabel>セクションのリストに表示されます:</para>

        <itemizedlist>

        <listitem>
          <para><option>最終更新</option>の値はページが最後に更新された日付を表します。デフォルトでは表示されません。<guimenuitem>カラム</guimenuitem>ボタンを押して表示してください。</para>
        </listitem>

          <listitem>
            <para><emphasis>用紙ゆがみ</emphasis>の値はマーカー（各用紙の四隅の黒い点）位置の認識の妥当性を表します。これが大きすぎるときは、認識結果をチェックする必要があります（ページリストの行の上で右クリックして、<guimenuitem>四隅マーカー確認</guimenuitem>を選ぶと、スキャンしたページと検出したボックスが表示されます）。</para>
          </listitem>

          <listitem>
            <para><emphasis>白黒閾値近接度</emphasis>の値は、ボックスの黒ピクセル比率と閾値との近さを表します。これが大きすぎる（8から最大値10まで）場合、ボックスのマーク有無判定が正しいかどうかチェックする必要があります（ページリストの行の上で右クリックして<guimenuitem>ボックス拡大</guimenuitem>を選ぶと、用紙上の全ボックスが表示され、判定結果が正しいか確認し、必要ならボックス画像のドラッグアンドドロップで修正できます）。</para>
          </listitem>

        <listitem>
          <para>The value <emphasis>スキャン画像ファイル</emphasis>の値はページ画像のファイル名を表します。デフォルトでは表示されません。<guimenuitem>カラム</guimenuitem>ボタンを押して表示してください。</para>
        </listitem>

        </itemizedlist>
      </sect3>

      <sect3 id="gui.capture.manual">
        <title>手動入力</title>

        <para>スキャナの使用が困難な場合や、いくつかの用紙で自動入力が期待どおりに動作しなかった場合に、手動で入力を行うことができます。このためには、<guilabel>試験実施後のマーク認識</guilabel>のセクションにある<guibutton>手動</guibutton>ボタンによりウィンドウを開きます。このウィンドウでは、目的のページのマークされたボックスを自分で（クリックして）入力することができます。</para>

        <note>
          <para>手動入力を行うと、そのページの自動入力の結果は、以前のものだけでなく以降も含めて上書きされます。</para>
        </note>
      </sect3>
    </sect2>

    <sect2 id="gui.marks">
      <title>採点</title>

      <para>GUIの<guilabel>採点</guilabel>タブでは、<guilabel>採点</guilabel>セクションでスキャン画像から受験者の得点を計算するとともに、受験者が記入したコードを読み取ります（<xref linkend="latex.codes"/>参照）。</para>

      <sect3 id="gui.marks.proc">
        <title>採点処理</title>

        <para>得点の計算は<guibutton>採点</guibutton>ボタンで起動しますが、以下の選択をしておく必要があります:</para>

        <itemizedlist>
          <listitem>
            <para><guilabel>採点基準を更新</guilabel>のボックスにチェックすると、採点基準は最初にLaTeXソースファイルから取り出されます。これにより、採点処理において、いろいろな採点基準を試してみることができます。また同時に、どの解答が正解でどれが誤りかも更新されます。したがって、試験実施後でも、問題作成時の正解の誤りを修正することができます。LaTeXファイルで採点基準を設定する方法は<xref endterm="bareme.title" linkend="bareme"/>の節で説明されます（何も指示しなければデフォルトの採点基準が使用されます）。</para>
          </listitem>
        </itemizedlist>

        <para><guibutton>採点</guibutton>ボタンをクリックすると、採点が実行されます（採点基準の更新もする場合は少し時間がかかります）。</para>
      </sect3>

      <sect3 id="bareme">
        <title id="bareme.title">採点基準</title>

        <para>採点基準はLaTeXソースファイル内で<command>scoring</command>コマンドによって指定します。これは<command>question</command>環境か<command>questionmult</command>環境で全選択肢の採点基準を設定するのに用いますが、<command>choices</command>環境においても、各選択肢個別の増減を指定するのに用いることができます。LaTeXのscoringコマンドの引数は、カンマで区切られた<code><replaceable>parameter</replaceable>=<replaceable>value</replaceable></code>のような形式から成っています。使用できるパラメータは次のとおりです（各パラメータがどんな文脈で使用できるかも示しています）:</para>

        <informaltable>
          <tgroup cols="6">
            <colspec align="center" colname="param" colwidth="3pc"/>

            <colspec align="center" colname="q" colwidth="1pc"/>

            <colspec align="center" colname="r" colwidth="1pc"/>

            <colspec align="center" colname="qm" colwidth="1pc"/>

            <colspec align="center" colname="rm" colwidth="1pc"/>

            <colspec align="left" colname="valeur"/>

            <spanspec nameend="r" namest="q" spanname="simple"/>

            <spanspec nameend="rm" namest="qm" spanname="multiple"/>

            <tbody>
              <row>
                <entry morerows="1">parameter</entry>

                <entry spanname="simple">simple</entry>

                <entry spanname="multiple">multiple</entry>

                <entry morerows="1">value</entry>
              </row>

              <row>
                <entry>Q</entry>

                <entry>A</entry>

                <entry>Q</entry>

                <entry>A</entry>
              </row>

              <row>
                <entry>e</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>解答に矛盾があるときに与える素点。単一選択問題で複数のボックスにマークされていたり、複数選択問題で「該当なし」と他のボックスに同時にマークされている場合です。</entry>
              </row>

              <row>
                <entry>v</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>解答されていない（どのボックスもマークされていない）ときに与える素点。</entry>
              </row>

              <row>
                <entry>d</entry>

                <entry/>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>オフセット。eやvのパラメータにかかわらず、素点に加算される値。</entry>
              </row>

              <row>
                <entry>p</entry>

                <entry/>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>素点の下限。この設問の素点を計算してこの下限を下回ってしまった場合、素点をこの下限値に設定します。</entry>
              </row>

              <row>
                <entry>b</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry>●</entry>

                <entry>正解に与える素点。</entry>
              </row>

              <row>
                <entry>m</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry>●</entry>

                <entry>誤りに与える素点。</entry>
              </row>

              <row>
                <entry/>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry/>

                <entry>パラメータはなく（構文: <code>\scoring{2}</code>）、この選択肢にマークした場合に与える素点を示します。</entry>
              </row>

              <row>
                <entry>auto</entry>

                <entry>●</entry>

                <entry/>

                <entry/>

                <entry/>

                <entry>このパラメータを用いると、<replaceable>i</replaceable>番目の選択肢の値が<replaceable>auto</replaceable>+<replaceable>i</replaceable>-1になります。このオプションは主に<code>\QuestionIndicative</code>で用います（<xref endterm="latex.qr.title" linkend="latex.qr"/>参照）。</entry>
              </row>

              <row>
                <entry>mz</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>このパラメータは<quote>満点かゼロか</quote>方式の採点基準に用いられます。選択がすべて正しければ素点は<replaceable>mz</replaceable>になり、そうでなければ0点です。</entry>
              </row>

              <row>
                <entry>haut</entry>

                <entry/>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>このパラメータに<replaceable>n</replaceable>という値を指定すると、満点が<replaceable>n</replaceable>になり、誤り一つにつき1点減点されます。</entry>
              </row>

              <row>
                <entry>MAX</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>この設問の満点を指定します（5点の設問には、MAX=5と書きます）。完答した場合の点数が目的の満点と異なる場合にのみ用います。</entry>
              </row>

              <row>
                <entry>formula</entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry><code>b</code>や<code>m</code>の値を考慮せず、変数を用いた式（<xref linkend="scoring.global"/>参照）などによって、設問に与えられた素点を指定します。</entry>
              </row>

              <row>
                <entry>set.<replaceable>XXX</replaceable></entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry><replaceable>XXX</replaceable>という変数に特定の値を指定し、<code>formula</code>で使用できるようにします。選択肢に指定すると、そのボックスがマークされたときだけ値が設定されます。特殊な場合として、<varname>INVALID</varname>という変数にnullでない値を設定すると、解答に矛盾があることを示すことができ、<code>e</code>変数で指定した値が素点になります。</entry>
              </row>

              <row>
                <entry>setglobal.<replaceable>XXX</replaceable></entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry>●</entry>

                <entry>（設問IDの辞書順で）以降のすべての設問に対して、<replaceable>XXX</replaceable>という変数の値を指定します。</entry>
              </row>

              <row>
                <entry>default.<replaceable>XXX</replaceable></entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>選択肢によって<replaceable>XXX</replaceable>という変数に値が設定されなかった場合の<replaceable>XXX</replaceable>の値を指定します。</entry>
              </row>

              <row>
                <entry>requires.<replaceable>XXX</replaceable></entry>

                <entry>●</entry>

                <entry/>

                <entry>●</entry>

                <entry/>

                <entry>解答に矛盾があって設問の得点が<code>e</code>の値に設定される場合を除いて、<replaceable>XXX</replaceable>変数が定義されなければならないことを通知します。</entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>

        <note>
          <para>haut=x は d=x-N, p=0 と書けます。</para>
        </note>

        <important>
          <para>変数のデフォルト値は、<code>default</code>パラメータを使用して設問の採点基準として設定する必要があります。<!-- 訳注: 仏版はましだが英版はおかしい --></para>
        </important>

          <programlisting>\begin{questionmult}{03}\scoring{default.COMP=10,default.PROP=11,formula=(COMP==PROP ? 1 : 0),MAX=1}
  空気中の主要な気体を一つ選び、その割合を示しなさい。
  \begin{multicols}{4}
    \begin{choices}
      \wrongchoice{水蒸気}
      \wrongchoice{ガス}
      \correctchoice{窒素}\scoring{set.COMP=1}
      \correctchoice{酸素}\scoring{set.COMP=2}
      \wrongchoice{二酸化炭素}
      \correctchoice{20\%}\scoring{set.PROP=2}
      \wrongchoice{40\%}
      \wrongchoice{60\%}
      \correctchoice{80\%}\scoring{set.PROP=1}
    \end{choices}
  \end{multicols}
\end{questionmult}</programlisting>
 

        <note>
           <para>4点まで得られる設問に<code>MAX = 3</code>と設定すると、満点の受験者の得点が3点に切り捨てられます。<!-- 訳注: 仏・英ともめちゃくちゃでは？ --></para>
         </note>

        <para>単一選択問題でのデフォルトの採点基準は<code>e=0,v=0,b=1,m=0</code>で、正解には1点、そうでなければ0点を与えます。複数選択問題でのデフォルトの採点基準は<code>e=0,v=0,b=1,m=0,p=-100,d=0</code>で、マーク有無の正しい（マークすべきボックスをマークして、マークすべきでないボックスをマークしなかった）選択肢ごとに1点を与えます。</para>

        <note>
          <para><code>set.XXX</code>で宣言された変数の値をbやmに設定することができます。<!-- 訳注: 英訳ちょっと変 --></para>
          </note>

        <para>LaTeXの<command>\scoring</command>コマンドは、設問定義の外側で用いて、試験全体のパラメータを変更することもできます。</para>

        <itemizedlist>
          <listitem>
            <para><code>SUF=</code><replaceable>x</replaceable>は、満点を得るのに十分な素点を定めます。例えば満点を10点とし、<code>SUF=8</code>と設定すると、完答での素点合計にかかわらず、素点合計が6点の受験者は得点として6/8*10=7.5点を得ます。</para>
          </listitem>

          <listitem>
            <para><code>allowempty=<replaceable>x</replaceable></code>は、
<replaceable>x</replaceable>個の設問に解答する必要がないことを示します。素点を加算する際、解答のない設問<replaceable>x</replaceable>個分はキャンセルされます。</para>
          </listitem>
        </itemizedlist>

        <para>これらのパラメータを組み合わせれば、以下の例のように、様々な種類の採点基準を定義することができます:</para>

        <para><!--NAME: 採点基準
DESC: 様々な採点基準の例（ドキュメントより抜粋）。--><programlisting
        id="modeles-scoring.tex" linenumbering="numbered">\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}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

}

\end{document}</programlisting></para>
      </sect3>

      <sect3 id="scoring.global">
        <title>全体採点基準</title>

        <para>一つの採点基準をいくつかの設問にまとめて適用したい場合、次の例のようにそれをLaTeXのコマンドに定義することができます:</para>

        <programlisting>\def\barQmult{haut=3,p=-1}

\begin{questionmult}\scoring{\barQmult}
  [...]
\end{questionmult}</programlisting>

        <para>もう一つの方法はLaTeXの<command>\scoringDefaultS</command>コマンドと<command>\scoringDefaultM</command>コマンドを使うことです。これは文書の先頭で（<command>\onecopy</command>の外側で）用い、それぞれ単一選択問題と複数選択問題のデフォルトの採点基準を指定することができます:</para>

        <programlisting>\scoringDefaultM{haut=3,p=-1}</programlisting>

        <para><command>\scoringDefautM</command>あるいは<command>\scoringDefautS</command>で<command>formula</command>を用いる場合は、独自の採点基準を設定する設問では<command>formula</command>をキャンセルしなければなりません。</para>

        <programlisting>\begin{questionmult}\scoring{b=1,m=-0.5,formula=}
  [...]
\end{questionmult}</programlisting>

        <para>場合によっては、<emphasis>用意した選択肢の個数に依存して</emphasis>全体採点基準が定義できれば、より便利かもしれません。これを行うには、<varname>N</varname>という値を用いるだけでできます。例えば、満点を4点とし、ランダムにマークした場合の平均点を1点としたい場合、<code>d=4,b=0,m=-(4-1)*2/N</code>という基準が使えます（すべての選択肢を誤った場合は-2点となります）。これらの式に使用できる演算は、通常の四則演算（<code>+</code> <code>-</code> <code>*</code> <code>/</code>）、条件付演算（ ? : ）、括弧と、任意のperlの演算子です。</para>

        <note>
          <para>条件演算子は次のように書きます:<programlisting>( test ? if true: if false)</programlisting></para>

          <para>条件式には次のような演算子が使用できます: <code>&gt;</code>（より大きい）, <code>&gt;=</code>（より大きいまたは等しい）, <code>&lt;</code>（より小さい）, <code>&lt;=</code>（より小さいまたは等しい）, <code>==</code>（等しい）, <code>!=</code>（等しくない）, <code>||</code>（または）, <code>&amp;&amp;</code>（かつ）。</para>
        </note>

        <para>他にも次の変数が使用できます:</para>

        <itemizedlist>
          <listitem>
            <para><varname>N</varname>は選択肢の個数です。<option>completemulti</option>オプションによる追加分は数えません。</para>
          </listitem>

          <listitem>
            <para><varname>NB</varname>はマークすべき選択肢の個数です。</para>
          </listitem>

          <listitem>
            <para><varname>NBC</varname>は正しくマークした選択肢の個数です。</para>
          </listitem>

          <listitem>
            <para><varname>NM</varname>はマークすべきでない選択肢の個数です。</para>
          </listitem>

          <listitem>
            <para><varname>NMC</varname>は誤ってマークした選択肢の個数です。</para>
          </listitem>

          <listitem>
            <para><varname>IS</varname>は、単一選択問題なら1でそうでなければ0です。</para>
          </listitem>

          <listitem>
            <para><varname>IMULT</varname>は、複数選択問題なら1でそうでなければ0です。</para>
          </listitem>
        </itemizedlist>
      </sect3>

      <sect3 id="scoring-result">
        <title>採点基準を用いた得点計算</title>

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

        <orderedlist>
          <listitem>
            <para>各設問に順番に採点基準を適用し、<emphasis>設問別素点</emphasis>を求めます。</para>
          </listitem>

          <listitem>
            <para>（採点対象外設問を除いて）すべての設問の素点を足し、その受験者の<emphasis>素点合計</emphasis>を求めます。</para>
          </listitem>

          <listitem>
            <para>（<menuchoice><guimenu>編集</guimenu><guimenuitem>設定</guimenuitem></menuchoice>ウィンドウの<guilabel>プロジェクト</guilabel>タブで）正の<emphasis>満点</emphasis>がパラメータとして設定されている場合、受験者の素点合計を<emphasis>素点合計の満点</emphasis>（完答での素点合計）で割り、<emphasis>満点</emphasis> - <emphasis>下駄</emphasis>の差を掛けて<emphasis>下駄</emphasis>を加えることにより、受験者の<emphasis>得点</emphasis>を求めます。これにより、受験者が全問正解していれば満点を、まったく正解できなければ<emphasis>下駄</emphasis>の得点を得ることになります。<emphasis>満点</emphasis>を100点、<emphasis>下駄</emphasis>を0点に設定した場合、受験者の得点は正解のパーセンテージとみなすことができます。</para>
          </listitem>

          <listitem>
            <para>得点は、
            <menuchoice>
                <guimenu>編集</guimenu>

                <guisubmenu>設定</guisubmenu>

                <guimenuitem>プロジェクト</guimenuitem>
              </menuchoice>にある以下の設定を用いて丸められます:</para>

            <itemizedlist>
              <listitem>
                <para>最小単位: 整数値が必要なら1に設定します。1/4単位で丸めるときは0.25に設定するなどできます。丸めを行わないときは0に設定してください。</para>
              </listitem>

              <listitem>
                <para>丸めタイプ: 切捨て, 丸め, 切上げ</para>
              </listitem>
            </itemizedlist>
          </listitem>
        </orderedlist>
      </sect3>
    
      <sect3 id="correc.test">
        <title>採点誤りの修正</title>

        <para>試験の後でも、採点基準を変更することができます。しかし、文書を<emphasis>けして</emphasis>更新してはいけません。テキストエディタでソースファイルを開き、変更して保存する方がよいでしょう。</para>

        <para>しても構わないこと:</para>

        <itemizedlist>
          <listitem>
            <para>正答を誤答に変更する。</para>
          </listitem>

          <listitem>
            <para>誤答を正答に変更する。</para>
          </listitem>

          <listitem>
            <para>設問ごとのあるいはデフォルトの採点基準を修正する。</para>
          </listitem>
        </itemizedlist>

        <para>してはいけないこと:</para>

        <itemizedlist>
          <listitem>
            <para>単一選択問題を複数選択問題に変更する。</para>
          </listitem>

          <listitem>
            <para>複数選択問題を単一選択問題に変更する。</para>
          </listitem>

          <listitem>
            <para>設問や選択肢を追加する。</para>
          </listitem>

          <listitem>
            <para>設問や選択肢を削除する。</para>
          </listitem>

          <listitem>
            <para>設問や選択肢の順序を変更する。</para>
          </listitem>
        </itemizedlist>

        <note>
        <para>設問を取り消したいときは、<command>\scoring{b=0,m=0,e=0,v=0}</command>という採点基準を使うか、<command>\QuestionIndicative</command>を使ってください。</para>
        </note>
      </sect3>
    </sect2>

    <sect2 id="sec.students.id">
      <title>受験者の識別</title>

      <para>このステージは必須ではありません。ここでは、各答案の受験者を識別します。受験者の氏名は自動的には読み込まれませんが、現実的な策が2通りあります:</para>

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

        <listitem>
          <para>受験番号を記入させない場合や、自動識別が（記入ミスなどで）完全にはうまくいかなかった場合には、GUIの補助により手動で答案の受験者を識別することができます。</para>
        </listitem>
      </orderedlist>

      <para>まず、GUIの<guilabel>採点</guilabel>タブに行きます。</para>

      <sect3 id="liste.etudiants">
        <title id="liste.etudiants.title">受験者名簿</title>

        <para>事前に受験者名簿を準備しておかなければなりません。この名簿は、いくつもの試験で再利用することができます。このリストは<quote><code>#</code></quote>で始まるコメント行をオプションとしてもつ、次の例のようなCSVファイルです:<programlisting># STUDENTS / 1ST YEAR
surname:name:id:email
Bienvenue:Alexis:001:paamc@passoire.fr
Boulix:Jojo:002:jojo.boulix@rien.xx
Noël:Père:003:pere.noel@pole-nord.xx</programlisting></para>

        <para>ファイルの冒頭にある<quote><code>#</code></quote>で始まる行はコメントです。コメントでない最初の行は（<quote><code>:</code></quote>で区切った）カラム名を格納します。その行以降は、受験者1名につき1行で、対応する情報を記入します。必ず<code>name</code>あるいは<code>surname</code>という名前のカラムに受験者名を格納しないと、下で説明する手動識別でボタン表示ができなくなります。<!--英文・仏文にない表現で必要性の理由を説明--></para>

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

           <para>CSVファイルであれば適合するはずです。</para>
        </note>

        <warning>
          <para>同一の採点結果を複数の宛先に送付する場合はCSVを注意して作成してください。</para>

          <itemizedlist>
            <listitem>
              <para>セミコロン、コロン、タブでフィールドを区切り、カンマでメールアドレスを区切る。</para>
            </listitem>

            <listitem>
              <para>カンマでフィールドを区切り、引用符内のカンマでメールアドレスを区切る。</para>
            </listitem>
          </itemizedlist>

          <programlisting>name,forenama,email
Boulix,Jojo,"jojo@boulix.fr,parents@boulix.com"</programlisting>
        </warning>

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

      <sect3 id="gui.assoc">
        <title>受験者識別</title>

        <sect4 id="gui.assoc.auto">
          <title>自動識別</title>

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

          <warning>
            <para>自動識別を行うためには、LaTeXソースファイル中に<command>AMCcode</command>コマンド（<xref linkend="latex.codes"/>参照）が少なくとも一つ必要です。また、受験者名簿には、<command>AMCcode</command>が生成したボックスに記入されるはずの参照（一般には受験番号）を格納したカラムが必要です。</para>
          </warning>
        </sect4>

        <sect4 id="gui.assoc.manual">
          <title>手動識別</title>

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

    <sect2 id="sec.export.notes">
      <title id="sec.export.notes.title">採点表のエクスポート</title>

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

      <sect3 id="gui.export.ods">
        <title>ODS（OpenOffice、LibreOffice）へのエクスポート</title>

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

        <variablelist>
          <varlistentry>
            <term>灰色</term>

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

          <varlistentry>
            <term>黄色</term>

            <listitem>
              <para>は、受験者が無記入のままにした設問に使われます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>赤色</term>

            <listitem>
              <para>は、選択が<emphasis>矛盾</emphasis>だった設問に使われます。単一選択問題に複数のマークをした場合や、<emphasis>該当なし</emphasis>ボックス<emphasis>と</emphasis>それ以外のボックスをマークした場合です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>紫色</term>

            <listitem>
              <para>は、採点対象外の設問に使われます。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="gui.annotate">
      <title>採点記入</title>

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

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

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

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

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

        <listitem>
          <para>答案全体の得点が答案の最初のページに記入されます。</para>
        </listitem>
      </itemizedlist>

      <para>答案の最初のページに記入されるテキストは設定で変更可能です（<menuchoice>
          <guimenu>編集</guimenu>

          <guimenuitem>設定</guimenuitem>

          <guimenuitem>採点記入</guimenuitem>

          <guimenuitem>ヘッダー</guimenuitem>
        </menuchoice>、または、<menuchoice>
          <guimenu>編集</guimenu>

          <guimenuitem>設定</guimenuitem>

          <guimenuitem>プロジェクト</guimenuitem>

          <guimenuitem>答案の採点記入</guimenuitem>

          <guimenuitem>ヘッダーテキスト</guimenuitem>
        </menuchoice>）。設定されたテキストに対して、次のように置換が行われます（これらの値の意味については<xref linkend="scoring-result"/>をご覧ください）:</para>

      <variablelist>
        <varlistentry>
          <term><literal>%S</literal></term>

          <listitem>
            <para>は受験者の<emphasis>素点合計</emphasis>に置換されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>%M</literal></term>

          <listitem>
            <para>は<emphasis>素点合計の満点</emphasis>に置換されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>%s</literal></term>

          <listitem>
            <para>は受験者の<emphasis>得点</emphasis>に置換されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>%m</literal></term>

          <listitem>
            <para>は<emphasis>満点</emphasis>に置換されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>%(ID)</literal></term>

          <listitem>
            <para>は受験者名に置換されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>%(<replaceable>COL</replaceable>)</literal></term>

          <listitem>
            <para>は受験者名簿内の<replaceable>COL</replaceable>の値に置換されます。</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>この処理は各ページに行われ、PDF形式の採点記入済の答案用紙が得られます。受験者の答案を格納するPDFファイル名は、<guilabel>ファイル名テンプレート</guilabel>フィールドで指示したテンプレートによって決められます。テンプレートでは、「(<replaceable>col</replaceable>)」は受験者名簿内の<replaceable>COL</replaceable>の値に置換されます（<xref endterm="liste.etudiants.title" linkend="liste.etudiants"/>参照）。このフィールドを空にすると、試験問題番号と受験者名<!-- 訳注: 英文は student's name and student number -->からなるデフォルト値が使用されます。</para>

      <sect3 id="Options.annotation.separateanswersheet">
        <title id="Options.annotation.separateanswersheet.title"><option>separateanswersheet</option>（別紙答案用紙）使用時のオプション</title>

        <itemizedlist>
          <listitem>
            <para><command>答案ページのみ</command>: 答案用紙に採点が記入されます。</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para><command>設問ページを問題用紙からコピー</command>: 答案用紙に採点が記入され、試験問題用紙の設問ページがPDFに含まれます。</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para><command>設問ページを採点済用紙からコピー</command>: 答案用紙に採点が記入され、スキャンした採点済用紙の設問ページがPDFに含まれます。</para>
          </listitem>
        </itemizedlist>
      </sect3>

      <sect3 id="marks.position">
        <title id="marks.position.title">得点表記位置</title>

        <para>得点表記位置をメニューで選ぶことができます<menuchoice>
            <guimenu>編集</guimenu>

            <guimenuitem>設定</guimenuitem>

            <guimenuitem>プロジェクト</guimenuitem>

            <guimenuitem>得点表記位置</guimenuitem>
          </menuchoice></para>

        <para>選択肢</para>

        <itemizedlist>
          <listitem>
            <para>(なし)</para>
          </listitem>

          <listitem>
            <para>片方のマージン</para>
          </listitem>

          <listitem>
            <para>いずれかのマージン</para>
          </listitem>

          <listitem>
            <para>ボックス付近</para>
          </listitem>

          <listitem>
            <para>ソースファイルで指定（<xref endterm="marks.display.area.title" linkend="marks.display.area"/>参照）</para>
          </listitem>
        </itemizedlist>
      </sect3>
    </sect2>
   
    <sect2 id="preferences.default">
      <title id="preferences.default.title">デフォルト値の設定</title>

      <para><menuchoice>
          <guimenuitem>編集</guimenuitem>

          <guimenuitem>設定</guimenuitem>

          <guimenuitem>スキャン</guimenuitem>
        </menuchoice></para>

      <para><command>スキャン画像の変換</command></para>

      <itemizedlist>
        <listitem>
          <para>ベクトル形式解像度（DPI）: 250</para>
        </listitem>

        <listitem>
          <para>黒&amp;白ピクセル判別閾値: 0.60</para>
        </listitem>

        <listitem>
          <para>スキャン画像から赤色を除去: オフ</para>
        </listitem>

        <listitem>
          <para>変換を強制: オフ</para>
        </listitem>
      </itemizedlist>

      <para><command>検出パラメータ</command></para>

      <itemizedlist>
        <listitem>
          <para>四隅マーカーの最大拡大率: 0.20</para>
        </listitem>

        <listitem>
          <para>四隅マーカーの最大縮小率: 0.20</para>
        </listitem>

        <listitem>
          <para>デフォルトのマーク判定閾値: 0.15</para>
        </listitem>

        <listitem>
          <para>デフォルトのマーク判定上限閾値: 1</para>
        </listitem>

        <listitem>
          <para>判定領域比率: 0.80</para>
        </listitem>

        <listitem>
          <para>認識できた四隅マーカーが3個でも処理: オフ</para>
        </listitem>
      </itemizedlist>
    </sect2>
  </sect1>

  <sect1 id="alt">
    <title>標準外の使用方法</title>

    <sect2 id="alt.photocopy">
      <title>問題用紙コピー方式</title>

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

      <itemizedlist>
        <listitem>
          <para><option>separateanswersheet</option>オプションを使用します（<xref endterm="sec.package.options.title" linkend="sec.package.options"/>参照）。</para>
        </listitem>

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

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

      <para>最小限の例を示します:</para>

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

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

    <sect2 id="postcorrect">
      <title>採点時正解提示</title>

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

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

      <itemizedlist>
        <listitem>
          <para><option>postcorrect</option>、<option>insidebox</option>、<option>noshuffle</option>オプションを使用します（<xref endterm="sec.package.options.title" linkend="sec.package.options"/>参照）。</para>
        </listitem>

        <listitem>
          <para>選択肢には<command>\wrongchoice</command>のみを使ってください（<command>\correctchoice</command>は一切使わないでください）。</para>
        </listitem>
      </itemizedlist>

      <para>最小限の例を示します:</para>

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

\begin{document}

\onecopy{5}{

\noindent
\begin{tabular}{|l|l|l|}
\hline
受験番号 &amp; クラス &amp; 科目\\
\hline
 \vspace{-0.25cm}
 &amp; &amp;\\
\AMCcode{StudentNum}{10}&amp;
\AMCcode{class}{2}&amp;
\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}
</programlisting>

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

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

        <programlisting>\begin{question}{01}
  \begin{choicescustom}
    \wrongchoice{A }%
    \wrongchoice{B }%
    \wrongchoice{C }%
    \wrongchoice{D }%
    \wrongchoice{E }%
  \end{choicescustom}
\end{question}</programlisting>
      </note>

      <note>
        <para>この方式を（受験番号以外の）設問の選択肢のみに使用するには、<code>\begin{document}</code>の後に次のように記述します。<programlisting>\makeatletter
\def\setoutsidebox{\AMC@outside@boxtrue}
\makeatother</programlisting></para>

        <para>そして用紙内でローカルに（波括弧の内側で）このコマンドを使用します:</para>

        <programlisting>{\setoutsidebox\AMCform}</programlisting>
      </note>
    </sect2>

    <sect2 id="Nominative.sheets">
      <title id="Nominative.sheets.title">指名試験問題用紙</title>

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

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

          <programlisting>surname,name,id
Boulix,Jojo,001
Golin,André,002
Moniuszko,Stanisław,003</programlisting>

          <warning>
            <para>受験者の氏名に<quote><code>_</code></quote>（アンダースコア）を使用しないでください。コンパイル時にエラーが発生します。</para>
          </warning>

        </listitem>

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

          <programlisting>\usepackage{csvsimple}</programlisting>
        </listitem>

        <listitem>
          <para>LaTeXソースファイルで、試験問題を生成するコマンドを定義します。このコマンドは、各受験者ごとに一回、<command>\csvreader</command>が呼び出します（ここでは、設問が<code>general</code>というグループに入っているものとします）:</para>

          <programlisting>\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}<co
              id="separator.comma" linkends="separator.comma.exp"/>
%\csvreader[head to column names,separator=semicolon]{liste.csv}{}{\subject}<co
              id="separator.semicolon" linkends="separator.semicolon.exp"/>

</programlisting>

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

          <para><calloutlist>
              <callout arearefs="separator.comma" id="separator.comma.exp">
                <para>受験者ごとにメールアドレスが一つだけあるCSVファイルの場合にこのコマンドを使用してください。</para>
              </callout>

              <callout arearefs="separator.semicolon"
                       id="separator.semicolon.exp">
                <para>受験者ごとにメールアドレスが複数あるCSVファイルの場合にこのコマンドを使用してください。</para>
              </callout>
            </calloutlist></para>
        </listitem>

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

  <sect1 id="commands">
    <title>コマンドマニュアル</title>

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

    <refentry id="auto-multiple-choice">
      <refmeta>
        <refentrytitle>auto-multiple-choice</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice</refname>

        <refpurpose>選択式試験問題の自動処理</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain"><replaceable>action</replaceable></arg>

          <arg rep="repeat">arguments</arg>
        </cmdsynopsis>

        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg>project</arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice</command>コマンドは、引数を<command>AMC-<replaceable>action</replaceable>.pl</command>コマンドに渡して起動します。</para>

        <para>動作を指定しない2番目の形式では、GUIである<command>auto-multiple-choice gui</command>が（プロジェクト名が指定されていればそれとともに）呼び出されます。</para>
      </refsect1>

      <refsect1>
        <title>関連項目</title>

        <para>AMCの各動作: <citerefentry>
            <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-imprime</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-analyse</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-note</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-association-auto</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-export</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-annotate</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>, <citerefentry>
            <refentrytitle>auto-multiple-choice-regroupe</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry></para>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-prepare">
      <refmeta>
        <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-prepare</refname>

        <refpurpose>LaTeXソースファイルから作業文書を作成する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">prepare
          </arg>

          <arg choice="plain">--mode s
          </arg>

          <arg choice="plain">--prefix <replaceable>project-dir</replaceable>
          </arg>

          <arg choice="plain"><replaceable>mcq-source-file</replaceable></arg>
        </cmdsynopsis>

        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">prepare
          </arg>

          <arg choice="plain">--mode b
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg choice="plain"><replaceable>mcq-source-file</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice prepare</command>コマンドは、選択式試験問題を記述したソースファイルから作業文書を生成します。抽出される情報は<option>--mode</option>引数の値によります。どちらのモードでもソースファイル名は引数として指定しなければなりません。</para>

        <itemizedlist>
          <listitem>
            <para><quote><option>--mode s</option></quote>を用いると、<command>auto-multiple-choice prepare</command>は、試験問題ファイル（印刷して受験者に配布する試験問題用紙）、模範解答ファイル（正解をマークした答案用紙1部）、位置情報ファイル（ページ上のボックスの位置に関する情報を含んだファイル）を作成します。以下の引数が使用可能です:</para>

            <variablelist>
              <varlistentry>
                <term><option>--out-sujet
                <replaceable>subject.pdf</replaceable></option></term>

                <listitem>
                  <para>作成する試験問題ファイル名を設定します。</para>
                </listitem>
              </varlistentry>

              <varlistentry>
                <term><option>--out-corrige
                <replaceable>corrected.pdf</replaceable></option></term>

                <listitem>
                  <para>作成する模範解答ファイル名を設定します。</para>
                </listitem>
              </varlistentry>

              <varlistentry>
                <term><option>--out-calage
                <replaceable>calage.xy</replaceable></option></term>

                <listitem>
                  <para>作成する位置情報ファイル名を設定します。</para>
                </listitem>
              </varlistentry>

              <varlistentry>
                <term><option>--prefix
                <replaceable>directory</replaceable></option></term>

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

          <listitem>
            <para><quote><option>--mode b</option></quote>を用いると、<command>auto-multiple-choice prepare</command>は、ソースファイルから採点基準を抽出します。このモードでは、<option>--data</option>オプション（下記参照）を使用しなければなりません。</para>
          </listitem>
        </itemizedlist>

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

        <variablelist>
          <varlistentry>
            <term><option>--with
            <replaceable>latex-engine</replaceable></option></term>

            <listitem>
              <para>使用するLaTeXエンジン（コマンド）を指定します。<replaceable>latex-engine</replaceable>は例えば<command>pdflatex</command>や<command>xelatex</command>となります。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--filter
            <replaceable>filter</replaceable></option></term>

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

          <varlistentry>
            <term><option>--filtered-source
            <replaceable>mcq-latex-file</replaceable></option></term>

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

          <varlistentry>
            <term><option>--n-copies
            <replaceable>n</replaceable></option></term>

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

          <varlistentry>
            <term><option>--debug
            <replaceable>file.log</replaceable></option></term>

            <listitem>
              <para>デバッグ情報を記録するファイルを指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--epoch
            <replaceable>EPOCH</replaceable></option></term>

            <listitem>
              <para>日付（1970年1月1日以降の秒数）を指定して、PDFを何度生成しても同一結果になるようにします。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--data
            <replaceable>project-data-dir</replaceable></option></term>

            <listitem>
              <para>SQLiteデータファイルを格納するディレクトリを設定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>
    </refentry>

    <refentry>
      <refmeta>
        <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo>Auto Multiple Choice</refmiscinfo>

        <refmiscinfo>1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-meptex</refname>

        <refpurpose>作業文書からレイアウト情報を取得しレイアウトデータベースに格納する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">meptex</arg>

          <arg choice="plain">--src <replaceable>calage.xy</replaceable></arg>

          <arg choice="plain">--data <replaceable>directory</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

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

    <refentry id="auto-multiple-choice-imprime">
      <refmeta>
        <refentrytitle>auto-multiple-choice-imprime</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-imprime</refname>

        <refpurpose>AMC試験問題用紙を受験者に配布できるように印刷する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">imprime
          </arg>

          <arg choice="plain">--sujet <replaceable>subject.pdf</replaceable>
          </arg>

          <arg choice="plain">--fich-nums <replaceable>numbers-file.txt</replaceable>
          </arg>

          <arg choice="plain">--data <replaceable>data-dir</replaceable>
          </arg>

          <arg choice="plain">--methode <replaceable>method</replaceable>
          </arg>

          <arg rep="repeat">where-to-print-arguments</arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>Description</title>

        <para><command>auto-multiple-choice imprime</command>コマンドは選択した試験問題用紙を印刷します。</para>

        <refsect2>
          <title>印刷内容の指定</title>

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

          <variablelist>
            <varlistentry>
              <term><option>--sujet
              <replaceable>subject.pdf</replaceable></option></term>

              <listitem>
                <para>（<citerefentry>
                    <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

                    <manvolnum>1</manvolnum>
                  </citerefentry>で作成された）試験問題ファイルを設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--fich-nums
              <replaceable>numbers-file.txt</replaceable></option></term>

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

            <varlistentry>
              <term><option>--data
              <replaceable>data-dir</replaceable></option></term>

              <listitem>
                <para>データファイルがあるディレクトリを指定します（<citerefentry>
                    <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

                    <manvolnum>1</manvolnum>
                  </citerefentry>などを参照してください）。データディレクトリのレイアウトデータベースは一つの試験問題が何ページ目から何ページ目まであるかを知るのに使われます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--split</option></term>

              <listitem>
                <para>別紙答案用紙を別に印刷します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--answer-first</option></term>

              <listitem>
                <para>別紙答案用紙が最初に来るようにソートします。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>印刷方法の指定</title>

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

          <itemizedlist>
            <listitem>
              <para><quote><option>--methode CUPS</option></quote>を用いると、
              <command>auto-multiple-choice imprime</command>はCUPSプリンタに印刷します。試験問題ごとに自動ステープルなどができるように1部につきプリントジョブを1件送ります。この方法では、以下のオプションを使用してください:</para>

              <variablelist>
                <varlistentry>
                  <term><option>--imprimante
                  <replaceable>printer</replaceable></option></term>

                  <listitem>
                    <para>印刷するCUPSプリンタ名を設定します。</para>
                  </listitem>
                </varlistentry>

                <varlistentry>
                  <term><option>--options
                  <replaceable>cups-options</replaceable></option></term>

                  <listitem>
                    <para>CUPSオプションを<option>opt1=value1,opt2=value2,...</option>の形式で指定します。</para>
                  </listitem>
                </varlistentry>
              </variablelist>
            </listitem>

            <listitem>
              <para><quote><option>--methode file</option></quote>を用いると、<command>auto-multiple-choice imprime</command>は試験問題用紙をファイルに（1部につき1個）出力します。</para>

              <variablelist>
                <varlistentry>
                  <term><option>--output
                  <replaceable>filename</replaceable></option></term>

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

            <listitem>
              <para><quote><option>--methode command</option></quote>を用いると、<command>auto-multiple-choice imprime</command>は試験問題1部ごとに指定したコマンドを使用します。</para>

              <variablelist>
                <varlistentry>
                  <term><option>--print-command
                  <replaceable>command</replaceable></option></term>

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

        <refsect2>
          <title>その他のオプション</title>

          <para>他に次のオプションが使用可能です:</para>

          <variablelist>
            <varlistentry>
              <term>--extract-with <replaceable>command</replaceable></term>

              <listitem>
                <para>試験問題PDFからページを抽出するためのコマンドを指定します。現在、<command>pdftk</command>、<command>gs</command>または<command>qpdf</command>が指定可能です。デフォルトは<command>pdftk</command>ですが、インストールされていなければ<command>qpdf</command>、<command>gs</command>の順に使用されます。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>
      </refsect1>
    </refentry>

    <refentry>
      <refmeta>
        <refentrytitle>auto-multiple-choice-getimages</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-getimages</refname>

        <refpurpose>自動マーク認識用に<citerefentry>
            <refentrytitle>auto-multiple-choice-analyse</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>に送るためのスキャン画像を用意する。</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">getimages
          </arg>

          <arg choice="opt">--copy-to <replaceable>project-scans-dir</replaceable></arg>

          <arg>--vector-density <replaceable>density</replaceable></arg>

          <arg choice="plain">--list <replaceable>list-file</replaceable>
          </arg>

          <group>
            <arg choice="plain"
            rep="repeat"><replaceable>scan-files</replaceable></arg>
          </group>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice getimages</command>コマンドは<citerefentry>
            <refentrytitle>auto-multiple-choice-analyse</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>に送る前にスキャン画像を用意します:</para>

        <itemizedlist>
          <listitem>
            <para>複数画像からなるファイルはページごとのファイルに分割されます。</para>
          </listitem>

          <listitem>
            <para>ベクター画像（PDF、EPSなど）はビットマップ画像に変換されます。</para>
          </listitem>
        </itemizedlist>

        <para>入力画像は、auto-multiple-choice getimagesへの引数としても、スキャンファイルのパスをすべて含むファイル名としても指定することができます。</para>

        <variablelist>
          <varlistentry>
            <term><option>--list
            <replaceable>list-file</replaceable></option></term>

            <listitem>
              <para>スキャンファイルのパスを（1行に一つ）含むファイルの名前を指定します。処理後にこのファイル内容は消去され、同じパスを<command>auto-multiple-choice analyse</command>の<option>--list-fichiers</option>オプションに渡せるように、スキャンファイルのパスが書き込まれます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--copy-to
            <replaceable>project-scans-dir</replaceable></option></term>

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

          <varlistentry>
            <term><option>--vector-density
            <replaceable>density</replaceable></option></term>

            <listitem>
              <para>ベクター画像をビットマップ画像に変換する際の解像度を設定します。デフォルトは300です。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-analyse">
      <refmeta>
        <refentrytitle>auto-multiple-choice-analyse</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-analyse</refname>

        <refpurpose>AMC選択式試験問題のスキャン画像から自動マーク認識する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">analyse
          </arg>

          <arg choice="plain">--projet <replaceable>project-dir</replaceable>
          </arg>

          <arg>--seuil-coche <replaceable>threshold</replaceable></arg>

          <arg>--tol-marque <replaceable>tol</replaceable></arg>

          <group>
            <arg choice="plain">--list-fichiers <replaceable>files-list.txt</replaceable></arg>

            <arg choice="plain"
            rep="repeat"><replaceable>scan-files</replaceable></arg>
          </group>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice analyse</command>コマンドは、AMC選択式試験問題の答案用紙のスキャン画像から自動マーク認識を実行します。<command>auto-multiple-choice analyse</command>を呼び出す前に、<citerefentry>
            <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>を呼び出して、作業文書（<option>--mode s</option>）とMEPファイル（<option>--mode m</option>）を作成し、<citerefentry>
            <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>を用いてレイアウトを処理しておかなければなりません。</para>

        <variablelist>
          <varlistentry>
            <term><option>--data
            <replaceable>data-dir</replaceable></option></term>

            <listitem>
              <para>データファイルがあるディレクトリを指定します（<citerefentry>
                  <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

                  <manvolnum>1</manvolnum>
                </citerefentry>などを参照してください）。デフォルトは<filename><replaceable>project-dir</replaceable>/data</filename>です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--cr
            <replaceable>project-cr-dir</replaceable></option></term>

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

          <varlistentry>
            <term><option>--projet
            <replaceable>project-dir</replaceable></option></term>

            <listitem>
              <para><option>--cr</option>が使用されていない場合、このオプションを使用すると、<replaceable>project-cr-dir</replaceable>が<filename><replaceable>project-dir</replaceable>/cr</filename>に設定されます。</para>
            </listitem>
          </varlistentry>
        </variablelist>

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

        <itemizedlist>
          <listitem>
            <para>ファイル名を引数により指定する。</para>
          </listitem>

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

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

        <variablelist>
          <varlistentry>
            <term><option>--prop
            <replaceable>proportion</replaceable></option></term>

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

          <varlistentry>
            <term><option>--bw-threshold
            <replaceable>threshold</replaceable></option></term>

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

          <varlistentry>
            <term><option>--ignore-red</option></term>

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

          <varlistentry>
            <term><option>--tol-marque
            <replaceable>tol</replaceable></option></term>

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

          <varlistentry>
            <term><option>--multiple</option></term>

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

          <varlistentry>
            <term><option>--pre-allocate
            <replaceable>copy_id</replaceable></option></term>

            <listitem>
              <para>このオプションは<option>--multiple</option>と共に使用されます。スキャンごとの複製番号が<replaceable>copy_id</replaceable>から開始し、引数で指定したスキャン画像と同じ順序で割り当てられます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--try-three | --no-try-three</term>

            <listitem>
              <para>四隅のマーカーのうち三つしか認識できない場合も処理をするかどうかを示します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--debug
            <replaceable>file.log</replaceable></option></term>

            <listitem>
              <para>デバッグ情報を記録するファイルを指定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-note">
      <refmeta>
        <refentrytitle>auto-multiple-choice-note</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-note</refname>

        <refpurpose>AMC選択式試験問題の採点をする</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">note
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg>--seuil <replaceable>threshold</replaceable></arg>
          
          <arg>--grain <replaceable>granularity</replaceable></arg>

          <arg>--arrondi <replaceable>rounding</replaceable></arg>

          <arg>--notemin <replaceable>min</replaceable></arg>

          <arg>--notemax <replaceable>max</replaceable></arg>

          <group>
            <arg choice="plain">--no-plafond</arg>

            <arg choice="plain">--plafond</arg>
          </group>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice note</command>コマンドは<citerefentry>
            <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>によってLaTeXソースファイルから取り出した採点基準と<citerefentry>
            <refentrytitle>auto-multiple-choice-analyse</refentrytitle>

            <manvolnum>1</manvolnum>
          </citerefentry>によって作成されたマーク認識データとから、各答案の得点を計算します。</para>

        <variablelist>
          <varlistentry>
            <term><option>--data
            <replaceable>project-data-dir</replaceable></option></term>

            <listitem>
              <para>データファイルがあるディレクトリを指定します（<citerefentry>
                  <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

                  <manvolnum>1</manvolnum>
                </citerefentry>などを参照してください）。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--seuil
            <replaceable>threshold</replaceable></option></term>

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

          <varlistentry>
            <term><option>--seuil-up
            <replaceable>upper_threshold</replaceable></option></term>

            <listitem>
              <para>これ以上黒ピクセル比率が上がるとボックスがマークされていないと判定する上限の閾値を指定します。この値を（例えば）0.6に設定すると、受験者はボックスを完全に塗りつぶすことで、マークをキャンセルすることができます。つまり、黒ピクセル比率が<replaceable>threshold</replaceable>と<replaceable>upper_threshold</replaceable>の間にあればボックスはマークされているとみなされ、（完全に塗りつぶして）<replaceable>upper_threshold</replaceable>を越えればマークされていないとみなされます。デフォルト値は1.0で、したがってこの機能は無効になっています。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--grain <replaceable>granularity</replaceable>
            --arrondi <replaceable>rounding</replaceable></option></term>

            <listitem>
              <para>得点が<replaceable>granularity</replaceable>の倍数になるように丸めます。<replaceable>rounding</replaceable>が<quote><literal>i</literal></quote>なら、（<citerefentry>
                  <refentrytitle>floor</refentrytitle>

                  <manvolnum>3</manvolnum>
                </citerefentry>がするように）切り捨てます。<replaceable>rounding</replaceable>が<quote><literal>n</literal></quote>なら、近い方に丸めます。<replaceable>rounding</replaceable>が<quote><literal>s</literal></quote>なら、（<citerefentry>
                  <refentrytitle>ceil</refentrytitle>

                  <manvolnum>3</manvolnum>
                </citerefentry>がするように）切り上げます。例えば、<quote><option>--grain 0.25 --arrondi s</option></quote>というオプションを指定したとき、6.285という得点は6.5に丸められます。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--notemin
            <replaceable>min</replaceable></option></term>

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

          <varlistentry>
            <term><option>--notemax
            <replaceable>max</replaceable></option></term>

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

          <varlistentry>
            <term><option>--plafond</option></term>

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

          <varlistentry>
            <term><option>--debug
            <replaceable>file.log</replaceable></option></term>

            <listitem>
              <para>デバッグ情報を記録するファイルを指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--postcorrect-student <replaceable>s</replaceable>
            --postcorrect-copy <replaceable>c</replaceable></option></term>

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

    <refentry id="auto-multiple-choice-association-auto">
      <refmeta>
        <refentrytitle>auto-multiple-choice-association-auto</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-association-auto</refname>

        <refpurpose>AMC選択式試験問題の受験者と答案を自動識別する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">association-auto
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg choice="plain">--notes-id <replaceable>id</replaceable>
          </arg>

          <arg choice="plain">--liste <replaceable>students-list.csv</replaceable>
          </arg>

          <arg>--encodage-liste <replaceable>list-encoding</replaceable></arg>

          <arg choice="plain">--liste-key <replaceable>key</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice association-auto</command>コマンドは、答案用紙の受験者を識別します（受験者が受験番号を正しく記入し、マーク認識に誤りがない場合）。詳細はユーザードキュメントの<xref linkend="sec.students.id"/>を参照してください。</para>

        <variablelist>
          <varlistentry>
            <term><option>--data
            <replaceable>project-data-dir</replaceable></option></term>

            <listitem>
              <para>データファイルがあるディレクトリを指定します（<citerefentry>
                  <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

                  <manvolnum>1</manvolnum>
                </citerefentry>などを参照してください）。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--notes-id
            <replaceable>id</replaceable></option></term>

            <listitem>
              <para>受験番号マーク欄の（LaTeXソースファイルで<command>\AMCcode</command>に指定された）識別名を指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--pre-association</option></term>

            <listitem>
              <para>使用された場合、<option>--notes-id</option>オプションを無視し、印刷時識別データ（LaTeXソースファイルの<command>\AMCassociation</command>コマンド）から自動識別を行います。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--liste
            <replaceable>students-list.csv</replaceable></option></term>

            <listitem>
              <para>受験者名簿ファイル名を指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--encodage-liste
            <replaceable>list-encoding</replaceable></option></term>

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

          <varlistentry>
            <term><option>--liste-key
            <replaceable>key</replaceable></option></term>

            <listitem>
              <para>受験者名簿内の受験番号のカラム名を指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--debug
            <replaceable>file.log</replaceable></option></term>

            <listitem>
              <para>デバッグ情報を記録するファイルを指定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-association">
      <refmeta>
        <refentrytitle>auto-multiple-choice-association</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-association</refname>

        <refpurpose>AMC選択式試験問題の受験者と答案用紙を手動識別する。</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">association
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg choice="plain">--list</arg>
        </cmdsynopsis>

        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">association
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg choice="plain">--set
          </arg>

          <arg choice="plain">--student <replaceable>student-sheet-number</replaceable>
          </arg>

          <arg>--copy <replaceable>copy-number</replaceable></arg>

          <arg choice="plain">--id <replaceable>student-id</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice association</command>コマンドは、答案用紙の受験者識別データを扱います。</para>

        <variablelist>
          <varlistentry>
            <term><option>--data
            <replaceable>project-data-dir</replaceable></option></term>

            <listitem>
              <para>データファイルがあるディレクトリを指定します（<citerefentry>
                  <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

                  <manvolnum>1</manvolnum>
                </citerefentry>などを参照してください）。</para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para><option>--list</option>オプションは、受験者識別データをすべて出力します。</para>

        <para><option>--set</option>オプションは、手動識別を更新します。</para>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-export">
      <refmeta>
        <refentrytitle>auto-multiple-choice-export</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-export</refname>

        <refpurpose>AMC選択式試験問題の採点結果をエクスポートする</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">export
          </arg>

          <arg choice="plain">--data <replaceable>project-data-dir</replaceable>
          </arg>

          <arg choice="plain">--module <replaceable>module</replaceable>
          </arg>

          <arg choice="plain">--fich-noms <replaceable>students-list.csv</replaceable>
          </arg>

          <arg>--noms-encodage <replaceable>list-encoding</replaceable></arg>

          <arg choice="plain">--o <replaceable>output-file</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice export</command>コマンドは、AMC選択式試験から採点結果をエクスポートします。</para>

        <variablelist>
          <varlistentry>
            <term><option>--data
            <replaceable>project-data-dir</replaceable></option></term>

            <listitem>
              <para>データファイルがあるディレクトリを指定します（<citerefentry>
                  <refentrytitle>auto-multiple-choice-meptex</refentrytitle>

                  <manvolnum>1</manvolnum>
                </citerefentry>などを参照してください）。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--module
            <replaceable>module</replaceable></option></term>

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

          <varlistentry>
            <term><option>--fich-noms
            <replaceable>students-list.csv</replaceable></option></term>

            <listitem>
              <para>受験者名簿ファイル名を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--noms-encodage
            <replaceable>list-encoding</replaceable></option></term>

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

          <varlistentry>
            <term><option>--o
            <replaceable>output-file</replaceable></option></term>

            <listitem>
              <para>出力ファイル名を指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--option-out
            <replaceable>options</replaceable></option></term>

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

          <varlistentry>
            <term><option>--sort
            <replaceable>sort-type</replaceable></option></term>

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

          <varlistentry>
            <term><option>--useall
            <replaceable>all</replaceable></option></term>

            <listitem>
              <para><replaceable>all</replaceable>が<literal>0</literal>か空なら、スキャンした答案のある受験者のみが出力されます。<replaceable>all</replaceable>が<literal>1</literal>なら、受験者名簿にある全受験者が出力されます。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>

      <refsect1>
        <title>モジュール</title>

        <refsect2>
          <title>OpenDocument</title>

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

          <variablelist>
            <varlistentry>
              <term>nom</term>

              <listitem>
                <para>シートの先頭に表示される試験の名称を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>code</term>

              <listitem>
                <para>タブ名に使用される試験の略称を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>columns</term>

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

            <varlistentry>
              <term>stats</term>

              <listitem>
                <para>trueなら、設問の統計表が追加されます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>statsindic</term>

              <listitem>
                <para>trueなら、採点対象外設問の統計表が追加されます。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>CSV</title>

          <para><quote><option>--module CSV</option></quote>とすると、CSVファイルが生成されます。以下のオプションが認識されます:</para>

          <variablelist>
            <varlistentry>
              <term>columns</term>

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

            <varlistentry>
              <term>decimal</term>

              <listitem>
                <para>小数点（デフォルトはピリオド）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>encodage</term>

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

            <varlistentry>
              <term>separateur</term>

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

            <varlistentry>
              <term>entoure</term>

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

            <varlistentry>
              <term>ticked</term>

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

        <refsect2>
          <title>List</title>

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

          <variablelist>
            <varlistentry>
              <term>pagesize</term>

              <listitem>
                <para>ページサイズです。デフォルト値は<code>a4</code>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>nom</term>

              <listitem>
                <para>ページの先頭に表示する試験の名称を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>ncols</term>

              <listitem>
                <para>カラム数です。デフォルト値は2です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>decimal</term>

              <listitem>
                <para>小数点（デフォルトはピリオド）を設定します。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>
      </refsect1>
    </refentry>

    <refentry id="auto-multiple-choice-annote">
      <refmeta>
        <refentrytitle>auto-multiple-choice-annotate</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-annotate</refname>

        <refpurpose>AMC選択式試験問題の答案に採点結果を記入する</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">annotate</arg>

          <arg choice="plain">--project <replaceable>project-dir</replaceable></arg>

          <arg choice="plain">--names-file <replaceable>students.csv</replaceable></arg>

          <arg rep="repeat">annotation options</arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice annotate</command>コマンドは、答案に各設問の採点と全体の採点を記入し、PDFファイル（受験者別の複数ファイルか全体の単一ファイル）を出力します。</para>

        <refsect2>
          <title>全般オプション</title>

          <variablelist>
            <varlistentry>
              <term><option>--project
              <replaceable>project-dir</replaceable></option></term>

              <listitem>
                <para>プロジェクト名かディレクトリを設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--data
              <replaceable>project-data-dir</replaceable></option></term>

              <listitem>
                <para>データファイルがあるディレクトリ（デフォルト値は<filename><replaceable>project-dir</replaceable>/data</filename>）を指定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--pdf-dir
              <replaceable>pdf-dir</replaceable></option></term>

              <listitem>
                <para>プロジェクトのpdfディレクトリ（デフォルト値は<filename><replaceable>project-dir</replaceable>/cr/corrections/pdf</filename>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--names-file
              <replaceable>students-list.csv</replaceable></option></term>

              <listitem>
                <para>受験者名簿ファイル名を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--names-encoding
              <replaceable>encoding</replaceable></option></term>

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

            <varlistentry>
              <term><option>--association-key
              <replaceable>key</replaceable></option></term>

              <listitem>
                <para>受験者識別に使用するカラム（受験者名簿ファイル内のカラム名）を設定します。識別時に実際に使用した値がデータベースに格納され、これがデフォルト値となるので、このオプションは使用すべきでありません。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--subject
              <replaceable>subject.pdf</replaceable></option></term>

              <listitem>
                <para>試験問題ファイル（デフォルト値は<filename><replaceable>project-dir</replaceable>/DOC-sujet.pdf</filename>）のパスを設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--compose
              <replaceable>mode</replaceable></option></term>

              <listitem>
                <para>マークするボックスのないページ（例えば答案用紙より前にある問題のみのページなど）を問題用紙からもってくる場合にこのオプションを使用します。<replaceable>mode</replaceable>が1のときは、問題用紙からページを取得し、受験者の答案と同じようにマークを記入し、同じ採点記号を答案用紙に記入します。<replaceable>mode</replaceable>が2のときは、採点済の答案用紙からページを取得し、（重複するので）採点記号は記入しません。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--corrected
              <replaceable>corrected.pdf</replaceable></option></term>

              <listitem>
                <para>PDFの模範解答のパス（デフォルトは<filename><replaceable>project-dir</replaceable>/DOC-corrected.pdf</filename>。ファイルが存在しなければ、<option>--n-copies</option>, <option>--with</option>, <option>--filter</option>, <option>--filtered-source</option>の各オプションの値を用いて作成されます）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--darkness-threshold
              <replaceable>t</replaceable></option></term>

              <listitem>
                <para>黒ピクセル比率の閾値を設定します。採点時に実際に使用した値がデータベースに格納され、これがデフォルト値となるので、このオプションは使用すべきでありません。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--darkness-threshold-up
              <replaceable>upper_t</replaceable></option></term>

              <listitem>
                <para>黒ピクセル比率の上限の閾値を設定します。採点時に実際に使用した値がデータベースに格納され、これがデフォルト値となるので、このオプションは使用すべきでありません。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--csv-build-name
              <replaceable>name-model</replaceable></option></term>

              <listitem>
                <para>受験者名簿ファイルから受験者名を構成するためのモデルを設定します。デフォルト値は<quote><code>(nom|surname) (prenom|name)</code></quote>で、この場合、氏名は<code>nom</code>カラム（なければ<code>surname</code>カラム）の内容の後に<code>prenom</code>カラム（なければ<code>name</code>カラム）の内容を続けたものになり、したがって、フランス語か英語の単純なCSVファイルでたいていうまくいきます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--id-file
              <replaceable>ids.txt</replaceable></option></term>

              <listitem>
                <para>採点を記入する答案用紙のID一覧ファイル（個別答案用紙モードなら受験番号、コピー答案用紙モードなら<code><replaceable>student</replaceable>:<replaceable>copy</replaceable></code>を各行に一つ）を指定します。ファイルが指定されない場合は、すべての答案用紙に採点が記入されます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--debug
              <replaceable>file.log</replaceable></option></term>

              <listitem>
                <para>デバッグ情報を記録するファイルを指定します。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>PDF出力オプション</title>

          <variablelist>
            <varlistentry>
              <term><option>--single-output</option></term>

              <listitem>
                <para>採点済答案を単一のPDFファイルにまとめるにはこのオプションを使用してください。デフォルトの動作は受験者一人につき一つのPDFファイルを作成します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--sort
              <replaceable>s</replaceable></option></term>

              <listitem>
                <para>以下のソートキーを設定します（<option>--single-output</option>を使用する場合のみ有効）:</para>

                <variablelist>
                  <varlistentry>
                    <term>l</term>

                    <listitem>
                      <para>受験者名簿ファイル順。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>m</term>

                    <listitem>
                      <para>成績順。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>i</term>

                    <listitem>
                      <para>試験問題ID順。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>n</term>

                    <listitem>
                      <para>氏名順。</para>
                    </listitem>
                  </varlistentry>
                </variablelist>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--filename-model
              <replaceable>model</replaceable></option></term>

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

                <variablelist>
                  <varlistentry>
                    <term><literal>(N)</literal></term>

                    <listitem>
                      <para>は受験者名（<option>--csv-build-name</option>参照）に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>(ID)</literal></term>

                    <listitem>
                      <para>は受験番号に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>(<replaceable>COL</replaceable>)</literal></term>

                    <listitem>
                      <para>は受験者名簿内の<replaceable>COL</replaceable>カラムの値に置換されます。</para>
                    </listitem>
                  </varlistentry>
                </variablelist>

                <para>デフォルト値は<quote><literal>(N)-(ID).pdf</literal></quote>です。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>ソースファイルオプション</title>

          <para>以下のオプションは<option>--corrected</option>で指定したファイルが存在せず、そのファイルを再構築するときに使用されます。</para>

          <variablelist>
            <varlistentry>
              <term><option>--src <replaceable>mcq-source-file</replaceable>
              --n-copies <replaceable>n</replaceable> --with
              <replaceable>latex-engine</replaceable> --filter
              <replaceable>filter-name</replaceable> --filtered-source
              <replaceable>fs.tex</replaceable></option></term>

              <listitem>
                <para><citerefentry>
                    <refentrytitle>auto-multiple-choice-prepare</refentrytitle>

                    <manvolnum>1</manvolnum>
                  </citerefentry>を参照してください。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>スキャン画像埋込み用オプション</title>

          <para>スキャン画像が存在する場合、採点記入済PDFファイルに埋め込まれます。以下のオプションは埋め込むスキャン画像の品質を制御し、ファイルサイズを縮小できるようにします。</para>

          <variablelist>
            <varlistentry>
              <term><option>--embedded-max-size
              <replaceable>maxsize</replaceable></option></term>

              <listitem>
                <para>スキャン画像の最大サイズをピクセル単位で（<literal><replaceable>width</replaceable>x<replaceable>height</replaceable></literal>の形式で）設定します。デフォルト値は空で、この場合は上限はありません。指定したサイズより大きいスキャン画像は採点記入済ファイルに埋め込む前に縮小されます。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--embedded-format
              <replaceable>format</replaceable></option></term>

              <listitem>
                <para>埋込み形式を<replaceable>jpeg</replaceable>か<replaceable>png</replaceable>で設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--embedded-jpeg-quality
              <replaceable>quality</replaceable></option></term>

              <listitem>
                <para>JPEGで埋め込む場合のJPEG品質を（1から100で）設定します。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>採点記入オプション</title>

          <para>以下のオプションはどのような採点が記入されるかを制御します。</para>

          <variablelist>
            <varlistentry>
              <term><option>--font-size
              <replaceable>fs</replaceable></option></term>

              <listitem>
                <para>フォントサイズをポイント値で設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--text-color
              <replaceable>color</replaceable></option></term>

              <listitem>
                <para>文字の色を設定します。デフォルト値は<replaceable>red</replaceable>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--verdict
              <replaceable>header</replaceable></option></term>

              <listitem>
                <para>各受験者の答案用紙の先頭ページに表示するテキストヘッダを設定します。このテキストは複数行のヘッダ用に改行文字を含むことができます。以下の特定のシーケンスが置換されます:</para>

                <variablelist>
                  <varlistentry>
                    <term><literal>%S</literal></term>

                    <listitem>
                      <para>は受験者の素点合計に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%M</literal></term>

                    <listitem>
                      <para>は素点合計の満点に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%s</literal></term>

                    <listitem>
                      <para>は受験者の得点に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%m</literal></term>

                    <listitem>
                      <para>は満点に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%(ID)</literal></term>

                    <listitem>
                      <para>は受験者名に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%(<replaceable>COL</replaceable>)</literal></term>

                    <listitem>
                      <para>は受験者名簿内の<replaceable>COL</replaceable>カラムの値に置換されます。</para>
                    </listitem>
                  </varlistentry>
                </variablelist>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--position
              <replaceable>pos</replaceable></option></term>

              <listitem>
                <para>各設問の採点記入位置を設定します:</para>

                <variablelist>
                  <varlistentry>
                    <term>marge</term>

                    <listitem>
                      <para>左マージンに記入</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>marges</term>

                    <listitem>
                      <para>（左右いずれかの）近い方のマージンに記入</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>case</term>

                    <listitem>
                      <para>マーク用ボックスの近くに記入</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term>none</term>

                    <listitem>
                      <para>採点を記入しない</para>
                    </listitem>
                  </varlistentry>
                </variablelist>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>--verdict-question
              <replaceable>perl-expression</replaceable></term>

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

                <variablelist>
                  <varlistentry>
                    <term><literal>%S</literal></term>

                    <listitem>
                      <para>はこの設問の素点に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%M</literal></term>

                    <listitem>
                      <para>はこの設問の満点に置換されます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%s</literal></term>

                    <listitem>
                      <para>は<code>%S</code>と同じですが、<replaceable>nc</replaceable>桁（<option>--ch-sign</option>オプション参照）に丸められます。</para>
                    </listitem>
                  </varlistentry>

                  <varlistentry>
                    <term><literal>%m</literal></term>

                    <listitem>
                      <para>は<code>%M</code>と同じですが、<replaceable>nc</replaceable>桁（<option>--ch-sign</option>オプション参照）に丸められます。</para>
                    </listitem>
                  </varlistentry>
                </variablelist>

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

                <programlisting>--verdict-question "(%S==%M ? \"合格\" : \"不合格\")"</programlisting>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term>--verdict-question-cancelled
              <replaceable>perl-expression</replaceable></term>

              <listitem>
                <para><option>--verdict-question</option>と同じですが、キャンセルした設問（<code>allowempty</code>採点基準を参照）に適用されます。デフォルト値は<quote><code>"X"</code></quote>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--indicatives</option></term>

              <listitem>
                <para>採点対象外の設問にも採点を記入するにはこのオプションを使用します。（これらの設問の素点は全体の素点を計算する際にはカウントされません。正誤の状態はこれらの設問にたいてい無関係なので、対応するボックスへの正誤マークは記入しません）</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--line-width
              <replaceable>width</replaceable></option></term>

              <listitem>
                <para>採点時に記入する記号の線幅（ピクセル数）を設定します。デフォルト値は2です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--symbols
              <replaceable>symbols-definition</replaceable></option></term>

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

        <refsect2>
          <title>長さ</title>

          <para>以下の長さには単位を指定することができます（<code>in</code>, <code>ft</code>, <code>pt</code>, <code>cm</code>, <code>mm</code>）。</para>

          <variablelist>
            <varlistentry>
              <term><option>--dist-to-box
              <replaceable>d</replaceable></option></term>

              <listitem>
                <para><option>--position case</option>を使用する場合に、記入位置のボックスからの距離を設定します。デフォルトは<code>1cm</code>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--dist-margin
              <replaceable>d</replaceable></option></term>

              <listitem>
                <para>マージンのサイズを設定します。デフォルトは<code>5mm</code>です。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--dist-margin-global
              <replaceable>d</replaceable></option></term>

              <listitem>
                <para>ヘッダーのマージンサイズを設定します。デフォルトは<code>3mm</code>です。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>
      </refsect1>
    </refentry>

    <refentry>
      <refmeta>
        <refentrytitle>auto-multiple-choice-mailing</refentrytitle>

        <manvolnum>1</manvolnum>

        <refmiscinfo class="source">Auto Multiple Choice</refmiscinfo>

        <refmiscinfo class="version">1.7.0+git20250704122834</refmiscinfo>
      </refmeta>

      <refnamediv>
        <refname>auto-multiple-choice-mailing</refname>

        <refpurpose>採点記入済答案のPDFを受験者にメールする</refpurpose>
      </refnamediv>

      <refsynopsisdiv>
        <cmdsynopsis>
          <command>auto-multiple-choice</command>

          <arg choice="plain">mailing
          </arg>

          <arg>--xmlargs <replaceable>args.xml</replaceable></arg>

          <arg choice="plain">--project <replaceable>project-dir</replaceable>
          </arg>

          <arg choice="plain">--students-list <replaceable>students-list.csv</replaceable>
          </arg>

          <arg>--list-encoding <replaceable>encoding</replaceable></arg>

          <arg choice="plain">--email-column <replaceable>col</replaceable>
          </arg>

          <arg choice="plain">--sender <replaceable>sender-email</replaceable>
          </arg>

          <arg choice="plain">--subject <replaceable>subject</replaceable>
          </arg>

          <arg choice="plain">--text <replaceable>email-body</replaceable>
          </arg>

          <arg>--text-content-type
          <replaceable>content-type</replaceable></arg>

          <arg>--debug <replaceable>file.log</replaceable></arg>

          <arg rep="repeat"><replaceable>transport arguments</replaceable></arg>
        </cmdsynopsis>
      </refsynopsisdiv>

      <refsect1>
        <title>解説</title>

        <para><command>auto-multiple-choice mailing</command>コマンドは、採点記入済答案のPDFを受験者にメールで送付します。メールアドレスは受験者名簿ファイルから取り出されます。</para>

        <variablelist>
          <varlistentry>
            <term><option>--project
            <replaceable>project-dir</replaceable></option></term>

            <listitem>
              <para>プロジェクトディレクトリを指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--students-list
            <replaceable>students-list.csv</replaceable></option></term>

            <listitem>
              <para>受験者名簿ファイル名を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--list-encoding
            <replaceable>encoding</replaceable></option></term>

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

          <varlistentry>
            <term><option>--email-column
            <replaceable>col</replaceable></option></term>

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

          <varlistentry>
            <term><option>--sender
            <replaceable>sender-email</replaceable></option></term>

            <listitem>
              <para>差出人アドレスを設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--cc
            <replaceable>cc-email-address</replaceable></option></term>

            <listitem>
              <para>Ccアドレスを設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--bcc
            <replaceable>bcc-email-address</replaceable></option></term>

            <listitem>
              <para>Bccアドレスを設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--subject
            <replaceable>subject</replaceable></option></term>

            <listitem>
              <para>送付するメールの件名を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--text
            <replaceable>email-body</replaceable></option></term>

            <listitem>
              <para>送付するメールの本文を設定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--text-content-type
            <replaceable>content-type</replaceable></option></term>

            <listitem>
              <para>メール本文のcontent-typeを設定します。<replaceable>content-type</replaceable>は、<constant>text/plain</constant>か<constant>text/html</constant>です。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--attach
            <replaceable>filename</replaceable></option></term>

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

          <varlistentry>
            <term><option>--transport
            <replaceable>transport</replaceable></option></term>

            <listitem>
              <para>転送方法を設定します。有効な<replaceable>transport</replaceable>は、<constant>sendmail</constant>か<constant>SMTP</constant>のいずれかです。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--debug
            <replaceable>file.log</replaceable></option></term>

            <listitem>
              <para>デバッグ情報を記録するファイルを指定します。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term><option>--delay
            <replaceable>time</replaceable></option></term>

            <listitem>
              <para>各送信間に<replaceable>time</replaceable>秒の遅延を設定します。</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </refsect1>

      <refsect1>
        <title>転送方法別の引数</title>

        <para><replaceable>transport</replaceable>引数の値により、以下の引数が追加されます:</para>

        <refsect2>
          <title>sendmail転送</title>

          <variablelist>
            <varlistentry>
              <term><option>--sendmail-path
              <replaceable>path</replaceable></option></term>

              <listitem>
                <para><command>sendmail</command>コマンドのパス（デフォルトは<filename>/usr/sbin/sendmail</filename>）を設定します。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>

        <refsect2>
          <title>SMTP転送</title>

          <variablelist>
            <varlistentry>
              <term><option>--smtp-host
              <replaceable>host</replaceable></option></term>

              <listitem>
                <para>SMTPホスト名（デフォルトは<constant>smtp</constant>）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--smtp-port
              <replaceable>port</replaceable></option></term>

              <listitem>
                <para>使用するポート（デフォルト値は25）を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--smtp-ssl
              <replaceable>mode</replaceable></option></term>

              <listitem>
                <para>SMTP接続のセキュリティモードを設定します。<replaceable>mode</replaceable>オプションは<code>ssl</code>、<code>starttls</code>、<code>0</code>（暗号なし）のいずれかです。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--smtp-user
              <replaceable>user</replaceable></option></term>

              <listitem>
                <para>SMTP認証のためのユーザ名を設定します。</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><option>--smtp-passwd-file
              <replaceable>file</replaceable></option></term>

              <listitem>
                <para>SMTP認証のためのパスワードを（1行目に）含んだファイルのパスを指定します。</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </refsect2>
      </refsect1>

      <refsect1>
        <title>XMLファイルによる引数</title>

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

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

  <sect1>
  <title>その他</title>

  <sect2 id="divers.gmail">
      <title>AMCでGMAILを使用するための設定</title>

      <para>Gmailアカウントにログインし、「安全性の低いアプリの許可」を有効にします。（訳注: Googleの「アカウント情報」から「ログインとセキュリティ」を開くと、最下部にあります。）</para>

      <sect3>
        <title>Linuxユーザ（Ubuntu、Xubuntu、Lubuntu等）</title>

         <para>端末で以下を入力します:</para>

         <programlisting>sudo apt-get install msmtp</programlisting>
         <programlisting>sudo gedit /etc/msmtprc</programlisting>

         <para>msmtprcファイルに以下の内容を追加して保存します。</para>

 <programlisting>
account gmail
host smtp.gmail.com
tls on
tls_certcheck off
port 587
auth login
from <emphasis>your_user_name@gmail.com</emphasis>
user <emphasis>your_user_name@gmail.com</emphasis>
password <emphasis>your_password</emphasis>
</programlisting>

          <para>
          AMCを設定します:<menuchoice>
          <guimenu>編集</guimenu>

          <guisubmenu>設定</guisubmenu>

          <guisubmenu>メール</guisubmenu>

          <guimenuitem>メール配信方法</guimenuitem>
          </menuchoice>で<guibutton>sendmail</guibutton>を選択し、sendmailのパスを<programlisting>/usr/bin/msmtp</programlisting>に設定します。
          </para>
        </sect3>

        <sect3>
         <title>Macintoshユーザ</title>

          <para>端末で以下を入力します:</para>

           <programlisting>sudo port install msmtp</programlisting>
          <programlisting>sudo pico ~/.msmtprc</programlisting>

           <para>msmtprcファイルに以下の内容を追加して保存します。</para>

 <programlisting>
account gmail
host smtp.gmail.com
tls on
tls_certcheck off
port 587
auth login
from <emphasis>your_user_name@gmail.com</emphasis>
user <emphasis>your_user_name@gmail.com</emphasis>
password <emphasis>your_password</emphasis>
</programlisting>

        <para>
          AMCを設定します:<menuchoice>
          <guimenu>編集</guimenu>

          <guisubmenu>設定</guisubmenu>

          <guisubmenu>メール</guisubmenu>

          <guimenuitem>メール配信方法</guimenuitem>
          </menuchoice>で<guibutton>sendmail</guibutton>を選択し、sendmailのパスを<programlisting>/opt/local/bin/msmtp</programlisting>に設定します。
          </para>
        </sect3>
    </sect2>
  </sect1>
  <index/>
</article>
