
Me gustaría tener una figura donde cada borde tenga una flecha. Cuando \draw
uso tikz, sucede algo extraño: el "mismo" código produce resultados diferentes.
Código
\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}
Resultado
Observación
Mientras que en el lado izquierdo no hay una flecha, en el lado derecho sí hay una flecha. Sin embargo, la llamada a la función que dibuja el borde parece ser la misma.
Soy bastante nuevo en tikz y no tengo idea de cómo solucionar este problema. Cualquier idea sobre por qué sucede esto y cómo solucionarlo sería muy apreciada.
Respuesta1
Se necesitan dos \draw
comandos. Con ->
entre las opciones en los alrededores 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)
;
Los detalles se explican en elmanual pgf/TikZ, "16.2 Dónde y cuándo se colocan las puntas de las flechas".
Respuesta2
Debes utilizar dos caminos separados, uno para cada flecha:
\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}
Si desea mantenerlo en una ruta, use la edge
operación en lugar de 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)
;