当我使用 tikzpicture 绘制自动机时,如何告诉我的边缘在上面形成弧线?

当我使用 tikzpicture 绘制自动机时,如何告诉我的边缘在上面形成弧线?

我正在使用 TikZ 绘制有限自动机。目前,过渡箭头在节点之间重叠,因为它们都是水平交叉的。我怎样才能让一个箭头在上方呈弧形,另一个箭头在下方呈弧形?

以下是我所拥有的:

(q_0) edge node {H} (q_1)
(q_1) edge node {T} (q_0)

答案1

您可以根据需要在选项中使用bend left或。bend rightedge

一个例子

\documentclass{standalone}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\usepackage[latin1]{inputenc}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
                    semithick]
  \tikzstyle{every state}=[fill=magenta!40,draw=none,text=white]

  \node[initial,state] (A)                    {$q_a$};
  \node[state]         (B) [above right of=A] {$q_b$};
  \node[state]         (C) [below right of=B] {$q_c$};

  \path (A) edge              node {0,1,L} (B)
            edge [bend left]  node {1,1,R} (C)
        (B) edge [loop above] node {1,1,L} (B)
            edge              node {0,1,L} (C)
        (C) edge [bend left] node {0,1,L}  (A);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容