我在 Tikz 中使用 \draw 命令时遇到问题,我尝试在两个节点之间画一条线,但线的起点/终点与定义的节点的实际坐标之间存在偏移。作为该问题的一个例子,我在这里尝试在三个点 (0,0)、(1,0) 和 (1,1) 之间画一个三角形:
\begin{tikzpicture}
\node (a) at (0,0) {};
\node (b) at (1,0) {};
\node (c) at (1,1) {};
\draw (a) -- (b);
\draw (b) -- (c);
\draw (a) -- (c);
\end{tikzpicture}
但它又回来了这。有谁知道为什么它会这样工作,以及 \draw 的替代方法(在这种情况下)可以绘制完整的三角形吗?
答案1
大部分差距来自于inner sep
,默认情况下,它是>0。
不过我认为对于您的用例来说,a\coordinate
更合适。如果您一次性绘制所有三条线,它们将在角落处很好地连接起来。
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[inner sep=0pt]
\node (a) at (0,0) {};
\node (b) at (1,0) {};
\node (c) at (1,1) {};
\draw (a) -- (b);
\draw (b) -- (c);
\draw (a) -- (c);
\end{tikzpicture}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (1,0);
\coordinate (c) at (1,1);
\draw (a) -- (b) -- (c) -- cycle;
\end{tikzpicture}
\end{document}