![Lualatex 函数产生尾随字符](https://linux22.com/image/396805/Lualatex%20%E5%87%BD%E6%95%B0%E4%BA%A7%E7%94%9F%E5%B0%BE%E9%9A%8F%E5%AD%97%E7%AC%A6.png)
此功能在生产系统中运行,我没有发现任何变化(MikTeX 进行了一些包更新,可能会产生影响)。
一个非常简化的 MWE 是
\documentclass{article}
\directlua{
function underscore(s)
s = tostring(s+2080)
tex.print(s)
end
}
\DeclareRobustCommand{\Binl}[1]{\directlua{underscore([[#1]])}}%
\begin{document}
Use M\Binl{1} or M\Binl{2}
\end{document}
我以前会得到具有正确下标的 M_1 和 M_2,但现在会生成正确的 unicode 字符 U+2081 和 U+2082,但会在输出中看到结尾的“.0”。注意:在将字符串传回之前,我省略了在 s 前面添加“\char\””。
输出 :
Use M2081.0 or M2082.0
答案1
答案2
s = tostring(math.floor(s+2080))