I am wondering how to draw something like this in Latex. Notice the edges are not straight lines as I see in many Tkz examples. This is an example of attribute grammar where edges indicate the flow of attribute values.
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}[->,>=stealth',auto,node distance=2cm,
thick,main node/.style={draw}]
\node[main node, rectangle, align=center] (1) {$n_0.S$};
\node[main node, rectangle, align=center] (2) [below= of 1] {$n_1.I_1$};
\node[main node, rectangle, align=center] (3) [right =of 2, below= of 1] {$n_1.I_2$};
\node[main node, rectangle, align=center] (4) [right =of 3, below= of 1] {$n_1.S_1$};
\node[main node, rectangle, align=center] (5) [right =of 4, below= of 1] {$n_1.S_2$};
\node[main node, rectangle, align=center] (6) [below= of 1] {$n_2.I_1$};
\node[main node, rectangle, align=center] (7) [right =of 6, below= of 1] {$n_2.I_2$};
\node[main node, rectangle, align=center] (8) [right =of 7, below= of 1] {$n_2.S_1$};
\node[main node, rectangle, align=center] (9) [right =of 8, below= of 1] {$n_2.S_2$};
\draw (2.south) to (4.south);
\draw (4.south) to (5.south);
\draw (6.south) to (8.south);
\draw (7.south) to (9.south);
\draw (3.south) to (6.north);
\draw (5.south) to (7.north);
\draw (8.south) to (3.north);
\draw (9.south) to (2.north);
\draw (8.north) to (1.south);
\end{tikzpicture}
\end{document}



please do this for me service. You need to place 9 boxed nodes at certain coordinates. Name each box, for example LI1 (as in left I1) etc, then make the arrows. – daleif Sep 16 '21 at 07:16below ofis overriding theright of... Will see if I can answer later. – Rmano Sep 17 '21 at 06:00