首发于:
最近更新于:
分类:化学

使用mhchem宏包

latex可以用基于tikz的chemfig宏包来处理小分子结构显示问题,包括大型有机分子的结构显示问题,然后一些简单的小分子显示推荐 mhchem宏包。

在网页端可以使用mathjax来显示数学公式,它还可以额外安装mhchem插件,这样就可以在网页端通过数学环境来使用mhchem宏包的功能了。

就作为一般使用来说,假定读者对latex的数学环境内的语法都很熟悉了,那么可以简单理解为mhchem宏包就是在数学环境下,加入了一个新命令 \ce{ } ,在这个ce命令里面上标和下标语法是类似数学环境内的语法表示的,不过对于具体化学表达式的显示会更加美观一些。

比如 $\ce{H_2O}$ 将显示为 $\ce{H_2O}$ ,然后 $\ce{AgCl_2^-}$ 将显示为 $\ce{AgCl_2^-}$ 。

此外还有一种简写写法:比如 $\ce{H2O}$ 将显示为 $\ce{H2O}$ ,然后 $\ce{AgCl2-}$ 将显示为 $\ce{AgCl2-}$ 。

我们可以看一下没有经过ce命令包装的纯数学环境表达的显示效果: $H_2O$ 和 $AgCl_2^-$ 。区别还是有点的。

关于数字进入上标和加减号自动情况见这两个例子: $\ce{Y^{99}+}$ $\ce{Y^{99}+}$ 和 $\ce{Y^{99+}}$ $\ce{Y^{99+}}$ 。

数字

数字就直接写上即可 $\ce{0.5H2O}$ $\ce{0.5H2O}$ ,把这个0.5放入数学环境中显示效果会略有一点不同: $\ce{$0.5$H2O}$ \(\ce{$0.5$H2O}\) 。

值得一提的是,前面的数字分数形式会自动处理: $\ce{1/2 H2O}$ $\ce{1/2 H2O}$ 。

配位化合物比如 $\ce{KCr(SO4)2.12H2O}$ $\ce{KCr(SO4)2.12H2O}$ 。

超氧化物 Superoxide Ion

$\ce{O2^{.-}}$

$\ce{O2^{.-}}$

- = # 分别表示单键,双键和三键。 $\ce{A-A B=B C#C}$ 然后使用 \bond命令还可以加入其他一些额外的键,其中 $\ce{\bond{~}}$ 对应 $\ce{\bond{~}}$ ,然后 $\ce{\bond{~-}}$ 对应 $\ce{\bond{~-}}$ ,其他类推。

化学反应式

$$
\ce{CO2 + C <- 2CO}
$$

$$ \ce{CO2 + C <- 2CO} $$

$$
\ce{CO2 + C ->[\text{加入text命令}] 2CO}
\ce{CO2 + C ->T[是支持][中文的] 2CO}
$$

$$ \ce{CO2 + C ->[\text{加入text命令}] 2CO} $$

$$ \ce{CO2 + C ->T[是支持][中文的] 2CO} $$

如果不使用text命令,那么中文在latex那一边不会正常显示。上面例子第二个没有使用text命令,是因为前面加上了T,然后箭头上下文字都不需要了。

上下箭头

$$
\ce{SO4^2- + Ba^2+ -> BaSO4 v ^}
$$

$$ \ce{SO4^2- + Ba^2+ -> BaSO4 v ^} $$

下降箭头是v,上式箭头是^,需要和前面的内容有一个空格。

同位素

\ce{^12C}

$$ \ce{^12C} $$