我目前正在为计算机科学学期的项目进行符号依赖图的模型检查,迫切需要一种简单的方法来绘制依赖图,最好使用 TikZ。
我的问题有点与这,但我需要引导弧。
超边e
是一个元组e = (v, T)
,其中v
是源节点,T
是目标集。 中的每个元素T
都是一个元组t = (w, t)
,其中w
是非负整数或参数,t
是目标节点。
以下示例(发现这里) 完全满足我的需要,除了我需要引导弧线。
\documentclass{standalone}
\usepackage{tikz}
\newcommand{\hyperedge}[4][180]{
\draw (#2.#1) ++(#1:.5) edge (#2) edge (#3) edge (#4);
}
\begin{document}
\begin{tikzpicture}[
y=.7cm, x=1cm,
every edge/.append style={thick}
]
\node (c) at (0,0) {c};
\node (a) at (1,1) {d};
\node (b) at (1,-1) {e};
\hyperedge[0]{c}{b}{a}
\end{tikzpicture}
\end{document}
我尝试添加->
一个选项tikz图片,但这导致箭头不仅指向目标集,还指向源节点。
答案1
对于这种特定情况,你可以修改\hypergraph
命令以读取
\newcommand{\hyperedge}[4][180]{
\draw (#2.#1) ++(#1:.5) edge (#2) edge[->] (#3) edge[->] (#4);
}
这将向两个edge
s 添加指向目标节点的箭头。
\documentclass{standalone}
\usepackage{tikz}
\newcommand{\hyperedge}[4][180]{
\draw (#2.#1) ++(#1:.5) edge (#2) edge[->] (#3) edge[->] (#4);
}
\begin{document}
\begin{tikzpicture}[
y=.7cm, x=1cm,
every edge/.append style={thick}
]
\node (c) at (0,0) {c};
\node (a) at (1,1) {d};
\node (b) at (1,-1) {e};
\hyperedge[0]{c}{b}{a}
\end{tikzpicture}
\end{document}