注意 \luaexec (需要 \usepackage{luacode} )不可扩展,因此不能用于(Lua)TeX期望的地方 <number> 扩张后
\luaexec
\usepackage{luacode}
<number>
\documentclass{article} \usepackage{luacode} \usepackage{ifthen} \begin{document} \newcommand\testC{123} \ifthenelse{\testC<0}{negative}{positive} % works fine ! \newcommand{\testD}{\directlua{tex.sprint("123")}} % write to avoid the print carriage return - p$ \testD % prompt 132 just as \testC "apparently" \ifthenelse{\testD<0}{negative}{positive} % error "! Missing number, treated as zero" \newcounter{compteur} \setcounter{compteur}{\testD} % error "! Missing number, treated as zero" \ifthenelse{\value{compteur}<0}{negative}{positive} \end{document}
它更好用 \value{compteur} 在测试中。
\value{compteur}