记用hexo渲染Latex公式遇到的问题

一个问题

最近发现我hexo上公式好像没有渲染成功,换了各种引擎渲染依旧没有解决问题,看了一些教程,记录一下遇到的问题。

流程

网上大部分帖子是拿next主题讲的,所以一开始完全照做了。
1.卸载hexo-math和hexo-renderer-marked
2.安装hexo-renderer-pandoc
3.修改theme里面的config配置
4.本地安装pandoc
也遇到了一个报错pandoc exited with code 9: pandoc: Unknown extension: smart
查了一下是因为Anaconda\Scripts目录下还有pandoc,而hexo默认使用Anaconda的pandoc,此pandoc版本过低。
更换了exe文件之后不报错了。

但是换了pandoc之后遇到的问题就是,$$并没有成功渲染,反而把所有的$渲染成了\(

查了一些资料,其实一开始$和\(都可以用作公式的渲染,所以我怀疑是中间的转义出了什么问题,但是检查了一下并没发现有问题。

后来发现可能是我使用的Analoto主题和Next还是不太一样,在询问了主题作者的情况下,发现模板并没有使用math,所以之前修改config的时候我也发现好像没有集成math模块,因此修改可能是无效的,也有可能我中间哪一步做错了,导致出现了bug。

后来尝试在主题中手动添加js安装mathjax,好像并没有什么效果,也可能是那个时候没有卸载掉前面安装的包,导致渲染结果的一直不正确。

最后参考了一个博主写的方法

替换默认的渲染器,这块还是一样的,不过使用的包不一样了。

1
2
npm un hexo-renderer-marked --save
npm i @upupming/hexo-renderer-markdown-it-plus --save

然后引入katex的样式文件,然后需要引入katex的样式文件,这里要注意官方的文档里用的还是0.9.0的老版本同样不支持换行,所以需要改成0.10.2的版本,这里使用字节的cdn,将其放入主题文件夹下的layout\_partials\head中。

1
<link href="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/KaTeX/0.10.2/katex.min.css" rel="stylesheet">

最后记得要把前面安装的没成功的东西卸载了,要不然渲染的还是错的。

测试 落泪了T T

1(ϕ5ϕ)e25π1+e2π1+e4π1+e6π1+e8π1+\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} \equiv 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}} {1+\frac{e^{-8\pi}} {1+\cdots} } } }

E(x)=i=1nXinE(x)=\frac{\sum_{i=1}^{n}{X_{i}}}{n}

lim1+P(1ninXiμ<ϵ)=1,i=1,...,nlim_{1\to+\infty}P(|\frac{1}{n}\sum_i^nX_i-\mu|<\epsilon)=1, i=1,...,n

总结

其实我的博客里面有很多东西都没搭好,一方面是因为我懒,另一方面是我选Anatolo是因为它很简洁好看,但是一些功能可能就没有别的主题集成的那么好了,之后再慢慢加吧。感觉目前为止遇到的一些bug都可以通过查别人的技术帖解决的,不过还是要就帖论帖,直接无脑搬用大概率还是会出bug。