当我使用\begin{tikzpicture}[scale=X]
和X<1/X>1
时,图片中文本的字体大小也会改变。我需要使用[scale=2]
或[scale=0.5]
和 来保留字体大小(例如normalsize
)。
\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\tikzset{every picture/.append style={font=\normalsize}}
\begin{document}
Short text with normal size font.
\begin{tikzpicture}[scale=2, font=\normalsize]
\begin{axis}
[
ymin=0,ymax=12,xmin=0,xmax=3,
ylabel={frequency},xlabel={group},
xtick=data,xticklabels={A,B},
ytick={0,10},
]
\addplot plot coordinates
{
(1,10)
(2,6)
};
\end{axis}
\end{tikzpicture}
Another short text with normal size font.
\begin{tikzpicture}[scale=0.5, font=\normalsize]
\begin{axis}
[
ymin=0,ymax=12,xmin=0,xmax=3,
ylabel={frequency},xlabel={group},
xtick=data,xticklabels={A,B},
ytick={0,10},
]
\addplot plot coordinates
{
(1,10)
(2,6)
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
如果您的 tikzpicture 仅包含 PGFPlots 轴,您可以将其移动scale=2
到轴选项:这样,字体大小就不会受到影响。
\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\tikzset{every picture/.append style={font=\normalsize}}
\begin{document}
Short text with normal size font.
\begin{tikzpicture}
\begin{axis}
[
scale=2,
ymin=0,ymax=12,xmin=0,xmax=3,
ylabel={frequency},xlabel={group},
xtick=data,xticklabels={A,B},
ytick={0,10},
]
\addplot plot coordinates
{
(1,10)
(2,6)
};
\end{axis}
\end{tikzpicture}
Another short text with normal size font.
\begin{tikzpicture}
\begin{axis}
[
ymin=0,ymax=12,xmin=0,xmax=3,
ylabel={frequency},xlabel={group},
xtick=data,xticklabels={A,B},
ytick={0,10},
scale=0.5
]
\addplot plot coordinates
{
(1,10)
(2,6)
};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
按照这个想法线,您可以在使用时设置此属性,\input{}
以防您在外部文件中生成图形。以下方法对我有用:
\begingroup
\pgfplotsset{every axis/.style={scale=2}}
\input{tikzfig}
\endgroup
使用 :
\tikzset{every axis/.style={scale=2}}
也是可能的,但会产生警告。