矢印シェイプ

矢印の形状は、以下の簡単な文法を使用して指定および命名できます。終端記号は太字で、非終端記号はイタリック体で示します。リテラル文字はシングルクォートで囲みます。角括弧 `[` と `]` はオプションの項目を囲みます。縦棒 `|` は選択肢を区切ります。

文法

arrowname : aname [ aname [ aname [ aname ] ] ]
aname : [ modifiers ] shape
modifiers : [ 'o' ] [ side ]
side : 'l'
| 'r'
shape : box
| crow
| curve
| icurve
| diamond
| dot
| inv
| none
| normal
| tee
| vee

基本シェイプ

シェイプ 画像
box
crow
curve
diamond
dot
icurve
inv
none
normal
tee
vee

シェイプ修飾子

修飾子に関しては

'l'
シェイプをクリップし、エッジの左側の部分のみを残します。
'r'
シェイプをクリップし、エッジの右側の部分のみを残します。
'o'
シェイプの open(塗りつぶされていない)バージョンを使用します。

左右は、矢印がノードに「接触」する点に向かってエッジから見た方向として定義されます。

例として、矢印シェイプ `lteeoldiamond` は `'l' 'tee' 'o' 'l' 'diamond'` として解析され、次のシェイプに対応します

指定された最初の矢印シェイプがノードに最も近接していることに注意してください。後続の矢印シェイプは、指定されている場合、ノードからさらに離れた位置に配置されます。また、`none` のシェイプはスペースを使用するため、たとえば、矢印 `nonenormal` は `normal` と同じではありません。

構文的に有効なすべての修飾子の組み合わせが意味のある、または意味的に有効であるとは限りません。たとえば、`none` ではどの修飾子も意味がありません。次の表は、どの修飾子がどのシェイプで許可されているかを示しています。

修飾子 'l'/'r' o
box
crow
curve
diamond
dot
icurve
inv
none
normal
tee
vee

これにより、42種類の矢印シェイプが得られます。オプションの2番目、3番目、4番目のシェイプは、それぞれ独立して42種類のいずれかを選択できますが、最後が `none` になることはできません。これは冗長なシェイプを作成するためです。したがって、41 × 42³ + 41 × 42² + 41 × 42 + 42 = 3,111,696 種類の組み合わせがあります。

次の図は、単一の矢印シェイプで可能な42種類の組み合わせを示しています。矢印に接続されたノードは描画されていませんが、エッジの右側に表示されます。

box lbox rbox obox olbox orbox
crow lcrow rcrow
diamond ldiamond rdiamond odiamond oldiamond ordiamond
dot odot
inv linv rinv oinv olinv orinv
none
normal lnormal rnormal onormal olnormal ornormal
tee ltee rtee
vee lvee rvee
curve lcurve rcurve icurve licurve ricurve
最終更新日:2022年9月14日: エッジ属性ページを追加 (e361cf7)