我正在尝试在使用 TiKZ 库进行自动机绘图时在状态之间创建两个转换。
目前,我有这个示例代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\begin{document}
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=4cm]
\node[state] (A) {A};
\node[state] (B) [right of = A] {B};
\path[->] (A) edge [bend left] node {x = 0} (B)
(B) edge [bend right] node {x = 1} (A);
\end{tikzpicture}
\end{document}
得出以下结果:
我希望在状态之间有两个箭头:一个带有x = 0
,另一个带有x = 1
。
我如何使用 TiKZ 来实现这一点?
答案1
使用bend left
for两个都边缘产量:
笔记;
方向
bend left
是bend right
相对于边的方向。如果两个都边从A
到B
,bend left
,这样bend right
就可以了。但是,在这种情况下,由于一个从A
到B
,另一个从B
到A
,因此两者都需要bend left
才能获得所需的结果。数学内容应该总是处于数学模式。查看 MWE 中与边标签相关的更改。
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\begin{document}
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=4cm]
\node[state] (A) {A};
\node[state] (B) [right of = A] {B};
\path[->] (A) edge [bend left] node {$x = 0$} (B)
(B) edge [bend left] node {$x = 1$} (A);
\end{tikzpicture}
\end{document}