箭头在 tikz \draw 中不一致显示

箭头在 tikz \draw 中不一致显示

我想要一个图形,其中每条边都有一个箭头。当我\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)
    ;

相关内容