如何在 LuaLaTeX 内部运行程序?

如何在 LuaLaTeX 内部运行程序?

是否可以在 LuaLaTeX 或 LaTeX 中运行一个简单的脚本?

例如,我需要使用终端中的计算器。我想写

$echo“100.83*4.53”|公元前

并在 LuaLaTeX 或 LaTeX 中获得结果。是否有一个命令(例如\runscript,称为)可以在 LuaLaTeX 或 LaTeX 中运行脚本,我可以按如下方式使用它:

\runscript{echo "100.83*4.53" | bc}

并得到结果“456.7599”?

是否可能,也许使用一些 Perl 或 Python 脚本?

答案1

使用 LuaTeX 你可以做这样的事情:

\documentclass{article}
\usepackage{luacode}
\begin{document}

\def\foo{\directlua{dofile("runfunc.lua")}}
\foo
\end{document}

文件runfunc.lua如下:

local i,j = io.popen([[echo "100.83*4.53" | bc]])
if not i then
  print(j)
  os.exit(-1)
end
tex.sprint(-2,string.gsub(i:read("*all"),"%s*$",""))
i:close()

运行

lualatex --shell-escape ‹filename.tex›

允许io.popen()

相关内容