\iiiDrawline

座標空間に折れ線を描画します。
 

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

emathPk.sty

書式

\iiiDrawline<#1>#2
#2 に与えられた点列を線分で結んでいきます。
  • #1: key=val 形式のコンマ区切りで並べます。
  • #2: 点列
  • 点列 #2 を平面座標に変換したものを #2' として
      \Drawline<#1>{#2'}
    を呼び出します。
  • #1 に有効なkey は,
arrowheadsize
矢印のサイズを変更します。
dashLG
破線の形状を指定します。
hasenLG
破線の形状を指定します。
idou
平行移動をします。
iro
折れ線に色をつけます。
linethickness
線分の太さを変更します。
Oval
oval と同義のキーです。
oval
折れ線の角を丸くします。
sensyu
線種を変更します。
yazirusi
折れ線の始点・終点に矢印を付加します。

以下,emathPs.sty で定義される psZahyou(*)環境特有のオプションです。

arrowsize
psZahyou(*) 環境における鏃のサイズを変更します。
dash
psZahyou(*) 環境における線種を変更します。
kuromaru
全ての頂点に黒丸をつけます。右辺値に \Kuromaru コマンドのオプションを記述することも出来ます。
hasenLG
psZahyou(*) 環境における線種を変更します。
linecap
開いた端点処理
linejoin
コーナー補正
vmark
折れ点に配置する記号を指定します。

基本例

点列を線分で結んで折れ線を描画します。
iiiDrawline01.png

線種変更 <sensyu=..>

線分の線種を変更します。
まずは,<sensyu=\emdottedline..> で,点線を指定します。
これには \usepackage{multido} が必要です。
sensyu01.png
  • \iiiemDottedline?{\A\B\C} も同義のキーです。
<sensyu=\dashline..> は,破線です。
sensyu02.png
  • \iiiDashline?[40]{.1}{\A\B\C} も同義のキーです。
<sensyu=\hasen..> も使えます。
sensyu03.png
  • \iiiHasen?{\A\B\C} も同義のキーです。
<sensyu=\chainline..> は鎖線です。
sensyu04.png

矢印附加 <yazirusi=..>

折れ線の始点・終点に矢印を附加します。
<yazirusi=a> とすると,終点に矢印がつきます。
yazirusi01.png
<yazirusi=r> とすると,始点に矢印がつきます。
yazirusi02.png
<yazirusi=b> の場合は,始点・終点両方に矢印がつきます。
yazirusi03.png

矢印サイズ変更 <arrowheadsize=.>

矢印のサイズを変更するには,zahyou(*)環境では
<yazirusi=.> オプションでサイズを指定します。
右辺値は,デフォルトを 1 とする相対値(無名数)です。
arrowheadsize01.png
pszahyou(*)環境では,<arrowsize=..>オプションを用います。

線幅変更(1) <linethickness=..> オプション

線分の太さを変更するには,
  linethickness=..
オプションを用います。右辺値は,単位を伴う長さです。
デフォルトは
  Zahyou(*)環境では linethickness=0.3pt
  psZahyou(*)環境では linethickness=1pt
に相当します。
linethickness01.png
  • allinethickness, linewidth も同義のキーとして使用可能です。
  • 線を太くすると,折れ点で「楔形の欠け」が目立つ,という場合は
    psZahyou環境を用います。
linethickness02.png

線幅変更(2) \linethickness コマンド

<linethickness=..> オプションによる線幅変更は,当該 \iiiDrawline にのみ有効です。
linethickness11.png
広範囲に変更するには,\linethickness コマンドを用います。
引数は,単位を伴った寸法です。
linethickness12.png

カラー  <iro=..>

折れ線に色をつけます。
iro01.png
  • tpic による色づけは,dviware に依存します。
    dvips, dviout, dvipdfm では有効ですが,
    dvipdfmx は版によって動作が異なります。
    dvipdfmx-20081108(cvs) は対応していますが,それより前の版では色がつかない場合があります。
    カラーを扱うには psZahyou環境がお勧めです。

丸コーナー<oval=..>

折れ線の角を丸くします。
折れ線の角を円弧にしますが,その半径を oval=.. の右辺値に指定します。
右辺値は単位を伴う長さですが,無名数の場合は \unitlength が単位であるとみなされます。
Oval=.. も有効で,oval=.. と同義です。
oval01.png
線分と円弧が接続されますが,<sensyu=..>オプションは線分に対してのみ働きます。
下の例で,線分は破線になりますが,円弧は実線のままです。
oval02.png
円弧も破線とするには,psZahyou環境で<dash=..>オプションを用います。
oval03.png

平行移動 <idou=..>

折れ線を平行移動するオプションが <idou=..> です。
右辺値は,ベクトル成分で,各成分は
  無名数,単位つき数値
のいずれでも良く,無名数の場合は単位が \unitlength であると解釈されます。
         (xscale, yscale の影響を受けます。)
idou01.png
 

--- 以下,psZahyou環境特有の話題です。---

線種変更(psZahyou(*)環境) <dash=..>

破線を描画するには,<dash=..> オプションを用います。
右辺には,
  描画部分の長さ,描画しない部分の長さ
の繰り返しとなる偶数個の数値(無名数)を与えます。
詳しくは,\setdash コマンドについてのページをご参照ください。
dash01.png
dash02.png
右辺値の冒頭に [..] とすることで,
開始位置のオフセットを指定する機能があります。
下の例の場合,オフセット [.05] が指定されましたから
初めの(点Aのところ)描画部分の長さが
  0.15-0.05=0.10
と短くなります。
dash03.png
次の例は,oval=.. との併用です。
dash04.png
さらに yazirusi=. と併用してみます。
鏃のサイズを変更するには,さらに arrowsize=.. と併用することとなります。
dash05.png

線種変更(psZahyou(*)環境) <hasenLG=..>

破線で描画するもう一つのオプション <hasenLG=..> です。
下右図,2本の線分が破線で描かれていますが,
  上が <dash=..>
  下が <hasenLG=..>
オプションによるもので,右辺値は同一です。
dash による指定は,指定通りの長さで「描画,空白」が繰り返されますが,
hasenLG による指定は,両端が「描画」で始まり,終わるように長さが調整されます。
hasenLG11.png
<hasenLG=..>オプションによる描画は,\Hasen コマンドと同様ですが,
折れ線に対しては状況が変わってきます。
下の3つの図で,
1番上は,<dash=..> によるもので,折れ点 B が不明確です。
2番目は,\Hasen コマンドによるもので,折れ点 B において,V字上の欠けが見られます。
3番目は,<hasenLG=..> によるもので,折れ点補正がかけられています。
hasenLG12.png
hasenLG13.png
hasenLG14.png
  • 折れ点補正に関しては,linejoin=..オプションをご覧ください。
  • <hasenLG=..>オプションは,<oval=..>, <yazirusi=..> との併用はできません。

全ての頂点にマーク

全ての頂点にマークをつけます。

<kuromaru> オプション

全ての頂点に黒丸をつけるオプションが <kuromaru> です。
kuromaru01.png
  • 黒丸のサイズを変えるには,\KuromaruHankei コマンドを発行しておきます。
kuromaru02.png

<vmark=..> オプション

任意の記号を配置するには,<vmark=..> オプションを用います。
vmark01.png

鏃のサイズ変更(psZahyou環境)<arrowsize=..>

折れ線に矢印をつけると,鏃が貧弱に見えます。
これは,デフォルトでは矢線の幹の太さを 0.3pt として鏃サイズが設定されているのに対し,
ここでは幹(折れ線)は 1pt で描画されているため,バランスが崩れていることによります。
arrowsize01.png
折れ線の太さを 0.3pt にするには,上で述べた <linewidth=3> オプションを用います。
arrowsize02.png
逆に鏃サイズを大きくするには
  <arrowsize=..> オプション
を用います。右辺値は,\setarrowsize コマンド
  \setarrowsize<#1>#2#3#4
の引数をそのまま記述します。
ただし,#2 -- 幹の太さ -- は無効です。
この場合,幹は折れ線でその太さは <linewidth=..>オプションで変更します。
このオプションは局所的で,当該 \iiiDrawline についてのみ有効です。
広範囲に鏃サイズを変更するには,\setarrowsizeコマンドを用います。
arrowsize03.png

接続修正(psZahyou(*)環境) <linejoin=..>

折れ線の折れ点の状態は
線分を重ねただけではV字型のクサビが出来てしまいます。
PostScript には,これを修正する方法が3通り用意されています。
それを切り替えるオプションが <linejoin=..> です。右辺値は
  0 : マイター接続(デフォルト)
  1 : ラウンド接続
  2 : ベベル接続
のいずれかです。
まずは,Zahyou環境の状態からみていきます。
\iiiDrawline は,折れ線を描画するとはいえ,
個々の線分を重ねて配置するだけです。
線分が太くなると,V字型の切り欠きが目立ってきます。
linejoin01.png
psZahyou環境でも,個々の線分を描画したものを連ねた場合は,上と同様です。
linejoin02.png
しかし,\iiiDrawlineの引数に点列を与えて折れ線を描画させると,
折れ点で「マイター接続」と称される補正が行われます。
すなわち,線分AB, BCの外側のエッジを延長し,交わらせます。
上の図と下の図では,`B'の位置は同じです。
下の図では,折れ線が`B'の位置近くまで延長されていることがお分かりでしょうか。
linejoin03.png
マイター接続では,本来の点B と折れ線の頂点がだいぶずれてしまいます。
折れ点の接続表現法には「マイター接続」以外も用意されています。
その一つが「ラウンド接続」です。
線幅と等しい直径を持つ円弧を折れ点を中心として描画します。
linejoin04.png
もう一つが「ベベル接続」と呼ばれるもので,
単に線分を重ねて出来るV字型の切込みを塗りつぶします。
linejoin05.png
  • <linejoin=..>オプションは,当該 \iiiDrawline に対してのみ有効です。
    広範囲に有効とするには \setlinejoin? コマンドを用います。

開いた端点の処理 <linecap=..>

線分を接続する場合,その点の処理法は linejoin の値によることは上で述べた通りですが,
開いた端点については,linecap の値で処理を指定することが出来ます。
右辺値は 0(default), 1, 2 のいずれかです。
  0 断ち切り型 (butt cap) : パスの端点において四角形に線を打ち切る。パスの端点から突出する部分はない。
  1 丸型 (round cap) : 直径が線幅に等しい半円弧が端点の周囲に描かれ,内部が塗りつぶされる。
  2 角型 (projecting square cap) : パスの端点から線幅の半分の距離を越えるまで線を引き続け,四角形に線を打ち切る。
linecap00.png
linecap01.png
linecap02.png
  • <linecap=..>オプションは,当該 \iiiDrawline に対してのみ有効です。
    広範囲に有効とするには \setlinecap? コマンドを用います。

関連事項


添付ファイル: fileyazirusi03.png 115件 [詳細] fileyazirusi02.png 120件 [詳細] fileyazirusi01.png 142件 [詳細] filevmark01.png 134件 [詳細] filesensyu04.png 128件 [詳細] filesensyu03.png 120件 [詳細] filesensyu02.png 117件 [詳細] filesensyu01.png 111件 [詳細] fileoval03.png 145件 [詳細] fileoval02.png 103件 [詳細] fileoval01.png 125件 [詳細] filelinethickness12.png 126件 [詳細] filelinethickness11.png 114件 [詳細] filelinethickness02.png 115件 [詳細] filelinethickness01.png 126件 [詳細] filelinejoin05.png 115件 [詳細] filelinejoin04.png 112件 [詳細] filelinejoin03.png 112件 [詳細] filelinejoin02.png 120件 [詳細] filelinejoin01.png 111件 [詳細] filelinecap02.png 125件 [詳細] filelinecap01.png 118件 [詳細] filelinecap00.png 127件 [詳細] filekuromaru02.png 125件 [詳細] filekuromaru01.png 128件 [詳細] fileiro01.png 121件 [詳細] fileiiiDrawline41.png 60件 [詳細] fileiiiDrawline40.png 59件 [詳細] fileiiiDrawline39.png 63件 [詳細] fileiiiDrawline38.png 54件 [詳細] fileiiiDrawline37.png 56件 [詳細] fileiiiDrawline36.png 70件 [詳細] fileiiiDrawline35.png 65件 [詳細] fileiiiDrawline34.png 64件 [詳細] fileiiiDrawline33.png 70件 [詳細] fileiiiDrawline32.png 74件 [詳細] fileiiiDrawline31.png 71件 [詳細] fileiiiDrawline30.png 64件 [詳細] fileiiiDrawline29.png 61件 [詳細] fileiiiDrawline28.png 79件 [詳細] fileiiiDrawline27.png 67件 [詳細] fileiiiDrawline26.png 76件 [詳細] fileiiiDrawline25.png 73件 [詳細] fileiiiDrawline24.png 66件 [詳細] fileiiiDrawline23.png 75件 [詳細] fileiiiDrawline22.png 58件 [詳細] fileiiiDrawline21.png 68件 [詳細] fileiiiDrawline20.png 55件 [詳細] fileiiiDrawline19.png 69件 [詳細] fileiiiDrawline18.png 59件 [詳細] fileiiiDrawline17.png 75件 [詳細] fileiiiDrawline16.png 61件 [詳細] fileiiiDrawline15.png 65件 [詳細] fileiiiDrawline14.png 65件 [詳細] fileiiiDrawline13.png 63件 [詳細] fileiiiDrawline12.png 56件 [詳細] fileiiiDrawline11.png 63件 [詳細] fileiiiDrawline10.png 69件 [詳細] fileiiiDrawline09.png 70件 [詳細] fileiiiDrawline08.png 70件 [詳細] fileiiiDrawline07.png 70件 [詳細] fileiiiDrawline06.png 69件 [詳細] fileiiiDrawline05.png 66件 [詳細] fileiiiDrawline04.png 73件 [詳細] fileiiiDrawline03.png 71件 [詳細] fileiiiDrawline02.png 68件 [詳細] fileiiiDrawline01.png 121件 [詳細] fileidou01.png 110件 [詳細] filehasenLG14.png 130件 [詳細] filehasenLG13.png 143件 [詳細] filehasenLG12.png 112件 [詳細] filehasenLG11.png 123件 [詳細] filedash05.png 120件 [詳細] filedash04.png 130件 [詳細] filedash03.png 148件 [詳細] filedash02.png 131件 [詳細] filedash01.png 119件 [詳細] filearrowsize03.png 112件 [詳細] filearrowsize02.png 111件 [詳細] filearrowsize01.png 114件 [詳細] filearrowheadsize01.png 129件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-02 (月) 20:24:22 (2208d)