iiiDrawline
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
&size(24){''\iiiDrawline''};
座標空間に折れ線を描画します。
#contents
#br
*定義されているスタイルファイル [#i93e9155]
emathPk.sty
*書式 [#hb16343f]
\iiiDrawline<#1>#2
#2 に与えられた点列を線分で結んでいきます。
-#1: key=val 形式のコンマ区切りで並べます。
-#2: 点列
-点列 #2 を平面座標に変換したものを #2' として~
\Drawline<#1>{#2'}~
を呼び出します。
-#1 に有効なkey は,
:[[arrowheadsize>#arrowheadsize]]|矢印のサイズを変更しま...
:dashLG|破線の形状を指定します。
:hasenLG|破線の形状を指定します。
:[[idou>#idou]]|平行移動をします。
:[[iro>#iro]]|折れ線に色をつけます。
:[[linethickness>#linethickness]]|線分の太さを変更します。
:[[Oval>#oval]]|oval と同義のキーです。
:[[oval>#oval]]|折れ線の角を丸くします。
:[[sensyu>#sensyu]]|線種を変更します。
:[[yazirusi>#yazirusi]]|折れ線の始点・終点に矢印を付加し...
以下,emathPs.sty で定義される [[psZahyou(*)環境>pszahyou...
:[[arrowsize>#arrowsize]]|psZahyou(*) 環境における鏃のサ...
:[[dash>#dash]]|psZahyou(*) 環境における線種を変更します。
:[[kuromaru>#kuromaru]]|全ての頂点に黒丸をつけます。右辺...
:[[hasenLG>#hasenLG]]|psZahyou(*) 環境における線種を変更...
:[[linecap>#linecap]]|開いた端点処理
:[[linejoin>#lineloin]]|コーナー補正
:[[vmark>#vmark]]|折れ点に配置する記号を指定します。
*例 [#c034e410]
**基本例 [#t569613f]
点列を線分で結んで折れ線を描画します。
#ref(iiiDrawline01.png)
**線種変更 <sensyu=..> [#sensyu]
線分の線種を変更します。
まずは,<sensyu=\emdottedline..> で,点線を指定します。
これには \usepackage{multido} が必要です。
#ref(sensyu01.png)
-[[\iiiemDottedline>iiiemDottedline]]{\A\B\C} も同義のキ...
<sensyu=\dashline..> は,破線です。
#ref(sensyu02.png)
-[[\iiiDashline>iiiDashline]][40]{.1}{\A\B\C} も同義のキ...
<sensyu=\hasen..> も使えます。
#ref(sensyu03.png)
-[[\iiiHasen>iiiHasen]]{\A\B\C} も同義のキーです。
<sensyu=\chainline..> は鎖線です。
#ref(sensyu04.png)
**矢印附加 <yazirusi=..> [#yazirusi]
折れ線の始点・終点に矢印を附加します。
<yazirusi=a> とすると,終点に矢印がつきます。
#ref(yazirusi01.png)
<yazirusi=r> とすると,始点に矢印がつきます。
#ref(yazirusi02.png)
<yazirusi=b> の場合は,始点・終点両方に矢印がつきます。
#ref(yazirusi03.png)
**矢印サイズ変更 <arrowheadsize=.> [#arrowheadsize]
矢印のサイズを変更するには,zahyou(*)環境では
<yazirusi=.> オプションでサイズを指定します。
右辺値は,デフォルトを 1 とする相対値(無名数)です。
#ref(arrowheadsize01.png)
pszahyou(*)環境では,<arrowsize=..>オプションを用います。
**線幅変更(1) <linethickness=..> オプション [#linethickn...
線分の太さを変更するには,
linethickness=..
オプションを用います。右辺値は,単位を伴う長さです。
デフォルトは
Zahyou(*)環境では linethickness=0.3pt
psZahyou(*)環境では linethickness=1pt
に相当します。
#ref(linethickness01.png)
-allinethickness, linewidth も同義のキーとして使用可能で...
-線を太くすると,折れ点で「楔形の欠け」が目立つ,という場...
psZahyou環境を用います。
#ref(linethickness02.png)
**線幅変更(2) \linethickness コマンド [#z9500823]
<linethickness=..> オプションによる線幅変更は,当該 \iii...
#ref(linethickness11.png)
広範囲に変更するには,\linethickness コマンドを用います。
引数は,単位を伴った寸法です。
#ref(linethickness12.png)
**カラー <iro=..> [#iro]
折れ線に色をつけます。
#ref(iro01.png)
-tpic による色づけは,dviware に依存します。~
dvips, dviout, dvipdfm では有効ですが,~
dvipdfmx は版によって動作が異なります。~
dvipdfmx-20081108(cvs) は対応していますが,それより前の版...
カラーを扱うには psZahyou環境がお勧めです。
**丸コーナー<oval=..> [#oval]
折れ線の角を丸くします。
折れ線の角を円弧にしますが,その半径を oval=.. の右辺値...
右辺値は単位を伴う長さですが,無名数の場合は \unitlength...
Oval=.. も有効で,oval=.. と同義です。
#ref(oval01.png)
線分と円弧が接続されますが,<sensyu=..>オプションは線分...
下の例で,線分は破線になりますが,円弧は実線のままです。
#ref(oval02.png)
円弧も破線とするには,psZahyou環境で<dash=..>オプション...
#ref(oval03.png)
**平行移動 <idou=..> [#idou01]
折れ線を平行移動するオプションが <idou=..> です。
右辺値は,ベクトル成分で,各成分は
無名数,単位つき数値
のいずれでも良く,無名数の場合は単位が \unitlength であ...
(xscale, yscale の影響を受けます。)
#ref(idou01.png)
#br
**--- 以下,psZahyou環境特有の話題です。--- [#d62ceaee]
**線種変更(psZahyou(*)環境) <dash=..> [#dash]
破線を描画するには,<dash=..> オプションを用います。
右辺には,
描画部分の長さ,描画しない部分の長さ
の繰り返しとなる偶数個の数値(無名数)を与えます。
詳しくは,\setdash コマンドについてのページをご参照くだ...
#ref(dash01.png)
#ref(dash02.png)
右辺値の冒頭に [..] とすることで,
開始位置のオフセットを指定する機能があります。
下の例の場合,オフセット [.05] が指定されましたから
初めの(点Aのところ)描画部分の長さが
0.15-0.05=0.10
と短くなります。
#ref(dash03.png)
次の例は,oval=.. との併用です。
#ref(dash04.png)
さらに yazirusi=. と併用してみます。
鏃のサイズを変更するには,さらに arrowsize=.. と併用する...
#ref(dash05.png)
**線種変更(psZahyou(*)環境) <hasenLG=..> [#hasenLG]
破線で描画するもう一つのオプション <hasenLG=..> です。
下右図,2本の線分が破線で描かれていますが,
上が <dash=..>
下が <hasenLG=..>
オプションによるもので,右辺値は同一です。
dash による指定は,指定通りの長さで「描画,空白」が繰り...
hasenLG による指定は,両端が「描画」で始まり,終わるよう...
#ref(hasenLG11.png)
<hasenLG=..>オプションによる描画は,\Hasen コマンドと同...
折れ線に対しては状況が変わってきます。
下の3つの図で,
1番上は,<dash=..> によるもので,折れ点 B が不明確です。
2番目は,\Hasen コマンドによるもので,折れ点 B において...
3番目は,<hasenLG=..> によるもので,折れ点補正がかけられ...
#ref(hasenLG12.png)
#ref(hasenLG13.png)
#ref(hasenLG14.png)
-折れ点補正に関しては,[[linejoin=..オプション>#linejoin]...
-<hasenLG=..>オプションは,<oval=..>, <yazirusi=..> との...
**全ての頂点にマーク [#ac39c8f8]
全ての頂点にマークをつけます。
***<kuromaru> オプション [#kuromaru]
全ての頂点に黒丸をつけるオプションが <kuromaru> です。
#ref(kuromaru01.png)
-黒丸のサイズを変えるには,[[\KuromaruHankei>KuromaruHank...
#ref(kuromaru02.png)
***<vmark=..> オプション [#vmark]
任意の記号を配置するには,<vmark=..> オプションを用いま...
#ref(vmark01.png)
**鏃のサイズ変更(psZahyou環境)<arrowsize=..> [#arrowsize]
折れ線に矢印をつけると,鏃が貧弱に見えます。
これは,デフォルトでは矢線の幹の太さを 0.3pt として鏃サ...
ここでは幹(折れ線)は 1pt で描画されているため,バラン...
#ref(arrowsize01.png)
折れ線の太さを 0.3pt にするには,上で述べた <linewidth=3...
#ref(arrowsize02.png)
逆に鏃サイズを大きくするには
<arrowsize=..> オプション
を用います。右辺値は,\setarrowsize コマンド
\setarrowsize<#1>#2#3#4
の引数をそのまま記述します。
ただし,#2 -- 幹の太さ -- は無効です。
この場合,幹は折れ線でその太さは <linewidth=..>オプショ...
このオプションは局所的で,当該 \iiiDrawline についてのみ...
広範囲に鏃サイズを変更するには,\setarrowsizeコマンドを...
#ref(arrowsize03.png)
**接続修正(psZahyou(*)環境) <linejoin=..> [#linejoin]
折れ線の折れ点の状態は
線分を重ねただけではV字型のクサビが出来てしまいます。
PostScript には,これを修正する方法が3通り用意されていま...
それを切り替えるオプションが <linejoin=..> です。右辺値は
0 : マイター接続(デフォルト)
1 : ラウンド接続
2 : ベベル接続
のいずれかです。
まずは,Zahyou環境の状態からみていきます。
\iiiDrawline は,折れ線を描画するとはいえ,
個々の線分を重ねて配置するだけです。
線分が太くなると,V字型の切り欠きが目立ってきます。
//なお,この項は図を拡大したくなりますので
//&ref(linejoin00.pdf,,PDFファイル);を用意しました。
#ref(linejoin01.png)
psZahyou環境でも,個々の線分を描画したものを連ねた場合は...
#ref(linejoin02.png)
しかし,\iiiDrawlineの引数に点列を与えて折れ線を描画させ...
折れ点で「マイター接続」と称される補正が行われます。
すなわち,線分AB, BCの外側のエッジを延長し,交わらせます。
上の図と下の図では,`B'の位置は同じです。
下の図では,折れ線が`B'の位置近くまで延長されていること...
#ref(linejoin03.png)
マイター接続では,本来の点B と折れ線の頂点がだいぶずれて...
折れ点の接続表現法には「マイター接続」以外も用意されてい...
その一つが「ラウンド接続」です。
線幅と等しい直径を持つ円弧を折れ点を中心として描画します。
#ref(linejoin04.png)
もう一つが「ベベル接続」と呼ばれるもので,
単に線分を重ねて出来るV字型の切込みを塗りつぶします。
#ref(linejoin05.png)
- <linejoin=..>オプションは,当該 \iiiDrawline に対しての...
広範囲に有効とするには [[\setlinejoin>setlinejoin]] コマ...
**開いた端点の処理 <linecap=..> [#linecap]
線分を接続する場合,その点の処理法は linejoin の値による...
開いた端点については,linecap の値で処理を指定することが...
右辺値は 0(default), 1, 2 のいずれかです。
0 断ち切り型 (butt cap) : パスの端点において四角形に...
1 丸型 (round cap) : 直径が線幅に等しい半円弧が端点...
2 角型 (projecting square cap) : パスの端点から線幅...
#ref(linecap00.png)
#ref(linecap01.png)
#ref(linecap02.png)
- <linecap=..>オプションは,当該 \iiiDrawline に対しての...
広範囲に有効とするには [[\setlinecap>setlinecap]] コマン...
*関連事項 [#dd091464]
-[[直線の描画]]
--[[\Drawline>Drawline]]
RIGHT:&counter;
終了行:
&size(24){''\iiiDrawline''};
座標空間に折れ線を描画します。
#contents
#br
*定義されているスタイルファイル [#i93e9155]
emathPk.sty
*書式 [#hb16343f]
\iiiDrawline<#1>#2
#2 に与えられた点列を線分で結んでいきます。
-#1: key=val 形式のコンマ区切りで並べます。
-#2: 点列
-点列 #2 を平面座標に変換したものを #2' として~
\Drawline<#1>{#2'}~
を呼び出します。
-#1 に有効なkey は,
:[[arrowheadsize>#arrowheadsize]]|矢印のサイズを変更しま...
:dashLG|破線の形状を指定します。
:hasenLG|破線の形状を指定します。
:[[idou>#idou]]|平行移動をします。
:[[iro>#iro]]|折れ線に色をつけます。
:[[linethickness>#linethickness]]|線分の太さを変更します。
:[[Oval>#oval]]|oval と同義のキーです。
:[[oval>#oval]]|折れ線の角を丸くします。
:[[sensyu>#sensyu]]|線種を変更します。
:[[yazirusi>#yazirusi]]|折れ線の始点・終点に矢印を付加し...
以下,emathPs.sty で定義される [[psZahyou(*)環境>pszahyou...
:[[arrowsize>#arrowsize]]|psZahyou(*) 環境における鏃のサ...
:[[dash>#dash]]|psZahyou(*) 環境における線種を変更します。
:[[kuromaru>#kuromaru]]|全ての頂点に黒丸をつけます。右辺...
:[[hasenLG>#hasenLG]]|psZahyou(*) 環境における線種を変更...
:[[linecap>#linecap]]|開いた端点処理
:[[linejoin>#lineloin]]|コーナー補正
:[[vmark>#vmark]]|折れ点に配置する記号を指定します。
*例 [#c034e410]
**基本例 [#t569613f]
点列を線分で結んで折れ線を描画します。
#ref(iiiDrawline01.png)
**線種変更 <sensyu=..> [#sensyu]
線分の線種を変更します。
まずは,<sensyu=\emdottedline..> で,点線を指定します。
これには \usepackage{multido} が必要です。
#ref(sensyu01.png)
-[[\iiiemDottedline>iiiemDottedline]]{\A\B\C} も同義のキ...
<sensyu=\dashline..> は,破線です。
#ref(sensyu02.png)
-[[\iiiDashline>iiiDashline]][40]{.1}{\A\B\C} も同義のキ...
<sensyu=\hasen..> も使えます。
#ref(sensyu03.png)
-[[\iiiHasen>iiiHasen]]{\A\B\C} も同義のキーです。
<sensyu=\chainline..> は鎖線です。
#ref(sensyu04.png)
**矢印附加 <yazirusi=..> [#yazirusi]
折れ線の始点・終点に矢印を附加します。
<yazirusi=a> とすると,終点に矢印がつきます。
#ref(yazirusi01.png)
<yazirusi=r> とすると,始点に矢印がつきます。
#ref(yazirusi02.png)
<yazirusi=b> の場合は,始点・終点両方に矢印がつきます。
#ref(yazirusi03.png)
**矢印サイズ変更 <arrowheadsize=.> [#arrowheadsize]
矢印のサイズを変更するには,zahyou(*)環境では
<yazirusi=.> オプションでサイズを指定します。
右辺値は,デフォルトを 1 とする相対値(無名数)です。
#ref(arrowheadsize01.png)
pszahyou(*)環境では,<arrowsize=..>オプションを用います。
**線幅変更(1) <linethickness=..> オプション [#linethickn...
線分の太さを変更するには,
linethickness=..
オプションを用います。右辺値は,単位を伴う長さです。
デフォルトは
Zahyou(*)環境では linethickness=0.3pt
psZahyou(*)環境では linethickness=1pt
に相当します。
#ref(linethickness01.png)
-allinethickness, linewidth も同義のキーとして使用可能で...
-線を太くすると,折れ点で「楔形の欠け」が目立つ,という場...
psZahyou環境を用います。
#ref(linethickness02.png)
**線幅変更(2) \linethickness コマンド [#z9500823]
<linethickness=..> オプションによる線幅変更は,当該 \iii...
#ref(linethickness11.png)
広範囲に変更するには,\linethickness コマンドを用います。
引数は,単位を伴った寸法です。
#ref(linethickness12.png)
**カラー <iro=..> [#iro]
折れ線に色をつけます。
#ref(iro01.png)
-tpic による色づけは,dviware に依存します。~
dvips, dviout, dvipdfm では有効ですが,~
dvipdfmx は版によって動作が異なります。~
dvipdfmx-20081108(cvs) は対応していますが,それより前の版...
カラーを扱うには psZahyou環境がお勧めです。
**丸コーナー<oval=..> [#oval]
折れ線の角を丸くします。
折れ線の角を円弧にしますが,その半径を oval=.. の右辺値...
右辺値は単位を伴う長さですが,無名数の場合は \unitlength...
Oval=.. も有効で,oval=.. と同義です。
#ref(oval01.png)
線分と円弧が接続されますが,<sensyu=..>オプションは線分...
下の例で,線分は破線になりますが,円弧は実線のままです。
#ref(oval02.png)
円弧も破線とするには,psZahyou環境で<dash=..>オプション...
#ref(oval03.png)
**平行移動 <idou=..> [#idou01]
折れ線を平行移動するオプションが <idou=..> です。
右辺値は,ベクトル成分で,各成分は
無名数,単位つき数値
のいずれでも良く,無名数の場合は単位が \unitlength であ...
(xscale, yscale の影響を受けます。)
#ref(idou01.png)
#br
**--- 以下,psZahyou環境特有の話題です。--- [#d62ceaee]
**線種変更(psZahyou(*)環境) <dash=..> [#dash]
破線を描画するには,<dash=..> オプションを用います。
右辺には,
描画部分の長さ,描画しない部分の長さ
の繰り返しとなる偶数個の数値(無名数)を与えます。
詳しくは,\setdash コマンドについてのページをご参照くだ...
#ref(dash01.png)
#ref(dash02.png)
右辺値の冒頭に [..] とすることで,
開始位置のオフセットを指定する機能があります。
下の例の場合,オフセット [.05] が指定されましたから
初めの(点Aのところ)描画部分の長さが
0.15-0.05=0.10
と短くなります。
#ref(dash03.png)
次の例は,oval=.. との併用です。
#ref(dash04.png)
さらに yazirusi=. と併用してみます。
鏃のサイズを変更するには,さらに arrowsize=.. と併用する...
#ref(dash05.png)
**線種変更(psZahyou(*)環境) <hasenLG=..> [#hasenLG]
破線で描画するもう一つのオプション <hasenLG=..> です。
下右図,2本の線分が破線で描かれていますが,
上が <dash=..>
下が <hasenLG=..>
オプションによるもので,右辺値は同一です。
dash による指定は,指定通りの長さで「描画,空白」が繰り...
hasenLG による指定は,両端が「描画」で始まり,終わるよう...
#ref(hasenLG11.png)
<hasenLG=..>オプションによる描画は,\Hasen コマンドと同...
折れ線に対しては状況が変わってきます。
下の3つの図で,
1番上は,<dash=..> によるもので,折れ点 B が不明確です。
2番目は,\Hasen コマンドによるもので,折れ点 B において...
3番目は,<hasenLG=..> によるもので,折れ点補正がかけられ...
#ref(hasenLG12.png)
#ref(hasenLG13.png)
#ref(hasenLG14.png)
-折れ点補正に関しては,[[linejoin=..オプション>#linejoin]...
-<hasenLG=..>オプションは,<oval=..>, <yazirusi=..> との...
**全ての頂点にマーク [#ac39c8f8]
全ての頂点にマークをつけます。
***<kuromaru> オプション [#kuromaru]
全ての頂点に黒丸をつけるオプションが <kuromaru> です。
#ref(kuromaru01.png)
-黒丸のサイズを変えるには,[[\KuromaruHankei>KuromaruHank...
#ref(kuromaru02.png)
***<vmark=..> オプション [#vmark]
任意の記号を配置するには,<vmark=..> オプションを用いま...
#ref(vmark01.png)
**鏃のサイズ変更(psZahyou環境)<arrowsize=..> [#arrowsize]
折れ線に矢印をつけると,鏃が貧弱に見えます。
これは,デフォルトでは矢線の幹の太さを 0.3pt として鏃サ...
ここでは幹(折れ線)は 1pt で描画されているため,バラン...
#ref(arrowsize01.png)
折れ線の太さを 0.3pt にするには,上で述べた <linewidth=3...
#ref(arrowsize02.png)
逆に鏃サイズを大きくするには
<arrowsize=..> オプション
を用います。右辺値は,\setarrowsize コマンド
\setarrowsize<#1>#2#3#4
の引数をそのまま記述します。
ただし,#2 -- 幹の太さ -- は無効です。
この場合,幹は折れ線でその太さは <linewidth=..>オプショ...
このオプションは局所的で,当該 \iiiDrawline についてのみ...
広範囲に鏃サイズを変更するには,\setarrowsizeコマンドを...
#ref(arrowsize03.png)
**接続修正(psZahyou(*)環境) <linejoin=..> [#linejoin]
折れ線の折れ点の状態は
線分を重ねただけではV字型のクサビが出来てしまいます。
PostScript には,これを修正する方法が3通り用意されていま...
それを切り替えるオプションが <linejoin=..> です。右辺値は
0 : マイター接続(デフォルト)
1 : ラウンド接続
2 : ベベル接続
のいずれかです。
まずは,Zahyou環境の状態からみていきます。
\iiiDrawline は,折れ線を描画するとはいえ,
個々の線分を重ねて配置するだけです。
線分が太くなると,V字型の切り欠きが目立ってきます。
//なお,この項は図を拡大したくなりますので
//&ref(linejoin00.pdf,,PDFファイル);を用意しました。
#ref(linejoin01.png)
psZahyou環境でも,個々の線分を描画したものを連ねた場合は...
#ref(linejoin02.png)
しかし,\iiiDrawlineの引数に点列を与えて折れ線を描画させ...
折れ点で「マイター接続」と称される補正が行われます。
すなわち,線分AB, BCの外側のエッジを延長し,交わらせます。
上の図と下の図では,`B'の位置は同じです。
下の図では,折れ線が`B'の位置近くまで延長されていること...
#ref(linejoin03.png)
マイター接続では,本来の点B と折れ線の頂点がだいぶずれて...
折れ点の接続表現法には「マイター接続」以外も用意されてい...
その一つが「ラウンド接続」です。
線幅と等しい直径を持つ円弧を折れ点を中心として描画します。
#ref(linejoin04.png)
もう一つが「ベベル接続」と呼ばれるもので,
単に線分を重ねて出来るV字型の切込みを塗りつぶします。
#ref(linejoin05.png)
- <linejoin=..>オプションは,当該 \iiiDrawline に対しての...
広範囲に有効とするには [[\setlinejoin>setlinejoin]] コマ...
**開いた端点の処理 <linecap=..> [#linecap]
線分を接続する場合,その点の処理法は linejoin の値による...
開いた端点については,linecap の値で処理を指定することが...
右辺値は 0(default), 1, 2 のいずれかです。
0 断ち切り型 (butt cap) : パスの端点において四角形に...
1 丸型 (round cap) : 直径が線幅に等しい半円弧が端点...
2 角型 (projecting square cap) : パスの端点から線幅...
#ref(linecap00.png)
#ref(linecap01.png)
#ref(linecap02.png)
- <linecap=..>オプションは,当該 \iiiDrawline に対しての...
広範囲に有効とするには [[\setlinecap>setlinecap]] コマン...
*関連事項 [#dd091464]
-[[直線の描画]]
--[[\Drawline>Drawline]]
RIGHT:&counter;
ページ名: