---
title: "MolScript：用於反應式和彎箭頭機構的文字語言 | MolDraw 部落格"
url: https://www.moldraw.com/zh-hant/blog/molscript-reaction-mechanism-language.html
description: "MolScript 是一種用於反應式與電子移動機構的簡短文字語言：物種以 SMILES 表示，箭頭端點以原子映射編號標記，彎箭頭與單鉤箭頭寫成 move 行。內含完整參考、箭頭如何放置與驗證、範例、與 chemfig 的比較，以及邁向開放框架的路線圖。"
lang: zh-Hant
publisher: Scidart Academy
generated: 2026-10-26
---
# MolScript：用於反應式和彎箭頭機構的文字語言

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

![深色程式碼面板中的六行 MolScript，旁邊是它畫出的 SN2 步驟：氫氧根進攻溴甲烷，附兩個彎箭頭](https://www.moldraw.com/blog/thumbs/molscript-reaction-mechanism-language.webp)

六行 MolScript 就能畫出完整的 SN2 步驟：結構、電荷、反應條件和兩個彎箭頭。

**簡答：**MolScript 是一種用於反應式與電子移動機構的小型文字語言。每個物種寫成 **SMILES**，物種之間以 `+`、`->`、`<->` 或 `<=>` 連接，以**原子映射編號**標記箭頭涉及的原子，每個彎箭頭寫一行 `move`。MolDraw 會畫出結構、反應條件、孤對電子、電荷與每一個箭頭，並在你看到之前**依繪圖規則驗證每個箭頭**。結果是一般的可編輯畫布內容，可以下載為圖片，或下載為 LaTeX 用的 chemfig 程式碼。

## MolScript 一覽

| 你要寫的內容 | 以 SMILES 表示物種，物種之間寫運算子，反應條件寫在箭頭後的方括號中，電子移動寫成 `move` 行。 |
| --- | --- |
| 你能得到什麼 | 排好版的反應式：結構、加號、反應箭頭、平衡箭頭或共振箭頭、反應條件、說明文字、孤對電子、電荷、自由基圓點和彎箭頭。 |
| 箭頭類型 | 雙電子彎箭頭（`->`）與單電子單鉤箭頭（`~>`），起點可以是孤對電子、電荷、自由基、原子或化學鍵，終點可以是原子、化學鍵或正在形成的化學鍵。 |
| 驗證 | 每個映射編號都必須存在且唯一；每個箭頭都必須從有電子的地方出發；每個畫出的箭頭都會依間隙、指向、彎曲度與間距接受評分。問題會連同行號一起傳回。 |
| 輸出 | 可編輯的 MolDraw 畫布物件；支援 MolDraw 的所有匯出格式，包括用於 LaTeX 文件的 chemfig（.tex）。 |
| 目前的應用 | MolDraw AI 聊天透過撰寫 MolScript 來畫機構，Templates 面板中的機構圖也是用它建立的。 |
| 下一步 | 供畫布應用程式使用的開放框架，以及任何助理都能載入的 AI 技能。請參閱路線圖。 |

## 第一個腳本：SN2

氫氧根從背面進攻溴甲烷，溴離子在同一步中離去。用 MolScript 寫只要四行：

```
title: SN2 of bromomethane
[OH-:1] "hydroxide" + [CH3:2][Br:3] "bromomethane" ->[SN2][acetone] CO "methanol" + [Br-]
move :1 -> 1..2
move 2-3 -> 3
```

![由 MolScript 繪製的溴甲烷 SN2 反應：一個彎箭頭從氫氧根的電荷指向碳，另一個從 C–Br 鍵指向溴，反應箭頭上方寫 SN2，下方寫 acetone](https://www.moldraw.com/blog/images/molscript/sn2.webp)

由 MolDraw 依上面這四行繪製。

逐行解釋：

1. `title:` 在反應式上方加上標題。
2. 反應式行列出各個物種。`[OH-:1]` 是氫氧根，其氧原子的映射編號為 1；`[CH3:2][Br:3]` 是溴甲烷，碳為 2，溴為 3。`"hydroxide"` 是畫在結構下方的說明文字。`->[SN2][acetone]` 是上下附文字的反應箭頭。
3. `move :1 -> 1..2`：原子 1 上的孤對電子（這裡是負電荷）移向 1 與 2 之間正在形成的鍵。
4. `move 2-3 -> 3`：已有 C–Br 鍵的電子移向溴。

映射編號只是給你和箭頭用的標籤，永遠不會被畫出來，也不會改變分子。

## 語言說明

### 物種與運算子

任何 SMILES 都可以作為物種。運算子兩側各留一個空格：

| `+` | 共反應物或共產物之間的加號。用 `+` 連接的物種始終在同一行。 |
| --- | --- |
| `->` | 反應箭頭。 |
| `<=>` | 平衡箭頭（兩個半箭頭）。 |
| `<->` | 共振箭頭（雙頭箭頭）。用於同一物種的共振式之間。 |
| `=>` | 逆合成箭頭。 |

箭頭上方與下方的文字放在緊接箭頭的方括號中：`->[NaBH4][MeOH, 0 °C]`。如果只要下方文字，第一對方括號留空：`->[][reflux]`。物種後面以雙引號括起的說明文字會畫在該物種下方：`CC(=O)O "acetic acid"`。

### 多個步驟

以運算子開頭的行，會從上一個物種接續反應式，因此一個機構可以一行寫一步，該步的箭頭緊接在下面：

```
title: SN1 of tert-butyl bromide
C[C:1](C)(C)[Br:2] ->[slow] C[C+:3](C)C + [Br-]
move 1-2 -> 2
-> C[C+:4](C)C + [OH2:5]
move :5 -> 5..4
->[fast] CC(C)(C)[OH2+]
```

![由 MolScript 繪製的兩步 SN1 機構：C–Br 鍵斷裂、電子移向溴，游離生成三級丁基陽離子，接著水進攻碳陽離子](https://www.moldraw.com/blog/images/molscript/sn1.webp)

只會在反應箭頭處換行。把反應式帶到下一行的箭頭，是路線圖中預計改進的項目之一。

### 彎箭頭：`move` 行

箭頭涉及的每個原子都要在 SMILES 中加上映射編號：`[OH-:1]`、`[CH3:2][Br:3]`，一般的氧寫成 `[O:4]`。編號在整個腳本中必須唯一。接著：

```
move <from> -> <to>     two-electron curly arrow
move <from> ~> <to>     one-electron fish-hook
```

兩端的寫法相同：

| `:n` | 原子 n 上的孤對電子。若是陰離子，箭頭會從負號出發，和化學家的畫法一致。 |
| --- | --- |
| `n` | 原子 n。自由基的箭頭從其圓點出發。 |
| `n-m` | 原子 n 與 m 之間既有的化學鍵。作為起點時，電子離開該鍵；作為終點時，電子使該鍵變成雙鍵。 |
| `n..m` | n 與 m 之間正在形成的鍵（只能當終點）。箭頭頭部停在原子 m 旁、朝向 n 的一側。 |

多個箭頭可以寫在同一行，以分號分隔：`move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5`。被轉移的氫要明確寫出，如 `[H:5][O:6]CC`，箭頭才能從它的鍵出發。附映射編號的自由基中心要寫明氫原子數，才能保留其圓點：`CC(C)(C)[OH0:1]` 是三級丁氧基自由基。

箭頭會自動放置。若想要特定的彎曲方式，可以在大括號中加上覆寫設定：`move 2-3 -> 3 {bow=0.3 side=left}`。

### 指令與註解

| `title: …` | 反應式上方的標題。 |
| --- | --- |
| `per-row: 2` 至 `8` | 反應式換行前每行的結構數（預設 4）。 |
| `layout: row`、`cycle`、`branch` | 反應式形狀：由左到右、催化循環，或一個反應物產生多個產物。 |
| `# …` | 註解，一直到行尾。SMILES 中的 `#`（三鍵）不是註解。 |

### 錯誤

問題會連同所在的行一起以淺白的文字傳回，讓人或 AI 助理都能修正該行並重新繪製：

```
line 1: put +, -> or <-> between "[O:1]C" and "[O:1]C"
line 3: no atom is tagged :9 in the SMILES (write it as [X:9])
line 4: n..m (a bond being formed) can only be the destination
line 5: a move needs -> (curly arrow) or ~> (fish-hook) between its ends
C (map 2) has no lone pair
```

## 少打字、多畫圖：名稱、醒目標示與編號

只有當原子有歧義時才需要映射編號。在某一步的反應物中只出現一次的元素，可以直接用元素符號指稱；在鍵的端點中，只計算與另一端相連的原子。下面是完整的 SN1 機構，沒有映射編號，化合物與步驟都已編號，各行以蛇形來回排列：

```
title: SN1 with element ends, numbered, snake rows
number: both
wrap: snake
per-row: 3
CC(C)(C)Br ->[slow] C[C+](C)C + [Br-]
move C-Br -> Br
-> C[C+](C)C + O
move :O -> O..C+
->[fast] CC(C)(C)[OH2+]
```

`C-Br` 是唯一與溴相連的碳，`C+` 依電荷選取陽離子，`:O` 是該步中唯一氧原子的孤對電子。如果某元素出現兩次，MolScript 會提示並要求使用映射編號。

| `h2` | 原子 2 上的一個氫，會自動幫你明確寫出：`move :1 -> 1..h2; h2-2 -> 2-3`。 |
| --- | --- |
| `let base = [OH-:1] "hydroxide"` | 定義一次物種，之後寫 `$base` 即可。 |
| `[OH]~C([H])([H])([H])~[Br] {ts}` | 過渡態：`~` 表示部分（虛線）鍵，`{ts}` 會畫出附 ‡ 的方括號，並把正在形成與斷裂的鍵拉直。 |
| `{δ+=2 δ-=3}` | 原子旁的部分電荷。 |
| `{highlight=2/3-4:blue}` | 為原子 2 與 3–4 鍵加上醒目標示填色。 |
| `{ox=1:II}`、`{dative=1-2}` | 有機金屬步驟用的氧化態與金屬–配位基鍵。 |
| `[Ph] [R1] [Nu-:1]` | 畫成標籤的縮寫與 R 基。 |
| `->[{CC(=O)Cl}][AlCl3]` | 在箭頭上方畫成結構的試劑。 |
| `layout: cycle` | 催化循環；以第一個物種結尾即可讓循環閉合，匯出為 chemfig 時會有真正的圓弧。 |

## 腳本如何變成圖

腳本每次都經過相同的步驟，所以同一個腳本總會得到同樣的圖：

1. **讀取。**腳本被拆成反應式行、move 行與指令。每個物種、運算子、說明文字與反應條件都會連同行號一起記錄。
2. **檢查標籤。**move 中用到的每個映射編號都必須恰好出現在一個原子上，每個 `n-m` 都必須是真實存在的鍵，每個起點都必須有可提供的電子：孤對電子、電荷、自由基或化學鍵。
3. **繪製物種。**每個 SMILES 都會變成鍵角整齊的 2D 結構。箭頭需要的明確氫會畫成原子；電荷、孤對電子與自由基圓點則依 SMILES 的描述加上。
4. **排版反應式。**結構、加號與箭頭依實際寬度緊密排列，在反應箭頭處換行，反應條件與說明文字留有間距，確保文字不重疊。
5. **放置彎箭頭。**每個箭頭都從化學家會畫的位置離開其電子來源，並彎曲繞開化學鍵、標籤與其他箭頭（詳見下文）。
6. **檢查化學。**每一步含彎箭頭的反應都會依電子重新推演一遍：每個箭頭從孤對電子、自由基或化學鍵取走兩個電子（單鉤箭頭為一個），放到某個原子上或某個鍵中。得到的結構必須與箭頭後寫出的結構一致。產物錯誤（附原子與電荷差異）、碳上有十個電子、從已無電子的原子出發的箭頭、未成對的單鉤箭頭，或打斷 σ 鍵的共振箭頭，都會連同行號一起回報。
7. **評分每個箭頭。**每個放置好的箭頭都會依規則測量。在擁擠位置無法符合規則的箭頭仍會畫出，但會以警告回報。
8. **交付可編輯物件。**結果是一般的畫布內容：拖曳結構，箭頭會跟著移動；任何樣式都能重新設定並匯出。

MolScript 遵循的箭頭規則：

| 箭尾 | 位於提供電子的孤對電子或負號、自由基圓點或化學鍵中點上，絕不壓在原子標籤上。 |
| --- | --- |
| 箭頭 | 停在接受電子的原子前一點，或停在正在形成的鍵的間隙中、朝向進攻原子的一側。 |
| 彎曲 | 向結構外側彎曲，箭頭角度保持一致；單鉤箭頭的單一倒鉤一律位於曲線外側。 |
| 間距 | 與化學鍵、標籤、電荷、圓點和其他箭頭保持距離；指向同一目標的箭頭呈扇形散開，而不是疊在一起。 |
| 長度 | 太短難以辨認或太長難以追蹤的箭頭會被標示出來。 |

每次 MolDraw 更新時，MolScript 測試集中的每個參考機構都會重新繪製，並依這些規則評分。目前共有 41 個機構、81 個彎箭頭，全部通過繪圖規則與電子計算檢查，Templates 中的圖也是如此。你可以在 [MolScript 範例庫](https://www.moldraw.com/zh-hant/blog/molscript-gallery.html)中查看每一個。

## 範例解析

### E2 脫去：一步中的三個箭頭

```
title: E2 elimination
[OH-:1] + [H:4][CH2:2][CH:3](C)[Br:5] ->[E2] C=CC + O + [Br-]
move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5
```

![由 MolScript 繪製的 E2 脫去：氫氧根奪取氫，C–H 鍵變成 C=C π 鍵，C–Br 鍵斷裂、電子移向溴](https://www.moldraw.com/blog/images/molscript/e2.webp)

鹼奪取氫，C–H 電子成為新的 π 鍵，溴離子離去。

### Michael 加成：貫穿共軛體系的一串箭頭

```
title: Michael addition
[CH2-:1]C(C)=O + [CH2:2]=[CH:3][C:4](C)=[O:5] ->[1,4-addition] CC(=O)CCC=C(C)[O-]
move :1 -> 1..2; 2-3 -> 3-4; 4-5 -> 5
```

![由 MolScript 繪製的 Michael 加成：烯醇離子的碳進攻 β-碳，電子經 C=C 與 C=O 鍵移到氧上](https://www.moldraw.com/blog/images/molscript/michael-addition.webp)

`2-3 -> 3-4` 把 C=C 的 π 電子移入 C–C 鍵，使其成為雙鍵。

### Diels–Alder 反應：成環的箭頭

```
title: Diels–Alder
[CH2:1]=[CH:2][CH:3]=[CH2:4] + [CH2:5]=[CH2:6] ->[Δ] C1CC=CCC1
move 1-2 -> 2-3; 3-4 -> 4..5; 5-6 -> 6..1
```

![由 MolScript 繪製的 Diels–Alder 反應：丁二烯與乙烯經環狀過渡態生成環己烯，周圍有三個彎箭頭](https://www.moldraw.com/blog/images/molscript/diels-alder.webp)

三個箭頭中有兩個終止於兩分子之間正在形成的鍵上。

### 自由基加成：單鉤箭頭

```
title: Radical addition of Br• to propene
[Br:1] + [CH2:2]=[CH:3]C -> BrC[CH]C
move 1 ~> 1..2
move 2-3 ~> 1..2
move 2-3 ~> 3
```

![由 MolScript 繪製的溴原子對丙烯的自由基加成，含三個單鉤箭頭：兩個在新的 C–Br 鍵處相遇，一個指向將成為自由基的碳](https://www.moldraw.com/blog/images/molscript/radical-addition.webp)

`~>` 畫出單鉤箭頭。終止於 `1..2` 的兩個箭頭在新鍵中點相遇。

### 共振：烯醇離子

```
[CH2-:1][C:2](C)=[O:3] <-> C=C(C)[O-]
move :1 -> 1-2
move 2-3 -> 3
```

![由 MolScript 繪製的烯醇離子兩種共振式，含一個雙頭共振箭頭與兩個彎箭頭](https://www.moldraw.com/blog/images/molscript/enolate-resonance.webp)

`<->` 是共振箭頭；彎箭頭顯示一種共振式如何變成另一種。

## 以 MolScript 打造：完整的圖

MolDraw **Templates** 面板（左側工具列底部的按鈕）中的機構圖都是用 MolScript 撰寫的。Fischer 酯化、醛醇加成與 Grignard 加成的每一步都是一個簡短的腳本；範本再於周圍加上面板、步驟標籤、醒目標示圓圈與註解。由於這些步驟都是文字，每張圖中的每個箭頭都會像上面的範例一樣接受驗證。

![Fischer 酯化範本：含氧原子追蹤的總反應、五步彎箭頭機構、重點與 Dean–Stark 裝置](https://www.moldraw.com/templates/fischer-esterification.webp)

Fischer 酯化範本：一張四格圖中包含五個 MolScript 步驟。

## MolScript 與 chemfig

[chemfig](https://www.moldraw.com/zh-hant/blog/chemfig-latex-moldraw-guide.html) 是大多數化學家用來排版結構與機構的 LaTeX 巨集套件。它在自己的用途上非常出色，MolScript 並不打算在 LaTeX 中取代它。兩者描述的是不同的東西：

|  | **chemfig** | **MolScript** |
| --- | --- | --- |
| 你描述的是 | 圖本身：每個鍵的角度和長度，然後是每個箭頭的錨點、偏移和彎曲。 | 化學本身：用 SMILES 表示的物種，以及哪些電子移到哪裡。 |
| 排版 | 手動完成，逐一調整每個結構與反應式。 | 自動完成：結構、行、反應條件和說明文字。 |
| 彎箭頭 | 命名點之間的 TikZ 路徑；位置在第二次 LaTeX 編譯時確定。 | 映射編號之間的一行 `move`；自動放置並依繪圖規則評分。 |
| 錯誤 | 表現為一份看起來怪怪的 PDF。 | 連同行號一起報告：缺少映射編號、起點沒有電子、化學鍵不存在。 |
| 結果 | 文件中的排版輸出。 | 可編輯的畫布物件，外加圖片、向量和 chemfig 匯出。 |
| 最適用於 | 在 LaTeX 文件中進行精細的排版控制。 | 快速得到正確、整潔的機構，無論是手寫還是由 AI 助理產生。 |

兩者可以搭配使用：用 MolScript 繪圖，再選擇 **Download → chemfig (.tex)**，就能得到文件用的 chemfig 程式碼。[chemfig 機構範例](https://www.moldraw.com/zh-hant/blog/chemfig-mechanism-samples.html)展示了這些程式碼的樣子。

## 為什麼用文字：MolScript 與 AI 助理

MolScript 的設計目標，是讓語言模型不必處理座標也能畫出機構：

- **模型本來就擅長寫 SMILES**，所以每個物種都使用它們熟悉的表示法。
- **原子映射讓箭頭沒有歧義。**「從原子 1 的孤對電子指向 1 與 2 之間正在形成的鍵」不會像「從氧指向碳的箭頭」那樣被放錯位置。
- **錯誤訊息可以直接拿來修正。**收到 `line 3: no atom is tagged :9` 的模型可以修改第 3 行再試一次。
- **幾何不是模型的工作。**彎曲、間隙與間距由引擎決定並檢查，而這恰恰是模型最弱的地方。

MolDraw AI 聊天已經這樣運作了：請它畫「醛醇加成的機構」，它會在背景撰寫 MolScript。MolScript 也被打包成一個 **AI 技能**：一個資料夾，內含語言參考、能抓出大多數錯誤的規則、41 個經過驗證的範例與一個小型獨立驗證器。它教給助理的工作流程是：規劃中間體、撰寫腳本、執行驗證器、修正回報的每個問題，然後才給出回答，因此你看到的機構已經逐一電子核對過了。

為了衡量效果，我們準備了一個含 41 個機構請求的**評測集**（例如「展示三級丁基陽離子的 E1 去質子」「畫出標示氧化態的 Pd 交叉偶合循環」），每個請求都有參考腳本。一個回答最多得四分：能編譯、電子守恆、得到正確產物、每個彎箭頭都通過繪圖規則。參考腳本的得分為 100%。

## 路線圖：從 MolDraw 功能到開放框架

我們計劃把 MolScript、它的編譯器以及反應式與箭頭引擎以**開源框架**的形式發布，讓任何畫布應用程式都能用它來繪製反應與機構，並具備程式語言般的可靠性：有書面規格、輸出穩定、錯誤可據以修正。以下是發布前需要完成的工作。

### 語言說明

| 物種、運算子、反應條件、說明文字、續行 | 已完成 |
| --- | --- |
| 從孤對電子、電荷、自由基和化學鍵出發的雙電子箭頭和單鉤箭頭 | 已完成 |
| 附版本號的規格（MolScript 1，`molscript: 1`），含正式語法與一致性測試集 | 已完成 |
| 可重複使用的命名物種：`let A = …`，之後在後續步驟中寫 `$A` | 已完成 |
| 方向提示：`{rotate=90}`、`{flip}`、`{align=3}` | 已完成 |
| 過渡態（`{ts}`、用 `~` 表示部分鍵）、δ+ / δ−、方括號 | 已完成 |
| 醒目標示（`{highlight=2/3-4:blue}`）、化合物和步驟編號（`number: both`） | 已完成 |
| 在箭頭上方畫成結構的試劑；縮寫（Ph、Ts、Boc）和 R 基團 | 已完成 |
| 能自行閉合的催化循環，每段圓弧上都有清晰的標籤 | 已完成 |
| 循環內的彎箭頭、金屬–配位基鍵（`{dative=1-2}`）與氧化態（`{ox=1:II}`） | 已完成 |

### 正確性

| 標籤存在、起點有電子、每個畫出的箭頭都通過幾何規則 | 已完成 |
| --- | --- |
| 電子計算：推算箭頭所代表的產物，並與寫出的產物比較 | 已完成 |
| 每一步的電荷和原子守恆；八隅體、未成對單鉤箭頭和共振（σ 鍵）檢查 | 已完成 |
| 簡化氫原子的寫法：`h2` 代表原子 2 上的一個氫 | 已完成 |
| 更少的映射編號：該步中唯一的元素可以直接使用（`move C-Br -> Br`） | 已完成 |

### 排版

| 依實際寬度緊密排列各行；反應條件與說明文字永不重疊 | 已完成 |
| --- | --- |
| 均衡換行（3 + 2，而不是 4 + 1），並按寬度換行（`width:`） | 已完成 |
| 行與行之間的連接更短：`wrap: snake` 讓下一行反向排列，並以一個短的向下箭頭連接 | 已完成 |
| 網格版面（`layout: grid`），各行的欄位對齊 | 已完成 |

### 框架

| 編譯器與驗證器作為獨立套件，不依賴 MolDraw 應用程式 | 已完成 |
| --- | --- |
| 編譯器與任何算繪器之間穩定且有文件記載的反應式格式 | 已完成 |
| 輸出到畫布、SVG 和 PNG；chemfig 和 JSON 匯出器 | 已完成 |
| 用真正圓弧匯出催化循環到 chemfig（並可匯入回來） | 已完成 |
| 命令列工具：輸入腳本，輸出驗證報告、圖片或 chemfig 檔案 | 已完成 |
| 附版本的版面配置，升級後同一腳本畫出的圖保持不變 | 已完成 |
| 編輯器支援：輸入時即顯示語法標示與問題（Templates 中的 MolScript 分頁） | 已完成 |
| 編輯器中自動完成映射編號、選項與關鍵字（按 Tab 選第一個） | 已完成 |
| 公開的[參考機構範例庫](https://www.moldraw.com/zh-hant/blog/molscript-gallery.html)，每個都自動驗證 | 已完成 |
| 範例庫已有 41 個經過驗證的機構；目標是擴充到數百個 | 下一步 |
| 以開源方式發布套件、技能與規格 | 下一步 |

### AI 技能

| 已用於 MolDraw AI 聊天，附行號的錯誤會回饋給模型 | 已完成 |
| --- | --- |
| 打包好的技能：參考、規則、範例，以及助理在回答前可以執行的驗證步驟 | 已完成 |
| 包含 41 個機構提示的評測集，按化學正確性和箭頭整潔度評分 | 已完成 |
| 公布主流 AI 模型在評測集上的得分 | 下一步 |

如果你從事教學、撰寫論文或開發化學軟體，並想參與塑造這個專案，請透過 MolDraw 中的 **Request feature** 告訴我們。

## 試一試

1. 開啟 [MolDraw](https://www.moldraw.com/zh-hant/) 與 AI 聊天，請它畫一個機構，例如「畫出 2-溴丙烷與氫氧根的 E2 機構」。聊天會撰寫 MolScript 並畫出來。
2. 或者開啟左側工具列底部的 **Templates**，加入 Fischer 酯化、醛醇反應或 Grignard 反應的圖，或在 **MolScript** 分頁中撰寫自己的腳本：它會標示腳本語法、在你輸入時顯示問題，並在畫布上繪製出來。
3. 像對待任何繪圖一樣拖曳、修改樣式或擴充結果，再下載為圖片或 chemfig。

## 問題與解答

### 什麼是 MolScript？

MolScript 是一種用於反應式和彎箭頭機構的簡短文字語言。物種寫成 SMILES，用 `+`、`->`、`<->` 或 `<=>` 連接，每個彎箭頭是原子映射編號之間的一行 `move`。MolDraw 會畫出結構、反應條件、孤對電子、電荷和箭頭，結果在畫布上仍然可以編輯。

### 如何在 MolScript 中畫彎箭頭？

在 SMILES 中給箭頭涉及的原子標上原子映射編號，例如 `[OH-:1]` 和 `[CH3:2][Br:3]`，然後寫 `move :1 -> 1..2` 表示原子 1 的孤對電子與原子 2 形成新鍵，再寫 `move 2-3 -> 3` 表示 C–Br 鍵斷裂、電子移向溴。

### 如何畫單鉤（單電子）箭頭？

用 `~>` 代替 `->`：`move 1-2 ~> 1` 把原子 1 與原子 2 之間化學鍵的一個電子送到原子 1。兩個終點在同一個正在形成的鍵（`n..m`）上的單鉤箭頭會在該鍵中點相遇。

### MolScript 比 chemfig 更好嗎？

兩者解決的是不同的問題，而且可以搭配使用。chemfig 是 LaTeX 巨集套件，你要在文件中親手放置每一個鍵與箭頭。MolScript 描述化學本身，版面與箭頭幾何交給 MolDraw 處理，並由 MolDraw 驗證每個箭頭。任何 MolScript 繪圖都可以下載為 chemfig 程式碼，用在 LaTeX 文件中。

### AI 助理能寫 MolScript 嗎？

可以。MolDraw AI 聊天就是透過撰寫 MolScript 來畫機構，因為語言模型擅長寫 SMILES，而原子映射讓每個箭頭端點都沒有歧義。錯誤會連同行號一起傳回，模型可以據此修正。我們也計劃推出打包好的 AI 技能，供其他助理使用。

### MolScript 會開源嗎？

這正是我們的計劃：語言、編譯器以及反應式與箭頭引擎將以開放框架的形式發布，讓其他畫布應用程式也能用來繪製反應與機構。路線圖列出了在那之前需要完成的工作。

## 相關指南

[MolScript 範例庫：41 個經過驗證的機構](https://www.moldraw.com/zh-hant/blog/molscript-gallery.html) [chemfig 反應機構範例](https://www.moldraw.com/zh-hant/blog/chemfig-mechanism-samples.html) [chemfig 與 MolDraw：貼上、編輯、匯出](https://www.moldraw.com/zh-hant/blog/chemfig-latex-moldraw-guide.html) [化學反應繪製](https://www.moldraw.com/zh-hant/tools/free-chem-tools/chemical-reaction-drawer.html) [加上孤對電子](https://www.moldraw.com/zh-hant/blog/how-to-add-lone-pair-in-moldraw.html) [所有文章](https://www.moldraw.com/zh-hant/blog/)

最後更新：2026 年 10 月 17 日
