参考教程

安装并配置hexo-filter-mathjax

卸载hexo-math

博客目录下查看是否安装了hexo-math插件

1
npm list hexo-math

如果已经安装,将其卸载

1
npm uninstall hexo-math --save

安装hexo-filter-mathjax

1
npm install hexo-filter-mathjax --save

安装成功后,我们可以进行一些全局配置,打开hexo目录下的_config.yml文件, 在最后面添加如下的代码:

1
2
3
4
5
6
7
mathjax:
tags: none # or 'ams' or 'all'
single_dollars: true # enable single dollar signs as in-line math delimiters
cjk_width: 0.9 # relative CJK char width
normal_width: 0.6 # relative normal (monospace) width
append_css: true # add CSS to pages rendered by MathJax
every_page: false # if true, every page will be rendered by MathJax regardless the `mathjax` setting in Front-matter

安装公式渲染器

hexo-math默认的公式渲染器是hexo-renderer-marked,它和markdown的语法有冲突,我们将其卸载,查看是否安装了hexo-renderer-marked公式渲染器:

1
npm list hexo-renderer-marked

如果安装了将其卸载:
1
npm uninstall hexo-renderer-marked  --save

再安装一个新的公式渲染器,叫做hexo-renderer-kramed,它对hexo-renderer-marked进行了改进,在hexo目录下输入下面的命令安装:
1
npm install hexo-renderer-kramed --save

卸载了hexo-renderer-marked后,如果不安装hexo-renderer-kramed整个网站渲染不出来,导致server lost。

全局和主题配置

安装成功后,修改以下文件的内容防止语法冲突。
打开hexo主目录下的这个文件:E:\myblog\node_modules\kramed\lib\rules\inline.js,然后修改下面的规则(大家最好不要删除原代码,只是将其注释掉):

1
2
3
//escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
//修改为:
escape: /^\\([`*\[\]()#$+\-.!_>])/,

1
2
3
//em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
//修改为
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

最后在主题目录下_config.butterfly.yml,开启对mathjax的支持,如下所示:

1
2
3
4
5
6
# MathJax
mathjax:
enable: true
# See: http://mhchem.github.io/MathJax-mhchem/
mhchem: true # 化学方程式
per_page: false

公式及化学式输入测试

行间公式测试

1
2
3
$$
i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi
$$

行内公式测试

1
行间公式$O(f(n))=log_2^{n}$测试

行内公式测试

1
行内公式$\ce{H2O}$和$\ce{CrO4^2-}$测试

行内公式测试

化学式测试

1
$\ce{CO2 + C -> 2 CO}$

1
$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$

1
$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$

1
$\ce{x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O}$

1
$\ce{Zn^2+  <=>[+ 2OH-][+ 2H+]  $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$  <=>[+ 2OH-][+ 2H+]  $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$}$