是否可以在 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()
。