プログラミング
Show HN: TikZ Editor – LaTeXの図形用WYSIWYGエディター
Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX (tikz.dev)
要約
TikZ Editorは、LaTeXで図形を描画するためのWYSIWYGエディターで、ソースコードとレンダリングされた図形を同時に表示し、両方を同期させながら編集できる点が特徴です。座標を手動で調整する手間を省き、要素のドラッグやサイズ変更で視覚的に編集可能です。このツールはコーディングエージェント「Codex」によってほぼ完全に構築されており、これまで手間がかかりすぎて実現不可能だったソフトウェア開発の可能性を示唆しています。
全文翻訳
皆さん、こんにちは!TikZは、論文の図形描画に広く使われているLaTeXパッケージです。これは、`\draw[->] (0,0) -- (1,2);`のようなコマンドを使って線、図形、テキストなどを描画します。学術関係者は通常、手作業で図形をコーディングするため、見た目が良くなるまで座標を微調整して再コンパイルを繰り返すことがよくあります。SVGに少し似ていますが、例えば`\foreach`でループを組むなど、マークアップというよりはコードに近いものです。\n\n私は、要素をドラッグしたりサイズ変更したりすることでTikZのソースコードを視覚的に編集できる、オープンソースのWYSIWYG TikZエディター(Web版とデスクトップ版があります)を開発しました。ソースコードとレンダリングされた図形を同時に表示し、両方のビューが同期を保ちながらどちらかを編集できます。同時にソースエディターでありWYSIWYGエディターである他のエディター(SVGやHTMLの編集用でさえ)は知りませんし、この組み合わせがどれほどうまく機能するかには大変満足しています。\n\nこのアプリの実装方法は、TikZコードをパースし、常に各オブジェクトの正確なソース位置を追跡することです。それにより、ユーザーが要素を新しい位置にドラッグした際、アプリはコード内の他の何も(改行やインデントなど)変更せずに、座標の数値だけを上書きできます。\n\nこのアプローチは、本質的にTikZの大部分を再実装することを必要としました。これは人間がやりたがらない種類のタスクです。不可能に思えるほど面倒なコーディング作業だったためにまだ存在しないソフトウェアを構築することは、コーディングエージェントのおかげで実現した新たな大きな可能性の一つだと思いますし、他の例についてもブレインストーミングする価値があります。(このアプリはほぼ完全にCodexによって構築されました。)\n\nアプリの実装には、SVG / pptx / ipeからTikZへのコンバーターの構築、複数行ノードをサポートするためのLaTeXのハイフネーションおよび改行アルゴリズムの再実装、LaTeX論文で使われる`red!20!black`のような色混合表記を使用するカラーピッカーの作成など、多くの楽しいサイドクエストが伴いました。