数式入力 / 回帰テスト

LaTeXコマンド補完を5つの回帰条件で確かめる

正式名、dots派生、環境名、候補ゼロ、共有prefixを同じ入力で検査し、補完辞書の退行を再現可能な公開記録へ固定します。

更新
2026-08-31
執筆・検証
Fermion Inc.
TeX64の数式ブロックと数式入力を説明する公式ページ
TeX64の数式ブロック公式説明を2026年8月31日に取得。画像が示すのは製品上の入力面です。回帰テストの合格状態は公開JSONで確認します。

数式入力の補完は、候補一覧が開くだけでは評価できない。 正式なコマンド名を最後まで入力しても候補が残るか、目的の候補が先頭にあるか、環境名が正しいテンプレートへ進むか。辞書や順位規則を変えるたびに、同じ入力で確かめる必要がある。

5分類を別々の回帰条件にする

TeX64のコマンド補完で固定している回帰条件
検査代表入力守る挙動
正式名sin、frac、mathrm、operatorname入力した正式名自身を先頭候補にする
dots派生dotsc、dotsb描画可能な \ldots、\cdots へ解決する
環境名pmatrix、bmatrix、cases対応する begin テンプレートへ進む
候補ゼロ標準コマンド名51件完全入力時にも候補を一件以上返す
共有prefixtex、dots、sin短い中核コマンドを長い派生より先に保つ

一つの合格率へまとめないため、失敗した契約を出力から直接判断できる。dotscだけが落ちればdots派生の対応、texだけが落ちれば共有prefixの順位へ調査範囲を絞れる。

先頭候補とテンプレートを直接検査する

完全入力時の候補配列から先頭を取り出す。環境名は通常コマンドと同じ文字列比較にせず、対応するbeginテンプレートを含むことまで確認する。

候補順位を確かめる最小例
const topLatex = (token) =>
  buildRankedWordCandidates(token)[0]?.candidate.key.latex ?? "";

assert.equal(topLatex("sin"), "\\sin");
assert.equal(topLatex("mathrm"), "\\mathrm{#?}");
assert.ok(topLatex("pmatrix").includes("\\begin{pmatrix}"));

実装commit、実行command、テストSHAを結ぶ

2026年8月31日に回帰テストを再実行し、5件中5件が成功した。公開回帰記録には、fixture ID、実装commit、実行command、テストファイルのSHA-256、現在のpass状態を保存している。 fixtureはmath-suggest-regression-v1、テストSHA-256は6c89f53efb16035d9eebe0d368914a578031285412d081962adfa0e357d6c8a2である。

同じテストとファイルを確認するコマンド
node --test tests/math-suggest-command-names.test.mjs
shasum -a 256 tests/math-suggest-command-names.test.mjs

失敗分類から調査箇所を決める

回帰条件と最初に調べる実装範囲
失敗最初に調べる範囲修正後の再検査
正式名完全一致の順位と正式名trigger同じ正式名を最後まで入力する
dots派生描画可能な記号への対応dotscとdotsbを個別に実行する
環境名環境templateの候補keybeginテンプレートまで比較する
候補ゼロ完全入力した正式名の辞書登録標準コマンド名51件を全件実行する
共有prefix短い中核コマンドの優先規則短い語と派生語を同時に確認する

5件の成功が示す範囲

  • 実際の利用者が各コマンドを入力する頻度は測っていない。
  • 候補選択にかかる時間や打鍵数は測っていない。
  • 著者定義macroの候補順位は対象外である。
  • OCR、AI生成、数式の数学的な正しさは測っていない。
  • 文書全体の組版成功率は測っていない。

TeX64の入力面は数式ブロックの説明で確認できる。 再現差がある場合は、入力token、先頭候補、実装commitを添えてサポート窓口へ知らせてほしい。

参照した一次情報

訂正窓口

挙動の変更、再現できない結果、誤記はサポートで受け付けます。

TeX64 Support
関連する公式ページ数式ブロックの公式説明