我是 TikZ 的新手,正在尝试绘制几个由线连接的(带标签的)圆圈。最简单的形式是,我通过以下方式进行操作
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle [radius=0.5] node (A) {A};
\draw (2,2) circle [radius=0.5] node (B) {B};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
然而,连接线到达里面我不希望它做的圈子:
我怎样才能使线仅从边界延伸到边界?
答案1
正如 percusse 所评论的,您可以绘制圆形节点。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[circle,draw, minimum size=1cm] (A) at (0,0) {A};
\node[circle,draw, minimum size=1cm] (B) at (2,2) {B};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
您的代码也可以工作,但问题在于您如何定义节点。我添加了draw,red
样式以更好地查看发生了什么:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle [radius=0.5] node[draw,red] (A) {A};
\draw (2,2) circle [radius=0.5] node[draw,red] (B) {B};
\draw (A) -- (B);
\end{tikzpicture}
\end{document}
如您所见,您正在绘制两个圆圈,其中的矩形节点尚未绘制。命令\draw (A)--(B)
正常工作,它停止在节点边界上绘制,但不会像您预期的那样停止在圆圈边界上绘制。
答案2
PSTricks 解决方案使用pst-node
包裹:
\documentclass{article}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}(-0.35,-0.35)(3,3) % adjust the bounding box manually according to the contents of the pspicture environment
\cnodeput(0.5,0.5){A}{Mammal}
\cnodeput(2.5,2.5){B}{Fish}
\ncline{A}{B}
\end{pspicture}
\end{document}