本文主要介绍 hexo-filter-mathjax 插件的使用,该插件主要用于支持我们在 hexo 博客中使用 Latex 进行数学公式的编写。

为什么要使用该插件?

原因很简单,由于我们所在领域的特殊性,需要解释一些问题或者算法,要经常和数学打交道,用数学来更高的表示其内涵,因此我们需要在我们的博客中书写一些相对复杂的数学公式。而这些数学公式不能直接用字母和数字直接键入,因此就需要我使用一种插件来支持我们的 Latex 语法。

为什么是 Latex ?

Latex 的语法能够很好的表示数学公式,同时它也是十分通用的一种数学表示方法,因此这里选用了它。相关语法参考链接

1 安装

首先我们需要安装 hexo-filter-mathjax 插件,该插件支持 Mathjax 来实现 Latex 排版系统,进而在我们的博客页面渲染出所需要的数学表达式。

安装时我们首先进入到我们的博客目录下,我们这里地址为之前的 H:\维护\test>,这里你们可以进入到你们的根目录然后执行下载即可。

# 进入根目录
cd ~/blog
# 插件下载,其中--save 参数会让 npm 在安装 hexo-math 之后自动将它写入 package.json 文件里,以便之后多电脑同步时使用
npm install hexo-filter-mathjax --save

2 配置

接下来我们需要将一下内容添加到 _config.yml 文件当中,需要注意的是这个文件指的是根目录下的,并不是对应的主题所需要的 _config.yml 文件。

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 呈现

3 使用

配置完毕后,我们使用时,需要在我们页面的 front-matter 区域添加一行 mathjax: ture

---
title: test
categories: test
date: 1905-06-30 12:00:00
mathjax: true
---

4 渲染器

这里需要注意的是,内联数学公式(…… $ <数学公式> $ ……)在开头 $ 之后和结尾 $ 之前 不能有空格! 例如:

-$ \epsilon_0 $
+$\epsilon_0$
-$ \frac{\partial}{\partial t} $
+$\frac{\partial}{\partial t}$

此外,我们这里使用的是 hexo 默认的渲染器 hexo-renderer-marked 时,由于 LaTeX 与 Markdown 都存在例如 ”_“ 等符号,因此请使用 \ 进行转义:

-$\epsilon_0$
+$\epsilon\_0$
-\begin{eqnarray*}
+\begin{eqnarray\*}
请注意!

也可以使用 hexo-renderer-pandoc等其他渲染器。

5 效果

尝试添加以下代码:

$$
i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi
$$
\begin{eqnarray\*}
\nabla\cdot\vec{E}&=&\frac{\rho}{\epsilon_0}\\\\
\nabla\cdot\vec{B}&=&0\\\\
\nabla\times\vec{E}&=&-\frac{\partial B}{\partial t}\\\\
\nabla\times\vec{B}&=&\mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t}\right)\\\\
\end{eqnarray\*}

效果如下:

itψ=22m2ψ+Vψi\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi

此外,支持 LaTex 公式的方式还有 hexo-math 插件,具体参考文章让 Hexo 搭建的博客支持 LaTeX