我正在处理一个文档,每次生成 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)。
如果您正在考虑不同的草稿模式,那么您将需要另一个答案。