我正在使用\usepackage{tikz}
、\usepackage{pgfplots}
、\usepgfplotslibrary{external}
、\tikzexternalize
。我的图形对 TeX 的转换非常慢(大约需要几分钟),所以我很高兴有\tikzexternalize
。但是,每当我重新排序图形时,它们都会被重新编译,即使图形的内容没有改变。
理想情况下,我想让图形名称成为图形内容的某种哈希值;可以做到吗?
我也可以接受一个版本,在这个版本中我必须传递一个额外的可选参数\begin{tikzpicture}
或它的某个变体(我说“额外的”是因为我经常传递[only marks]
给\begin{tikzpicture}
),定义该图形的图形名称。
答案1
该external
库现在无人维护,建议改用较新的替代方案之一(例如此评论)。
memoize
默认情况下使用 MD5 和来命名“externs”,因此即使项目被重新排序或通过早期插入在文档中推到后面,也可以避免重新编译。不仅可以记忆图像,而且与库相比,包还具有各种其他优势external
。请参阅https://tex.stackexchange.com/a/698555/。
robust-externalize
似乎也在文件名中使用哈希,尽管我个人没有亲自尝试过这个包。作者在手册的介绍中列出了这两个包的相对优势和劣势。但请注意,的评估memoize
并不总是公平的,或者至少并不总是适用于现在发布到 CTAN 的版本。