51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Hexo -15- 解决 Hexo Mathjax 无法显示多行公式的问题

Hexo比较好用的公式插件是Mathjax,但由于swig的文件解析机制,使得多行公式无法在Hexo中正常显示,本文介绍该问题的解决方法。

问题复现 {#问题复现}

  • 准备输入一个矩阵:

$$ A = \left( {\begin{array}{*{20}{c}} 1&{}&{}&{}\\ {}&1&{}&{}\\ {}&{}&1&{}\\ {}&{}&{}&1 \end{array}} \right) $$

  • 再输入一个多行公式

$$ \begin{array}{l} z &= {(x + y)^2}\\ &= {x^2} + {y^2} + 2xy \end{array} $$

问题1 {#问题1}

  • 此时运行 hexo ghexo s有可能报错:

问题2 {#问题2}

  • 或者显示公式不正常,多行公式会挤成一行:

原因分析 {#原因分析}

问题1 {#问题1-2}

  • 由于hexo解码时关注{{,}},%% 等连续字符,会将这部分代码解读为其他带有特殊含义的内容
  • 如果公式中恰巧出现了此类字符,会报出上述错误

问题2 {#问题2-2}

  • 由于hexo在公式中的\\错会成了转义符,也就是说他只看见了一个反斜杠,不会执行换行命令,导致公式堆成一行

解决方案 {#解决方案}

临时方案 {#临时方案}

针对问题1 {#针对问题1}
  • 可以在连续的 { } %中间插入空格,分开就没事了
针对问题2 {#针对问题2}
  • 可以将\\换成\\\\,可以实现公式的多行正确显示

终极方案 {#终极方案}

  • 在官方文档中提到了可以为hexo提供标记,阻止其按照自己的规则解释我们的字符串,显示其原本的含义

  • 标记为



文章链接:
https://www.zywvvd.com/notes/hexo/website/15-formula/formula-error/

赞(0)
未经允许不得转载:工具盒子 » Hexo -15- 解决 Hexo Mathjax 无法显示多行公式的问题