采矿与岩石力学

DP CHEN's Personal Website

在Hugo中引入MathJax支持数学公式

2020-04-07 22:03

使 HTML 页面支持数学公式的常用方法是引入 MathJax 渲染,本文讲解 Hugo 引入 MathJax 脚本的具体操作步骤。

1. MathJax 简介

MathJax 是基于 JavaScript 开发的开源数学公式渲染引擎,支持LaTeX、MathML 及 AsciiMath 等形式的数学公式,兼容目前绝大多数主流浏览器。

2. 使用 Mmark

Hugo 支持 Blackfriday 和 Mmark 两种 Markdown 后端,默认使用 Blackfriday。为便于进行 MathJax 渲染,应在 MD 文件 Front Matter 中插入一行:

markup: mmark

切换到Mmark即可在MD文件中添加公式,数学公式开头及结尾需添加两个美元符号。例如 $$f(x)=ax+b$$,显示效果如下:

$$f(x)=ax+b$$

3. Hugo 主题配置

在Hugo主题的 <body> 部分添加一行:

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_SVG"></script>

以上就是 Hugo 引入 MathJax 渲染的基本步骤,值得注意的是,在 Markdown 中被下划线 “_” 包围的文字表示 “强调” 的意思,而 LaTeX (MathJax) 使用下划线来创建一个下标。下划线的这种 “双重标准” 会导致一些意料外的情况发生。为避免这一冲突,可以在数学表达式代码的每个下划线都添加转义符号,即 “\_"。