---
title: "chemfig 與 MolDraw：貼上 chemfig、視覺化編輯、匯出 LaTeX | MolDraw 部落格"
url: https://www.moldraw.com/zh-hant/blog/chemfig-latex-moldraw-guide.html
description: "寫給 chemfig 與 LaTeX 使用者的指南：把 \\chemfig 程式碼貼到 MolDraw 中檢視並編輯結構，再下載成可用 pdflatex 編譯的 .tex 檔。反應流程圖與彎箭頭也適用。"
lang: zh-Hant
publisher: Scidart Academy
generated: 2026-10-26
---
# chemfig 與 MolDraw：貼上 chemfig、視覺化編輯、匯出 LaTeX

發布日期：2026 年 10 月 17 日 · 作者：Scidart Academy · 閱讀時間：約 9 分鐘

![深色程式碼面板中的咖啡因 chemfig 程式碼，旁邊是 MolDraw 據此畫出的咖啡因結構，並標示 Paste chemfig 與 Download .tex](https://www.moldraw.com/blog/thumbs/chemfig-latex-moldraw.webp)

貼上 chemfig 就能繪圖，在畫布上編輯，再下載回 .tex 檔。

**簡短回答：**複製你的 `\chemfig{…}` 程式碼（或整個 `\schemestart … \schemestop` 流程圖，或完整的 `.tex` 檔），開啟 [MolDraw 編輯器](https://www.moldraw.com/zh-hant/)並按 **Ctrl+V**。MolDraw 會把它畫出來，連彎箭頭也不例外。用滑鼠編輯後，選擇 **Download → chemfig (.tex)** 取得可用 pdflatex 編譯的檔案，或選擇 **Copy as chemfig (LaTeX)** 複製程式碼，貼到你的論文或文章中。

## 適合哪些人

chemfig 是在 LaTeX 中繪製分子的標準方式。它的輸出很漂亮，而且與內文放在同一個檔案裡，但撰寫起來很慢：你要輸入 `-[:30]` 與 `=[::-60]`，編譯、查看，再調整角度。修改別人寫的 chemfig 更困難，而 `\chemmove` 裡的一個彎箭頭可能要試好幾次。

現在 MolDraw 可以讀寫 chemfig。你可以繼續以 chemfig 為格式，同時用畫布來繪圖：

- 不用編譯就能**看到**一段 chemfig 程式碼畫出來的樣子。
- 用滑鼠**修正**：移動原子、翻轉雙鍵、加上電荷或彎箭頭。
- **取回 chemfig**，可用 pdflatex 編譯，角度與螢幕上看到的相同。
- **從其他格式開始**（SMILES、MOL、ChemDraw 檔案、化合物名稱），再輸出 chemfig。

一切都在你的瀏覽器中執行，你的程式碼不會被傳送到伺服器進行轉換。

## 把 chemfig 貼到畫布上

![MolDraw 編輯器顯示從 chemfig 貼上的 SN2 流程圖：氫氧根加溴甲烷，反應箭頭上方標 SN2、下方標 acetone，生成甲醇與溴離子，含兩個彎箭頭，每個化合物下方有名稱](https://www.moldraw.com/blog/images/chemfig/paste-chemfig.webp)

用 Ctrl+V 貼上的 chemfig 流程圖。名稱、箭頭文字與兩個彎箭頭都完整保留。

1. 從你的編輯器或 Overleaf 複製程式碼。單一 `\chemfig{…}`、多個 \chemfig、一個 `\schemestart … \schemestop` 區塊或完整文件都可以。
2. 開啟 [MolDraw 編輯器](https://www.moldraw.com/zh-hant/)，點一下畫布空白處並按 **Ctrl+V**（Mac 上為 **Cmd+V**）。你也可以使用 **Paste** 按鈕，或按右鍵 → Paste。
3. 圖形出現時會呈選取狀態，位於畫布上既有內容的旁邊。把它拖曳到你想要的位置。

用這個流程圖試試看：

```
\schemestart
  \chemname{\chemfig{*6(=-=-=-)}}{benzene}
  \+
  \chemfig{Br-Br}
  \arrow{->[FeBr$_3$][CH$_2$Cl$_2$]}
  \chemname{\chemfig{*6(=-=(-Br)-=-)}}{bromobenzene}
\schemestop
```

MolDraw 會保留你寫的鍵角與鍵長，所以圖形與你 PDF 中的形狀相同。`H_3C`、`NH_2` 或 `{CO_2Me}` 等標籤、電荷、來自 `\lewis` 或 `\charge` 的孤電子對，以及 `@{name}` 節點都會一併保留。

## 像一般圖形一樣編輯

貼上的圖形就是一般的 MolDraw 結構，所以每種工具都能使用：

- 拖曳原子，或選取一組原子後旋轉；
- 將滑鼠移到鍵上並按 **1**、**2** 或 **3**，可改為單鍵、雙鍵或參鍵；用雙鍵工具點一下雙鍵，可把第二條線移到另一側；
- 從工具列或右鍵選單加入電荷、孤電子對與自由基；
- 用箭頭工具畫彎箭頭與魚鉤箭頭。它們會附著在孤電子對、鍵與電荷上，移動原子時仍保持附著；
- 在反應箭頭上方與下方的文字上按兩下即可編輯。

你還能得到 chemfig 無法提供的化學檢查：價數警告、分子式與質量、SMILES，以及每個結構的 3D 檢視。

## 把 chemfig 匯出回 LaTeX

![開啟的 MolDraw Download 選單，含 Image、Chemistry 與 Text 群組；Text 群組的最後一項 chemfig .tex 已醒目標示](https://www.moldraw.com/blog/images/chemfig/download-menu.webp)

Download → chemfig (.tex)，位於 Text 群組末端。

有兩種匯出方式：

- **Download → chemfig (.tex)** 會儲存一個完整、獨立的 LaTeX 檔。單獨編譯就能得到該圖形的 PDF，也可以在文件中用 `\includegraphics` 插入這個 PDF。
- **Copy as chemfig (LaTeX)**（位於 Copy 選單與右鍵的 **Copy as** 選單中）只複製圖形程式碼，不含 `\documentclass`。可直接貼到你的論文或文章中。

若是複製的程式碼，請在導言區（preamble）加入以下兩行（只需加一次）：

```
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
```

如果圖形中有彎箭頭或聚合物括號，請**編譯兩次**。chemfig 會依據第一次執行時儲存的位置繪製它們。若先選取畫布的一部分，就只會匯出選取的內容。

## 匯出的程式碼長什麼樣子

這是 MolDraw 為第一張截圖中的 SN2 流程圖所寫出的檔案：

```
% Exported from MolDraw — compile with pdflatex / lualatex (twice: arrows and brackets use positions from the first run)
\documentclass[border=22pt,varwidth=60cm]{standalone}
\usepackage{chemfig}
\usetikzlibrary{arrows.meta,decorations.pathmorphing}
\begin{document}
\setchemfig{+ sep left=2em, + sep right=2em, arrow offset=6pt}
{\centering \textbf{SN2 of bromomethane}\par}
\par\bigskip
\schemestart
  \chemname[2em]{\chemfig{@{a1}HO^{-}}}{hydroxide}
  \+
  \chemname[2em]{\chemfig{@{a2}-[@{b1}:90]@{a3}Br}}{bromomethane}
  \arrow{->[SN2][acetone]}
  \chemname[2em]{\chemfig{-[:90,,,1]OH}}{methanol}
  \+
  \chemfig{Br^{-}}
\schemestop
\chemmove{
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(1.07em,0.77em)}]a1) to[bend right=47] ([shift={(-0.39em,-0.23em)}]a2);
  \draw[-{Stealth[length=4pt,inset=1.5pt]}]([shift={(0.21em,-0.36em)}]b1) to[bend right=77] ([shift={(0.64em,-0.23em)}]a3);
}
\end{document}
```

有幾點值得注意：

- 鍵使用**絕對角度**（`-[:90]`），所以每根鍵的方向都與畫布上相同。長度不是標準值的鍵會加上長度係數，例如 `-[:30,1.2]`。
- 被彎箭頭碰到的原子與鍵會得到**節點名稱**（`@{a1}`、`@{b1}`）。`\chemmove` 會在它們之間畫出每個箭頭，其 `bend` 角度與畫布上的弧度一致。
- 化合物名稱位於結構下方，並為往下彎的彎箭頭預留空間。
- 環上的鍵以鉤子（`?[a]`）閉合，每個雙鍵都會加上 `=^` 或 `=_`，讓第二條線與 MolDraw 中位於同一側；若是環，則位於環內。

![同一個 E2 脫去反應畫了兩次：上方是 MolDraw 畫布，下方是用 pdflatex 編譯匯出的 chemfig 所得的同一流程圖，鍵角、彎箭頭、標題與條件都相同](https://www.moldraw.com/blog/images/chemfig/canvas-vs-latex.webp)

畫布上的 E2 脫去反應（上）與匯出的 chemfig 經 pdflatex 編譯後的結果（下）。

## 從 SMILES、MOL 或 ChemDraw 檔案取得 chemfig

由於 MolDraw 能讀取多種格式，它也可以當作**chemfig 轉換工具**：

1. 匯入結構：貼上 SMILES 或 InChI、在 PubChem 搜尋框中搜尋化合物名稱，或開啟 MOL、SDF、RXN、CDXML 或 CDX（ChemDraw）檔案。
2. 必要時先整理一下。Clean up 與旋轉功能都在工具列中。
3. 選擇 **Download → chemfig (.tex)**。

這是把一批 ChemDraw 圖移到 LaTeX 論文中最快的方法：逐一開啟檔案，下載成 chemfig。

## 反應機構與彎箭頭

彎箭頭是 chemfig 中最難手寫的部分。在 MolDraw 中，你可以用滑鼠畫出它們，或請 AI 助理畫出反應機構，匯出時會自動替你寫好 `@{…}` 名稱與 `\chemmove` 區塊。

當你貼上已含 `\chemmove` 箭頭的 chemfig 時，MolDraw 會讀取每個箭頭連接哪些原子或鍵，以及它的 `bend` 彎向哪一側，再依自己的繪圖規則擺放箭頭：箭尾從孤電子對、電荷或鍵出發，箭頭在目標前方稍微停住。你不必照抄精確的 TikZ 曲線。

完整範例請參閱 [chemfig 反應機構範例](https://www.moldraw.com/zh-hant/blog/chemfig-mechanism-samples.html)：含魚鉤箭頭的自由基連鎖反應，以及多步驟的極性反應機構，每個都可以下載成 .tex 檔。

## 詢問 AI 助理

編輯器中的聊天助理懂 chemfig。例如，你可以這樣問：

- *「Export this as chemfig.」*（把這個匯出成 chemfig。）它會傳回畫布上內容的程式碼。
- *「Draw this: `\chemfig{H_3C-C(=[:60]O)-[:-60]OH}`.」*（畫出這個。）它會把結構放到畫布上。
- *「畫出酸催化酯水解的反應機構，然後給我 chemfig 程式碼。」*

## 雙向都能保留的內容

以下每一項都經過匯出、以 pdflatex 編譯、再讀回 MolDraw，並與原圖核對。

| 鍵 | 單鍵 `-`、雙鍵 `=`、參鍵 `~`；克庫勒式芳香環；雙鍵第二條線所在的一側（`=^` / `=_`）；楔形鍵與虛線鍵及其方向（`<` `>` `<:` `>:`）。 |
| --- | --- |
| 鍵的樣式 | 波浪鍵、粗鍵、點線鍵與配位鍵，以及鍵的顏色，以 TikZ 選項的形式寫在鍵上。 |
| 原子 | 含隱含 H 的標籤、縮寫基團（CO2Me、Ph）、電荷、圓圈電荷（`\oplus`）、同位素、D 與 T、孤電子對與自由基點（`\charge`、`\lewis`）、原子顏色。 |
| 環 | 任何環與稠環；匯入時也支援 `*6(…)`、`**6(…)` 與巢狀環。 |
| 流程圖 | `->`、`<-`、平衡 `<=>`、半平衡 `<->>`、共振 `<->`、逆合成箭頭；箭頭上下的多行條件；`\+`；`\chemname`；分成多列排列的流程圖。 |
| 文字 | 流程圖上方的標題與下方的註解。 |
| 方括號 | 含 ‡ 的過渡態括號（`\chemleft[ … \chemright]`）與聚合物重複單元（`\polymerdelim`）。 |
| 彎箭頭 | 已命名原子與鍵之間的雙電子箭頭與單電子魚鉤箭頭（`\chemmove`）。 |

貼上時，MolDraw 也能理解搭配 `!{name}` 的 `\definesubmol`、像 `\chemfig{[:30]…}` 這樣的起始角度、隱形鍵（`draw=none`）、像 `\arrow{->}[-90]` 這樣的斜向箭頭（下一個化合物位於下方）、`\subscheme`，以及 `red`、`blue` 等顏色名稱。

## chemfig 無法容納的內容

MolDraw 畫布上有些內容在 chemfig 中沒有對應形式：貼上的圖片、圖形與實驗玻璃器材、手繪筆跡、軌域、環填色與醒目標示。這些內容不會被匯出；每次下載或複製後，提示列都會告訴你省略了哪些，所以不會有東西無聲無息地消失。

彎曲或 S 形的流程圖箭頭會變成直的 chemfig 箭頭。放在圖形旁邊（而非上方或下方）的文字，會以 `%` 註解的形式保留在檔案中。

## chemfig 速查表

你最常遇到的 chemfig 語法片段，以及 MolDraw 為每一種畫出的內容：

| `A-B=C~D` | 單鍵、雙鍵與參鍵。未指定角度時，鍵會朝右。 |
| --- | --- |
| `-[2]`, `-[:30]`, `-[::60]` | 以 45° 為單位的角度、絕對角度，或相對於前一根鍵的角度。 |
| `-[:30,1.5]` | 角度與長度係數（正常鍵長的 1.5 倍）。 |
| `<` `<:` `>` `>:` | 楔形鍵與虛線鍵。`<` 在起始原子那一端較窄。 |
| `C(-[2]H)(-[6]H)` | 括號中的支鏈。 |
| `*6(=-=-=-)` | 六員環，此處為苯。`**6(------)` 會在環內畫一個圓；MolDraw 會把它讀成單雙鍵交替的苯環。 |
| `?[a] … ?[a]` | 鉤子：把標有相同字母的兩個原子連起來（使環閉合）。 |
| `=^`, `=_` | 第二條線位於行進方向左側或右側的雙鍵。 |
| `\charge{90=\:}{O}` | O 上 90° 方向的一對孤電子對。`\.` 表示單一電子。 |
| `@{a1}` | 為原子或鍵命名，讓 `\chemmove` 可以畫箭頭指向它。 |
| `\arrow{->[above][below]}` | 上下附有文字的流程圖箭頭。 |

## 疑難排解

- **貼上後沒有反應。**文字中必須包含 `\chemfig` 或 `\schemestart`。請先點一下畫布，讓貼上的內容進入圖形，而不是文字框。
- **PDF 中的彎箭頭位置不對。**再編譯一次。
- **「I do not know the key /tikz/Stealth」。**在導言區加入 `\usetikzlibrary{arrows.meta,decorations.pathmorphing}`。
- **貼上後結構看起來被壓扁了。**如果 chemfig 把兩個原子放在同一個位置，MolDraw 會重新排列該結構，並在提示列中說明。可用 Clean up 按鈕把它整理好。
- **「B」或「D」變成了硼或氘。**MolDraw 會把原子標籤當作化學符號讀取。chemfig 手冊中的佔位字母，只要有對應的元素，就會被讀成元素。

## 問與答

### 可以把 chemfig 程式碼轉成圖形嗎？

可以。把 `\chemfig{…}` 程式碼、`\schemestart` 流程圖或整個 .tex 檔貼到 MolDraw 畫布上。MolDraw 會讀取鍵、角度、環、電荷、孤電子對、箭頭、化合物名稱與 `\chemmove` 彎箭頭，並把它們畫出來。

### MolDraw 能匯出 chemfig 程式碼嗎？

可以。Download → chemfig (.tex) 會儲存一個獨立的 LaTeX 檔，Copy as chemfig (LaTeX) 則只複製圖形程式碼，方便貼到你自己的文件。程式碼可用 pdflatex 與 lualatex 編譯。

### 需要哪些 LaTeX 套件？

chemfig，以及 TikZ 函式庫 arrows.meta 與 decorations.pathmorphing：`\usepackage{chemfig}` 與 `\usetikzlibrary{arrows.meta,decorations.pathmorphing}`。下載的檔案中已經包含這幾行。

### 為什麼編譯後彎箭頭的位置不對？

chemfig 的 `\chemmove` 會依據第一次 LaTeX 執行時儲存的位置繪製彎箭頭。再編譯一次，箭頭就會落在對應的原子與鍵上。

### 可以把 ChemDraw 或 MOL 檔轉成 chemfig 嗎？

可以。在 MolDraw 中開啟 MOL、SDF、CDXML 或 CDX 檔，或貼上 SMILES，再選擇 Download → chemfig (.tex)。

### 哪些內容無法轉成 chemfig？

圖片、圖形與玻璃器材、手繪筆跡、軌域、環填色與醒目標示在 chemfig 中沒有對應形式。下載或複製後，MolDraw 會在提示列中列出被省略的內容。

### 是免費的嗎？

是的。在瀏覽器中貼上並編輯 chemfig 是免費的。下載檔案需要一個免費的 MolDraw 帳號。

## 相關指南

[chemfig 反應機構範例](https://www.moldraw.com/zh-hant/blog/chemfig-mechanism-samples.html) [化學反應繪製工具](https://www.moldraw.com/zh-hant/tools/free-chem-tools/chemical-reaction-drawer.html) [ChemDraw 與 MolDraw 比較](https://www.moldraw.com/zh-hant/blog/chemdraw-vs-moldraw-free-alternative-guide.html) [加入孤電子對](https://www.moldraw.com/zh-hant/blog/how-to-add-lone-pair-in-moldraw.html) [實驗裝置庫](https://www.moldraw.com/zh-hant/blog/lab-glassware-apparatus-library-guide.html) [所有文章](https://www.moldraw.com/zh-hant/blog/)

最後更新：2026 年 10 月 17 日
