
次のコードを使用しています:
\documentclass[tikz]{standalone}
\usetikzlibrary{automata,positioning}
\begin{document}
\begin{tikzpicture}
\node[state] (0) {0};
\node[state,right=of 0] (1) {1};
\node[state,right=of 1] (2) {2};
\coordinate[draw=none,right=of 2] (2-g);
\node[state,right=of {2-g},text depth=0pt] (g) {g};
\draw[
>=latex,
% every node/.style={above,midway},% either
auto=right, % or
loop above/.style={out=75,in=105,loop},
every loop,
]
(g) edge[loop above] node {$p_{gg}$} (g)
edge node {$p_{gg-1}$} (2-g)
(2-g) to node {$p_{32}$} (2)
edge[loop above] node {$p_{22}$} (2)
(2) edge node {$p_{21}$} (1)
(1) edge[loop above] node {$p_{11}$} (1)
edge node {$p_{10}$} (0)
(0) edge[loop above] node {$p_{00}$} (0);
\end{tikzpicture}
\end{document}
しかし、すべての矢印を双方向にしたいのですが、どうすればいいでしょうか? ありがとうございます。
答え1
次の 3 つのスタイルを調整する必要があります。
- パスの描画スタイル
\draw
。 edge
sのスタイルが\draw
描画されます。loop
エッジs の描画のスタイル\draw
。
<->
コマンドに を追加して\draw
を使用すると、スタイル.append style
と に対して同じことを行うことができますevery loop
。every edge
\draw[
>=latex,
auto=right,
loop above/.style={out=75,in=105,loop},
every loop/.append style={<->},
every edge/.append style={<->},
<->
]
...
完全なコード:
\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{automata,positioning}
\begin{document}
\begin{tikzpicture}
\node[state] (0) {0};
\node[state,right=of 0] (1) {1};
\node[state,right=of 1] (2) {2};
\coordinate[draw=none,right=of 2] (2-g);
\node[state,right=of {2-g},text depth=0pt] (g) {g};
\draw[
>=latex,
auto=right,
loop above/.style={out=75,in=105,loop},
every loop/.append style={<->},
every edge/.append style={<->},
<->
]
(g) edge[loop above] node {$p_{gg}$} (g)
edge node {$p_{gg-1}$} (2-g)
(2-g) to node {$p_{32}$} (2)
edge[loop above] node {$p_{22}$} (2)
(2) edge node {$p_{21}$} (1)
(1) edge[loop above] node {$p_{11}$} (1)
edge node {$p_{10}$} (0)
(0) edge[loop above] node {$p_{00}$} (0);
\end{tikzpicture}
\end{document}