编写 LaTeX 宏一直很困难,似乎编写一个主要的包只能由真正的程序员。
幸运的是,LuaTeX 正在开发中,而且编写 Lua 宏可以说比用 TeX 编程更人性化。不过,如果有办法将 LuaTeX 与远程调试器结合起来,它可能会变得更加友好。
因此我问:有没有办法远程调试 LuaLaTeX 宏?
这个问题本质上是对帖子的重新表述使用 LDT 在 LuaLatex 中调试 Lua。由于帖子中没有真正包含问题,因此已关闭。帖子中提出了一个几乎完整的解决方案,但存在一些问题,我想知道这些问题是否可以解决。
答案1
如今,您可以在 LuaTeX 处理文档的过程中对 Lua 代码进行 GUI 调试。使用断点、监视变量、逐步执行代码、调用堆栈,甚至在鼠标悬停时显示带有变量内容的工具提示。
我使用 TeX 的环境是VS 代码+LaTeX 工作坊+莱特克斯。它非常方便:我可以编写和调试 C++ 程序,并在同一个窗口中撰写描述它的论文。LaTeX Workshop 具有如此多的功能,以至于任何像 TeXstudio 这样的软件都感觉没有必要。
您还可以在 VS Code 的同一环境中编辑 TeX 文档并调试其 Lua。要支持和调试文档中的 Lua,您需要两个扩展:Lua和本地 Lua 调试器。
要调试,请在序言中插入以下内容:
\begin{luacode}
require("lldebugger").start()
\end{luacode}
然后创建以下启动配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Custom Lua Environment",
"type": "lua-local",
"request": "launch",
"stopOnEntry": false,
"program": {
"command": "lualatex"
},
"args": ["mwe.tex"]
}
]
}
上面mwe.tex
的是文档的名称。就是这样。您可以开始调试了,只需按 F5 即可。到目前为止,唯一的缺点是它无法在文档内放置断点.tex
;它必须是 Lua 文件。
以下是调试会话的屏幕截图: