箭头形状

箭头形状可以使用以下简单语法指定和命名。终结符以粗体显示,非终结符以斜体显示。文字字符用单引号括起来。方括号 [] 括起可选项目。竖线 | 分隔备选方案。

语法

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'
使用形状的开放(非填充)版本。

左右定义为从边缘看朝向箭头“接触”节点的点所确定的方向。

例如,箭头形状 lteeoldiamond 解析为 'l' 'tee' 'o' 'l' 'diamond' 并且对应于形状

请注意,指定的第一个箭头形状最靠近节点。如果指定了后续箭头形状,它们将离节点更远。此外,形状 none 会使用空间,因此,例如,箭头 nonenormalnormal 不同。

并非所有语法上合法的修饰符组合都有意义或语义上有效。例如,none 中的任何修饰符都没有意义。下表显示哪些修饰符允许与哪些形状一起使用。

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

这将产生 42 种不同的箭头形状。可选的第二、第三、第四个形状可以独立地是 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)