- 追加された行はこの色です。
- 削除された行はこの色です。
&size(24){''EMminipages環境''};
複数のミニページを横に並べます。
#contents
#br
*定義されているスタイルファイル [#k037504f]
EMminipages.sty
*書式 [#y5a21cb0]
\begin{EMminipages}<#1>#2
.....
\end{EMminipages}
-#1: key=val
-#2: 横に並べるミニページの横幅をコンマ区切りで列記
#1 における有効な key は
:[[columnseprule>#columnseprule]]| ミニページ間を縦罫線で区切ります。
:[[minipagepos>#minipagepos]]| minipage環境の配置オプション(デフォルトは t)
:[[tate>#tate]]| 横に並べるミニページの縦長を指定します。
\EMminipagesbreak
-ミニページの区切りを指定するコマンドです。
*例 [#y8e1eb9e]
**基本例 [#k9caba22]
複数のミニページを横に並べます。
それらの横幅を,コンマ区切りで #2 に列記します。
それらの合計は \linewidth よりも小さくしておかねばなりません。
ミニページの間は \hfill が補われ,横幅いっぱいに均等配置されます。
環境内には,各ミニページの内容を記述しますが,
ミニページの境目には
\EMminipagesbreak コマンド
を配置します。
#ref(EMminipages01.png)
**ミニページ間に縦罫線 [#y4c0a06e]
ミニページ間を縦罫線で仕切るには
\columnseprule=0.4pt
などとするのは,二段組の場合と同様です。
#ref(columnseprule01.png)
**ミニページ間に縦罫線(局所的)[#columnseprule]
上の例で行った処理:
\columnseprule=0.4pt
は,当該グルーピング内すべての EMminipages環境に働きますが,
特定の EMminipages環境に限定したいときは
<columnseprule=..> オプション
を用います。
右辺値は単位を伴う長さで,通常は 0.4pt でしょう。
#ref(columnseprule02.png)
**横幅の * 指定 [#ha436a21]
複数のミニページを並べる際,すべての横幅を指定する必要はありません。
* と指定したミニページについては,残りの幅から自動的に決まります。
下の例では,3つのミニページについて,
第2,3を指定して,第1は * と指定しています。
#ref(EMminipages02.png)
-* と指定したミニページ幅の計算結果は,ログファイルに~
EMminipages:*=157.61137pt~
と記録されています。
-複数の *指定も可能です。~
\begin{EMminipages}{*,*,5zw}~
とした場合は,~
一番右のミニページは,指定した 5zw の幅となり,~
残りのミニページは,残り幅を2等分したものとなります。
**縦の長さ指定 [#tate]
ミニページの縦の長さを指定するオプションが
<tate=..>
です。右辺値は単位を伴う長さです。
その効用の一つに,ミニページ内で \vfill を使うことが出来ます。
#ref(tate01a.png)
-ページの途中から下全部に EMminipages環境を配置するとき,その高さは~
[[\nokoritakasa コマンド>nokoritakasa]]~
で求められます。
#ref(nokoritakasa01.png,wrap)
#ref(nokoritakasa01.tex,center,上のソースリスト)
**ミニページの配置 [#minipagepos]
***デフォルト (<minipagepos=t>) [#kb61e1a8]
minipage を横に並べるときの揃え基準は,デフォルトでは
\beging{minipage}[t].....
すなわち,先頭行揃えです。
#ref(minipagepos01.png)
***下揃え [#qd271cd9]
下揃えとするには
<minipagepos=b> オプション
を付加します。
#ref(minipagepos02.png)
***中央揃え [#x48c5621]
中央揃えとするオプションが
<minipagepos=c>
です。
#ref(minipagepos03.png)
***調整(1) \includegraphics による画像取り込み [#wf8fa65d]
下の例を見て
デフォルトでは頭揃えになる
といったのに,嘘つきめといわれそうです。
#ref(soroe01.png,wrap)
-これで頭揃え,というか先頭行揃えになっているのです。~
TeX は,box を並べる際,ベースラインを揃える仕様です。~
\begin{minipage}[t]~
は,~
minipage環境のベースラインを先頭行のベースラインとする~
という約束を示します。~
上の図で~
左側ミニページのベースラインを赤色の線で~
右側ミニページのベースラインを緑色の線で~
示していますが,位置が揃っていることがおわかりでしょう。~
これが先頭行揃えなのです。
-このような,先頭行の高さが異なる場合,頭を揃えるには調整が必要です。~
上の場合は,図を \raisebox で下方に動かすのが一つの対応法です。
#ref(soroe02.png)
-下げすぎですか。では,全角文字の高さ分だけ調整してみます。
#ref(soroe03.png)
***調整(2) (ps)zahyou(*)環境 [#ga35cf43]
左:テキスト
右:(ps)zahyou(*)環境
の場合も同様です。
#ref(soroe11.png,center,wrap)
-この場合も \raisebox による調整は有効です。
#ref(soroe12.png)
--(ps)zahyou(*)環境の場合は,(ps)zahyou(*)環境に対する~
[haiti=t]~
オプションも同様の結果が得られます。
#ref(soroe14.png)
-全角文字の高さ分の微調整をする例です。
#ref(soroe13.png)
**応用例1(画像を縦横に配置) [#k039aed9]
#ref(EMminipages11.png,wrap)
#ref(EMminipages11.tex,center,上のソースリスト);
**応用例2(左:問題,右:解答欄) [#se54eb5e]
左ミニページに問題文,
右ミニページに解答欄
を並べる例です。
#ref(EMminipages23.png,wrap)
CENTER:&ref(EMminipages23p.tex,,上のソースリスト);
-解答欄の横幅を得るのに,[[\getWHD>http://emath.s40.xrea.com/xdir/kouza/Reference/getWHD.htm]]
,それを参照するのに[[\dimenref>http://emath.s40.xrea.com/xdir/kouza/Reference/dimenref.htm]]を用いています。
-埋め込んだ答が表示されていますが,これを非表示とするには~
emathAe.sty のロードオプションを~
\usepackage[maskAnstrue]{emathAe}~
と変更します。さらに,\color{white}を用いますので~
\usepackage{color}~
も必要です。
*注意事項 [#z76933bf]
-minipage環境ですから,ページをまたぐことはできません。
*関連事項 [#a5c7b1d7]
-テスト解答用紙 B4横3段組に EMminipages環境を用いた例が [[saloon #478>http://emath.s40.xrea.com/saloon/treebbs.cgi?kako=1&all=477&s=477#478]] にあります。
-更に手の込んだものが[[掲示板 No.6604>http://hpcgi3.nifty.com/emath/treebbs.cgi?kako=1&all=6604&s=6604]]
からのスレッドにあります。
RIGHT:&counter;