TikZ Editor v0.4.0 リリース

TikZ Editor v0.4.0 リリース

TikZ Editor v0.4.0 は、LaTeX で TikZ 図形を作成・編集するための WYSIWYG インターフェースを提供します。このツールは、要素のドラッグ、オブジェクトのサイズ変更、スタイルの視覚的な変更を可能にし、背後の TikZ コードがリアルタイムで更新されるため、従来の「コンパイルして確認する」というサイクルを排除します。

リアルタイムの視覚的編集とコード同期

TikZ Editor は、ソースコードとの直接的なリンクを維持しながら、図形を視覚的に変更することを可能にします。LaTeX ソース内で手動で座標を調整する代わりに、ユーザーはパスやノードを新しい場所にドラッグでき、アプリはコード内の座標を即座に更新します。

主な機能は以下の通りです:

  • Direct Manipulation: ユーザーはキャンバス上でオブジェクトを直接移動、サイズ変更、回転、複製、反転させることができます。
  • Source Preservation: エディタは、ファイル全体を標準的な形式で書き換えるのではなく、小さなパッチを使用して TikZ コードを更新するため、ユーザーの元のインデント、改行、およびフォーマットを保持します。
  • Integrated Source Editor: ソースパネルには、構文ハイライト、スコープのコード折りたたみ、および入力なしで素早く調整するためのインラインカラーパレットと数値スクラブ機能が備わっています。

図形作成のための包括的なツールセット

エディタは、基本的な形状から高度な構造まで、複雑で慣習的な TikZ 図形を構築するための幅広いツールを提供します:

Drawing Tools

  • Basic Elements: ノード、長方形、円、楕円、および直線または矢印を追加するためのツール。
  • Advanced Paths: ベジェ曲線、マルチセグメントパス、および平滑化機能付きのフリーハンド描画のサポート。
  • Advanced Layouts: ノードの行列、グリッド、および形状ライブラリ(例:ひし形、星、雲)からの複雑な形状を作成するためのツール。

Layout and Precision

  • Snapping and Alignment: アプリには、グリッド、ガイド、オブジェクトのポイント、およびギャップへのスナップ機能に加え、定規と拡大鏡ツールが微調整のために含まれています。
  • Grouping and Distribution: マルチセレクションにより、ユーザーは TikZ scopes を使用してオブジェクトをグループ化し、整列および分散機能を使用して一貫した間隔を確保できます。

マルチ図形およびドキュメントのサポート

TikZ Editor は、ファイル全体の .tex ファイルを開くことができ、サムネイルプレビューを使用して複数の tikzpicture 環境間を移動できます。アプリは多くのカスタムマクロを理解するように設計されており、より幅広い学術論文との互換性があります。

インポートおよびエクスポート機能

他のツールからの移行を容易にするため、TikZ Editor はさまざまなインポートおよびエクスポート形式をサポートしています:

  • Imports: ユーザーは SVG、Ipe (.ipe)、および PowerPoint (.pptx) から図形をインポートできます。デスクトップ版は、PowerPoint および Keynote からオブジェクトを直接貼り付けることもサポートしています。
  • Exports: 図形は SVG、PNG、PDF、またはスタンドアロンの LaTeX コードとしてエクスポートできます。

Technical Implementation

TypeScript と Tauri (デスクトップ版には Rust バックエンド) で構築された TikZ Editor は、セマンティックレイヤーを使用して、座標、スタイル、およびループを編集可能なシーン要素に解決します。

Parsing and Rendering

  • TeX Parsing: アプリは頻繁に使用される TikZ コマンドを解析して、内部表現を構築します。標準的な TeX コンパイラを使用しないため、即座に診断とエラーハイライトを提供できます。
  • Text and Math: レンダリングは MathJax を介して行われます。LaTeX との視覚的な忠実度を確保するため、アプリは複数行テキストに対して TeX ハイフネーションアルゴリズムと Knuth-Plass 行分割アルゴリズムを実装しています。
  • Color Conversion: カスタムカラーピッカーは、RGB 値を最も近い表現可能な xcolor 文字列に変換します (例:16進数コードを violet!88!white!45!green に変換)。

AI Integration

デスクトップ版は Codex App Server を介して OpenAI Codex と統合されており、ユーザーは AI アシスタントに TikZ 特有のツールを使用してアプリ内で直接図形を編集するよう依頼できます。

Availability

TikZ Editor は MIT ライセンスの下で無料かつオープンソースです。ウェブアプリケーションおよび軽量なデスクトップアプリケーションとして利用可能です。

Sources