オートマトンでエッジのキャプションを移動するにはどうすればよいですか?

オートマトンでエッジのキャプションを移動するにはどうすればよいですか?

LaTeX でオートマトンを描画するためのコードがあります。

\begin{figure}[htpb]
\centering
\begin{tikzpicture}[->,>=stealth',shorten >=5pt,auto,node distance=2.8cm,semithick]
\node[initial,state] (q0)                    {$q_a$};
\node[state,accepting]         (q1) [right of=q0] {$q_b$};

\path (q0) edge [loop above]   node {a} (q0)
        edge   [bend left , below ]        node {b} (q1)
    (q1) edge [loop above] node {b} (q1)
        edge  [bend left , above]      node {a} (q0);

\end{tikzpicture}
\end{figure}

すると、次のオートマトンが出来上がります:

ここに画像の説明を入力してください

中央のパスの b を端の上に移動し、a を下に移動するにはどうすればよいでしょうか?

答え1

ノードキーを使用しますanchor

ここに画像の説明を入力してください

\documentclass[tikz]{standalone}
\usetikzlibrary{automata,arrows}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=5pt,auto,node distance=2.8cm,semithick]
\node[initial,state] (q0)                    {$q_a$};
\node[state,accepting]         (q1) [right of=q0] {$q_b$};

\path (q0) edge [loop above]   node {a} (q0)
        edge   [bend left , below ]        node [anchor=south] {b} (q1)
    (q1) edge [loop above] node {b} (q1)
        edge  [bend left , above]      node [anchor=north] {a} (q0);

\end{tikzpicture}
\end{document}

答え2

少ないほど良い: 位置情報を削除しabovebelow

ここに画像の説明を入力してください

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\begin{document}
\begin{tikzpicture}%
  [->,>=stealth',shorten >=5pt,auto,node distance=2.8cm,semithick]
  \node[initial,state]   (q0)               {$q_a$};
  \node[state,accepting] (q1) [right of=q0] {$q_b$};
  \path (q0) edge [loop above] node {a} (q0)
             edge [bend left]  node {b} (q1)
        (q1) edge [loop above] node {b} (q1)
             edge [bend left]  node {a} (q0);
\end{tikzpicture}
\end{document}

ラベルをエッジの反対側に移動する場合は、swapノードにキーワードを追加します。

        (q0) edge [bend left]  node[swap] {b} (q1)

関連情報