---
title: "chemfig 与 MolDraw：粘贴 chemfig、可视化编辑、导出 LaTeX | MolDraw 博客"
url: https://www.moldraw.com/zh/blog/chemfig-latex-moldraw-guide.html
description: "写给 chemfig 和 LaTeX 用户的指南：把 \\chemfig 代码粘贴到 MolDraw 中查看并编辑结构，再下载为可用 pdflatex 编译的 .tex 文件。支持反应式和弯箭头。"
lang: zh-CN
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/)并按 **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/)，点击画布空白处并按 **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`。可以直接粘贴到你的论文中。

对于复制的代码，请在导言区中添加以下两行（只需一次）：

```
\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/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/blog/chemfig-mechanism-samples.html) [化学反应式绘制工具](https://www.moldraw.com/zh/tools/free-chem-tools/chemical-reaction-drawer.html) [ChemDraw 与 MolDraw 对比](https://www.moldraw.com/zh/blog/chemdraw-vs-moldraw-free-alternative-guide.html) [添加孤对电子](https://www.moldraw.com/zh/blog/how-to-add-lone-pair-in-moldraw.html) [实验装置库](https://www.moldraw.com/zh/blog/lab-glassware-apparatus-library-guide.html) [全部文章](https://www.moldraw.com/zh/blog/)

最后更新：2026年10月17日
