加快使用 pgfplots 制作的包含大量 tikzpictures 的文档的编译速度

加快使用 pgfplots 制作的包含大量 tikzpictures 的文档的编译速度

我有一个包含大量tikzpicture用 制作的文档pgfplots,其中大多数都从文件中获取数据,因此汇编可能很长。为了只保留草稿,我希望使用与完整图像尺寸相同的空白图像。

到目前为止,我使用了一个技巧,即拥有一个与原始环境尺寸相同的tikzpicture空环境,并使用一些语句包含了空白或完整的图像,如下所示:axisif

\newcommand{\img}{Y} % immages Y(es) or N(o)
...
\begin{figure}
  \centering
  \ifthenelse{\equal{\img}{Y}}{%
    \input{Immagini/full.tex}}{%
    \input{Immagini/empty.tex}}
  \caption{caption}
\end{figure}

文件full.tex

\begin{tikzpicture}
  \begin{axis}[height=9cm, width=.8\textwidth]
    \addplot table [x index=0, y index=2] {dati.dat};
  \end{axis}
\end{tikzpicture}

文件empty.tex

\begin{tikzpicture}
  \begin{axis}[height=9cm, width=.8\textwidth]
  \end{axis}
\end{tikzpicture}

但是今天我读到了这个问题如何才能加快包含多幅图像的文档的编译速度?现在我想知道是否有类似于draft包选项的方法graphicx可以完成相同的操作tikzpicture

答案1

整体解决方案的一部分是external按照建议使用库,然后将选项设置draft\documentclass[draft]{whatever}。但这样做会将图像替换为固定尺寸的框,而不等于真实图像的尺寸。

\documentclass[a4paper,draft]{article}
\usepackage{pgfplots}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{external}

\tikzexternalize

\begin{document}

\begin{figure}[h]
  \centering
  \input{anderlini_10.tex}
  \caption{caption of this beautiful image}
\end{figure}

\lipsum[1-2]

\end{document}

在此处输入图片描述

发生这种情况的原因是创建的外部图像未使用 导入\includegraphics,要纠正此问题,只需\pgfkeys{/pgf/images/include external/.code=\includegraphics{#1}}在 之前添加此行 ( ) \tikzexternalize。这样我们就得到了所需的结果:

在此处输入图片描述

相关内容