对我来说,LuaTeX 的一个吸引人的功能是能够直接在文档中有效地执行计算。现在假设我想要一个命令\proc
来执行计算,然后使用\num
from格式化数字的命令siunitx
。我尝试了下面的代码,它导致痛苦的死亡,充满了晦涩难懂的错误消息。用 替换\luaexec
可以\directlua
,但我觉得如果可能的话最好远离那个原始命令。我尝试使用\expandafter
s 但没有成功。我该如何解决这个问题?
\documentclass{article}
\usepackage{luacode,siunitx}
\newcommand\proc[1]{%
\num{%
\luaexec{tex.sprint(#1)}%
}%
}
\begin{document}
\proc{2+3}
\end{document}