考虑以下代码:
\begin{tikzpicture}[node distance=4cm]
\node[state,initial, initial text=O] (q0) {$q_0$};
\node[state,right=3cm of q0] (q1) {$q_1$};
\node[state,right=3cm of q1] (q2) {$q_2$};
\node[state,right=3cm of q2] (q3) {$q_3$};
\draw (q0) edge[bend left] node{true} (q3);
\draw (q0) edge[bend left=2cm] node{false} (q3);
\draw (q0) edge[bend left=4cm] node{predicate} (q3);
\begin{tikzpicture}[node distance=4cm]
我认为添加值可能bend left
会使这些边彼此分离。但事实并非如此。我该如何解决这个问题?
答案1
我只是复制并粘贴了您的代码片段,因此没有考虑 tikzset。下次,请包含完整的最小工作示例(MWE)在你的问题中。
下面您可以看到两个不同的选项,一个带有bend
和looseness
,另一个带有out=<>,in=<>
和looseness
。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{automata,positioning}
\begin{document}
\begin{tikzpicture}[node distance=4cm]
\node[state,initial, initial text=O] (q0) {$q_0$};
\node[state,right=3cm of q0] (q1) {$q_1$};
\node[state,right=3cm of q1] (q2) {$q_2$};
\node[state,right=3cm of q2] (q3) {$q_3$};
\draw (q0) edge[bend left] node[above]{true} (q3);
\draw (q0) edge[bend left=2cm,looseness=1] node[above]{false} (q3);
\draw (q0) edge[out=90,in=90,looseness=1.5] node[above]{predicate} (q3);
\end{tikzpicture}
\end{document}