Tikz 线并非完全从节点坐标开始

Tikz 线并非完全从节点坐标开始

我在 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}

相关内容