在 LuaLaTex 中从 Lua 检测草稿模式

在 LuaLaTex 中从 Lua 检测草稿模式

我正在处理一个文档,每次生成 PDF 时都需要从 Lua 脚本生成一些数据。但是,生成这些数据可能比较慢,因此我希望脚本在 lualatex 未以草稿模式运行时仅从头生成这些数据。

我想知道是否有这样的事情:

if tex.isRunningDraftMode() then
    print("USING OLD DATA")
else
    generateDataFromScratch()
end

请注意,在生成数据期间,不会将任何内容写入文档。

答案1

您可以使用以下方式测试草稿模式tex.draftmode

if tex.draftmode == 1 then
  print'draftmode'
else
  generateDataFromScratch()
end

注意:这测试的是引擎级草稿模式(通过运行选项或原语触发lualatex--draftmode\draftmode这种模式下,LuaTeX 根本不会生成 PDF)。

如果您正在考虑不同的草稿模式,那么您将需要另一个答案。

相关内容