在 TikZ 中绘制命名矩形时的“最小尺寸”单位

在 TikZ 中绘制命名矩形时的“最小尺寸”单位

\node使用和绘制矩形时minimum width/height,生成的矩形的大小与使用 绘制的矩形的大小不同\draw … rectangle …。我需要 以便\node可以通过名称引用它。

我知道我可以通过为所有尺寸(10 毫米、15 毫米)添加单位来解决这个问题,但我试图理解为什么没有它就行不通。我假设的默认单位是<dimension>点。

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[x = 1mm, y = 1mm]

  %% named rectangle with minimum size of 10x15.
  \node[%
  minimum width = 10,
  minimum height = 15,
  draw = blue
  ]
  (rect) at (0,0) {};

  %% unnamed rectangle with size of 10x15.
  \draw [red] (0,0) rectangle  ++(10, 15);
\end{tikzpicture}

\end{document}

答案1

这与以下方面的转变有关tikz(见PFG 手册第373页)。其中一段明确指出:

坐标变换最重要的方面 [...] 是它仅适用于坐标!

节点尺寸不受变换影响,默认单位为。如果您希望尺寸像使用pt一样工作,请将和添加到每个受影响节点的选项或使用全局选项。请参见下面的示例mmscaletransform shape

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}

\tikzset{
    x = 1mm, y = 1mm,
    every node/.style = {
        transform shape,
        scale = 2.84,   % Converts mm to pt by the factor 72.27/25.4
    },
}

\begin{document}
\begin{tikzpicture}
  %% named rectangle with minimum size of 10x15.
  \node[%
    minimum width = 10,
    minimum height = 15,
    draw = blue,
  ] (rect) at (0,0) {};
  %% unnamed rectangle with size of 10x15.
  \draw [red] (0,0) rectangle  ++(10, 15);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容