即使设置text width=0pt, text height=0pt, inner sep=0pt
为节点参数并给出空标签,节点的大小仍然不为零。它的高度和宽度似乎都等于 1 pt,如以下代码所示
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[ultra thin,draw,text width=0pt,text height=0pt, inner sep=0pt] at (0,0) {};
\draw[ultra thin] (1pt,-.5pt)--(1pt,.5pt);
\end{tikzpicture}
\end{document}
为什么会这样?是否有任何秘密参数将间距增加 1 pt?是否可以更改它并生成更小的节点?
答案1
节点大小由以下因素决定:minimum size
(或minimum width
,minimum height
等,inner sep
和outer sep
。如果将它们设置为零,则节点等于\coordinate
。有关比较,请参见以下 MWE:
\documentclass[margin=3.141592, varwidth]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[minimum size=0pt,inner sep=0pt, outer sep=0pt] (a) at (0,0) {};
\draw[red] (a) -- + (2pt,0);
\draw[ultra thin] (1pt,-.5pt) -- (1pt,.5pt);
\scoped[yshift=1mm]
{
\node[coordinate] (a) at (0,0) {};
\draw[red] (a) -- + (2pt,0);
\draw[ultra thin] (1pt,-.5pt) -- (1pt,.5pt);
}
\scoped[yshift=2mm]
{
\coordinate (a) at (0,0);
\draw[red] (a) -- + (2pt,0);
\draw[ultra thin] (1pt,-.5pt) -- (1pt,.5pt);
}
\end{tikzpicture}
\end{document}
在所有情况下,结果都是一样的。\coordinate
实际上是一个大小为零的节点,如第一个示例中所确定的那样。