在 Debian 上使用 XeTeX(xelatex) [我使用 pdflatex 也遇到了同样的问题] 我试图使用 tikz external 节省一些编译时间。但是,除非我删除相应的文件,否则图表永远不会更新。否则我会得到
===== 图像“figures/mwe-figure0”是最新的。======
即使我改变了一些东西,例如标签或坐标
\pgfversion 给了我2.10
母语:
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]
\tikzset{external/system call={%
xelatex \tikzexternalcheckshellescape
-halt-on-error -shell-escape -interaction=batchmode
-jobname "\image" "\texsource"}}
\begin{document}
\begin{tikzpicture}
\node (f) at (0,0){d};
\end{tikzpicture}
\end{document}
有趣的是,当我添加
\tikzset{external/up to date check=md5}
我得到了序言
!软件包 pgfkeys 错误:我不知道密钥“/tikz/external/up to date check
”,我将忽略它。也许你拼错了。
这可能是什么原因造成的?
PS:如果它给您提供任何见解,*.dpth 文件是空的。
答案1
我已经有一个自动识别更改的实现,并且我认为它适用于所有具有外部化功能的 pgf 版本。只需将以下内容添加到您的序言中:
\usepackage{filemod}
\newcommand{\includetikz}[2]{%
\tikzsetnextfilename{#2}%
\filemodCmp{#1#2.tikz}{#1tikz_external/#2.pdf}%
{\tikzset{external/remake next}}{}%
\input{#1#2.tikz}%
}
您可以通过以下代码包含 tikz 文件:
\begin{figure}[pt!]
\centering
\footnotesize\includetikz{figures/}{testfigure}
\caption{testcaption}
\label{fig:testlabel}
\end{figure}
您不需要,\footnotesize
但我通常就是这样包含图表的。