
我想要一個圖形,每個邊都有一個箭頭。當我\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)
;