I'm trying to make some Automatic Control charts illustrating Mason's rule, but couldn't find any suitable library. Is there any way to ease the process of creating these with TikZ?
An example can be found on this page in section sfg.m4: Signal-flow graphs
I found this way to make one of the flows, however, I wonder if there is any clearer or simpler way to do this drawing, using any library (as when making circuits or blocks with the libraries a \usepackage{blocks}
or \usepackage{schemabloc}
or \usepackage{circuitikz}
) so that the code is not as large and is more clear and clean the program?
\begin{tikzpicture}
\begin{pgfonlayer}{nodelayer}
\node [style=none] (0) at (1, 1) {};
\node [style=none] (1) at (-4, 0.5) {$\frac{1}{K}$};
\node [style=none] (2) at (-2, 0.5) {$\frac{K}{M}$};
\node [style=none] (3) at (0, 0.5) {$s^{-1}$};
\node [style=none] (4) at (2, 0.5) {$s^{-1}$};
\node [style=none] (5) at (-5, -0) {};
\node [style=none] (6) at (-4, -0) {};
\node [style=none] (7) at (-3, -0) {};
\node [style=none] (8) at (-2, -0) {};
\node [style=none] (9) at (-1, -0) {};
\node [style=none] (10) at (0, -0) {};
\node [style=none] (11) at (1, -0) {};
\node [style=none] (12) at (2, -0) {};
\node [style=none] (13) at (3, -0) {};
\node [style=none] (14) at (0, -0.75) {};
\node [style=none] (15) at (0, -1.5) {};
\end{pgfonlayer}
\begin{pgfonlayer}{edgelayer}
\draw [-triangle 60] (9.center) to (10.center);
\draw [bend right] (0.center) to (9.center);
\draw [-triangle 60, bend left, looseness=0.75] (11.center) to (14.center);
\draw [-triangle 60, bend left] (0.center) to (13.center);
\draw [-triangle 60] (11.center) to (12.center);
\draw [-triangle 60] (5.center) to (6.center);
\draw [bend right] (7.center) to (15.center);
\draw [bend left] (14.center) to (9.center);
\draw (6.center) to (7.center);
\draw [-triangle 60] (7.center) to (8.center);
\draw [-triangle 60, bend right] (15.center) to (13.center);
\draw (10.center) to (11.center);
\draw (12.center) to (13.center);
\draw (8.center) to (9.center);
\end{pgfonlayer}
\end{tikzpicture}
automata
library examples in the manual.