LuaLaTeX
我正在使用提供的轻量级版本TinyTeX
。
我有一个 lua 文件:githelp.lua
function gitlogread()
local pip=io.popen("echo 'ANYTHING'")
gitid=pip:read()
pip:close()
return tex.print(gitid)
end
和我的 tex 文件
\documentclass[11pt,a4paper]{article}
\directlua{dofile("githelp.lua")}
\begin{document}
BEGIN
\directlua{gitlogread()}
END
\end{document}
在任何情况下,我都无法从系统获取os.execute
或返回任何东西,无论它有多么微不足道。io.popen
我尝试使用,--shell-escape
尽管文档说它无论如何都应该可以工作。我只希望我的系统调用返回一些内容。我是否遗漏了一个重要的包?
答案1
这不是一个包裹问题。显然,这是一个命令行问题,我不知道。
不起作用:
lualatex my.tex --shell-escape
确实有效:
lualatex --shell-escape my.tex
这里看起来 io.popen 已启用,除非使用 --safer 标志。 参考手册
但是,更好的答案在这里:4.2.4 执行程序。我希望找到一种方法来将此设置放入配置文件中或在 lua 中编辑 texconfig。但这可能是未来的努力。