
Я хотел бы иметь фигуру, где каждое ребро имеет стрелку. Когда я \draw
режу с помощью tikz, происходит что-то странное: «один и тот же» код дает разные результаты.
Код
\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}
Результат
Наблюдение
В то время как слева стрелки нет, справа она есть. Вызов функции рисования края, похоже, тот же самый.
Я новичок в tikz и понятия не имею, как это исправить. Любое понимание того, почему это происходит и как это исправить, было бы очень ценно.
решение1
\draw
Нужны две команды. ->
Среди опций в окружении 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)
;
Подробности объяснены вpgf/TikZ руководство, «16.2 Где и когда размещаются наконечники стрел».
решение2
Вам следует использовать два отдельных пути, по одному для каждой стрелки:
\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}
Если вы хотите сохранить его на одном пути, используйте операцию edge
вместо 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)
;