0


Hexo显示Latex公式最新解决方案

前言:

这周末在搬迁Hexo博客并且修复之前博客的bug,外加继续装修博客。整了一个周末终于弄好了。这里先贴出个人博客链接:issey的博客 - 愿无岁月可回首

总结一下遇到的最让我无语而且耗时最长的问题吧。

Latex数学公式+公式无法换行。
首先呢这是两个问题,要先让hexo支持数学公式,再来才是不能换行的问题。自己找了许许多多的教程,先后折磨了快半天,才找到了较为完美的解决方案。可能是关于这方面的教程大多都太老了,版本迭代后不太适用吧。

关于Hexo和主题

这个问题实际**与主题无关**。最开始我一直纠结于主题不同解决方法是不是不一样,最后解决了发现不是。

我用的是hexo和butterfly截止目前的最新版本:

hexo:6.3.0

butterfly:4.4.0

让Hexo支持数学公式

这部分我跟着这篇文章搞的: Hexo如何显示latex公式_gorray的博客-CSDN博客_hexo latex公式

其实要做的步骤很少:

1.首先卸载hexo-math和hexo-renderer-marked。然而hexo应该是没有自带hexo-math的,所以只需要卸载第二个就行。以防万一还是可以直接执行:
npm un hexo-math
npm un hexo-renderer-marked
2.安装hexo-renderer-pandoc渲染器
npm i hexo-renderer-pandoc
好,到此为止,需要的包就迭代好了。

3.然后是配置主题配置下的mathjax设置。我用的是butterfly,那么对应路径是:\themes\butterfly\ _config.yml
# MathJax
mathjax:
  enable: true
  per_page: true

Pandoc报错

理论上到这一步就可以用了对吧,一般的教程也都这样。就算再外加一步,我学习的那篇文章里提到,接下来还应该去Pandoc官网下载**最新版本**pandoc:Pandoc - About pandoc

关于pandoc下载安装教程随便查一下就有,这里就不说明了。然后再在环境配置配置了pandoc路径,直到你可以在cmd输入以下命令查看它的版本:
pandoc -v
我的输出:
pandoc 2.19.2
Compiled with pandoc-types 1.22.2.1, texmath 0.12.5.2, skylighting 0.13,
citeproc 0.8.0.1, ipynb 0.2, hslua 2.2.1
Scripting engine: Lua 5.4
有的朋友可能到这一步就发现不对了,不要慌,接下来才是重点。

一个莫名其妙的错误

先回到hexo目录,执行hexo -s,如果你没有出现这个报错:

pandoc exited  with code 9: pandoc: Unknown extension: smart

那么恭喜你,你的这个问题并不存在,可以选择跳过。但是如果你和我 一样报这个错误,可能就开始头疼了。不过我终于还是找到了解决方法。

首先我是找到了这篇文章:配置hexo时遇到的问题 - diralpo - 博客园 (cnblogs.com)

从这篇文章得知,导致该报错的原因是**pandoc版本过低** ,而且还不是一般原因引起的版本过低,因为前面我们已经安装了最新版本的pandoc。但是最新版本的没起作用。于是我打开了everything查找电脑上存在的pandoc。然后发现位于Anaconda\Scripts目录下还有pandoc,真正问题也出在这儿。

**是因为Anaconda安装的pandoc版本过低,而且hexo默认使用的是Anaconda的pandoc。**

不信的话你去找找,那个pandoc居然是2017年的。在某一篇文章得知,pandoc版本应该在2.0以上,但那个pandoc好像是1.9。那接下来的就简单了,直接把新下载的pandoc.exe替换Anaconda里的pandoc.exe。

然后你在回去hexo -s,就没问题了。

换行问题

其实做到上一步,换行问题也已经随之解决了。不过这里还是提一下关于这个换行。

首先,想直接通过\ \而不加任何什么begin,end这种写法是做不到换行的,我最开始就是纠结于这个,然而这写法本来也不规范,例如:A \ \ B 是不能达到换行的。但是在加上规范的begin和end就可以了。其次,换行公式应该写成行间公式而非行内公式。
$A \\ B$  错误写法
\begin{split} A\\B \end{split} 写在行内错误,写在行间正确。
  $$\ \begin{split} A\\B \end{split}\,$$

这篇文章是我做的hexo公式测试:Latex公式测试 | issey的博客

如果不是网速加载问题,那么显示应该是:

![](https://img-blog.csdnimg.cn/2aae84b217cd4912aa32a79259b8d230.png)

本文转载自: https://blog.csdn.net/qq_52466006/article/details/126924064
版权归原作者 Twilight Sparkle. 所有, 如有侵权,请联系我们删除。

“Hexo显示Latex公式最新解决方案”的评论:

还没有评论