跳到內容

在論文插圖中嵌入排版公式

寫論文——無論是學位論文、arXiv 預印本、IEEE 期刊投稿還是研討會報告——常常會遇到插圖同時需要示意圖和排版公式的情況。常見的做法是分工:用繪圖工具畫圖、用 LaTeX 渲染器產生公式,再合成最終版本。這個流程行之有年,能產出高品質的插圖;不過代價是公式不再和圖形存在同一個檔案中,若審稿人要求修改某個下標,就得重新走一遍渲染流程。

drawtonomy 提供另一種選擇:圖形和公式放在同一張畫布上,公式以可編輯的 LaTeX 原始碼保存,隨時可以修改再匯出。

在 drawtonomy 畫布上,馬克士威方程組以 align 環境排版,顯示方程編號 (1)–(4)

以 KaTeX 在 drawtonomy 畫布上渲染的馬克士威方程組。整個公式區塊是一個可編輯的形狀——雙擊即可叫出 LaTeX 原始碼。

以下每款工具都有其擅長的場景,drawtonomy 的特點是將圖形和公式整合在同一個可編輯的畫布上。

  • PowerPoint / Keynote 是製作簡報和快速插圖的主流選擇,內建公式編輯器操作直覺,但不以 LaTeX 原始碼格式保存,事後再次編輯 LaTeX 需要額外步驟。
  • Inkscape / Illustrator 提供精細的向量控制,許多論文最終插圖都在這裡修整。搭配外部 LaTeX 渲染後,LaTeX 原始碼通常需另外維護一份獨立檔案。
  • Excalidraw / tldraw / Miro 是優秀的協作白板,著重在圖形繪製,公式通常以圖片形式從外部渲染器貼入。
  • TikZ / pgfplots 是完全程式化、深度整合 LaTeX 的插圖標準,精度最高。需要完整編譯循環,每次調整都要重新編譯。

drawtonomy 介於簡報工具和 TikZ 之間:一個內建 KaTeX 渲染器的 2D 向量畫布,讓 LaTeX 原始碼保留在圖形中。如果你的現有工具鏈已經運作順暢,就繼續用;drawtonomy 最適合想把圖形和公式統一放在同一個可編輯檔案的情境。

  1. 在畫布上繪製示意圖。 自動駕駛論文可以用車道、車輛、行人;控制系統論文用方塊和箭頭;方法流程圖用多邊形和路徑箭頭。drawtonomy 所有的形狀都可以和 Math 形狀組合使用。

  2. 用 Math (fx) 工具加入公式。 KaTeX 預覽即時渲染。多行方程組使用 \begin{align},KaTeX 自動處理方程編號。

    Math 編輯器顯示二次方程式,含分數、根號和 ± 符號,KaTeX 即時預覽中正確渲染

    輸入二次方程式時的 KaTeX 即時預覽——上半部是 LaTeX 原始碼,下半部是渲染結果。

  3. 調整樣式以符合印刷需求。 大多數期刊仍以灰階印刷,公式建議選黑色或深灰色,並調整大小與示意圖的內文字級一致。Size 滑桿最高可設到 200 px,適合海報插圖。

    同一公式以紅色、60 px 顯示,旁邊是 Math (LaTeX) 屬性面板,可見顏色選取器和大小滑桿

    顏色和大小可在 Math (LaTeX) 面板中調整——論文用黑色,海報插圖則調大字級。

  4. 匯出 PDF 供 LaTeX 使用。 所有字符(包含 \sqrt 的根號橫線)都透過 opentype.js 轉換為向量路徑,檔案完全自帶——不依賴字型,也不會引發 pdflatex 的錯誤訊息。用 \includegraphics{...} 直接插入 LaTeX 文件即可。

  5. 儲存 .drawtonomy.svg 作為原始檔。 當審稿人要求修改(「能把 \sigma 換成 \rho 嗎?」),重新在 drawtonomy 開啟 .drawtonomy.svg,雙擊公式編輯 LaTeX,重新匯出 PDF——不需要重畫任何圖形。

  • \includegraphics{equation.pdf} 是最穩定的方式。drawtonomy 的 PDF 匯出以路徑為基礎,相容所有 LaTeX 引擎(pdflatexxelatexlualatex)。
  • SVG 搭配 svg 套件 也可行,但需要在編譯機器上安裝 Inkscape。本機建置尚可預測,CI 環境容易出問題。建議在本機轉成 PDF 後將 PDF 加入版本控制。
  • EPS 適用於較舊的 latex + dvips 工具鏈,路徑輸出品質與 PDF 相同。
  • 字型問題。 因為文字已轉換為路徑,不需要配合論文的內文字型。公式外觀固定是 KaTeX 風格(Computer Modern 系列),與文件字型設定無關——這通常正是你想要的效果。

這篇使用案例歸類在自動駕駛文件下,因為 drawtonomy 最初是為駕駛場景設計的工具,但 Math 形狀本身完全通用,同樣的工作流程適用於:

  • 機器學習論文(網路架構圖旁邊放損失函數方程式)
  • 控制系統論文(每個傳遞函數方塊旁附上 LaTeX 數學式)
  • 訊號處理插圖(傅立葉變換對示意圖)
  • 物理或化學論文(用 \ce{} 顯示化學反應式)
  • 數學論文(定理陳述與證明示意圖並排排版)

只要能畫在白板上的東西,drawtonomy 就能容納。

  • 段落文字中的公式。 這類公式應該直接寫在 LaTeX 原始碼裡,不需要做成插圖。
  • 以資料驅動的動態圖表。 這種情況請繼續使用 matplotlibpgfplots 或 TikZ。