我想使用 draw 来模拟类似以下箭头所描述的行为:
\draw[->] (zero.north)
.. controls +(left:7mm) and +(up:15mm)
.. (zero.north);
但由于我需要为该箭头添加标签,我更愿意使用边。如何弯曲边以使自引用节点看起来可接受:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (zero) [circle, draw] at (0,0) {z0};
\draw[->] (-1, 0)-- (zero);
\path[-stealth]
(zero) edge[bend=???] node[above] {b} (zero);
\end{tikzpicture}
\end{document}
答案1
尝试
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\node (zero) [circle, draw] at (0,0) {z0};
\draw[->] (-1, 0)-- (zero);
\path[-stealth] (zero) edge[loop] node[above] {b} ();
\end{tikzpicture}
\end{document}
上述代码借鉴了自动机的图纸。一般来说,你可以用以下方法获得类似的循环:
\documentclass[tikz, border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\node (zero) [circle, draw] at (0,0) {z0};
\draw[->] (-1, 0)-- (zero);
\path[-stealth] (zero) edge[out=45,in=135,looseness=20] node[above] {b} (zero);
\end{tikzpicture}
\end{document}
编辑:使用此代码,您可以获得更多选项来控制循环大小(宽度、高度),并将获得: