- 追加された行はこの色です。
- 削除された行はこの色です。
&size(24){''kaitouwaku環境''};
このページは,仕様が未確定である実験中の環境を扱っています。
お使いになるときは,ご留意ください。
解答枠を作るには,tabular環境・array環境を用いるのが普通です。
ここでは,
番号を自動的に与える,
細かい小問枠を用意する
などと言うことを実現するための模索をしてみました。
#contents
#br
*定義されているスタイルファイル [#x1694f1b]
kaitouwaku.sty
~(pszahyou*環境を用いますから,emathPs.sty を読み込んでおく必要があります。)
*書式 [#b8138766]
\begin{kaitouwaku}
......
\end{kaitouwaku}
\syoumon<#1>
-#1 は key=val 形式で
:[[syoumonsuu>#syoumonsuu]]| 1行の小問数を指定します。
:[[Sbunkatu>#Sbunkatu]]| 1行の小問の分割比を指定します。分割比は~
N1[item1]`cmd1' : N2[item2]`cmd2' : .....~
の形式で~
N1:N2:....~
が分割比を~
item1, item2, .....~
が各ブロックの見出し (item[..] の [..] オプションに相当)で,省略時は自動ナンバリングを~
cmd1, cmd2, ....~
が解答欄に併設された pszahyou* 環境内に配置するコマンド列を~
表します。
*例 [#c933a826]
**基本例 [#r278dff6]
kaitouwaku環境内に(複数の)daimon環境を配置し,
さらにその中に \syoumon コマンド
を置くことにより 解答枠を用意します。
ただし,kaitouwaku環境を始める前に
\KWsyokika
コマンドを実行しておく必要があります。
#ref(daimon01.png)
#ref(daimon01p.tex,center,上のソースリスト)
-これなら,tabular環境で作った方が早いかも。
**一行に複数の小問枠 [#ae362b91]
**一行に複数の小問枠 [#syoumonsuu]
一行に複数の小問枠を設定したいときは
<syoumonsuu=..>
オプションを用います。
#ref(syoumon01.png)
**小問枠の不均等分割 [#d2c09667]
一行に複数の小問解答枠を置くとき,その横幅を不均等とするには,
syoumonsuu=..
に代えて
Sbunkatu=..
オプションを用います。右辺値には横幅の比(整数比)を与えます。
#ref(Sbunkatu01.png)
-<syoumonsuu=3> と <Sbunkatu=1:1:1> は同じ結果となります。~
ただし,解答枠内に文字列を配置するなどという追加機能は Sbunkatu でのみ実現できます。
-<Sbunkatu=1> は分割しないことを示します。これは,何もオプションを付けないことと同じですが,~
小問枠内に文字列などを配置するなどの追加機能を利用するときにはこの書式が有用となります。
**小問のない大問 [#f37e84d8]
**小問のない大問 [#syoumon-nasi]
大問が小問を持たない場合は,\syoumon コマンドに
<syoumonsuu=0,...>
あるいは
<Sbunkatu=0>
オプションを付けます。
#ref(daimon02.png)
**枝問枠 [#q8d6a21b]
小問にさらにいくつかの小問が付く場合,このページではそれを枝問と称します。
枝問枠を作るオプションが
<edamonsuu=...>
です。
#ref(edamon01.png)
-一つの小問に複数行の枝問枠を作るには,~
<edamonsuu=..>~
の右辺値をセミコロン(;)区切の csv列で与えます。
**枝問枠の不均等分割 [#l93718c4]
枝問枠を不均等とするには
edamonsuu=..
に代えて
Ebunkatu=..
オプションを用います。右辺値には横幅の比(整数比)を与えます。
#ref(Ebunkatu01.png)
**枠の高さ [#d8edabaf]
解答枠1行の高さのデフォルト値は 3em としてあります。
これを変更するには
\wakuH#1
コマンドを用います。引数(#1)は単位を伴う寸法です。
#ref(wakuH01.png)
**枠の高さ(局所的変更) [#k0012f94]
\wakuH コマンドによる変更はすべての行に影響します。
特定の行のみ変更したいときは
\syoumon<takasa=..>
と \syoumon コマンドに <takasa=..> オプションをつけます。
右辺値は単位を伴う寸法です。
#ref(takasa01.png)
**枠の横幅 [#v8075ab4]
枠全体の横幅は \linewidth すなわち版面一杯に拡がります。
制限したいときは minipage環境などでくるみます。
EMminipages環境を用いて
左側に問題文,右側に解答欄
を出力する例です:
#ref(sample01.png,center,wrap)
#ref(sample01.tex,center,上のソースリスト)
**罫線 [#a1960876]
***枝問番号右の罫線 [#e66f8dd5]
枝問番号右の罫線を指定するには
\edamonmigikei#1
コマンドを用います。デフォルトは
\edamonmigikei{\Drawline}
となっています。
#ref(edamonmigikei02.png)
-枝問番号右の罫線を引かないということなら
#ref(edamonmigikei01.png)
***枠罫線の太さ [#framethickness]
kaitouwaku環境内の罫線は,太さ 0.3pt としてあります。
ただし,大問外枠罫線は太さ 1pt です。
#ref(framethickness01.png)
大問外枠罫線の太さは \KWframethickness コマンドで変更することが出来ます。
#ref(framethickness02.png)
-ただし,置き場所ですが,\KWsyokika コマンドで外枠罫線の太さが 1pt に設定されますから,~
その後に \KWframethickness コマンドを配置しなければなりません。
**問題番号 [#w85df50b]
問題番号の出力については
大問については \itemT
小問については \itemTi
枝問については \itemTii
を用いています。デフォルトは算用数字列 1, 2, 3, .... を
大問番号は 四角囲み
小問番号は 「問」を前置
枝問番号は ( ) 括り
となっています。
***大問番号の書式変更 [#fd205c8b]
大問番号の書式を変更するには,\KWsyokika を実行した後,
\labelenumT
を再定義します。
#ref(itemT01.png)
-\itemT, \labelenumT については,[[\itemTのページ>itemT]]をご覧ください。
***小問・枝問番号の書式変更 [#od50ec00]
小問番号の書式を変更するには
\labelenumTi
枝問番号の書式を変更するには
\labelenumTii
を再定義します。
#ref(itemT02.png)
***大問・小問・枝問番号の親子関係 [#g9a1de17]
デフォルトで
\resetcounter{enumTi}[enumT]
として親子関係を設定していますから,小問番号は大問ごとに 1 から振り直されます。さらに
\resetcounter{enumTii}[enumTi]
としてありますから,枝問番号は小問ごとに 1 から振り直されます。
枝問番号を通し番号とするには,親子関係をリセットしなければなりません。
そのためのスタイルファイルに
remreset.sty
があります。下の例では
\usepackage{remreset.sty}
\remreset{enumTii}{enumTi}
として,小問と枝問の親子関係の解消をしています。
#ref(oyako02.png)
-remreset.sty は CTAN にあります:~
[[CTAN/macros/latex/contrib/carlisle/>http://www.ring.gr.jp/pub/text/CTAN/macros/latex/contrib/carlisle/]]~
**解答枠に文字列 [#moziretu]
***番号欄に文字列 [#item-option]
小問番号・枝問番号欄に,番号ではなく文字を出力させるには,
分割比に続いて [..] オプションを用います。
#ref(itemopt01.png)
-この場合,番号欄右の縦罫線は出力されません。それを出すには,[..] オプション末尾に | を付けます。
#ref(itemopt02.png)
-番号欄を空白とするには,[] オプションを用います。
#ref(itemopt03.png)
-殺風景ですね。斜線でも引きますか。~
`...' オプション,斜線端点 \wLTO, \wRB については次項をご覧ください。
#ref(itemopt04.png)
**解答欄に文字列 [#moziretu]
***小問の解答欄 [#syoumonmozi]
解答枠には pszahyou*環境が設定されており,主要点が次のように定義されています。
\wLT: 左上隅 \wT: 上辺中点 \wRT: 右上隅
\wL: 左辺中点 \wM: 中心 \wR: 右辺中点
\wLB: 左下隅 \wB: 下辺中点 \wRB: 右下隅
なお,\wLT は解答欄の左上隅です,別の言い方をすれば番号欄右罫線の上端です。
番号欄左罫線の上端は \wLTO, 下端は \wLBO, 左罫線の中点は \wLO と定義されています。
(これら制御綴り末尾の O は,数字の 0 ではなく,アルファベット大文字の オー です)。
解答枠に文字列を配置するには,\Put など pszahyou*環境のコマンドを,
Sbunkatu=...
右辺において,分割比の整数値に引き続き `....' で括って記述します。
右辺において,分割比の整数値に引き続き([..]オプションがあればその後ろに) `....' で括って記述します。
#ref(moziretu01.png)
-上の例で,1行目は分割しませんが,文字列を配置するには~
Sbunkatu=1`.....'~
として,キー Sbunkatu を用います。
***枝問の解答欄 [#edamonmozi]
小問では Sbunkatu というキーを用いましたが,枝問では Ebunkatu を用います。
#ref(moziretu02.png)
**解答用紙例 [#ff2ba59b]
***単純な例 [#p717b47f]
#ref(sample02.png,center,wrap)
#ref(sample02.tex,center,ソースリスト)
***二段組で左右両脇に得点欄 [#i721d0d3]
#ref(sample03.png,center,wrap)
#ref(sample03.tex,center,ソースリスト)
*注意事項 [#m77ae19e]
-kaitouwaku 環境は実質 pszahyou*環境です。~
したがって emathPs さらには graphicx を読み込んでおく必要があります。
-pszahyou*環境のサイズを決めるため~
\setxyrange, \getxyrange~
による相互参照を行いますから,複数回(4回以上)のタイプセットが必要です。~
表・罫線の一部が切れてしまう,という場合はさらにタイプセットをくり返します。
RIGHT:&counter;