第二版说明
在 第一版中 我们介绍了在html文件中如何绘制数学表达式和化学分子式,简单来说就是利用 mathjax
这个javascript库。但是我们是如此喜欢markdown和pelican,那里在pelican下该如何做呢。
最优雅的方法就是引入 render_math
这个插件。
# the plugin
PLUGIN_PATHS = ['myplugins']
PLUGINS = [extract_toc', 'render_math']
MATH_JAX = {'tex_extensions': ['mhchem.js']}
然后剩下的一切就交给pelican来处理吧,其可以检测你的markdown下是否插入了数学公式或者说化学分子式,然后决定是否引入 mathjax 库。
数学环境简要介绍
行内数学环境就像 TeX 里面一样 $ $
,然后单独一行的数学表达式是 :
$$
...
$$
更多用 Tex写数学的知识请参看这个 wikibook 。值得一提的是 LaTeX风格 \(
这样的并不支持。然后 \begin{equation}
是支持的,不过这边markdown编辑器并不支持实时预览,所以推荐就使用 $
和 $$
了。
如下:
$$
{\sigma }^{2 } =\frac { 1 }{n } \sum _{ i=1 }^{ n }{( X_i - \mu)^2}
$$
显示效果就是:
显示小分子
比如 $\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}$ ,值得一提的是,前面的数字分数形式会自动处理: $\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 ->[\text{加入text命令}] 2CO}
\ce{CO2 + C ->T[是支持][中文的] 2CO}
$$
如果不使用text命令,那么中文是不会正常显示。上面例子第二个没有使用text命令,是因为前面加上了T,然后箭头上下文字都不需要了。
显示上下箭头
$$
\ce{SO4^2- + Ba^2+ -> BaSO4 v ^}
$$
下降箭头是 v
,上式箭头是 ^
,需要和前面的内容有一个空格。
同位素
\ce{^12C}
推荐一个markdown编辑器
typora 这个markdown编辑器,可以实时预览和修改markdown,包括化学公式和数学公式哦。