---
title: "MolScript：用于反应式和弯箭头机理的文本语言 | MolDraw 博客"
url: https://www.moldraw.com/zh/blog/molscript-reaction-mechanism-language.html
description: "MolScript 是一种用于反应式和电子转移机理的简短文本语言：物种用 SMILES 表示，箭头端点用原子映射编号，弯箭头和单钩箭头用 move 行表示。完整参考、箭头如何放置和校验、示例、与 chemfig 的比较，以及走向开放框架的路线图。"
lang: zh-CN
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/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 电子成为新的 π 键，溴离子离去。

### 迈克尔加成：贯穿共轭体系的一串箭头

```
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 绘制的迈克尔加成：烯醇负离子的碳进攻 β-碳，电子经 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 酯化、羟醛加成和格氏加成的每一步都是一个简短的脚本；模板再在其周围加上面板、步骤标签、高亮圆圈和注释。由于这些步骤都是文本，每幅图中的每个箭头都会像上面的示例一样接受校验。

![Fischer 酯化模板：带氧原子追踪的总反应、五步弯箭头机理、要点和 Dean–Stark 装置](https://www.moldraw.com/templates/fischer-esterification.webp)

Fischer 酯化模板：一幅四面板图中包含五个 MolScript 步骤。

## MolScript 与 chemfig

[chemfig](https://www.moldraw.com/zh/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/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/blog/molscript-gallery.html)，每个都自动校验 | 已完成 |
| 示例库已有 41 个经过校验的机理；目标是扩充到数百个 | 下一步 |
| 以开源方式发布软件包、技能和规范 | 下一步 |

### AI 技能

| 已用于 MolDraw AI 聊天，带行号的错误会反馈给模型 | 已完成 |
| --- | --- |
| 打包好的技能：参考、规则、示例，以及助手在回答前可以运行的校验步骤 | 已完成 |
| 包含 41 个机理提示的评测集，按化学正确性和箭头整洁度评分 | 已完成 |
| 公布主流 AI 模型在评测集上的得分 | 下一步 |

如果你从事教学、撰写论文或开发化学软件，并希望参与塑造这一项目，请通过 MolDraw 中的 **Request feature** 告诉我们。

## 试一试

1. 打开 [MolDraw](https://www.moldraw.com/zh/) 和 AI 聊天，请它画一个机理，例如“画出 2-溴丙烷与氢氧根的 E2 机理”。聊天会编写 MolScript 并画出来。
2. 或者打开左侧工具栏底部的 **Templates**，添加 Fischer 酯化、羟醛反应或格氏反应的图，或者在 **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/blog/molscript-gallery.html) [chemfig 机理示例](https://www.moldraw.com/zh/blog/chemfig-mechanism-samples.html) [chemfig 与 MolDraw：粘贴、编辑、导出](https://www.moldraw.com/zh/blog/chemfig-latex-moldraw-guide.html) [化学反应式绘制工具](https://www.moldraw.com/zh/tools/free-chem-tools/chemical-reaction-drawer.html) [添加孤对电子](https://www.moldraw.com/zh/blog/how-to-add-lone-pair-in-moldraw.html) [全部文章](https://www.moldraw.com/zh/blog/)

最后更新：2026年10月17日
