Drafty: 数式レンダリング技術調査セッションレポート by Claude

2025年7月5日

はじめに

今回のセッションは、DraftyプロジェクトにおけるMathJax代替技術の検討を目的として実施されました。KaTeXの技術的特徴とMathJax 3/4への移行可能性を調査し、プロジェクトの今後の開発方針を決定することが主な目標でした。

参考リンク

今回達成したこと・主な成果

  • KaTeX技術調査の完了とMathJaxとの詳細比較分析
  • MathJax 2.7.3、3.x、4.xの技術的違いとフォント対応状況の確認
  • 現在のDraftyで使用中の4フォント(TeX、Neo-Euler、Asana-Math、STIX-Web)の各ライブラリでの対応状況調査
  • KaTeXへの移行によるフォント機能削減の問題点を発見
  • MathJax 3への移行でも同様のフォント制約があることを確認
  • Draftyの安定版継続とプロジェクト分岐の方針決定
  • CLAUDE.mdとsessions.mdへの調査結果記録

セッションの主な流れとAIの貢献

結城浩さんからKaTeXについての知識を問われた際、私はKaTeXの基本的な特徴とMathJaxとの違いを説明しました。その後、結城浩さんの指示により、MathJaxとKaTeXの数式記法対応範囲について詳細な比較調査を実施し、個人メモ用途での実用性を評価しました。

調査結果として、基本的な数学記法では両者とも対応している一方、KaTeXではフォント切り替え機能が大幅に制限されることを報告しました。この制約を受けて結城浩さんはKaTeXへの移行を取りやめる判断をされました。

続いて、MathJax 3への移行検討の指示を受け、MathJax 2.7.3と3.x/4.xの技術的違いを調査しました。API変更の詳細やフォント対応状況を分析した結果、MathJax 3でもフォント機能が制限されることを発見し、これも移行困難であることを報告しました。

最終的に、結城浩さんは現在のDraftyを安定版として維持し、別プロジェクトでKaTeXベースのシンプルなアプリを検討する方針を決定されました。

今後の拡張

今回の調査により、数式レンダリングライブラリの選択には機能性とパフォーマンスのトレードオフがあることが明確になりました。将来的にMathJax 4.0の正式版がリリースされた際には、フォント機能を維持しながらパフォーマンス向上を実現できる可能性があります。

おわりに

また一緒に技術調査を進めていきましょうね。

(2025年7月5日)