
編寫 LaTeX 巨集一直是一件困難的事情,似乎編寫一個主要的套件只能由一個人來完成真正的程式設計師。
幸運的是,LuaTeX 正在路上,編寫 Lua 巨集可以說比用 TeX 程式設計更人性化。儘管如此,如果有辦法將 LuaTeX 與遠端偵錯器結合起來,它可能會變得更加友好。
因此我問:有沒有辦法遠端調試 LuaLaTeX 巨集?
這個問題本質上是對帖子的改寫使用 LDT 在 LuaLatex 中調試 Lua。該帖子已關閉,因為它實際上並不包含問題。帖子中提出了一個幾乎完整的解決方案,但是存在一些問題,我想知道這些問題是否可以解決。
答案1
現在,您可以在 LuaTeX 處理文件的過程中對 Lua 程式碼進行 GUI 偵錯。使用斷點、監視變數、單步執行程式碼、呼叫堆疊,甚至在滑鼠懸停時顯示帶有變數內容的工具提示。
我使用 TeX 的環境是VS程式碼+乳膠工作坊+萊特克斯。這非常方便:我可以編寫和調試 C++ 程序,並在同一個視窗中寫一篇描述它的論文。 LaTeX Workshop 有如此多的功能,以至於像 TeXstudio 這樣的東西感覺沒有必要。
您也可以在 VS Code 的同一環境中編輯 TeX 文件並偵錯其 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文件。
這是調試會話的螢幕截圖: