按相同比例缩放文档中的所有 TikZ 图像

按相同比例缩放文档中的所有 TikZ 图像

是否可以将TikZ文档中的所有图片按相同的比例缩放?

有些类似的东西\usepackage[scale=0.9]{tikz}不起作用。

答案1

每个都tikzpicture使用 样式every picture。因此,如果您将其放在\tikzset{every picture/.append style={scale=0.9}}文档开头附近,则所有tikzpictures 都将按该量缩放(除了scale您可能已经应用于单个tikzpictures 的任何 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}

相关内容