独立预编译图形背后的逻辑

独立预编译图形背后的逻辑

我想将我昂贵的图形编译为 PDF,以便我可以将这些文件集成到我的主要文档中。我为此使用了 pgfplots 和 groupplots。假设我有两张如下所示的图形:

\begin{tikzpicture}
\pgfplotsset{ticks=none}
\begin{groupplot}[group style={group size= 4 by 1,horizontal sep=0.1cm},
    height=.25\textwidth,
    width=.25\textwidth,
    title style={yshift=-1.5ex}]
\nextgroupplot[title={f1}] 
\addplot[blue, ultra thick] (x,2*x*x);
\nextgroupplot[title={f2}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f3}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f4}]
\addplot[blue, ultra thick] (x,x*x);
\end{groupplot}
\end{tikzpicture}

然后间距就可以正常工作了,一切都可以完美地适应文本宽度。但是,如果我通过独立程序将此图形外部化,间距似乎就没有任何意义了。例如,以下两个文件的长度不同,尽管 groupplot 中的每个图都分配了 \textwidth 的宽度除以一行中的图数。

\documentclass{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.15}
\begin{document}
\textwidth=7in
\begin{tikzpicture}
\pgfplotsset{ticks=none}
\begin{groupplot}[group style={group size= 4 by 1,horizontal sep=0.1cm},
    height=.25\textwidth,
    width=.25\textwidth,
    title style={yshift=-1.5ex}]
\nextgroupplot[title={f1}] 
\addplot[blue, ultra thick] (x,2*x*x);
\nextgroupplot[title={f2}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f3}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f4}]
\addplot[blue, ultra thick] (x,x*x);
\end{groupplot}
\end{tikzpicture}
\end{document}

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{graphics}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.14}
\begin{document}
\textwidth=7in
\begin{tikzpicture}
\pgfplotsset{ticks=none}
\begin{groupplot}[group style={group size= 3 by 1,horizontal sep=0.1cm},
    height=.25\textwidth,
    width=.33\textwidth,
    title style={yshift=-1.5ex}]
\nextgroupplot[title={f1}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f2}] 
\addplot[blue, ultra thick] (x,x*x);
\nextgroupplot[title={f3}] 
\addplot[blue, ultra thick] (x,x*x);
\end{groupplot}
\end{tikzpicture}
\end{document}

我怎样才能纠正这个问题?这里是背面的例子。

相关内容