最小工作示例
\nonstopmode
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}
\path (0, 0) node (a) {}
(1, .2) node (b) {}
(1, 1) node (c) {}
(.2, 1) node (d) {}
;
\draw [red]
(a) [fill] circle (.03)
(b) [fill] circle (.03)
(c) [fill] circle (.03)
(d) [fill] circle (.03)
;
\draw [red]
(a) -- (b) -- (c) -- (d) -- cycle
;
\draw [blue, shift={(2, 0)}]
(0, 0) [fill] circle(.03) --
(1, .2) [fill] circle(.03) --
(1, 1) [fill] circle(.03) --
(.2, 1) [fill] circle(.03) --
(0, 0)
;
\end{tikzpicture}
\end{document}
如上所述,当通过坐标(蓝色)指定节点时,线条可以到达该位置,但对于命名节点(红色),线条无法到达该位置。此外,--cycle
不适用于命名节点。
我怀疑这与节点有边框或其他东西有关。有人知道这种行为的确切原因吗?
答案1
它按预期工作。nodes
具有最小尺寸,您可以看到draw
它们是否被绘制。并且节点之间的线在它们的边界处停止。
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}
\path (0, 0) node[draw] (a) {}
(1, .2) node[draw] (b) {}
(1, 1) node[draw] (c) {}
(.2, 1) node[draw] (d) {}
;
\draw [red]
(a) [fill] circle (.03)
(b) [fill] circle (.03)
(c) [fill] circle (.03)
(d) [fill] circle (.03)
;
\draw [red]
(a) -- (b) -- (c) -- (d) -- cycle
;
\draw [blue, shift={(2, 0)}]
(0, 0) node[circle, draw, fill, minimum size=1mm, inner sep=0pt] {} --
(1, .2) node[circle, draw, fill, minimum size=1mm, inner sep=0pt] {} --
(1, 1) node[circle, draw, fill, minimum size=1mm, inner sep=0pt] {} --
(.2, 1) node[circle, draw, fill, minimum size=1mm, inner sep=0pt] {} --
(0, 0)
;
\end{tikzpicture}
\end{document}