Dibujar hiperbordes dirigidos con TikZ

Dibujar hiperbordes dirigidos con TikZ

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 ees una tupla e = (v, T)donde ves un nodo de origen y Tes el conjunto de destino. Cada elemento Tes una tupla t = (w, t)donde wes un número entero no negativo o un parámetro y tes 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 \hypergraphcomando 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 edges, las que conducen a los nodos objetivo.

ingrese la descripción de la imagen aquí

\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}

información relacionada