&size(24){''EMpsrectbox環境''};
 テキストを枠で囲みます。
 rectbox 環境が,枠線を tpic-specials で描画するのに対し,
 EMpsrectbox 環境は PostScript で描画します。
 その効用は,
   枠線を太くしたとき
   コーナーを四分円にしたとき
 など,綺麗につながる,というところにあります。
#contents
#br
*定義されているスタイルファイル [#wbd77e22]
emathPs.sty~
 ただし,下請けが emathPb.sty にありますから
  \usepackage{emathPs}
  \usepackage{emathPb}
 として用います。
*書式 [#syosiki]
 \begin{EMpsrectbox}[#1]<#2>
 .....
 \end{EMpsrectbox}

#1 key=val をコンマ区切りで並べます。有効な key は

>[[backgroundcolor>#t78acc3a]]~
[[bitem>#bitem]]~
[[bitempos>#bitem]]~
[[borderwidth>#borderwidth]]~
[[dash>#dash]]~
[[debug>#cd5a83cf]]~
[[framecolor>#s5384269]]~
[[framethickness>#framethickness]]~
[[hasenLG>#hasenLG]]~
[[hsep>#heba41f5]]~
[[hvsep>#heba41f5]]~
[[item>#item]]~
[[itempos>#item]]~
[[Lonly>#Lonly]]~
[[LRonly>#LRonly]]~
[[rectboxoct>#rectboxoct]]~
[[rectboxoval>#rectboxoval]]~
[[rectboxparindent>#parindent]]~
[[rectboxWidth>#h31363cd]]~
[[rectboxwidth>#h31363cd]]~
[[remake>#remake]]~
[[vsep>#heba41f5]]~
[[wave>#wave]]

*例 [#ldc56758]
**基本例 [#d55a8573]
#ref(EMpsrectbox01.png)
**[debug] オプション [#cd5a83cf]
emathPs.sty の仕様として,いったん作成された EPS ファイルは再描画されません。
したがって,枠内のテキストが変更され行数に増減があっても枠は前のままです。
[[基本例>#d55a8573]]で,テキスト部が修正され,長くなったとしましょう。
#ref(EMpsrectbox-debug1.png)
テキスト部と枠線(EPS ファイル)は,左下を揃えて配置されますから,
長くなったテキスト部の先頭行は枠の上に飛び出しています。

枠を作り直すには,[debug]オプションをつけます。
#ref(EMpsrectbox-debug2.png)
**[remake] オプション [#remake]
debug オプションの欠点は,画像を最後に読み込むため,テキストの上に画像がかぶさります。
背景色を付けた場合は,致命的です。
#ref(remake00.png)
この点を改良したものが [remake] オプションです。
#ref(remake01.png)
-remakeオプションは,debugオプションと同様に,画像ファイルを作り直しますが,~
読み込むタイミングは pszahyou環境などの冒頭です。~
冒頭に読み込み指令を発しますが,プレビュー・印刷のときは作り直した方の画像が使われます。~
ただし,画像ファイルのサイズは冒頭で読み込んだものですから,~
作り直した画像のサイズが古い画像のそれと一致しないときはおかしなこととなります。~
emathPs.sty v 1.34 では,両者のサイズを比較して一致しないときはタイプセットを
もう一度やり直す仕掛けを施しました。
**[hsep=..,vsep=..,hvsep=..] オプション − 枠内のテキスト部と枠線との間隔 [#heba41f5]
枠内のテキスト部と枠線との間隔は \fboxsep に従います。
これを変更するには,\fboxsep を変更すればよいわけではありますが,
\fbox などにも影響を及ぼしますから,EMpsrectbox環境独自の変更法を用意してあります。

まずは,左右の罫線とテキスト部との間隔です。[hsep=..]の右辺値は単位つきの長さです。
#ref(EMpsrectbox-hsep1.png)
上下の罫線との間隔変更は [vsep=..] オプションです。
#ref(EMpsrectbox-vsep1.png)
もちろん,両者を併用することも出来ますが
#ref(EMpsrectbox-hvsep1.png)
両者が同じ長さのときは [hvsep=..] オプションでまとめて指定できます。
#ref(EMpsrectbox-hvsep2.png)
**[rectboxparindent=..]オプション − 段落先頭のインデント [#parindent]
EMpsrectbox環境は,実質 minipage環境です。したがって段落先頭のインデントはつきません。~
必要な場合は[rectboxparindent=..]オプションを用います。
#ref(rectboxparindent01.png)
-このオプションは,当該環境に対してのみ働く局所的オプションです。~
もっと広範囲に有効とするには,[[\rectboxparindentコマンド>rectboxparindent]]を用います。
**見出し [#c1a080f2]
 枠線上に見出し文字列を配置します。
***[item=..,itempos=..] オプション − 上見出し [#item]
罫線枠上辺に見出し文字列を配置するためのオプションが
[item=..]です。
#ref(EMpsrectbox-item1.png)
見出し配置位置を変更するオプションが [itempos=.] です。
#ref(EMpsrectbox-itempos1.png)
***[bitem=..,bitempos=..] オプション − 下見出し [#bitem]
罫線枠下辺に見出し文字列を配置するためのオプションが
[bitem=..]です。
#ref(EMpsrectbox-bitem1.png)
下見出し配置位置を変更するオプションが [bitempos=.] です。
#ref(EMpsrectbox-bitempos1.png)
上下に見出しをつけることも可能です。
#ref(EMpsrectbox-bitem2.png)
**枠線の修飾 [#f4ca174c]
***[framethickness=..] オプション − 枠線の太さ指定 [#framethickness]
 枠線の太さを指定するオプションが [framethickness=..] オプションです。
 右辺値は 単位を伴う長さです。
 なお postscript のデフォルト値は [framethickness=1pt] に相当します。
#ref(framethickness01.png)
-framelinewidth も同義の key として使用可能です。
***[dash=..] オプション − 枠線を破線で(1) [#dash]
 枠線を破線・鎖線にするオプションが [dash=..] です。
 右辺値には `,' が含まれますから,{...} で括っておく必要があります。
#ref(EMpsrectbox-dash1.png)
***[hasenLG=..] オプション − 枠線を破線で(2) [#hasenLG]
 枠線を破線にする [dash=..] オプションでは,
   枠の長方形のコーナー
 が不明確となるのが気になる場合もあるでしょうか。
#ref(hasenLG00.png)
 そのような場合は,[dash=..] に代えて [hasenLG=..] オプションを用います。
#ref(hasenLG01.png)
--[hasenLG=..]オプションは,rectboxoval, rectboxoct とは併用できません。
***[wave=..] オプション − 枠線を波線で [#wave]
 枠線を波線にするオプションが [wave=..] です。
 右辺値は,[[\setwavesize コマンド>setwavesize]]の引数ですが,先頭に`*'を附加することが出来ます。
 その場合は,波線描画コマンドは [[\Drawwave>Drawwave]] ではなく,[[\Drawwave*>Drawwave]] コマンドとなります。~
右辺値を省略した場合は
   *{2mm}{.3mm}
 とみなされます。
#ref(wave01.png)
--他のオプションとの併用例です:
#ref(wave02.png)
CENTER:&ref(wave02.pdf,,上のPDF);
--wave オプションは,次のオプションとの併用は出来ません。~
  rectboxoval, rectboxoct, Lonly, LRonly~
***[framecolor=..] オプション − 枠線色指定 [#s5384269]
枠線に色をつけるオプションです。
#ref(EMpsrectbox-framecolor1.png)
**枠の形状 [#ja10b78c]
 EMpsrectbox環境の枠罫線は長方形で,四隅は直角の折れ線です。
 この形状を変更するオプションを紹介します。
***[rectboxoval=..] オプション − コーナーを丸く [#rectboxoval]
 まずは,四隅を四分円にするのオプションが [rectboxoval=..] です。
 右辺値は四分円の半径(単位を伴った長さ)です。
#ref(EMpsrectbox-oval1.png)
 このとき,左右・上下罫線とテキスト部の間隔は,
rectboxoval=.. の右辺値となります。
 ただし,hsep=.., vsep=.., hvsep=.. オプションが指定されたときは
 その指定が優先されます。
#ref(EMpsrectbox-oval2.png)
 見出しをつける item=.. オプションなどとも併用できることは当然です。
#ref(EMpsrectbox-oval3.png)
***[rectboxoct=..] オプション − 枠の斜め切り [#rectboxoct]
 次に,四隅から直角二等辺三角形を切り取るオプションが [rectboxoct=..] です。
#ref(EMpsrectbox-oct1.png)
***[LRonly] オプション − 左右の罫線のみ [#LRonly]
 [LRonly] オプションは左右の罫線のみを描画します。
 (天地の罫線は描画されません。)
#ref(EMpsrectbox-LRonly1.png)
***[Lonly] オプション − 左罫線のみ [#Lonly]
 [Lonly] オプションは左罫線のみを描画します。
#ref(EMpsrectbox-Lonly1.png)
***二重枠 (EMpsrectbox環境のネスト) [#n59033b0]
 EMpsrectbox環境の中に EMpsrectbox環境を配置することで,二重枠の囲みを作ることが出来ます。
 枠の間隔は,デフォルトでは \fboxsep ですが,外側の EMpsrectbox環境に対する hvsepオプションなどで変更可能です。
 ただし,外側の EMpsrectbox環境に対して hvsep オプションで行った変更は,内側の EMpsrectbox環境にも影響を及ぼします。
 この場合,2つの枠の間隔が狭くなる場合などに備え,
   graphicx.sty を [hiresbb] オプション
 付きで読み込んでおく方がよいでしょう。
#ref(doublebox01.png)
 外側の罫線枠を太くしています。そのためのオプション
    [linewidth=2pt] 
 を外側の EMpsrectbox環境に附加していますが,これが内側の EMpsrectbox環境にも影響を及ぼします。
 従って,内側の EMpsrectbox環境に対しても [linewidth=..] オプションが必要です。
 外側と内側の罫線の太さを変更するには,それぞれに
    [framethickness=...] 
 を付加します。
#ref(doublebox02.png)
 枠の間隔は,デフォルトでは \fboxsep ですが,
 外側の EMpsrectbox環境に対する hvsepオプションなどで変更可能です。
#ref(doublebox-hvsep1.png)
 コーナーを丸くする [rectboxoval=..] オプションを附加してみました。
#ref(doublebox04.png)
 見出しをつけることは可能ではありますが,厄介です。
#ref(doublebox03.png)
**[backgroundecolor=..] オプション − 背景色指定 [#t78acc3a]
テキスト部に背景色をつけるオプションです。
#ref(EMpsrectbox-bgcolor1.png)
 [debug] オプションをつけたままですと,背景色がテキストの上にかぶさります。
#ref(EMpsrectbox-bgcolor2.png)
 最終的には [debug] オプションは除去してタイプセットする必要があります。
**[rectboxWidth=..,rectboxwidth=..] オプション − 横幅指定 [#h31363cd]
枠の横幅は,その時点の \linewidth で,横いっぱいに広がります。
これを制限するオプションです。

[rectboxwidth=..] がテキスト部の横幅を指定するのに対し,
[rectboxWidth=..] は枠の横幅を指定します。
#ref(EMpsrectbox-width1.png)
**傍注 [#b3091a6d]
 EMpsrectbox環境内では,\marginparコマンドは使用できません。
 代えて,\MigiRangaiコマンドを用います。
CENTER:&ref(boutyuu01p.tex,,下のソースリスト);
#br

#ref(boutyuu01.png,wrap)
-ただし,このコマンドは emathBk.sty で定義されていますから,それを読み込んでおく必要があります。
-傍注記号を付与するなど,細かいことは[[\MigiRangaiのページ>MigiRangai]]をご覧ください。
**[borderwidth=..] オプション [#borderwidth]
EMpsrectbox環境は,グラフィックスで枠線を描画しています。~
グラフィックスは dvi-ware に依存します。~
再三述べていますが,emath では,~
  platex + dvipsk (+Distiller)~
で得られる,PS or PDF を基準としています。~
dvipdfmx は,x<0, y<0 の部分を無条件にカットします。~
その結果,長方形の枠のうち,左辺と下辺罫線の太さが半分に削られてしまいます。~
この現象を回避するには,[borderwidth=..] オプションを用いればよいのですが,~
emathPs.sty v 1.51 以降では,自動的に設定されるようになりました。~
したがって,この項は obsolete とします。

-次のリスト
 \begin{EMpsrectbox}[framethickness=10pt]
 \repeatstr{TEXT }{30}
 \end{EMpsrectbox}
をタイプセットした結果は,下のようになります。~
&ref(borderwidth03.pdf,,dvipdfmx で作成した PDF);でも,枠線が削られるということはありません。
#ref(borderwidth03.png)
*注意事項 [#jcaaa11f]
+ ページをまたぐことは出来ません。
*関連事項 [#q246711c]
[[\EMpsRectbox>EMpsRectbox]]~
[[EMpsitemrectbox環境]]~
[[rectbox環境]]~
RIGHT:&counter;


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS