0%

【Hexo】Next主题更好地支持LaTeX数学公式

在Typora中可以正常显示的\(L^AT_EX\)数学公式,在Hexo NexT主题下却渲染得不是太理想。我们去最新的NexT官方文档里看看如何解决吧!

实施步骤

NexT主题现在提供两种数学公式的渲染方式 MathJaxKaTeX。其中katex的速度更快,但是对于\(L^AT_EX\)的支持有一定的限制。所以除非你的博客数量实在是过于庞大,不然就可以直接使用mathjax

使用mathjax,可以选择多种渲染引擎,但推荐使用

使用其它诸如hexo-renderer-marked之类的引擎(这是Hexo默认首先用来渲染MarkDown的),然后再交给mathjax渲染。hexo-renderer-marked会把一些特殊的MarkDown符号转换为相应的html标签,比如在MarkDown语法中,下划线 _ 代表斜体,会被转化为< em>标签,\也会被转义成一个。而类\(L^AT_EX\)格式书写的数学公式下划线 _ 表示角标,\表示公式换行,有特殊的含义,所以mathjax引擎在渲染数学公式的时候就会无法正常渲染。

安装pandoc

安装文档下载链接],因为在安装Anaconda时已经含有pandoc。这里不再单独进行安装。

配置NexT

  1. 首先,在NexT主题配置文件中将mathjax设为渲染引擎
1
2
3
4
math:
...
mathjax:
enable: true
  1. 然后,卸载最初的hexo-renderer-marked引擎并安装hexo-renderer-pandoc
1
2
$ npm un hexo-renderer-marked
$ npm i hexo-renderer-pandoc

  1. 在更换完渲染引擎后,执行一下hexo clean,然后再进行部署或启动本地服务器来验证渲染是否工作正常。
1
2
$ hexo clean && hexo g -d
# or hexo clean && hexo s