第二版说明

第一版中 我们介绍了在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}
$$

显示效果就是:

$$ {\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 <- 2CO} $$

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

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

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

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

显示上下箭头

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

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

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

同位素

\ce{^12C}

$$ \ce{^12C} $$

推荐一个markdown编辑器

typora 这个markdown编辑器,可以实时预览和修改markdown,包括化学公式和数学公式哦。