TikZ 最小节点大小

TikZ 最小节点大小

即使设置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 widthminimum height等,inner sepouter 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实际上是一个大小为零的节点,如第一个示例中所确定的那样。

在此处输入图片描述

相关内容