下面的代码及其输出表明,虽然绘制的线被缩放,但是矩形节点没有缩放。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\section*{Without Scaling}
\begin{tikzpicture}
\node at (0, 0) [rectangle,draw,minimum size=5cm] {A};
\draw (-2.5, 1) -- (2.5, 1) node[midway,below] {B};
\end{tikzpicture}
\section*{With Scaling}
\begin{tikzpicture}[scale=0.5]
\node at (0, 0) [rectangle,draw,minimum size=5cm] {A};
\draw (-2.5, 1) -- (2.5, 1) node[midway,below] {B};
\end{tikzpicture}
\end{document}
缩放 tikzpicture 的正确/推荐方法是什么:
- 所有图纸均按比例绘制。
- 所有节点都已缩放。
- 但文本没有缩放。
答案1
这个答案解释了缩放事物的主要方式之间的差异,即\resizebox
、\scalebox
、scale
和transform canvas
(或transform shape
)。我认为scale
稍微调整一下是最好的选择(其他方法会改变所有内容的大小,包括文本)。这里有一个解决方案,您可以定义一个新命令作为缩放因子,然后在适当的位置使用它(以免重复更改)。代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\section*{Without Scaling}
\begin{tikzpicture}
\node at (0, 0) [rectangle,draw,minimum size=5cm] {A};
\draw (-2.5, 1) -- (2.5, 1) node[midway,below] {B};
\end{tikzpicture}
\section*{With Scaling}
\newcommand\scaler{.5}
\begin{tikzpicture}[scale=\scaler]
\node at (0, 0) [rectangle,draw,minimum size=\scaler*5cm] {A};
\draw (-2.5, 1) -- (2.5, 1) node[midway,below] {B};
\end{tikzpicture}
\end{document}
结果:
答案2
你是指这样的事情吗?
\begin{tikzpicture}[scale=1]
\node at (0, 0) [rectangle,draw,minimum size=5cm] { A};
\draw (-2.5, 1) -- (2.5, 1) node[midway,below] {\scriptsize B};
\end{tikzpicture}