我有以下一段代码:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{automata, positioning}
\begin{document}
\begin{tikzpicture}
\node [state] (A) {A};
\node [state] (B) [right = of A] {B};
\path[->] (A) edge [bend left] node [above] {r} (B)
(B) edge [bend left] node [below] {r} (A);
\end{tikzpicture}
\end{document}
我得到的是这个图表
这与我想要实现的目标非常接近。
现在,我想去掉大圆圈作为节点,而是绘制小点作为节点,并在点附近绘制字母。我该如何获得此图?
(作为参考,这更接近我想要得到的)
答案1
您不必将名称放在节点内部,而是可以在节点旁边添加标签:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{automata, positioning}
\tikzset{state/.style={circle,fill=black,inner sep=1.5pt,outer sep=4pt}}
\begin{document}
\begin{tikzpicture}[label distance=-2mm]
\node [state,label=180:A] (A) {};
\node [state,label=0:B] (B) [right = of A] {};
\path[->] (A) edge [bend left] node [above] {r} (B)
(B) edge [bend left] node [below] {r} (A);
\end{tikzpicture}
\end{document}
答案2
更新:我没想到你还想添加小实心圆。现在已使用 将其包含在内$\bullet$
。
您可以分别更改圆圈和文本的颜色。例如,将圆圈设为白色,将文本设为黑色:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{automata, positioning}
\begin{document}
\begin{tikzpicture}
\node [state, color=white, text=black] (A) {A $\bullet$};
\node [state, color=white, text=black] (B) [right = of A] {$\bullet$ B};
\path[->] (A) edge [bend left] node [above] {r} (B)
(B) edge [bend left] node [below] {r} (A);
\end{tikzpicture}
\end{document}
得出以下结果:
如果所有节点都应像这样格式化,则一种快捷方式是将这些选项提供给整个 itkzpicture,例如\begin{tikzpicture}[every state/.style={color=white, text=black}]
。如果提供颜色不是一个选项,那么您可以简单地说draw=none
,例如
\begin{tikzpicture}[every state/.style={draw=none}]
。
我希望这对你有用。