识别发生错误的 directlua 块

识别发生错误的 directlua 块

在 wiki 页面中http://wiki.luatex.org/index.php/Writing_Lua_in_TeX有一个很有前途的解决方案可以识别不同的 lua(TeX)块:

\directlua {<lua code>}
\directlua name {<name>} {<lua code>}
\directlua <number> {<lua code>}

但是没有示例。当我按照上一个语法中的建议添加数字 3 时。没有报告编译错误,但 lua 错误后的错误消息没有什么不同:我查找了错误块的数字 3,但我有:1该块的标准引用。

它是如何工作的?是否有与luadirectluaexec、 ... 等效的词?

答案1

比较这些

\directlua name{luachunk}{
print(debug.traceback())
}

\directlua {
print(debug.traceback())
}



\bye

第一个生产

stack traceback:
        [string "luachunk"]:1: in main chunk

在跟踪中显示命名的块

第二个显示默认名称。

stack traceback:
        [\directlua]:1: in main chunk

Latex(或纯 tex 的 ltluatex.tex 文件)可以\newluachunkname为此提供稍微高级一点的接口。

相关内容