Ich arbeite derzeit an der Modellprüfung symbolischer Abhängigkeitsgraphen für mein Semesterprojekt in Informatik und brauche dringend eine einfache Möglichkeit zum Zeichnen von Abhängigkeitsgraphen, vorzugsweise mit TikZ.
Mein Problem hängt irgendwie damit zusammenDas, aber ich brauche gelenkte Bögen.
Ein Hyperedge e
ist ein Tupel, e = (v, T)
wobei v
ein Quellknoten und T
die Zielmenge ist. Jedes Element in T
ist ein Tupel t = (w, t)
, wobei w
entweder eine nicht negative Ganzzahl oder ein Parameter ist und t
ein Zielknoten ist.
Das folgende Beispiel (gefundenHier) macht genau das, was ich brauche, außer dass die Bögen gerichtet werden müssen.
\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}
Ich habe versucht, ->
als Option hinzuzufügen zuAbonnieren, aber dies führte zu Pfeilen nicht nur zum Zielsatz, sondern auch zum Quellknoten.
Antwort1
Für diesen speziellen Fall können Sie den \hypergraph
Befehl ändern, um zu lesen
\newcommand{\hyperedge}[4][180]{
\draw (#2.#1) ++(#1:.5) edge (#2) edge[->] (#3) edge[->] (#4);
}
Dadurch werden zwei der Pfeile hinzugefügt edge
, die zu den Zielknoten führen.
\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}