LuaLaTeX Windows 系统调用不起作用

LuaLaTeX Windows 系统调用不起作用

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。但这可能是未来的努力。

相关内容