首先请了解官方文档 Halo Documents - 数学公式, Halo 1.5.0 版本后内置了 \( \rm K\kern-.2em\raise.21em{\scriptstyle{A}}\kern-.17em T\kern-.14em\lower.5ex{E}\kern-.115em X \) 作为数学公式插件,因此需要考虑是否再引入Mathjax插件来渲染数学公式。但1.4.x 版本则没有此便利。
安装Mathjax比较简单,可在后台博客设置通过CDN加载,也可将Mathjax下载安装到主题中。然而Mathjax插件较为重量级,会拖累网页打开速度,最好根据文章内容按需开启。
在Halo直接使用输入数学公式Mathjax均无法正常渲染。经查Halo社区论坛-公式渲染bug,发现Halo后端在将控制字符
$ { } \
等转义后再输出导致前端Mathjax无法解析。此外,Mathjax中 $ ... $
的标记默认关闭,若未修改配置则无法使用。
Halo 1.5.0 版本更新后改变了数学公式输入和渲染方式,导致无法沿用之前的输入方式。
对于Halo 1.5.x 和 Mathjax 3.x 版本,实测解决方案为在后端编辑器中Mathjax标签的符号前加\
号转义。
如图所示,行内公式可用
这是 \( \sqrt{a^{2} + b^{2}} \) 行内公式示例
行间公式可用
这是
$$ \sqrt{a^{2} + b^{2}} $$
行间公式示例
以下数学输入方式仅适用于旧的 Halo 1.4.x 版本,示例在这个网页上可能显示异常。
对于Halo 1.4.x 和 Mathjax 3.x 版本,实测解决方案为使用`
号行内代码块再外加$
号,或使用行间代码块,分别包含对应的Mathjax标签。尽管这样的写法在Halo后端文章编辑器无法预览,但前端页面可以正常显示。
如图所示,行内公式可用
这是 `\(\sqrt{a^{2} + b^{2}}\)` 行内公式示例
行间公式可用
这是
$$ \sqrt{a^{2} + b^{2} } $$
行间公式示例
为便于访问者解决该问题和搜索引擎查找,这篇文章单独从我的博客建站纪实3.3节摘出。