&size(24){''\HenKo''}; 線分の長さなどを表示するために 線分の両端を円弧で結び,その中点に文字列を配置します。 #contents #br *定義されているスタイルファイル [#y9794d10] emathPh.sty -ただし,color.sty も必要です。 *書式 [#xd0024e4] \HenKo[#1]<#2>#3#4#5 -[[#1>#m7538e61]]: 弧を点線にする場合,点の個数(*を指定した場合は,一任) -#2: key=val をコンマ区切りで並べます。 -#3,#4 : 辺両端の点 -#5 : 配置する文字列 #2 における有効な key は :[[agezoko>#agezoko]]|辺と垂直方向に端点を移動する分量を指定します。 :[[agezokoA>#agezoko]]|辺と垂直方向に始点を移動する分量を指定します。 :[[agezokoB>#agezoko]]|辺と垂直方向に終点を移動する分量を指定します。 :[[Hamidasi>#Hamidasi]]|端点をはみ出させる分量を指定します。 :[[HamidasiA>#Hamidasi]]|始点をはみ出させる分量を指定します。 :[[HamidasiB>#Hamidasi]]|終点をはみ出させる分量を指定します。 :[[hasenLG>#hasenLG]]|円弧を破線で描画します。 :[[henkocolor>#henkocolor]]|辺弧に色をつけます。 :[[henkoH>#henkoH]]|辺弧中点と辺の距離を変更します。~ デフォルト値は 1.6ex :[[henkomoziH>#henkomoziH]]|文字列配置基準点を変更します。~ 右辺値は単位を伴う長さで,辺弧中点からの距離(辺弧からの)を指定します。 :[[henkomozikaiten>#henkomozikaiten]]|文字列を線分と平行となるように回転します。~ 右辺値は 1 または -1 です。 :[[henkosep>#henkosep]]|白抜き余白量を調整します。~ デフォルト値は 1pt :[[henkosideb, henkosidet>#henkoside]]|henkotype=parallel の場合のみに有効です。 :[[henkosideoption>#henkosideoption]]|henkoside の太さ・形状を変更します。 :[[henkotype>#henkotype]]|弧の形状を指定します。右辺値は |[[0 (arc)>#arc]]| 円:デフォルト| |[[1 (ellipse)>#ellipse]]| 楕円| |[[2 (triangle)>#triangle]]|折れ線(辺と併せて三角形)| |[[3 (parallel)>#parallel]]|平行線| |[[4 (bracket)>#bracket]]| 大括弧(辺と併せて長方形)| |[[6 (trapezoid)>#trapezoid]]| 折れ線(辺と併せて等脚台形)| |[[7 (paren)>#paren]]| 小括弧(両端の四分円を線分で結ぶ)| |[[8 (brace)>#brace]]| 中括弧| :[[paintoption>#paintoption]]|弧と弦の間を塗りつぶすオプションです :[[putoption>#putoption]]|文字列位置の調整をします。~ 右辺値は \Put コマンドの配置微調整オプションです。 :[[putpos>#padb7107]]|文字列配置基準点を変更します。~ 右辺値は 0〜1 の数値で,デフォルトは 0.5(円弧の中点)~ 0に近づけば端点#3に,1に近づけば端点#4に近づきます。 :[[sironuki>#sironuki]]|白抜きをするか否かを指定します。 :[[trapezoidangle>#trapezoid]]|henkotype=trapezoid で描画される等脚台形の底角の大きさを指定します。 :[[yazirusi>#yazirusi]]|辺弧に矢印をつけます。 以下,emathPs.sty で定義されている pszahyou(*)環境特有のオプションです。 :[[dash>#dash]]|辺弧を破線で描画します。 :[[linewidth>#linewidth]]|辺弧の太さを変更します。 \HenKoTyuuten -\HenKoコマンドの実行後,[[円弧の中点の座標>#henkomoziH]]が保存されています。 \HenKoP -\HenKoコマンドの実行後,[[文字列配置基準点の座標>#henkomoziH]]が保存されています。~ -デフォルトでは,\HenKoTyuuten と同一ですが,~ オプション<putpos=.> をつけた場合はその限りではありません。 *例 [#caca8f56] **基本例 [#lfa7ce2d] コマンド\HenKo は,必須の引数を3個とります。 \HenKo{端点1}{端点2}{円弧中央に配置する文字列} #ref(HenKo01.png) **辺弧を点線で描画 [..] オプション [#m7538e61] #ref(HenKo02.png) ***点のサイズ [#bb744a25] 点線における点のサイズを変更するには, \henkodotsize#1 コマンドを用います。#1 は単位を伴う寸法です。 そのデフォルト値は 0.5pt としてあります。 #ref(henkodotsize01.png) ***辺弧を描画しない [#b1700a47] #ref(HenKo03.png) **辺弧を破線で描画 <hasenLG=..>オプション [#hasenLG] 辺弧を破線で描画するのが <hasenLG=..> オプション です。このオプションは \Enko コマンドに引き渡されます。 詳細は \Enko コマンドのページをご覧ください。 #ref(hasenLG01.png) **辺弧に色 <henkocolor=..>オプション [#henkocolor] 辺弧に色をつけるには <henkocolor=..> オプション を用います。右辺値はカラーネームです。 #ref(henkocolor1.png) -文字列のほうに色をつけるには,文字列に~ \color{...}~ を前置するまでです。(emath とは無関係の話ですが,念のため.....) #ref(henkocolor02.png) **辺弧に矢印 <yazirusi=.>オプション[#yazirusi] <yazirusi=.> オプションで,辺弧に矢印をつけることが出来ます。 右辺値は a : 終点に矢印 r : 始点に矢印 b : 両方に矢印 #ref(yazirusi1.png) **辺弧と線分の距離 <henkoH=..>オプション [#henkoH] 辺弧と線分の距離 -- 辺弧中点と線分の距離は, デフォルトでは 1.6ex となっています。 これを変更するオプションが henkoH=.. です。右辺値は単位を伴う長さです(デフォルト値 1.6ex)。 #ref(henkoH1.png) -このオプションは当該 \HenKo に対してのみ有効です。~ 広範囲に変更するには,\henkoH コマンドを用います。 **文字列位置の調整 <putoption=..>オプション [#putoption] 文字列が長いときなど、文字列を動かしたいときがあります。 そのためのオプションが <putoption=..> です。 右辺値は,\Put の配置微調整オプションです。 #ref(putoption1.png) **文字列の回転 <henkomozikaiten=..>オプション [#henkomozikaiten] 上の場合のように文字列が長い場合,文字列が線分と平行となるように回転させることも可能です。 #ref(henkomozikaiten1.png) **文字列配置基準点の変更(1) <putpos=..> オプション [#padb7107] 文字列を配置する基準点は、辺弧中点ですが, 場合によっては移動したいことがあります。 下の例では,線分ACの長さを示す x を右下に移動したくなります。 #ref(putpos1.png) **文字列配置基準点の変更(2) <henkomoziH=..> オプション [#henkomoziH] 文字列配置基準点を変更するもうひとつのオプションが henkomoziH=.. です。 上の<putpos=..>オプションは, 文字列配置基準点を円弧上で 動かします。 下の図で,黒丸がデフォルトの配置基準点 (\HenKoTyuuten), 赤丸が <putoption=..>オプションで指定した配置基準点 (\HenKoP)です。 #ref(henkomoziH1.png) それに対して,<henkomoziH=..>オプションは 辺弧の中心と辺弧の中点を結ぶ直線上 を動かします。 右辺値は,単位を伴う長さで, 辺弧中点(下図黒丸)と配置基準点(赤丸)の符号付距離 を指定します。 正の場合は,円の外部に 負の場合は,円の内部に 設定されます。 #ref(henkomoziH2.png) ---修正パック 071010 に含まれる emathPh.sty には,このオプションに対するバグがあります。~ emathPh.sty v 3.19 でフィックスされていますから,emathPh.sty を更新の上ご利用願います。 **白抜き余白量の設定 <henkosep=..>オプション [#henkosep] 辺弧と文字列を単に重ね打ちすると #ref(henkosep0.png) そこで,\HenKo では,文字列を白抜きで \colorbox{white}{文字列} として配置しています。 #ref(henkosep1.png) このさい,\fboxsep の値は 1pt に設定しています(局所的で他には影響は及びません)。 その値を変更するには henkosep=.. オプション を用います。右辺値は単位を伴う長さです。 特に,デフォルトの \fboxsep にすると 白抜きが線分ABにかかって,一部が欠けてしまいます。 これが 1pt と小さめにしている理由です。 #ref(henkosep2.png) さらに小さく 0pt にしてみましょうか。 ちょっとせせこましい感じがします。 #ref(henkosep3.png) **白抜きの制御 <sironuki=..>オプション [#sironuki] デフォルトでは,文字列は白抜きで配置されます。 しかし,文字列を辺弧の傍に配置するときは白抜きしたくないこともあります。 下の例では,白抜きの部分が辺弧にかかってしまいます。 #ref(sironuki0.png) 白抜きをするか否かを決めるオプションが <sironuki=..> で,右辺値は true false のいずれかです。下の例では false として,白抜きをせずに文字列を配置しています。 #ref(sironuki1.png) -広範囲に指定するには,~ \sironukifalse~ とします。(デフォルトは \sironukitrue) **弧の形状 [#henkotype] \HenKo で描画される弧は,デフォルトでは円弧です。 これを変更するオプションが <henkotype=..>オプション です。 ***円弧 <henkotype=arc> : デフォルト [#arc] 特に指定しなければ,円弧が描かれますが henkotype=0 あるいは henkotype=arc としても同じです。 #ref(henkotype0.png) ***楕円弧 <henkotype=ellipse> [#ellipse] 弧を楕円にするオプションが henkotype=1 あるいは henkotype=ellipse です。 #ref(henkotype1.png) 楕円弧を破線とするには,hasen=.. オプションを併用します。 ただし,この併用は pszahyou(*)環境ではできません。 代えて,<dash=..> オプションを併用します。 #ref(henkotype11.png) -ただし,hasen=..オプションとの併用は~ emathPh.sty 2007/08/24以降~ を前提とします。 ***折れ線(辺と併せて三角形) <henkotype=triangle> [#triangle] 弧を折れ線として,辺と併せて三角形となるようにするオプションが henkotype=2 あるいは hekotype=triangle です。 #ref(henkotype2.png) ***平行線 <henkotype=parallel> [#parallel] 辺と平行な線分を描画するのが henkotype=3 あるいは henkotype=parallel です。 #ref(henkotype31.png) これでは余り使い道がなさそうですが, 弧(この場合は線分)の両端に矢印を入れるとか #ref(henkotype32.png) &aname(henkoside); さらに,辺の両端と弧(この場合平行線)の両端 を結ぶ線を引くオプション henkosideb=.., henkosidet=.. を用いると,使える場面がありそうです。 #ref(henkotype33.png) これらのオプションの右辺値は実数(無名数)で 0 のとき辺の両端 1 のとき弧の両端 となります。 &aname(henkosideoption); 辺の両端と弧(弧の場合平行線)の両端 を結ぶ線を加工(線の太さ,色,破線) したいときは, <henkosideoption=..> オプションを用います。右辺値は \Drawline に引き渡されます。 #ref(henkotype34.png) ***小括弧 <henkotype=paren> [#paren] 両端に四分円を描き,それらを線分で結びます。 #ref(henkotype7.png) ***中括弧 <henkotype=brace> [#brace] #ref(henkotype8.png) ***大括弧(辺と併せて長方形) <henkotype=bracket> [#bracket] 弧を折れ線で描画し,辺と併せて長方形を作ります。 #ref(henkotype41.png) <oval=..>オプションと併用して,コーナーを丸くすることも出来ます。 #ref(henkotype42.png) ***折れ線(辺と合わせて等脚台形) <henkotype=trapezoid> [#trapezoid] 弧を折れ線で描画し,辺と併せて等脚台形を作ります。 #ref(henkotype6.png) -等脚台形の底角は 45°となっていますが,これを変更するには~ trapezoidangle=..~ オプションの右辺値に,0〜90の数値(両端の数値は除く)を与えます。 #ref(henkotype61.png) **弧と弦の間の塗りつぶし [#paintoption] 弧と弦の間を塗りつぶすオプションが <paintoption=....> です。右辺値は \emPaint に引き渡すオプションです。 #ref(paintoption01.png) -グレーの濃度を指定するには~ <thickness=..>~ とします。デフォルトの濃度に対しても~ <thickness=0.5>~ の指定が必要です。 #ref(paintoption02.png) -斜線塗りは,オプションの先頭に * を付加します。~ 斜線の角度は,弦に対する角ではなく,x軸に対する角度です。 #ref(paintoption03.png) -このオプションは次の henkotype に対してのみ有効です。~ |[[0 (arc)>#arc]]| 円:デフォルト| |[[4 (bracket)>#bracket]]| 大括弧(辺と併せて長方形)| |[[6 (trapezoid)>#trapezoid]]| 折れ線(辺と併せて等脚台形)| **----- 以下,pszahyou(*)環境における例です。----- [#hc3dec8e] **辺弧の太さ変更 <linewidth=..> オプション(pszahyou(*)環境) [#linewidth] pszahyou環境では,線が太めになります。 #ref(linewidth0.png) この場合,辺弧の太さを細くしたい,という場合に linewidth=.. オプションを用います。 右辺値は,単位を伴う長さです。無名数の場合,単位は 0.1pt とみなされます。 #ref(linewidth1.png) **辺弧を破線で描画 <dash=..> オプション(pszahyou(*)環境) [#dash] pszahyou(*)環境で,円弧を破線とするには <dash=..> オプション を用います。右辺値は \setdash コマンドの引数です。 #ref(dash1.png) **複数の \HenKo [#HenKos] 複数の \HenKo があるとき,[#1]<#2> オプションが同じものを一つにまとめるのが \HenKos コマンドです。 #ref(HenKos01.png) *注意事項 [#tyuui] +文字列の出力を \colorbox{white}{文字列}としている関係で color.sty が必須です。 +使用する dvi-ware にあわせて,~ graphicx.sty, color.sty のロードオプション~ が適切に指定されていなければなりません。 +Windows で dviout.exe を使用しているとき,文字列部分が黒塗りのボックスになる時の対策です。 ++dviout の画面で文字列部分が黒塗りとなる場合は,グラフィックスドライバが不適切です。~ \usepackage[dvips]{graphicx,color}~ と,グラフィックスドライバを明示するのがよいでしょう ( emath などの読み込みに先立って)。~ //原則として,graphics.sty, color.sty 双方のドライバはともに~ // dvips.dev~ //となります(ともに dviout.dev となっていても可)。~ //この両者が食い違っていたり,一致していても dvipdfmx.dev となっていると,~ //黒のボックスが現れることがあります。~ //読み込まれているドライバの種別を確認するには,ログファイルで~ // Package graphics Info: Driver file: ~ // Package color Info: Driver file: ~ //の右に読み込まれたドライバが記録されています。~ //対策は,~ // \usepackage[dvips]{graphicx,color}~ //と,グラフィックスドライバを明示することです。~ 【補足】 dviout のメニューバーから~ Option~ Setup Parameters~ Graphic~ とたどって,Ghostscript の項が~ On(default)~ になっていることも必要です。 ++dviout の画面では正常だが,印刷すると黒塗りボックスになるという場合は,dviout の設定の問題です。~ dviout のメニューバーから~ Option~ Setup Parameters~ Graphic~ とたどり,その下方~ color specials~ の左にチェックが入っていることを確認し,~ 右のドロップダウンリストで~ auto mode(rep)~ replace(def)~ replace(bak)~ のいずれかを選び,~ その右の Save ボタン~ さらに下の OK ボタン~ を押します。 *関連事項 [#o9bc96e0] +\HenKo の3次元版が [[\iiiHenKo>iiiHenKo]] です。 RIGHT:&counter;