&size(24){''rectbox環境''};
 テキストを枠で囲みます。
 枠線は \vrule など tex の機能を用いて描画されます。
 枠の横幅は,\linewidth です。
#contents
#br
*定義されているスタイルファイル [#uc250ae8]
EMfbox.sty
-丸ごとパックなど,emath の古いバージョンでは emathPb.sty で定義されていました。
*書式 [#syosiki]
 \begin{rectbox}[#1]
 .....
 \end{rectbox}
#1 key=val をコンマ区切りで並べます。有効な key は
>
[[apnzahyou>#apnzahyou]]~
[[backgroundcolor>#bgcolor]]~
[[bgcolor>#bgcolor]]~
[[bitem>#bitem]]~
[[bitempos>#bitem]]~
[[framecolor>#framecolor]]~
[[framethickness>#framethickness]]~
[[hasenLG>#hasenLG]]~
[[hsep>#hvsep]]~
[[hvsep>#hvsep]]~
[[item>#item]]~
[[itemmargin>#itemmargin]]~
[[itempos>#item]]~
[[kagi>#kagi]]~
[[labelsep>#labelsep]]~
[[LRonly>#LRonly]]~
[[Lonly>#Lonly]]~
[[pos>#pos]]~
//[[postbitem>#prebitem]]~
//[[postitem>#preitem]]~
//[[prebitem>#prebitem]]~
//[[preitem>#preitem]]~
[[rectboxoval>#oval]]~
[[rectboxparindent>#parindent]]~
[[shade>#shade]]~
[[shadecolor>#shadecolor]]~
[[tate>#tate]]~
[[TBonly>#TBonly]]~
[[vsep>#hvsep]]~
-#1 key=val をコンマ区切りで並べます。有効な key は
:[[apnzahyou>#apnzahyou]]|
:[[apnzahyouafter>#apnzahyouafter]]|
:[[backgroundcolor>#bgcolor]]|
:[[bgcolor>#bgcolor]]|
:[[bitem>#bitem]]|
:[[bitempos>#bitem]]|
:[[framecolor>#framecolor]]|
:[[framethickness>#framethickness]]|
:[[hasenLG>#hasenLG]]|
:[[hsep>#hvsep]]|
:[[hvsep>#hvsep]]|
:[[item>#item]]|
:[[itemmargin>#itemmargin]]|
:[[itempos>#item]]|
:[[kagi>#kagi]]|
:[[labelsep>#labelsep]]|
:[[LRonly>#LRonly]]|
:[[Lonly>#Lonly]]|
:[[pos>#pos]]|
//:[[postbitem>#prebitem]]|
//:[[postitem>#preitem]]|
//:[[prebitem>#prebitem]]|
//:[[preitem>#preitem]]|
:[[rectboxoval>#oval]]|
:[[rectboxparindent>#parindent]]|
:[[shade>#shade]]|
:[[shadecolor>#shadecolor]]|
:[[tate>#tate]]|
:[[TBonly>#TBonly]]|
:[[vsep>#hvsep]]|

 \HVsep#1#2
:[[#1>#HVsep]]|左右枠線と中のテキストとの間隔
:[[#2>#HVsep]]|上下枠線と中のテキストとの間隔
*例 [#q5c73081]
**基本例 [#ofe24f72]
 rectbox環境内の文を,
   長方形の枠
 で囲みます。
 横幅は,\linewidth に従います。
#ref(rectbox01.png)
CENTER:&ref(rectbox01ap.tex,,上のソースリスト);
CENTER:&ref(rectbox01old.tex,,丸ごとパックでも動作するリスト);
**枠内のテキスト部と枠線との間隔 [#v312a1c5]
枠内のテキスト部と枠線との間隔は \fboxsep に従います。
これを変更する方法を述べます。
***[hsep=..,vsep=..,hvsep=..] オプション [#hvsep]
 まずは,左右の罫線とテキスト部との間隔です。[hsep=..]の右辺値は単位つきの長さです。
#ref(hsep1.png)
 上下の罫線との間隔変更は [vsep=..] オプションです。
#ref(vsep1.png)
 もちろん,両者を併用することも出来ますが
#ref(hvsep1.png)
 両者が同じ長さのときは [hvsep=..] オプションでまとめて指定できます。
#ref(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]
rectbox環境は,実質 minipage環境です。したがって段落先頭のインデントはつきません。~
必要な場合は[rectboxparindent=..]オプションを用います。
#ref(rectboxparindent01.png)
-このオプションは,当該環境に対してのみ働く局所的オプションです。~
もっと広範囲に有効とするには,[[\rectboxparindentコマンド>rectboxparindent]]を用います。
**見出し [#zed4662f]
***上枠線上に見出し − [item=..,itempos=..] オプション [#item]
 罫線枠上辺に見出し文字列を配置するためのオプションが
   [item=..]です。
#ref(item1.png)
 見出し配置位置を変更するオプションが [itempos=.] です。
#ref(itempos1.png)
 見出しに背景色をつけたければ,\colorbox コマンドを利用します。
#ref(item02.png)
-[item=...] の右辺値に,'=' または ',' が含まれる場合は,右辺値全体を{...}と括っておかなければなりません。
***下枠線上に見出し − [bitem=..,bitempos=..] オプション [#bitem]
 罫線枠下辺に見出し文字列を配置するためのオプションが
   [bitem=..]です。
#ref(bitem1.png)
下見出し配置位置を変更するオプションが [bitempos=.] です。
#ref(bitempos1.png)
上下に見出しをつけることも可能です。
#ref(bitem2.png)
***見出しと枠コーナーとの距離 [#itemmargin]
***枠内上部に見出し [#apnzahyou]
-見出しを枠内上部に付けるには,rectbox環境が zahyou*環境内にあることを利用します。~
枠の~
  左上端点:\LT~
  左下端点:\LB~
  右上端点:\RT~
  右下端点:\RB~
を基準として,zahyou*環境内に記述すべきものを~
  psrectbox環境の [apnzahyou=...] オプション
に与えます。
#ref(wakunaimidasi01.png)
-見出し部と本文との間の横罫線を引くのには \Rotateline を用いています。~
\Drawline を用いるのもありますが,こちらは tpic-specials で描画されますから,,
dvi-ware に依存します。~
\Rotateline は TeX の \vrule を用いています。
-見出しブロックに背景色を付加するには,apnzahyou=.. の右辺値に~
  \Nuritubusi{...}~
を記述します。
#ref(wakunaimidasi02.png)
***枠内左に見出し [#k6ee408e]
-枠内左を見出しブロックとすることも同様です。~
この場合,見出し文を \Put で配置することも出来ますが,~
右側本文の1行目と揃えたければ,本文1行目に左に突き出す形で配置するのもあるでしょう。
#ref(wakunaimidasiL01.png)
***枠コーナーに見出し [#g66aaeec]
-枠コーナーに見出しを配置するには,[[EMpsrectbox環境>EMpsrectbox環境#corner]]を用います。
**枠線の修飾 [#j2e6ae42]
***枠線の太さ指定 − [framethickness=..] オプション [#framethickness]
枠線の太さを指定するオプションが [framethickness=..] オプションです。
右辺値は単位を伴う長さです。
 下の例では,枠線の太さは 1pt です。
 なおデフォルトは [framethickness=0.3pt] に相当します。
#ref(framethickness01.png)
***枠線を破線で − [hasenLG=..] オプション [#hasenLG]
枠線を破線とするには,[hasenLG=..] オプションを用います。
#ref(hasenLG01.png)
***枠線色指定 − [framecolor=..] オプション [#framecolor]
枠線に色をつけるオプションです。
#ref(framecolor1.png)
***横仕切り線 [#ube5e3db]
 枠内で,横幅一杯の仕切り線を引くには,\rectboxsikiri コマンドを用います。
#ref(rectboxsikiri01.png)
***影付き [#shade]
 枠線右・下に影をつけるオプションが [shade] です。
#ref(shade01.png)
-デフォルトでは,影の線幅は 5pt ですが,オプションの右辺値で変更可能です。
#ref(shade02.png)
-上見出しをつけることも出来ます。
#ref(shade03.png)
-&aname(shadecolor);影の部分の色を指定するには,[shadecolor=..] オプションを用います。
#ref(shadecolor01.png)
#ref(shadecolor01p.tex,center,上のソースリスト)
**枠の形状 [#u44017d1]
***丸コーナー − [rectboxoval=..] オプション [#oval]
 枠の四隅を四分円で描画します。
 ただし,この機能は,tpic-specials を用います。
 また,四隅の四分円と,水平・垂直罫線との接続に難があります。
 気になる,という場合は,PostScript を用いる
   EMpsrectbox環境,EMpsframed環境,or EMpIIeframed環境
 などの利用をご検討ください。
#ref(oval01.png)
-tpic-specials を用いますから,emathPh.sty を読み込んでおくことが必要です。
-このオプションを指定した場合は,罫線と中のテキストとの間隔は rectboxoval=.. の
右辺値となります。~
ただし,hsep, vsep, hvsep オプションを指定した場合は,その指定が優先されます。
#ref(oval02.png)
-hasenLG オプションとの併用はできません。~
枠線を破線で描画をしたい場合は PostScript を用いる~
  [[EMpsrectbox環境]],[[EMpsframed環境]],or [[EMpIIeframed環境]]~
などの利用をご検討ください。
-dvipdfmx を用いて PDF を作成する場合は,graphicx.sty, color.sty に対して~
グラフィックスドライバの指定が必須です:~
  \usepackage[dvipdfmx]{graphicx,color}~
これを怠ると,下のようにヒゲが生えることがあります。
#ref(oval03.png,center,wrap)
***左右の枠線のみ − [LRonly] オプション [#LRonly]
 枠罫線の上下を描画せず,左右の側線のみを描画するオプションが [LRonly] です。
 下では,その部分に左インデントをつけるため,jquote環境も用いています。
#ref(LRonly01.png)
***左の枠線のみ − [Lonly] オプション [#Lonly]
 左の側線のみを描画するオプションが [Lonly] です。
#ref(Lonly01.png)
-左側線の両端に短い水平罫線を付加するオプションが [kagi=..]です。~
右辺値は水平罫線の長さを単位付きの寸法で指定します。&aname(kagi);
#ref(kagi01.png)
***天地の罫線のみ --[TBonly] オプション  [#TBonly]
 [TBonly] オプションは上下の罫線のみを描画します。
 (左右の罫線は描画されません。)
#ref(TBonly01.png)
-背景色を付ける例です。
#ref(TBonly02.png)
-kagi オプションと併用する例です。
#ref(kagi03.png)
***枠線なし [#q397ede8]
 枠線を描画したくないときは [framethickness=0pt] とします。
#ref(framethickness02.png)
***二重枠 (rectbox環境のネスト) [#tae1a931]
 rectbox環境の中に rectbox環境を配置することで,二重枠線の囲みを作ることが出来ます。
 枠の間隔は,デフォルトでは \fboxsep ですが,外側の rectbox環境に対する hvsepオプションなどで変更可能です。
 ただし,外側の rectbox環境に対して hvsep オプションで行った変更は,内側の rectbox環境にも影響を及ぼします。
#ref(doublebox01.png)
 外側の罫線枠を太くしています。そのためのオプション
    [framethickness=1pt] 
 を外側の rectbox環境に附加していますが,これが内側の rectbox環境にも影響を及ぼします。
 従って,内側の rectbox環境に対しても [framethickness=..] オプションが必要です。
#ref(doublebox02.png)
**背景色指定 − [backgroundecolor=..] オプション [#bgcolor]
テキスト部に背景色をつけるオプションです。
#ref(bgcolor1a.png)
-ただし,この機能は tpic-specials によって実現されています。~
tpic-specials color は,dvi-ware に依存します。~
dvipdfmx は,そのバージョンによっては真っ黒になったりします。~
カラーを扱うなら,PostScript を用いる~
   EMpsrectbox環境,EMpsframed環境,or EMpIIeframed環境~
などの利用をお勧めします。
//-減色係数オプション <.3> をつけるには,emathPs.sty が必要です。
-bgcolor も backgroundcolor と同義のキーです(省略形)。
**ベースライン − [pos=..] オプション [#pos]
 rectbox環境は,実質 minipage環境です。
 従ってそのベースラインは,minipage環境のベースラインであり,
 デフォルトは c (中央)となります。
 rectbox環境は横いっぱいに広がりますから,ベースラインが問題となることはありません。
 ただし,何らかの状況で,他と横に並ぶことがあると,ベースラインを他とそろえる必要が生じます。~
 下では,EMminipages環境を用いて,ミニページを横に並べています。~
 左は通常のテキスト,右は rectbox環境です。
 左のベースライン(黒)と,右のベースライン(赤)が一致していますが.....
#ref(pos00.png,wrap)
-ベースラインは一致していますが,頭が不揃いになっている方に目がいきます。~
これを揃えるには,rectbox環境に [pos=t] オプションを付加します。
#ref(pos01.png,wrap)
//**縦の長さ指定 − [tate=..] オプション [#tate]
//枠の縦長を指定します。
//#ref(tate01.png)
//rectbox環境内に記述されたものは,上下の中央に配置されます。~
//これを上または下に寄せるには,\vfill を用います。
//#ref(tate02.png)
//-tate=.. オプションは,emathPb.sty 2007/10/29 以降で有効です。
//**上下に分割する横線 − \rectboxhrule [#rectboxhrule]
//枠を上下に分割する横線を引きます。
//#ref(hrule01.png)
//tate=.. オプションを併用し,\vfill を用いる例です。
//#ref(hrule02.png)
//-\rectboxhrule コマンドは rectbox内でのみ使用可能です。
//-\rectboxhrule コマンドは,emathPb.sty 2007/11/14 以降で有効です。
**枠の横幅 [#mda45a5a]
-枠の横幅はデフォルトでは \linewidth で,版面・左右いっぱいに拡がります。~
これを制限したい場合は,minipage環境内に rectbox を配置します。
#ref(minipage01.png)
-この場合,minipage の横幅は枠全体の横幅であって,枠内テキストの幅ではありません。~
テキストの横幅を指定して,枠で囲むには~
  rectbox環境~
ではなく,~
  \fbox or \EMfbox~
などのコマンドを用います。
#ref(minipage02.png)
**枠の横位置(左右インデント) [#h130eb4b]
 枠に左右のインデントを付けるには,jquote環境を用います。
#ref(LRskip01.png)
-rectbox環境の枠と上下の段落との縦間隔が気になりますか。~
これは,jquote環境が list系環境であることに起因します。~
一つの対策は,jquote環境に代えて EMchangeLRskip環境を用いることです。
#ref(LRskip02.png)
-詰まりすぎですか。では,EMchangeLRskip に~
  <vsep/tsep/bsep=..>~
オプションを付加します。
#ref(LRskip03.png)
-左インデントに負の値を指定すれば,枠は版面の左に突き出します。
#ref(LRskip04.png)
--上の例では,jquote環境を用いていますが,EMchangeLRskip環境でも同様です。
**枠の縦幅 [#tate]
***縦幅指定 [#l3df7a76]
 枠の縦幅を指定するには,[tate=..] オプションを用います。
#ref(tate01.png)
-指定した縦幅は,枠の縦幅であって,中のテキストの縦幅ではありません。
***版面いっぱいの枠 [#m9813af0]
 版面いっぱいの枠を作るには,[tate=\textheight] とします。
#ref(tate02.png,wrap)
#ref(tate02p.tex,center,上のソースリスト)
***残り高さいっぱいの枠 [#caca57f1]
 ページの途中から,残りいっぱいに枠で囲むには,\nokoritakasa コマンドで,
 残りの高さを取得します。
#ref(tate03.png,wrap)
#ref(tate03p.tex,center,上のソースリスト)
-上の例では
   \nokoritakasa\tmp
 として,残りの高さを取得した後
   [takasa=\tmp-.5zw]
 オプションを指定しています。単に
   [takasa=\tmp]
 とすると,枠は次ページに送られてしまいます。
**傍注 [#x9179dba]
 rectbox環境内では,\marginparコマンドは使用できません。
 代えて,\MigiRangaiコマンドを用います。
CENTER:&ref(boutyuu01p.tex,,下のソースリスト);
#br
#ref(boutyuu01.png)
-ただし,このコマンドは emathBk.sty で定義されていますから,それを読み込んでおく必要があります。
-傍注記号を付与するなど,細かいことは[[\MigiRangaiのページ>MigiRangai]]をご覧ください。
-上の例(画像)では,rectbox環境の枠線の他に,
本文領域・傍注領域を示す枠線も表示してあります。
**脚注 [#f1fcb2f7]
rectbox環境は,内部で minipage環境を用いています。~
minipage環境内では,\footnote は minipage の終了直後に出力されますが,~
rectbox環境では,本文と同様にページ下部に出力するようにしてあります。
#ref(footnote01.png,wrap)
これを,minipage直後に,すなわち,rectbox環境内に出力したいときは,~
\EMminipagefootnote を宣言しておきます。
#ref(footnote02.png,wrap)
*注意事項 [#jcaaa11f]
+ ページをまたぐことは出来ません。~
ページをまたぐには,[[breakrectbox環境]] あるいは [[EMframed環境]] を用います。
+ rectbox環境は,内部で list環境を呼び出します。したがって edaenumerate環境内に配置することは出来ません。~
これを回避するために [[\useitemfalse>useitemfalse]]コマンドを使う方法もありますが.....
//+emath と独立に rectbox環境を使用するには
// \usepackage{emathC}%
// \usepackage{jquote}%
// \usepackage{epic}%
// %\usepackage{eepic}% 必要に応じて
// \usepackage[onlyP]{emathPh}%
// \usepackage{emathPb}%
//と記述します。
*関連事項 [#q246711c]
-[[囲み枠]]
--[[\psfbox>psfbox]]
--[[EMpsrectbox環境]]
--[[breakrectbox環境]]
--[[EMpsframed環境]]
--[[EMpIIeframed環境]]
RIGHT:&counter;

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