変更箇所の直前から処理を再開
LaTeXでは、数式や文章を修正するたびにコンパイルして紙面を確認します。 TDOMは、前回の組版で処理した状態を再利用することで、この確認にかかる待ち時間を短縮します。
文書を段落ごとに区切り、各段落まで処理したLuaTeXの状態を保持します。 修正が入ると、その直前の状態から組版を再開し、変更の影響を確認しながら表示を更新します。
LuaLaTeXの出力との比較
TDOMの表示と、通常のLuaLaTeXで組版した結果を照合します。 正しく表示できると確認されていない構文や処理には、実際の組版結果を使います。
現在の研究実装では、microtype、ページをまたぐ脚注、Windows上でのネイティブ実行には対応していません。 二段組やページ全体の描画を変更するパッケージを使う場合は、文書全体の実出力に切り替えます。
処理時間の測定結果
4〜30ページの文書で測定したところ、定常状態の同期時間の中央値は13.9〜18.2msでした。 95パーセンタイルは、最も長い条件で73.6msでした。 PDF生成と画像生成の時間は、この測定には含まれていません。
論文第6節・表4より。Apple M5、メモリ16GB、LuaHBTeX 1.18.0で測定しています。 対象はamsmathを使った英語のarticle文書で、チェックポイントの上限は8です。 各文書の3か所で30文字ずつ入力し、編集位置を移した直後の1文字を除いて集計しています。
TDOM: LaTeX Authoring Without the Compile Wait
Verified Incremental Typesetting over a Live Document Tree