使用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} $$