Dibujar múltiples jerarquías de herencia

Dibujar múltiples jerarquías de herencia

Tengo que dibujar múltiples jerarquías de tipos de herencia. El peor de los casos es algo como lo siguiente:

ingrese la descripción de la imagen aquí

Usé tablas y tree-dvipspara dibujar estas figuras, pero ahora estoy buscando algo que sea xelatexcompatible.

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 matrixy algunos foreachbucles 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}

ingrese la descripción de la imagen aquí

información relacionada