Nodeposition an Path verändern
Verfasst: Mi 7. Mär 2012, 13:18
Hi, ich experimentiere derzeit ein wenig mit TikZ, um Automaten darzustellen. Jetzt habe ich folgenden Automaten.
Das sieht dann so aus:

Mein Problem ist, dass die Nodes, die die Beschriftung für die Pfade q8->q4 und q7->q5 sich überschneiden. Gibt es eine Möglichkeit, die Nodes nicht in der Mitte zu generieren, sondern vielleicht an der Ausgangs/End-Node des jeweiligen Pfades? Aus dem, was dazu im pgfmanual steht, werde ich nicht wirklich schlau.
\begin{tikzpicture}[node distance=2cm,auto,bend angle=10]
\node[state,initial,accepting] (q_0) {$q_0$};
\node[state] (q_1) [above=of q_0] {$q_1$};
\node[state] (q_2) [right=of q_1] {$q_2$};
\node[state] (q_3) [right=of q_2] {$q_3$};
\node[state] (q_4) [right=of q_0] {$q_4$};
\node[state,accepting] (q_5) [right=of q_4] {$q_5$};
\node[state] (q_6) [below=of q_0] {$q_6$};
\node[state] (q_7) [right=of q_6] {$q_7$};
\node[state] (q_8) [right=of q_7] {$q_8$};
\path[->] (q_0) edge node[swap] {a} (q_4)
edge [bend left] node {b} (q_2)
(q_1) edge node[swap] {a} (q_0)
edge node {b} (q_2)
(q_2) edge [bend left] node {a} (q_0)
edge [bend left] node {b} (q_3)
(q_3) edge [bend left] node {a} (q_2)
edge [bend left] node {b} (q_0)
(q_4) edge node[swap] {a} (q_6)
edge node {b} (q_5)
(q_5) edge node {a} (q_3)
edge node[swap] {b} (q_6)
(q_6) edge node {a} (q_0)
edge node {b} (q_7)
(q_7) edge node {a} (q_8)
edge node {b} (q_5)
(q_8) edge node {a} (q_5)
edge node {b} (q_4);
\end{tikzpicture}Mein Problem ist, dass die Nodes, die die Beschriftung für die Pfade q8->q4 und q7->q5 sich überschneiden. Gibt es eine Möglichkeit, die Nodes nicht in der Mitte zu generieren, sondern vielleicht an der Ausgangs/End-Node des jeweiligen Pfades? Aus dem, was dazu im pgfmanual steht, werde ich nicht wirklich schlau.