このページは,開発中の環境を扱っています。~
まずは,[[psrectbox環境のページ>EMpsrectbox環境]]をご覧ください。
そのうえで,こちらをどうぞ。
問題点の指摘などは,掲示板ではなく,saloon へお願いします。

&size(24){''EMpsframed環境''};
 ページをまたぐ EMpsrectbox環境です。
 枠を post script で記述し,EPS ファイルにして読み込みます。
#contents
#br

*定義されているスタイルファイル [#ya11cfd8]
EMpsframed.sty
-emathPs.sty も必須です。EMpsframed.sty に先だって~
-EMpsframed環境は,emathPs.sty も必須です。EMpsframed.sty に先だって~
  \usepackage[dvips]{graphicx}~
  \usepackage[remake]{emathPs}~
などと読み込んでおかねばなりません。

*書式 [#rbcc3c20]
 \begin{EMpsframed}[#1]
    .....
 \end{EMpsframed}

-#1: key=val
--#1 における有効な key は 
:[[backgroundcolor>#backgroundcolor]]| 背景色を指定します。
:[[bitem>#bitem]]| 枠下辺に見出しを付加します。
:[[bitempos>#bitem]]| 枠下辺の見出し位置を指定します。
:[[dash>#dash]]| 枠線を破線で描画します。
:[[framecolor>#framecolor]]| 枠線の色を指定します。
:[[framethickness>#framethickness]]| 枠線の太さを指定します。
:[[hasenLG>#hasenLG]]| 枠線を破線で描画します。
:[[hsep>#hvsep]]| 左右の枠線と枠内テキストとの間隔を指定します。
:[[hvsep>#hvsep]]| 枠線と枠内テキストとの間隔を指定します。
:[[item>#item]]| 枠上辺に見出しを付加します。
:[[itempos>#item]]| 枠上辺の見出し位置を指定します。
//:[[kagi>#kagi]]| 左(右)枠線の上下端に短い水平罫線を付加します。
:[[LRonly>#LRonly]]| 左右の罫線のみを描画します。
:[[Lonly>#Lonly]]| 左罫線のみを描画します。
:[[rectboxoval>#rectboxoval]]| 枠のコーナーを丸くします。
:[[rectboxparindent>#rectboxparindent]]| 枠内テキストについて,段落冒頭の字下げを指定します。
:[[vsep>#hvsep]]| 上下の枠線と枠内テキストとの間隔を指定します。


*例 [#r5435a30]
**基本例 [#n99a5947]
 ページをまたぐことができる枠囲みです。
 breakpsrectbox環境が,一行ごとに切って EPS ファイルを作るのに対し,
 EMpsframed環境は,ページごとに EPS ファイルを作ります。
 下の例の場合,
   breakpsrectbo環境を使用した場合は 11個
 の eps ファイルが作られますが,
   EMpsframed環境を使用した場合は 2個
 の eps ファイルで済みます。
 eps ファイルを処理するのに gs を呼び出す dvi-ware では,この差は大きいでしょう。
#ref(ex01a.png,wrap)
#br
#ref(ex01b.png,wrap)
CENTER:&ref(ex01p.tex,,上のソースリスト);
-上の図はページをまたぐことを明示していますが,この後の図は一ページに収まったものを示しています。~
もちろんページをまたぐことは可能ですが,そのような図を用意することは面倒なので手抜きです。

**枠内のテキスト部と枠線との間隔 --[hsep=..,vsep=..,hvsep=..] オプション [#hvsep]
枠内のテキスト部と枠線との間隔は \fboxsep に従います。
#ref(hvsep00.png)
-これを変更するには,\fboxsep を変更すればよいわけではありますが,~
枠内テキストに含まれる \fbox などにも影響を及ぼしますから,EMpsrectbox環境独自の変更法を用意してあります。

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

**段落先頭のインデント -- [rectboxparindent=..]オプション [#rectboxparindent]
EMpsframed環境は,実質 minipage環境です。したがって段落先頭のインデントはつきません。
#ref(parindent00.png)
-必要な場合は[rectboxparindent=..]オプションを用います。
#ref(parindent01.png)
-このオプションは,当該環境に対してのみ働く局所的オプションです。~
もっと広範囲に有効とするには,[[\rectboxparindentコマンド>rectboxparindent]]を用います。

**見出し [#rf0b25a6]
 枠線上に見出し文字列を配置します。
***上見出し -- [item=..,itempos=..] オプション [#item]
罫線枠上辺に見出し文字列を配置するためのオプションが
[item=..]です。右辺値は,見出し文字列です。
#ref(item01.png)
-見出し配置位置を変更するオプションが [itempos=.] です。~
右辺値は~
  l: 左(デフォルト), c: 中央, r: 右~
のいずれかです。
#ref(itempos01.png)

***下見出し -- [bitem=..,bitempos=..] オプション [#bitem]
罫線枠下辺に見出し文字列を配置するためのオプションが
[bitem=..]です。
#ref(bitem01.png)
-下見出し配置位置を変更するオプションが [bitempos=.] です。~
デフォルトの位置は,r(右)です。
#ref(bitempos01.png)
-上下に見出しをつけることも可能です。
#ref(bitem02.png)

**枠線の修飾 [#f7ab5675]
***枠線の太さ指定 --[framethickness=..] オプション [#framethickness]
 枠線の太さを指定するオプションが [framethickness=..] オプションです。
 右辺値は 単位を伴う長さです。
#ref(framethickness01.png)
-デフォルト値は 1pt です。
-linethickness も同義の key として使用可能ではありますが,~
枠内の記述部に対しても働きますから,枠内に zahyou環境があったりすると影響が出ます。

***枠線色指定 --[framecolor=..] オプション [#framecolor]
枠線に色をつけるオプションです。
#ref(framecolor01.png)

***破線指定(1) --[dash=..] オプション [#dash]
 枠線を破線とするオプションが [dash=..] です。
#ref(dash01.png)

***破線指定(2) --[hasenLG=..] オプション [#hasenLG]
 dash オプションの場合,コーナーがギャップ部となってしまうことがあります。
 hasenLG オプションですと,コーナーが明確になるという利点がありますが,
 rectboxoval オプションとは併用できません。
#ref(hasenLG01.png)

**枠の形状 [#o7928ee2]
 デフォルトでは,枠罫線は長方形で,四隅は直角の折れ線です。
 この形状を変更するオプションを紹介します。
***コーナーを丸く --[rectboxoval=..] オプション [#rectboxoval]
 まずは,四隅を四分円にするのオプションが [rectboxoval=..] です。
 右辺値は四分円の半径(単位を伴った長さ)です。
#ref(oval01.png)
-見出しをつける item=.. オプションなどとも併用できることは当然です。
#ref(oval03.png)
-枠線を破線とするには,dash オプションを用います。(hasenLG オプションは rectboxoval との併用ができません。)
#ref(oval04.png)

***左右の罫線のみ --[LRonly] オプション [#LRonly]
 [LRonly] オプションは左右の罫線のみを描画します。
 (天地の罫線は描画されません。)
#ref(LRonly01.png)

***左罫線のみ --[Lonly] オプション [#Lonly]
 [Lonly] オプションは左罫線のみを描画します。
#ref(Lonly01.png)
-rectboxoval オプションとの併用も可能です。
#ref(Lonly02.png)

***二重枠 [#o30f4383]
 二重枠とするには,少し面倒な手続きが要ります。
 psframed環境は,内部で
   \FrameCommand
 を呼びます。元の framed.sty では
   \let\FramedCommand\fbox
 となっています。EMpsframed.sty では
   \psfbox
 に切り替えてあります。
 これを次のように再定義することで二重枠が作られます。
#ref(doublebox01.png)
-上の方法では,再定義が有効な範囲すべての EMpsframed環境が二重枠となります。~
再定義を局所的とするには,[framecmd=..] オプションを用いるのもあります。
#ref(doublebox02.png)

**背景色指定 --[backgroundcolor=..] オプション [#backgroundcolor]
テキスト部に背景色をつけるオプションです。
#ref(bgcolor01.png)

*関連事項 [#l1ed8765]

+EMpsframed環境は,枠を EPSファイルにしてそれを読み込みます。~
それが煩わしい,という場合は~
  [[EMpIIeframed環境]]~
を用いる方法もあります。~
ただし,そちらは dvi-ware に対する依存度が高くなり,dviout は使えません。
*注意事項 [#v35d707b]

RIGHT:&counter;


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