我注意到,当我在 TikZ 图片中使用该选项时,和scale
的值不会缩放。MWE(两张图片完全相同,只有参数发生变化):minimum width
minimum height
scale
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=1]
\draw[dotted] (-1, 0) -- (4, 0);
\draw[dotted] (-1, 2) -- (4, 2);
\draw[dotted] (0, -1) -- (0, 3);
\draw[dotted] (3, -1) -- (3, 3);
\node[minimum width=3cm, minimum height=2cm, draw] at (1.5, 1) {A box};
\end{tikzpicture}
\hspace{1cm}
\begin{tikzpicture}[scale=2]
\draw[dotted] (-1, 0) -- (4, 0);
\draw[dotted] (-1, 2) -- (4, 2);
\draw[dotted] (0, -1) -- (0, 3);
\draw[dotted] (3, -1) -- (3, 3);
\node[minimum width=3cm, minimum height=2cm, draw] at (1.5, 1) {A box};
\end{tikzpicture}
\end{document}
其结果为:
这个问题在图片上会得到解决transform shape
;但是,这也会改变文本的大小。有没有办法让框的坐标可缩放?
答案1
缩放选项适用于整个节点。这意味着即使文本也会被缩放,我认为没有办法避免这种情况。
但是缩放不适用于\draw
。将节点附加到绘制命令将使文本不受缩放命令的影响。
输出
代码
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=1]
\draw[dotted] (-1, 0) -- (4, 0);
\draw[dotted] (-1, 2) -- (4, 2);
\draw[dotted] (0, -1) -- (0, 3);
\draw[dotted] (3, -1) -- (3, 3);
\draw (0,0) rectangle (3,2) node[midway] {a box};
%\node[minimum width=3cm, minimum height=2cm, draw] at (1.5, 1) {A box};
\end{tikzpicture}
\hspace{1cm}
\begin{tikzpicture}[scale=2]
\draw[dotted] (-1, 0) -- (4, 0);
\draw[dotted] (-1, 2) -- (4, 2);
\draw[dotted] (0, -1) -- (0, 3);
\draw[dotted] (3, -1) -- (3, 3);
\draw (0,0) rectangle (3,2) node[midway] {a box};
%\node[minimum width=3cm, minimum height=2cm, draw] at (1.5, 1) {A box};
\end{tikzpicture}
\end{document}