&size(24){''EMpsrectbox環境''};~
&size(24){''psrectbox環境''};
 テキストを枠で囲みます。
 rectbox 環境が,枠線を tex の罫線で描画するのに対し,
 EMpsrectbox 環境は PostScript で描画します。
 その効用は,
   コーナーを四分円にしたとき
 など,綺麗につながる,というところにあります。
#contents
#br
*定義されているスタイルファイル [#wbd77e22]
emathPsb.sty~
 ただし,emathPs.sty を前提としますから
  \usepackage{graphicx}
  \usepackage{emathPs}
  \usepackage{emathPsb}
 として用います。graphicx.sty のロードに際しては,適切なドライバを指定することをお忘れなく。
*書式 [#syosiki]
 \begin{EMpsrectbox}[#1]<#2>
 ..
 \end{EMpsrectbox}
-#1 key=val をコンマ区切りで並べます。有効な key は
:[[apnzahyou>#apnzahyou]]|
:[[backgroundcolor>#bgcolor]]|
:[[bgcolor>#bgcolor]]|
:[[bitem>#bitem]]|
:[[bitempos>#bitem]]|
:[[dash>#dash]]|
:[[debeso>#debeso]]|
:[[framecolor>#s5384269]]|
:[[framethickness>#framethickness]]|
:[[hasenLG>#hasenLG]]|
:[[hsep>#heba41f5]]|
:[[hvsep>#heba41f5]]|
:[[item>#item]]|
:[[itempos>#item]]|
:[[Lonly>#Lonly]]|
:[[LRonly>#LRonly]]|
:[[rectboxoct>#rectboxoct]]|
:[[rectboxoval>#rectboxoval]]|
:[[rectboxparindent>#parindent]]|
:[[remake>#remake]]|
:[[Ronly>#Ronly]]|
:[[shade>#shade]]|
:[[shadecolor>#shade]]|
:[[TBonly>#TBonly]]|
:[[vsep>#heba41f5]]|
:[[wave>#wave]]|

 \HVsep#1#2
:[[#1>#HVsep]]|左右枠線と中のテキストとの間隔
:[[#2>#HVsep]]|上下枠線と中のテキストとの間隔

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

枠を作り直すには,[remake]オプションをつけます。
**[remake] オプション [#remake]
#ref(EMpsrectbox-debug2.png)
-remakeオプションは,画像ファイルを作り直しますが,~
読み込むタイミングは pszahyou環境などの冒頭です。~
冒頭に読み込み指令を発しますが,プレビュー・印刷のときは作り直した方の画像が使われます。~
ただし,画像ファイルのサイズは冒頭で読み込んだ時点で決まってしまいますから,~
作り直した画像のサイズが古い画像のそれと一致しないときはおかしなこととなります。~
emathPs.sty v 1.34 では,両者のサイズを比較して一致しないときはタイプセットを
もう一度やり直す仕掛けを施しました。
**枠内のテキスト部と枠線との間隔 [#f88b53d5]
枠内のテキスト部と枠線との間隔は \fboxsep に従います。
これを変更する方法を述べます。
***[hsep=..,vsep=..,hvsep=..] オプション [#hvsep]
 まずは,左右の罫線とテキスト部との間隔です。[hsep=..]の右辺値は単位つきの長さです。
#ref(EMpsrectbox-hsep1.png)
上下の罫線との間隔変更は [vsep=..] オプションです。
#ref(EMpsrectbox-vsep1.png)
もちろん,両者を併用することも出来ますが
#ref(EMpsrectbox-hvsep1.png)
両者が同じ長さのときは [hvsep=..] オプションでまとめて指定できます。
#ref(EMpsrectbox-hvsep2.png)
***\HVsep コマンド [#HVsep]
 [hsep=..,vsep=..,hvsep=..] オプションは当該 rectbox環境のみに働く局所的なものです。
 広範囲に有効とするには,\HVsep コマンドを用います。
   第1引数に水平方向の間隔
   第2引数に垂直方向の間隔
 を与えます。
#ref(HVsep01.png)
-[hsep=..,vsep=..,hvsep=..] オプションと併用したときは,[hsep=..,vsep=..,hvsep=..] オプションが優先されます。

#ref(HVsep02.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)
***枠内上部に見出し [#apnzahyou]
-見出しを枠内上部に付けるには,psrectbox環境が pszahyou*環境内にあることを利用します。~
枠の~
  左上端点:\LT~
  左下端点:\LB~
  右上端点:\RT~
  右下端点:\RB~
を基準として,pszahyou*環境内に記述すべきものを~
  psrectbox環境の [apnzahyou=...] オプション
に与えます。

#ref(wakunaimidasi01.png)
-見出しブロックに背景色を付加するには,apnzahyou=.. の右辺値に~
  \Nuritubusi{...}~
を記述します。

#ref(wakunaimidasi02.png)
-背景色にグラデーションを施したければ,\Nuritubusi に換えて \nuribox を用います。

#ref(wakunaimidasi03.png)
***枠内左に見出し [#k6ee408e]
-枠内左を見出しブロックとすることも同様です。~
この場合,見出し文を \Put で配置することも出来ますが,~
右側本文の1行目と揃えたければ,本文1行目に左に突き出す形で配置するのもあるでしょう。

#ref(wakunaimidasiL01.png)
-背景色を付ける [bgcolor=..] と併用する例です。

#ref(wakunaimidasiL02.png)
***枠コーナーに見出し [#corner]
 \LT などを指定して見出しを枠コーナーに配置することも可能です。
#ref(corner01.png)
***複数の見出し [#ic069670]
 枠線上に複数の見出しを配置することも出来ます。
#ref(items01.png)
**枠線の修飾 [#f4ca174c]
***[framethickness=..] オプション − 枠線の太さ指定 [#framethickness]
 枠線の太さを指定するオプションが [framethickness=..] オプションです。
 右辺値は 単位を伴う長さです。
 なお PostScript のデフォルト値は [framethickness=1pt] に相当します。
#ref(framethickness01.png)
-framelinewidth も同義の key として使用可能です。
-linethickness も同義の key として使用可能ではありますが,~
枠内の記述部に対しても働きますから,枠内に zahyou環境があったりすると影響が出ます。
***[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 コマンドの引数ですが,先頭に`*'を附加することが出来ます。
 その場合は,波線描画コマンドは \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)
***影付き [#shade]
 枠線右・下に影をつけるオプションが [shade] です。
 ただし,rectboxoval, rectboxoct オプションとは併用できません。
#ref(shade01.png)
-デフォルトでは,影の線幅は 5pt ですが,オプションの右辺値で変更可能です。

#ref(shade02.png)
-上見出しをつけることも出来ます。

#ref(shade03.png)
--下見出しをつけることは出来ません。
-影の部分に色をつけるキーが shadecolor です。

#ref(shadecolor01.png)
#ref(shadecolor01p.tex,center,上のソースリスト)
**枠の形状 [#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(Lonly01.png)
-rectboxoval オプションとの併用も可能です。

#ref(Lonly02.png)
-左罫線で小括弧もどきができていますが,これを中括弧もどきにするのが debeso オプションです。&aname(debeso);~
上下両端と真ん中に四分円の出っ張りがありますが,~
その半径は hsep の値の半分であり,~
縦罫線と中の本文の間隔も hsep の半分となります。

#ref(Lonly05.png)
-大括弧もどきです。

#ref(Lonly03.png)
-[kagi]オプションの方が大括弧らしいでしょうか。&aname(kagi);~
上下両端で,水平方向の短い線分の長さは,hsep で指定した値の 3/4 です。

#ref(Lonly04.png)
-右罫線のみを描画する [Ronly] オプションも使用できます。&aname(Ronly);
***天地の罫線のみ --[TBonly] オプション  [#TBonly]
 [TBonly] オプションは天地の罫線のみを描画します。
 (左右の罫線は描画されません。)
#ref(TBonly01.png)
-背景色を付ける例です。

#ref(TBonly02.png)
***枠線なし [#ue7fd84e]
 枠線をつけたくなければ [framethickness=0pt] とします。
#ref(LRonly02.png)
-上の図は \colorbox で実現した方が簡潔ですが,背景色に[[グラデーションもどき>#gradation]]をかけるとなると,\colorbox ではできません。

#ref(LRonly03.png)
***二重枠 (EMpsrectbox環境のネスト) [#n59033b0]
 EMpsrectbox環境の中に EMpsrectbox環境を配置することで,二重枠線の囲みを作ることが出来ます。
 この場合,2つの枠の間隔が狭くなる場合などに備え,
   graphicx.sty を [hiresbb] オプション
 付きで読み込んでおく方がよいでしょう。
#ref(doublebox01.png)
 外側と内側の罫線の太さを変更するには,それぞれに
    [framethickness=...] 
 を付加します。
#ref(doublebox02a.png)
 枠の間隔は,デフォルトでは \fboxsep ですが,
 外側の EMpsrectbox環境に対する hvsepオプションなどで変更可能です。
#ref(doublebox-hvsep1.png)
 コーナーを丸くする [rectboxoval=..] オプションを附加してみました。
#ref(doublebox04.png)
 見出しをつけることは可能ではありますが,厄介です。
#ref(doublebox03.png)
**背景色 [#bgcolor]
***[backgroundcolor=..] オプション − 背景色指定 [#background]
 テキスト部に背景色をつけるオプションが [backgroundcolor=..] です。~
 その省略形 [bgcolor=..] も使用可能です。~
 右辺値は
+カラーネームを指定します。

#ref(bgcolor01.png)
+既存の色を薄める例です。

#ref(bgcolor02.png)
+gray 方式の指定例です。

#ref(bgcolor03.png)
**傍注 [#b3091a6d]
 EMpsrectbox環境内では,\marginparコマンドは使用できません。
 代えて,\MigiRangaiコマンドを用います。
CENTER:&ref(boutyuu01p.tex,,下のソースリスト);
#br
#ref(boutyuu01.png,wrap)
-ただし,このコマンドは emathBk.sty で定義されていますから,それを読み込んでおく必要があります。
-傍注記号を付与するなど,細かいことは[[\MigiRangaiのページ>MigiRangai]]をご覧ください。
*注意事項 [#jcaaa11f]
+ 枠の部分は,EPS ファイルを作って読み込みます。~
これが煩わしい,という場合は,[[EMpIIeframed環境]]を用います。
+ ページをまたぐことは出来ません。~
どうしてもページをまたぐ必要があれば,[[EMpsframed環境]], [[EMpIIeframed環境]], を用います。
+ emathPsb.sty では,「EMpsrectbox環境」の名前で定義されています。~
他のスタイルファイルと競合しない限り,「psrectbox環境」の名前で使用することができます。
+ EMpsrectbox環境は,内部で list環境を呼び出します。したがって edaenumerate環境内に配置することは出来ません。~
これを回避するために [[\useitemfalse>useitemfalse]]コマンドを使う方法もありますが.....
*関連事項 [#q246711c]
-[[囲み枠]]
RIGHT:&counter;

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