![在 texlive 2020 和 Ubuntu Bionic 中,Require 在 lualatex 中出现错误](https://linux22.com/image/412081/%E5%9C%A8%20texlive%202020%20%E5%92%8C%20Ubuntu%20Bionic%20%E4%B8%AD%EF%BC%8CRequire%20%E5%9C%A8%20lualatex%20%E4%B8%AD%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
我尝试了很多方法将 luarocks 安装的模块包含在 tex 文件中以供 lualatex 处理,但所有方法都让我
/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua:381: attempt to call
a nil value (field 'cpath specification')
stack traceback:
...0/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua:381: in field '?'
...0/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua:403: in function <
...0/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua:395>
[C]: in function 'require'
[\directlua]:1: in main chunk.
我试过了使用 LuaLaTeX 和 SQLite3和包luapackageloader
。我还尝试过设置package.path
和package.cpath
。我的目标是从 penlight 加载路径模块。为此,我尝试了两者
\directlua{
require("pl")
path = require("pl.path")
}
和
\directlua{
path = require("path")
}
一切都出现了下面引用的相同错误。我做错了什么?
谢谢!
附言:我在干净的 Ubuntu Bionic 安装上运行所有内容。
答案1
您需要--shell-escape
使用 LuaTeX 1.12 来编译您的文档,该版本随 TexLive 2020 一起提供(请参阅
https://tug.org/pipermail/luatex/2020-March/007333.html)。