概要
- TikZ はLaTeXで図を描くための人気パッケージ
- コードとWYSIWYGの 両方で編集可能な新エディタ を開発
- ソースコードと図の同期表示・編集 が特徴
- 実装には TikZのパーサ再実装 や多様な機能追加が必要
- AIコーディングエージェント 活用の新たな可能性を示唆
TikZ WYSIWYGエディタの紹介
- TikZ はLaTeX論文で図を描く際に広く使われるパッケージ
- コマンド例:
\draw[->] (0,0) -- (1,2);による線や図形の描画 - 通常は 手作業で座標調整・再コンパイル を繰り返す必要
- SVGと似ているが、 コード主体 でループ(
\foreach)なども利用可能 - 今回開発したエディタは オープンソース でWeb・デスクトップ両対応
- 図形をドラッグ・リサイズ しながら視覚的にTikZソースを編集可能
- ソースコードと図の両方を同時表示・編集 し、常に同期を維持
- 片方を編集するともう一方にも 即時反映 される仕組み
実装の工夫と技術的挑戦
- TikZコードをパース し、各オブジェクトの ソース上の位置情報 を常時管理
- ユーザーが図形を移動すると、 座標値のみをソース内で自動更新
- それ以外の 改行やインデント 等は保持
- この手法のため、 TikZの大部分を独自に再実装 する必要
- 通常人間がやりたがらない 膨大かつ面倒な作業
- こうした開発は AIコーディングエージェント (例:Codex)の登場で実現可能に
- 既存のSVGやHTMLエディタでも 同時編集・同期機能 を持つものはほぼ存在しない
追加機能とサイドプロジェクト
- SVG / pptx / ipeからTikZへの変換ツール の開発
- LaTeXのハイフネーション・改行アルゴリズム の再実装
- 複数行ノード 対応のため
- LaTeX論文で使われる red!20!black 形式の カラーピッカー 実装
- これらの機能追加も 開発の副産物 として誕生
AIコーディングエージェントの可能性
- 人間には困難な膨大な再実装作業 もAI活用で実現可能
- これまで存在しなかった 新しいソフトウェア開発の可能性
- 他にも AIエージェントが実現できる分野 のアイデア創出の価値
- 今回のエディタは ほぼCodexによる自動生成
- AIと人間の協働による新たな開発事例