
Tengo que dibujar múltiples jerarquías de tipos de herencia. El peor de los casos es algo como lo siguiente:
Usé tablas y tree-dvips
para dibujar estas figuras, pero ahora estoy buscando algo que sea xelatex
compatible.
Comencé a componer jerarquías simples con forrest
, pero para casos como el anterior esto parece excesivo. ya encontré¿Existe una biblioteca para dibujar árboles de herencia de objetos en TikZ?pero el problema es más complicado ya que la herencia puede implicar dos o más nodos padres.
Entonces: ¿Existe un paquete para esto o un estilo predefinido para forest
?
Respuesta1
Si no solicita una forma automática, un TiKZ matrix
y algunos foreach
bucles son suficientes:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix (A) [matrix of nodes, row sep=1cm, nodes={minimum width=2cm}]
{
arg1+ & arg4+ & arg2+& arg3+ & arg3- & arg4- & arg1- & arg2- \\
arg12-123-124 & arg-124-2-24 & arg1-12 & arg12-23 & arg0-2 \\
arg124 & arg123 & arg12 & arg24 & arg1 & arg2 & arg23 & arg0 \\
};
\path (A-1-4)--(A-1-5) node[above=1cm, midway] (link) {link};
\foreach \i in {1,...,8}
\draw (link.south) -- (A-1-\i.north);
\foreach \i/\j in {1/1,1/3,3/1,3/2,3/4,5/2,5/3,5/5,6/5}
\draw (A-1-\i.south)--(A-2-\j.north);
\foreach \i/\j in {2/1,2/3,4/2,4/6,5/4,7/4,7/7,8/5,8/8}
\draw (A-1-\i.south)--(A-3-\j.north);
\foreach \i/\j in {1/1,1/2,1/3,2/1,2/3,2/4,2/6,3/3,3/5,4/3,4/7,5/6,5/8}
\draw (A-2-\i.south)--(A-3-\j.north);
\end{tikzpicture}
\end{document}