众所周知,Aurora主题的原作者已经不再修理该主题了,那么就需要我们用户自力更生了。最近看群里小伙伴都苦于Aurora主题不对数学公式进行渲染的问题,当然我也是其中一位,这里给出我的解决方案。

在这里感谢溴麝香草酚蓝水溶液大佬的指导

参考文章《easyhexo》

image-20230328193833047

一、解决方案

我的解决方案是安装hexo-renderer-pandochexo-filter-mathjax。这里hexo-renderer-pandoc是可选的,hexo-filter-mathjax是一个用于Hexo渲染MathJax的插件

安装mathjax插件不需要前端脚本与其他数学公式插件,因此一定要保证主题的干净,将其他数学插件删除干净

二、教程

2.1 安装Mathjax

Aurora主题很干净,我们直接安装hexo-filter-mathjax即可。在博客根目录下命令行运行

1
2
npm install hexo-filter-mathjax
hexo clean

2.2 配置

配置站点文件,把以下内容添加加<Hexo>/_config.yml 文件:

1
2
3
4
5
6
7
mathjax:
tags: none # 或 'ams' 或 'all'
single_dollars: true # 启用单个美元符号作为内联(行内)数学公式定界符
cjk_width: 0.9 # 相对 CJK 字符宽度
normal_width: 0.6 # 相对正常(等宽)宽度
append_css: true # 将 CSS 添加到每个页面
every_page: false # 如果为 true,那么无论每篇文章的前题中的 `mathjax` 设置如何,每页都将由 mathjax 呈现

2.3 使用

在需要启用mathjax的文章front-matter内添加mathjax: true

1
2
3
4
5
6
---
title: On the Electrodynamics of Moving Bodies
categories: Physics
date: 1905-06-30 12:00:00
mathjax: true
---

这样就可以在文章中使用LaTex语法了。

三、渲染器

需要注意,使用hexo-filter-mathjax,内联公式(…… $<数学公式>$$ ……)在开头$之后和结尾$之前不能有空格,例如:

1
2
3
4
-$ \epsilon_0 $
+$\epsilon_0$
-$ \frac{\partial}{\partial t} $
+$\frac{\partial}{\partial t}$

3.1 安装pandoc

官方给出说明可以使用更好的数学公式渲染器hexo-renderer-pandoc。下面我们安装pandoc渲染器。

首先我要确保我们本地已安装pandoc(版本$\geq$2.0)。然后,在博客根目录命令行下运行命令安装hexo-renderer-pandoc

1
$ npm install hexo-renderer-pandoc --save

默认情况下,此插件发出命令来调用 pandoc。如果您的 pandoc 可执行文件不在搜索路径环境变量中(即你自己把pandoc默认安装路径换了),您可以通过 覆盖此命令。在博客站源文件_config.yml添加如下内容,这里将路径改为你pandoc的路径即可。

1
2
pandoc:
pandoc_path: C:/Program Files/Pandoc/pandoc.exe

若你同样安装了Anaconda其中的版本很低,你需要将其替换为下载的pandoc.exe

image-20230328201012971

四、效果

1
2
3
$$
i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi
$$