
Eu gostaria de ter uma figura onde cada aresta tivesse uma flecha. Quando eu \draw
uso o tikz, algo estranho acontece: o "mesmo" código produz 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
Observação
Enquanto do lado esquerdo não há seta, do lado direito há uma seta. A chamada de função que desenha a borda parece ser a mesma.
Sou bastante novo no tikz e não tenho ideia de como consertar isso. Qualquer ideia sobre por que isso acontece e como corrigi-lo seria muito apreciada.
Responder1
São necessários dois \draw
comandos. Com ->
entre as opções no entorno 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)
;
Os detalhes são explicados nomanual pgf/TikZ, "16.2 Onde e quando as pontas das setas são colocadas".
Responder2
Você deve usar dois caminhos separados, um para cada seta:
\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}
Se você quiser mantê-lo em um caminho, use a edge
operação em vez 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)
;