![按相同比例缩放文档中的所有 TikZ 图像](https://linux22.com/image/251035/%E6%8C%89%E7%9B%B8%E5%90%8C%E6%AF%94%E4%BE%8B%E7%BC%A9%E6%94%BE%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%20TikZ%20%E5%9B%BE%E5%83%8F.png)
是否可以将TikZ
文档中的所有图片按相同的比例缩放?
有些类似的东西\usepackage[scale=0.9]{tikz}
不起作用。
答案1
每个都tikzpicture
使用 样式every picture
。因此,如果您将其放在\tikzset{every picture/.append style={scale=0.9}}
文档开头附近,则所有tikzpicture
s 都将按该量缩放(除了scale
您可能已经应用于单个tikzpicture
s 的任何 s)。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{every picture/.append style={scale=2}}
First picture:
\begin{tikzpicture}[baseline]
\node [transform shape,anchor=base, draw] {Node 1};
\end{tikzpicture}
Second picture:
\begin{tikzpicture}[baseline]
\node [transform shape,anchor=base, draw] {Node 2};
\end{tikzpicture}
\end{document}
答案2
如果希望文本也缩放,可以执行以下操作:
\documentclass{article}
\usepackage{graphicx}
\usepackage{pgfplots}
\usepackage{environ}
\usepackage{tikz}
\newcommand*{\scalefactor}{0.8}
\NewEnviron{mytikz}[1][]{
\scalebox{\scalefactor}{
\begin{tikzpicture}[{#1}]
\BODY
\end{tikzpicture}}}
\begin{document}
First picture:
\begin{mytikz}[baseline]
\node [transform shape,anchor=base, draw] {Node 1};
\end{mytikz}
Second picture:
\begin{mytikz}[baseline]
\node [transform shape,anchor=base, draw] {Node 2};
\end{mytikz}
\end{document}