I am trying to create these:
I have tried to make the first figure with this code
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,positioning}
\begin{document}
\begin{tikzpicture}
\node (first) [circle,draw,inner sep=1pt] {};
\node (second) [right=of first] {};
\node (third) [right=of second] {term};
\node (fourth) [right=of third] {};
\node (fifth) [circle,draw,inner sep=1pt,right=of fourth] {};
\node (sixth) [below=of fourth] {};
\node (seventh) [below=of third] {$+$};
\node (eigth) [below=of second] {};
\draw[->] (first) -- (second);
\draw[->] (second) -- (third);
\draw[->] (third) -- (fourth);
\draw[->] (fourth) -- (fifth);
\draw[->] (fourth) -- (sixth);
\draw[->] (sixth) -- (seventh);
\draw[->] (seventh) -- (eigth);
\draw[->] (eigth) -- (second);
\end{tikzpicture}
\end{document}
which yields
what can I do to make it more pretty with no spacing between the non-labeled nodes (I have tried make them coordinates instead of empty nodes, but it didn't work properly with \coordinate (...) [right=of ...];
).
I have also tried bending the arrows without luck. Should it be \draw (A) -- edge[bend right] (B);
?
Best Answer
I think the graphs library is a good starting point with many examples in the manual:
Edit: This is more similar to your example: