\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
一样工作,请将和添加到每个受影响节点的选项或使用全局选项。请参见下面的示例mm
scale
transform 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}