避免因 lualatex 缓存的新时间戳而强制重新运行 latexmk

避免因 lualatex 缓存的新时间戳而强制重新运行 latexmk

我正在尝试使用 CI 设置 GitLab 项目,以便仅当源 tex 文件发生更改时才会在作业中构建 PDF 工件。我已经通过使用解决了 tex 文件修改日期的问题git-restore-mtime。但是,即使源文件比缓存的 PDF 旧,latexmk它仍会运行lualatex。原因如下:

Latexmk: This is Latexmk, John Collins, 7 Jan. 2023. Version 4.79.
Latexmk: applying rule 'lualatex'...
Rule 'lualatex':  Reasons for rerun
Changed files or newly in use/created:
  /usr/share/texmf-var/luatex-cache/generic/names/luaotfload-lookup-cache.luc
Category 'changed_user':
  /usr/share/texmf-var/luatex-cache/generic/names/luaotfload-lookup-cache.luc

当我打印出 的修改时间戳时luaotfload-lookup-cache.luc,它是当前时间。因此,似乎一旦创建 Docker 容器,就会设置此修改时间戳。我确实luaotfload-tool --update在创建 Docker 映像时运行过,但这没有帮助。

有什么方法可以解决所述问题。也就是说,当 tex 源不比缓存的 PDF 新时,设置它不会强制重新运行构建latexmklualatex

更新

我另外将以下行放入latexmkrc(如上所述这里),但由于某种原因,它并没有停止重新运行:

$hash_calc_ignore_pattern{'luc'}='^';

相关内容