TikZ Editor v0.4.0 發佈

TikZ Editor v0.4.0 發佈

TikZ Editor v0.4.0 為在 LaTeX 中建立與編輯 TikZ 圖表提供了一個所見即所得 (WYSIWYG) 的介面。此工具透過允許使用者拖曳元素、調整物件大小以及視覺化地修改樣式,消除了傳統「編譯並檢查」循環的需求,且底層的 TikZ 程式碼會即時更新。

即時視覺化編輯與程式碼同步

TikZ Editor 允許使用者在保持與原始碼直接連結的同時,視覺化地修改圖形。使用者不再需要手動調整 LaTeX 原始碼中的座標,而是可以拖曳路徑或節點到新位置,應用程式會立即更新程式碼中的座標。

關鍵功能包括:

  • 直接操作:使用者可以直接在畫布上移動、調整大小、旋轉、複製與翻轉物件。
  • 原始碼保留:編輯器使用小型的補丁 (patches) 來更新 TikZ 程式碼,而非以標準格式重寫整個檔案,這保留了使用者原始的縮排、換行與格式。
  • 整合式原始碼編輯器:原始碼面板具備語法高亮、範圍 (scopes) 的程式碼摺疊功能,以及內嵌的顏色色塊與數值微調功能,無需輸入即可進行快速調整。

用於繪圖的全面工具集

編輯器提供了一系列廣泛的工具來構建複雜且符合慣例的 TikZ 圖形,範圍從基礎形狀到進階結構:

繪圖工具

  • 基礎元素:用於新增節點、矩形、圓形、橢圓形以及直線或箭頭的工具。
  • 進階路徑:支援 Bezier 曲線、多段路徑以及具備平滑效果的手繪繪圖。
  • 進階佈局:用於建立節點矩陣、網格以及從形狀庫中建立複雜形狀(例如:菱形、星星、雲朵)的工具。

佈局與精確度

  • 吸附與對齊:應用程式包含對網格、輔助線、物件點與間隙的吸附功能,並配備尺規與放大鏡工具以進行微調。
  • 群組化與分佈:多重選擇允許使用者使用 TikZ scopes 來群組物件,並使用對齊與分佈功能來確保間距一致。

多圖形與文件支援

TikZ Editor 可以開啟整個 .tex 論文檔案,允許使用者透過縮圖預覽在多個 tikzpicture 環境之間進行切換。該應用程式旨在理解許多自定義宏 (macros),使其能與更廣泛的學術論文相容。

匯入與匯出功能

為了方便從其他工具轉換,TikZ Editor 支援多種匯入與匯出格式:

  • 匯入:使用者可以從 SVG、Ipe (.ipe) 與 PowerPoint (.pptx) 匯入圖形。桌面版也支援直接從 PowerPoint 與 Keynote 貼上物件。
  • 匯出:圖形可以匯出為 SVG、PNG、PDF 或獨立的 LaTeX 程式碼。

技術實作

TikZ Editor 使用 TypeScript 與 Tauri (桌面版使用 Rust 後端) 構建,並使用語義層來將座標、樣式與迴圈解析為可編輯的場景元素。

解析與渲染

  • TeX 解析:應用程式解析常用的 TikZ 指令來建立內部表示。由於它不使用標準的 TeX 編譯器,因此它可以提供即時的診斷與錯誤高亮。
  • 文字與數學:渲染透過 MathJax 處理。為了確保與 LaTeX 的視覺一致性,應用程式實作了 TeX 分割字元 (hyphenation) 演算法與 Knuth-Plass 換行演算法來處理多行文字。
  • 顏色轉換:自定義的顏色選擇器會將 RGB 值轉換為最接近的可表示 xcolor 字串(例如:將十六進位碼轉換為 violet!88!white!45!green)。

AI 整合

桌面版透過 Codex App Server 與 OpenAI Codex 整合,允許使用者使用 TikZ 特有的工具,直接在應用程式內要求 AI 助手編輯圖形。

可用性

TikZ Editor 是根據 MIT 授權條款提供的免費開源軟體。它提供網頁應用程式以及輕量級桌面應用程式兩種形式。

Sources