我正在使用 Tikz externalize 来制作手稿中的图片。包含 Tikz/pgfplots 代码的原始文件已被删除(但当我的模拟运行结束后,几个小时后会重新生成)。
与此同时,我想对文本做一些修改,然后交给其他人审阅。我仍然有之前 Tikz 编译的输出文件。有没有办法阻止 Tikz 尝试重建这些文件,而是按原样使用它们?
答案1
这是当您至少提供一些虚拟tikz;
命令或\begin{tikzpicture} \end{tikzpicture}
环境时,这是可能的。
你没有提供 TikZ 代码的示例,因此我无法建议你如何详细操作。因为你写的是“完成模拟”,并且你正在使用 PGFPlots,所以我假设你想要展示一些模拟结果图。最佳情况下,你只存储数据在一些数据文件中并像 一样绘制它们\addplot table {<filename>};
。那么可能/应该只会发生这些数据文件在模拟运行期间被删除,但tikzpicture
环境本身仍然存在。那么下面的解决方案将非常适合你。
有关详细信息,请查看代码中的注释以及PGFPlots 手册第 530 页(v1.14)中的“使用未安装 PGF 或 PGFPlots 的库”部分。
\documentclass[border=5pt]{standalone}
% -----------------------------------------------------------------------------
% use this block to externalize your figures
\usepackage{pgfplots}
\usetikzlibrary{
% at present the PGFPlots External library is newer as the one in
% TikZ so I use this one
% (some bugs are fixed in it)
pgfplots.external,
}
\tikzexternalize[
% Because I think it is good practice to give your to externalize
% pictures a name, I use the following option
only named=true,
]
%% -----------------------------------------------------------------------------
%% use this block after externalizing
%% the only thing that needs to be present is either a `\tikz ...' command
%% or a `tikzpicture environment'
%% (copy the file
%% <tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_tikzexternal.sty>
%% into the directory of your main file (\jobname) and rename it to
%% "tikzexternal.sty")
%\usepackage{tikzexternal}
%% -----------------------------------------------------------------------------
% store the externalized files in the following folder
% (this folder must already exist; otherwise you will get an error)
\tikzsetexternalprefix{Pics/pgf-export/}
\begin{document}
\tikzsetnextfilename{test}
\begin{tikzpicture}
% -----------------------------------------------
% this part can be commented, deleted or whatever
% after externalization and further use of the
% `tikzexternal' package
\begin{axis}
\addplot coordinates { (0,0) };
\end{axis}
% -----------------------------------------------
\end{tikzpicture}
\end{document}
答案2
代替
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
和
%\usepackage{tikz}
\usepackage{graphicx}
\usepackage{tikzexternal}
%\usetikzlibrary{external}
\tikzexternalize
由于您没有提供示例,而且我从未这样做过,因此这未经测试。但是,它是50.5 在未安装 PGF 的情况下使用外部图形在 Ti钾Z 手册也讨论了该方法在加速编译方面的用途。请参阅那里的讨论以了解该方法的局限性。有几件事你需要确保以特定的方式而不是其他方式来做,其中库external
和 Ti钾Z 本身支持多种方式来实现同一件事。
如果你正在使用pgfplots
,你应该查阅其手册,而不是 PGF/Ti钾Z one,因为你可能正在使用它的外部化功能,而不是通用功能。请参阅Stefan Pinnow 的回答在这种情况下,整个过程似乎比通常的情况要复杂得多。
否则,尝试Tobi 的建议。