
LaTeXマクロを書くことは常に困難であり、主要なパッケージを書くことは、本物のプログラマー。
幸いなことに、LuaTeX が開発中であり、Lua マクロを記述する方が TeX でプログラミングするよりも人間に優しいと言えるでしょう。それでも、LuaTeX をリモート デバッガーと組み合わせる方法があれば、さらに使いやすくなるでしょう。
そこで私はこう尋ねます。LuaLaTeX マクロをリモートでデバッグする方法はありますか?
この質問は本質的には投稿の言い換えであるLDT を使用した LuaLatex での Lua のデバッグ質問がほとんど含まれていなかったため、投稿は閉じられました。投稿ではほぼ完全な解決策が提案されていましたが、いくつか問題があり、これらの問題が解決できるかどうかを知りたいです。
答え1
現在では、ドキュメントの LuaTeX 処理の途中で、Lua コードの GUI デバッグを行うことができます。ブレークポイント、変数の監視、コードのステップ実行、呼び出しスタック、さらにはマウスをホバーすると変数コンテンツを含むツールチップが表示される機能も備えています。
TeXで作業する私の環境はVSコード+LaTeXワークショップ+LTeX非常に便利です。C++ プログラムを書いてデバッグし、同じウィンドウでそれを説明する論文を書くことができます。LaTeX Workshop には非常に多くの機能があるため、TeXstudio のようなものは不要に感じられます。
VS Code の同じ環境で TeX ドキュメントを編集し、その Lua をデバッグすることもできます。ドキュメント内で Lua をサポートおよびデバッグするには、次の 2 つの拡張機能が必要です。ルアそしてローカル 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 キーを押すだけです。これまでのところ、唯一の欠点は、ドキュメント内にブレークポイントを配置できないことです。Lua.tex
ファイルである必要があります。
以下はデバッグ セッションのスクリーンショットです。
答え2
シンプルで軽量な代替手段の1つは、コマンドラインインターフェースデバッガーです。デバッガー.luaスコット・レンブケ著。ないリモート デバッグ ソリューションではありませんが、セットアップは非常に簡単です。欠点は、GUI がないため、すべてがターミナルを通じて実行されることです。しかし、これは、おそらく現在までにほとんどの LuaLaTeX パッケージ作成者が使用している方法である、印刷コマンドを発行するよりもはるかに優れています。
開始するには:
- ダウンロードデバッガー.luaプロジェクト フォルダーに配置します。
local dbg = require("debugger")
デバッグする .lua ファイルの先頭にコマンドを配置します。dbg()
コードの実行を中断したいコードの場所にコマンドを配置します。- ターミナル コマンドを使用して、変数を検査したり、カスタム コードを実行したりします。コマンドを発行する
h
と、使用可能なコマンドの簡単な概要が表示されます。