← 返回首页
📖 什么是 mhchem?
mhchem 是 MathJax 和 LaTeX 的一个扩展包,专门用于排版化学式和化学方程式。它提供了简单直观的语法来表示化学符号、反应、状态等。
核心命令:\ce{...} 用于排版化学式和反应。
为什么用 \ce{...} 括起来?字母 ce 来自英语 Chemical Equation(化学方程式),也可以记成「Chemistry Expression(化学表达式)」。花括号里的内容会交给 mhchem 按化学规则解析(如下标、电荷、箭头、条件等),而不是按普通数学公式去读;所以看到化学式或反应式,就写 \ce{...},相当于对排版引擎说:「这一段按化学来排。」
和整个 MathJax 的关系:mhchem 不是「MathJax 的精简版」,而是接在 MathJax TeX 输入上的一个扩展包(插件)。本页只讲化学排版这一支;MathJax 还能排矩阵、积分、对齐公式等大量数学内容,并支持多种其它 TeX 扩展。想查通用命令或启用更多扩展,请看本页底部「更多资源」里的延伸阅读链接。
💡 提示: 左侧源码可直接编辑:输入后约 0.3 秒自动渲染;也可点击框外(失焦)或按 Ctrl+Enter(Mac 为 ⌘+Enter)立即渲染。右侧「复制 SVG」可将矢量图复制到剪贴板。
🧪 基础化学式
简单分子式
\ce{C6H12O6}
$\ce{C6H12O6}$
复杂化学式
\ce{Ca(OH)2}
$\ce{Ca(OH)2}$
\ce{CuSO4.5H2O}
$\ce{CuSO4.5H2O}$
⚡ 离子和电荷
简单离子
\ce{SO4^2-}
$\ce{SO4^2-}$
复杂离子
\ce{[Ag(NH3)2]+}
$\ce{[Ag(NH3)2]+}$
⚖️ 化学方程式
基本反应
\ce{2H2 + O2 -> 2H2O}
$$\ce{2H2 + O2 -> 2H2O}$$
\ce{CH4 + 2O2 -> CO2 + 2H2O}
$$\ce{CH4 + 2O2 -> CO2 + 2H2O}$$
可逆反应
\ce{N2 + 3H2 <=> 2NH3}
$$\ce{N2 + 3H2 <=> 2NH3}$$
\ce{CO2 + H2O <=> H2CO3}
$$\ce{CO2 + H2O <=> H2CO3}$$
平衡反应
\ce{A + B <-> C + D}
$$\ce{A + B <-> C + D}$$
➡️ 各种反应箭头
与上文相同:左侧为 mhchem 公式源码(可编辑),右侧实时渲染。小标题括号里的「HTML」指在网页 HTML 里若要显示箭头类字符时常用的转义写法;在左侧编辑区请按 LaTeX 习惯直接输入真实字符(例如减号与大于号组成箭头)。
共振结构(HTML:\ce{<<=>>})
\ce{<<=>>>}
$\ce{<<=>>>}$
🔥 反应条件
在箭头上下添加条件
\ce{A ->[上方条件][下方条件] B}
$$\ce{A ->[上方条件][下方条件] B}$$
\ce{2KClO3 ->[加热][MnO2] 2KCl + 3O2 ^}
$$\ce{2KClO3 ->[加热][MnO2] 2KCl + 3O2 ^}$$
\ce{CaCO3 ->[高温] CaO + CO2 ^}
$$\ce{CaCO3 ->[高温] CaO + CO2 ^}$$
\ce{N2 + 3H2 <=>[催化剂][高温高压] 2NH3}
$$\ce{N2 + 3H2 <=>[催化剂][高温高压] 2NH3}$$
🌡️ 状态符号
使用括号表示物质状态:(s) 固态、(l) 液态、(g) 气态、(aq) 水溶液
\ce{NaCl(s)}
$$\ce{NaCl(s)}$$
\ce{H2O(l)}
$$\ce{H2O(l)}$$
\ce{CO2(g)}
$$\ce{CO2(g)}$$
\ce{H+(aq) + OH-(aq) -> H2O(l)}
$$\ce{H+(aq) + OH-(aq) -> H2O(l)}$$
⬇️ 沉淀和气体符号
使用 v 表示沉淀(↓),使用 ^ 表示气体(↑)
\ce{AgNO3 + NaCl -> AgCl v + NaNO3}
$$\ce{AgNO3 + NaCl -> AgCl v + NaNO3}$$
\ce{CaCO3 + 2HCl -> CaCl2 + H2O + CO2 ^}
$$\ce{CaCO3 + 2HCl -> CaCl2 + H2O + CO2 ^}$$
\ce{BaCl2 + Na2SO4 -> BaSO4 v + 2NaCl}
$$\ce{BaCl2 + Na2SO4 -> BaSO4 v + 2NaCl}$$
☢️ 同位素表示
\ce{^{12}_6C}
$$\ce{^{12}_6C}$$
\ce{^{14}_6C}
$$\ce{^{14}_6C}$$
\ce{^{235}_{92}U}
$$\ce{^{235}_{92}U}$$
\ce{^{238}_{92}U}
$$\ce{^{238}_{92}U}$$
🔄 氧化还原反应
\ce{Zn + Cu^2+ -> Zn^2+ + Cu}
$$\ce{Zn + Cu^2+ -> Zn^2+ + Cu}$$
\ce{2Fe^2+ + Cl2 -> 2Fe^3+ + 2Cl-}
$$\ce{2Fe^2+ + Cl2 -> 2Fe^3+ + 2Cl-}$$
\ce{MnO4- + 8H+ + 5e- -> Mn^2+ + 4H2O}
$$\ce{MnO4- + 8H+ + 5e- -> Mn^2+ + 4H2O}$$
🧬 有机化学
基本有机物
\ce{CH3-CH2-OH}
$$\ce{CH3-CH2-OH}$$
\ce{CH3COOH}
$$\ce{CH3COOH}$$
\ce{C6H5-NH2}
$$\ce{C6H5-NH2}$$
有机反应
\ce{CH2=CH2 + H2 ->[Ni][加热] CH3-CH3}
$$\ce{CH2=CH2 + H2 ->[Ni][加热] CH3-CH3}$$
\ce{CH3COOH + CH3OH <=>[H2SO4][加热] CH3COOCH3 + H2O}
$$\ce{CH3COOH + CH3OH <=>[H2SO4][加热] CH3COOCH3 + H2O}$$
🌟 综合示例
燃烧反应
\ce{C3H8 + 5O2 ->[点燃] 3CO2 + 4H2O}
$$\ce{C3H8 + 5O2 ->[点燃] 3CO2 + 4H2O}$$
酸碱中和
\ce{HCl + NaOH -> NaCl + H2O}
$$\ce{HCl + NaOH -> NaCl + H2O}$$
光合作用
\ce{6CO2 + 6H2O ->[光照][叶绿素] C6H12O6 + 6O2 ^}
$$\ce{6CO2 + 6H2O ->[光照][叶绿素] C6H12O6 + 6O2 ^}$$
电解水
\ce{2H2O ->[电解] 2H2 ^ + O2 ^}
$$\ce{2H2O ->[电解] 2H2 ^ + O2 ^}$$
氨的合成
\ce{N2 + 3H2 <=>[Fe][高温高压] 2NH3}
$$\ce{N2 + 3H2 <=>[Fe][高温高压] 2NH3}$$
双水解反应
\ce{Al2(SO4)3 + 6NaHCO3 -> 2Al(OH)3 v + 3Na2SO4 + 6CO2 ^}
$$\ce{Al2(SO4)3 + 6NaHCO3 -> 2Al(OH)3 v + 3Na2SO4 + 6CO2 ^}$$
✏️ 交互式试验区
完整代码:
\ce{H2O}
渲染结果:
$$\ce{H2O}$$
📝 常用语法参考
每条对应原表格中的一行:功能 · 语法要点在上方说明,下方为可编辑示例与渲染。
反应箭头 · 语法:在公式里写 ->(减号 + 大于号)
\ce{A -> B}
$\ce{A -> B}$
可逆箭头 · 语法:<=>
\ce{A <=> B}
$\ce{A <=> B}$
反应条件 · 语法:->[上][下]
\ce{A ->[条件] B}
$\ce{A ->[条件] B}$
沉淀 · 语法:v
\ce{AgCl v}
$\ce{AgCl v}$
气体 · 语法:^(与电荷上标同一字符,由上下文区分)
状态 · 语法:(s/l/g/aq)
\ce{H2O(l)}
$\ce{H2O(l)}$
同位素 · 语法:^{质量数}_{原子序数}
\ce{^{14}_6C}
$\ce{^{14}_6C}$
💡 提示和技巧
提示 1: mhchem 会自动识别元素符号并正确排版,无需手动处理大小写。
提示 2: 使用空格或 + 号连接不同的物质,mhchem 会自动处理间距。
提示 3: 对于复杂的化学式,可以使用括号 () 来分组,如 Ca(OH)2。
提示 4: 在网页中使用时,需要在 MathJax 配置中加载 mhchem 扩展。
提示 5: mhchem 可以与普通的数学公式混合使用,例如:$K_a = \ce{[H+][A-]/[HA]}$
🔗 更多资源
💡 关于 CDN 加载:
本页面使用了多个 CDN 备用源来加载 MathJax:
- 首选: cloudflare CDN(全球加速)
- 备用1: bootcdn(国内优化)
- 备用2: jsdelivr(备用方案)
如果页面加载缓慢,请耐心等待或刷新页面。如果长时间无法加载,可能是网络问题。
← 返回首页