rectbox環境

テキストを枠で囲みます。
枠線は tpic-specials で描画されます。
枠線を Post Script で描画する EMpsrectbox環境もあります。
 

定義されているスタイルファイル

emathPb.sty

書式

\begin{rectbox}[#1]
.....~
\end{rectbox}

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

backgroundcolor
bitem
bitempos
framecolor
framelinewidth
hsep
hvsep
item
itempos
LRonly
Lonly
pos
rectboxoct
rectboxoval
rectboxparindent
rectboxWidth
rectboxwidth
sensyu
tate
vsep

\rectboxhrule

枠を上下に分割する横線を引きます。

基本例

rectbox環境内の文を
  長方形の枠
で囲みます。
rectbox01.png
file上のソースリスト

枠内のテキスト部と枠線との間隔 − [hsep=..,vsep=..,hvsep=..] オプション

枠内のテキスト部と枠線との間隔は \fboxsep に従います。 これを変更するには,\fboxsep を変更すればよいわけではありますが, \fbox などにも影響を及ぼしますから,rectbox環境独自の変更法を用意してあります。

まずは,左右の罫線とテキスト部との間隔です。[hsep=..]の右辺値は単位つきの長さです。
hsep1.png
上下の罫線との間隔変更は [vsep=..] オプションです。
vsep1.png
もちろん,両者を併用することも出来ますが
hvsep1.png
両者が同じ長さのときは [hvsep=..] オプションでまとめて指定できます。
hvsep2.png

段落先頭のインデント − [rectboxparindent=..]オプション

rectbox環境は,実質 minipage環境です。したがって段落先頭のインデントはつきません。
必要な場合は[rectboxparindent=..]オプションを用います。

rectboxparindent01.png

上見出し − [item=..,itempos=..] オプション

罫線枠上辺に見出し文字列を配置するためのオプションが

[item=..]です。

item1.png
見出し配置位置を変更するオプションが [itempos=.] です。
itempos1.png
見出しに背景色をつけたければ,\colorbox コマンドを利用します。
item02.png

下見出し − [bitem=..,bitempos=..] オプション

罫線枠下辺に見出し文字列を配置するためのオプションが [bitem=..]です。

bitem1.png

下見出し配置位置を変更するオプションが [bitempos=.] です。

bitempos1.png

上下に見出しをつけることも可能です。

bitem2.png

枠線の太さ指定 − [framelinewidth=..] オプション

枠線の太さを指定するオプションが [framelinewidth=..] オプションです。 右辺値は単位を伴う長さです。

下の例では,枠線の太さは 1pt です。
なおデフォルトは [framelinewidth=0.3pt] に相当します。
framelinewidth01.png

枠線の線種指定 - [sensyu=..]オプション

枠線を破線・鎖線にするオプションが [sensyu=..] です。 右辺値は \hasen などです。

hasen1.png
namisen1.png

枠線色指定 − [framecolor=..] オプション

枠線に色をつけるオプションです。

framecolor1.png

背景色指定 − [backgroundecolor=..] オプション

テキスト部に背景色をつけるオプションです。

bgcolor1.png

横幅指定 − [rectboxwidth=..,rectboxWidth=..] オプション

枠の横幅は,その時点の \linewidth で,横いっぱいに広がります。
これを制限するオプションです。

[rectboxwidth=..] がテキスト部の横幅を指定するのに対し,
[rectboxWidth=..] は枠の横幅を指定します。

width1.png

ベースライン − [pos=..] オプション

rectbox環境は,実質 minipage環境です。
従ってそのベースラインは,minipage環境のベースラインであり, デフォルトは c (中央)となります。

pos00.png

rectbox環境は横いっぱいに広がりますから,ベースラインが問題となることはありません。
ただし,何らかの状況で,他と横に並ぶことがあると,ベースラインを他とそろえる必要が生じます。
下では,EMminipages環境を用いて,ミニページを横に並べています。
左は rectbox環境,右は通常のテキストです。 左のベースライン(赤)と,右のベースライン(黒)が一致していますが......

pos01.png

emathパッケージでは,minipage環境のベースラインを変更するには,pos=. オプションを用いています。

pos02.png

縦の長さ指定 − [tate=..] オプション

枠の縦長を指定します。

tate01.png

rectbox環境内に記述されたものは,上下の中央に配置されます。
これを上または下に寄せるには,\vfill を用います。

tate02.png

上下に分割する横線 − \rectboxhrule

枠を上下に分割する横線を引きます。

hrule01.png

tate=.. オプションを併用し,\vfill を用いる例です。

hrule02.png

枠の形状 − [rectboxoval=..,rectboxoct=..] オプション

rectbox環境の枠罫線は長方形で,四隅は直角の折れ線です。 この形状を変更するオプションを紹介します。

まずは,四隅を四分円にするのオプションが [rectboxoval=..] です。 右辺値は四分円の半径(単位を伴った長さ)です。

oval1.png

このとき,左右・上下罫線とテキスト部の間隔は,
rectboxoval=.. の右辺値となります。
ただし,hsep=.., vsep=.., hvsep=.. オプションが指定されたときは その指定が優先されます。

oval2.png

見出しをつける item=.. オプションなどとも併用できることは当然です。

oval3.png

次に,四隅から直角二等辺三角形を切り取るオプションが [rectboxoct=..] です。

oct1.png

左右の枠線のみ − [LRonly] オプション

枠罫線の上下を描画せず,左右の側線のみを描画するオプションが [LRonly] です。
下では,その部分に左インデントをつけるため,jquote環境も用いています。
LRonly01.png
さらに,[rectboxoval=..]オプションを付加すれば,左右罫線の両端は四分円となります。
もちろん,allinethickness, hsep, vsep オプションも有効です。
LRonly02.png

左の枠線のみ − [Lonly] オプション

左の側線のみを描画するオプションが [Lonly] です。
Lonly01.png

二重枠 (rectbox環境のネスト)

rectbox環境の中に rectbox環境を配置することで,二重枠の囲みを作ることが出来ます。
枠の間隔は,デフォルトでは \fboxsep ですが,外側の rectbox環境に対する hvsepオプションなどで変更可能です。
ただし,外側の rectbox環境に対して hvsep オプションで行った変更は,内側の rectbox環境にも影響を及ぼします。
doublebox01.png
外側の罫線枠を太くしています。そのためのオプション
   [allinethickness=1pt] 
を外側の rectbox環境に附加していますが,これが内側の rectbox環境にも影響を及ぼします。
従って,内側の rectbox環境に対しても [allinethickness=..] オプションが必要です。
doublebox02.png
コーナーを丸くする [rectboxoval=..] オプションを附加してみました。
doublebox04.png

傍注

rectbox環境内では,\marginparコマンドは使用できません。
代えて,\MigiRangaiコマンドを用います。
file下のソースリスト
 
boutyuu01.png

注意事項

  1. ページをまたぐことは出来ません。
    ページをまたぐには,breakrectbox環境を用います。
  2. rectbox環境は,tpic-specials を用いて枠線を描画していますが,
    picture( zahyou )環境内に配置する必要はありません。 掲示板 No.7235 参照
  3. rectbox環境は,内部で list環境を呼び出します。したがって edaenumerate環境内に配置することは出来ません。
    これを回避するために \useitemfalseコマンドを使う方法もありますが.....

関連事項

\Rectbox
EMpsrectbox環境
breakrectbox環境
enumrectbox環境?

12035

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