在Hexo中启用Latex

目录#

由于部分学习笔记的公式采用 LaTex 进行编写,但hexo又不自带Latex渲染,多方查阅资料后作此文,希望能给与大家参考。

由于本人使用pnpm作为包管理器,故下述代码均以pnpm开头,若使用其他,请按照其规范安装插件。

安装pandoc#

请访问官网安装Pandoc。

安装 hexo-renderer-pandoc#

建议使用pandoc作为渲染器

pandoc渲染器和hexo原始渲染器不得共存

执行如下代码

1
2
$ pnpm uninstall hexo-renderer-marked
$ pnpm install hexo-renderer-pandoc

安装 hexo-filter-mathjax#

1
2
$ pnpm install hexo-filter-mathjax
$ hexo clean

编辑文件#

在博客根目录 _config.yml 下添加如下配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
math:
# Default (false) will load mathjax / katex script on demand.
# That is it only render those page which has `mathjax: true` in front-matter.
# If you set it to true, it will load mathjax / katex script EVERY PAGE.
every_page: false

mathjax:
enable: true
# Available values: none | ams | all
tags: none

katex:
enable: false
# See: https://github.com/KaTeX/KaTeX/tree/master/contrib/copy-tex
copy_tex: false

mathjax:
tags: none # or 'ams' or 'all'
single_dollars: true # enable single dollar signs as in-line math delimiters
cjk_width: 0.9 # relative CJK char width
normal_width: 0.6 # relative normal (monospace) width
append_css: true # add CSS to pages rendered by MathJax
every_page: false # if true, every page will be rendered by MathJax regardless the `mathjax` setting in Front-matter
packages: # extra packages to load
extension_options: {}
# you can put your extension options here
# see http://docs.mathjax.org/en/latest/options/input/tex.html#tex-extension-options for more detail
注意 mathjax和Katex不能同时开启。

安装后执行一遍 hexo clean 清除本地缓存。

如何使用?#

相比会使用LaTex的你也知道LaTex的格式 即$ xxx $

例如 $$ \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} $$

本文部分内容参考 hexo博客增加latex支持-知乎