hexo中数学公式换行问题

Hexo 书写 LaTeX 公式时的一些问题及解决方法

使用hexo撰写博客的时候难免会用到数学公式,,如果公式过长,我们通常希望把方程分成多行显示,这时候就需要用到换行符号\\,但是写出来的 Markdown 经过 Hexo 的处理以后显示不正确,这与 Hexo 的渲染引擎有关系。

Hexo 的自带的 Markdown 引擎并不支持 LaTeX 公式。 但是 MathJax 支持,因此首先要启用 MathJax 才能渲染 LaTeX 公式.但是它并不支持MathJax换行,这是因为我们的markdown文件首先会被hexo-theme-marked的marked.js解析,这就会使得使用Latex语法所写的MathJax公式中的_和,最后轮到MathJax来对公式进行解析就出错了。

安装hexo-renderer-pandoc

为了使用pandoc作为Hexo的渲染引擎,我们需要安装插件hexo-renderer-pandoc,步骤如下:

1
2
npm uninstall hexo-renderer-marked --save  # 卸载默认渲染插件
npm install hexo-renderer-pandoc --svae # 安装pandoc

但是在安装pandoc之后发现,公式中使用\\仍然不能换行,经过一番折腾之后发现了一个曲线救国的方法:在需要换行的公式加上align对齐:

例如

1
2
3
$$
A = [\alpha_1,\alpha_2,...,\alpha_n]\\ B = [\beta_1,\beta_2,...,\beta_r]
$$

在显示的时候会发现并没有换行

而加上aligin之后就可以正常换行

1
2
3
4
5
$$
\begin{align}
&A = [\alpha_1,\alpha_2,...,\alpha_n]\\ &B = [\beta_1,\beta_2,...,\beta_r]
\end{align}
$$


hexo中数学公式换行问题
https://gstarmin.github.io/2023/02/19/hexo中数学公式换行问题/
作者
Starmin
发布于
2023年2月19日
许可协议