“Lua 树”(texmf 树的类似物)

“Lua 树”(texmf 树的类似物)

我有一个 lua 文件,我会在我的许多 TeX 文档中使用它,并使用 dofile() 加载它。

我以为只要把它放在 (本地) texmf 树中就可以了,但这样做不行。相反,我收到了以下错误消息:

LuaTeX error cannot open the mycode.lua: No such file or directory

有什么好的解决办法吗?

  • 我尝试将文件保存在 ~/Library/texmf、~/Library/texmf/tex、~/Library/texmf/tex/latex 甚至 ~/Library/texmf/lua 中(我必须创建目录)。

答案1

dofile()需要完整路径(或相对于当前目录的路径)。您必须使用require()将搜索 TEXMF 树的路径,或者使用kpse.find_file()并将返回的路径传递给dofile()kpsewhich -show-path=lua应显示 lua 文件的搜索路径。

答案2

require()在这些 texmf 子目录中搜索(TeXlive2011、LuaLaTeX):

scripts/lualatex/lua/
scripts/luatex/lua
scripts/lua
scripts/lualatex
scripts/luatex
scripts
tex/lualatex
tex/latex
tex/luatex
tex/generic
tex

答案3

require()通常应使用 kpse。例如在 中require("fontspec.lua")找到。fontspec.luatex\latex\fontspec

相关内容