![Dibujar hiperbordes dirigidos con TikZ](https://rvso.com/image/286368/Dibujar%20hiperbordes%20dirigidos%20con%20TikZ.png)
Actualmente estoy trabajando con la verificación de modelos de gráficos de dependencia simbólica para mi proyecto semestral en Ciencias de la Computación, y necesito urgentemente una manera fácil de dibujar gráficos de dependencia, preferiblemente usando TikZ.
Mi problema está algo relacionado coneste, pero necesito que se dirijan los arcos.
Un hiperborde e
es una tupla e = (v, T)
donde v
es un nodo de origen y T
es el conjunto de destino. Cada elemento T
es una tupla t = (w, t)
donde w
es un número entero no negativo o un parámetro y t
es un nodo de destino.
El siguiente ejemplo (encontradoaquí) hace exactamente lo que necesito, excepto que necesito que se dirijan los arcos.
\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}
Intenté agregar ->
como opción altikzimagen, pero esto resultó en flechas no solo al conjunto de destino sino también al nodo de origen.
Respuesta1
Para este caso específico puedes modificar el \hypergraph
comando para leer
\newcommand{\hyperedge}[4][180]{
\draw (#2.#1) ++(#1:.5) edge (#2) edge[->] (#3) edge[->] (#4);
}
lo que agregará flechas a dos de las edge
s, las que conducen a los nodos objetivo.
\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}