
Ich hätte gern eine Figur, bei der jede Kante einen Pfeil hat. Wenn ich \draw
mit Tikz Kanten anlege, passiert etwas Seltsames: Der "gleiche" Code liefert unterschiedliche Ergebnisse.
Code
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,
auto,node distance=3.5cm, thick,node/.style={circle,draw}]
\node[node] (L) {Lousy};
\node[node] (R) [right of=L] {Right};
\draw
(L) to [in=300, out=240, looseness=3] node [below] {A} (L)
(R) to [in=300, out=240, looseness=3] node [below] {A, B, C} (R)
;
\end{tikzpicture}
Ergebnis
Überwachung
Während auf der linken Seite kein Pfeil zu sehen ist, ist auf der rechten Seite ein Pfeil zu sehen. Der Funktionsaufruf zum Zeichnen der Kante scheint jedoch derselbe zu sein.
Ich bin ziemlich neu bei Tikz und habe keine Ahnung, wie ich das beheben kann. Ich wäre für alle Erkenntnisse, warum das passiert und wie man es beheben kann, sehr dankbar.
Antwort1
Es werden zwei \draw
Befehle benötigt. Mit ->
den Optionen in der Umgebung tikzpicture
:
\draw
(L) to [in=300, out=240, looseness=3] node [below] {A} (L)
;
\draw
(R) to [in=300, out=240, looseness=3] node [below] {A, B, C} (R)
;
Einzelheiten dazu finden Sie impgf/TikZ-Handbuch, „16.2 Wo und wann Pfeilspitzen platziert werden“.
Antwort2
Sie sollten zwei separate Pfade verwenden, einen für jeden Pfeil:
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,
auto,node distance=3.5cm, thick,node/.style={circle,draw}]
\node[node] (L) {Lousy};
\node[node] (R) [right of=L] {Right};
\draw
(L) to [in=300, out=240, looseness=3] node [below] {A} (L);
\draw
(R) to [in=300, out=240, looseness=3] node [below] {A, B, C} (R);
\end{tikzpicture}
Wenn Sie es in einem Pfad behalten möchten, verwenden Sie edge
stattdessen die Operation to
:
\draw
(L) edge [in=300, out=240, looseness=3] node [below] {A} (L)
(R) edge [in=300, out=240, looseness=3] node [below] {A, B, C} (R)
;