&size(24){''EMminipages環境''};
 複数のミニページを横に並べます。
#contents
#br

*定義されているスタイルファイル [#k037504f]
EMminipages.sty

*書式 [#y5a21cb0]
 \begin{EMminipages}<#1>#2
   .....
 \end{EMminipages}
-#1: key=val
-#2: 横に並べるミニページの横幅をコンマ区切りで列記
#1 における有効な key は
:[[columnseprule>#columnseprule]]| ミニページ間を縦罫線で区切ります。
:[[dash>#dash]]| ミニページ間罫線を破線にします。右辺値に,~
  実線の長さ,ギャップの長さ~
を単位付数値で与えます。
:[[dotgap>#dotgap]]| ミニページ間罫線を点線にします。右辺値に点と点の間隔を単位つき数値で与えます。
:[[iro>#iro]]| ミニページ間罫線に色を付与します。
:[[minipagepos>#minipagepos]]| minipage環境の配置オプション(デフォルトは t)
:[[tate>#tate]]| 横に並べるミニページの縦長を指定します。

 \EMminipagesbreak
-ミニページの区切りを指定するコマンドです。
*例 [#y8e1eb9e]
**基本例 [#k9caba22]
 複数のミニページを横に並べます。
 それらの横幅を,コンマ区切りで #2 に列記します。
 それらの合計は \linewidth よりも小さくしておかねばなりません。
 ミニページの間は \hfill が補われ,横幅いっぱいに均等配置されます。
 環境内には,各ミニページの内容を記述しますが,
 ミニページの境目には
   \EMminipagesbreak コマンド
 を配置します。
#ref(EMminipages01.png)
**ミニページ間に縦罫線 [#y4c0a06e]
 ミニページ間を縦罫線で仕切るには
   \columnseprule=0.4pt
 などとするのは,二段組の場合と同様です。
#ref(columnseprule01.png)
-罫線を点線・破線とする手法は,[[EMmulticols環境>EMmulticols環境#dotgap]]と同様です。
**ミニページ間に縦罫線(局所的)[#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 を横に並べるときの揃え基準は,デフォルトでは
   \begin{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;

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS