hexo主题支持MathJax
1. 修改marked.js
由于hexo的MarkDown渲染器与MathJax有冲突,所以在使用之前需要修改两个地方。
文件路径: node_modules\marked\lib\marked.js
1-1.修改escape
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
每个版本对于的正则表达式可能略有差异,直接关键字
escape:
去搜索。
改为
escape: /^\\([`*\[\]()# +\-.!_>])/,
1-2修改em
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
每个版本对于的正则表达式可能略有差异,直接关键字
em:
去搜索
改为
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
2.开启
2-1.配置
修改3-hexo/_config.yml
# MathJax 数学公式支持
mathjax:
on: true #是否启用
per_page: false # 若只渲染单个页面,此选项设为false,页面内加入 mathjax: true
设置 per_page: false ,在需要渲染的页面内 加入
mathjax: true
2-2.文章
注意:如果配置per_page: false
的时候,在文章中一定要加mathjax: true
---
title: hexo主题支持MathJax
author: 沐雨云楼
date: 2020-05-29 11:36:46
tags:
- 工具
- hexo
categories:
- 工具
- hexo
mathjax: true
---
最标题中说明部位添加
mathjax: true
3.使用公式
上面步骤都了后,就可以开心的使用公式了。
- 单
$
符引住的是行内公式 - 双
$
符引住的是行间公式
具体哪些公式,如何书写,请参照 MathJax basic tutorial and quick reference
3-1.行内
markdown语法:$\cos 2\theta = \cos^2 \theta - \sin^2 \theta = 2 \cos^2 \theta$
结果:$\cos 2\theta = \cos^2 \theta - \sin^2 \theta = 2 \cos^2 \theta$
3-2.行间
markdown语法:$$ \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} $$
$$ \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} $$
3-3.自动编号
加\begin{equation} \end{equation}
$$
\begin{equation}
\sum_{i=0}^n F_i \cdot \phi (H, p_i) - \sum_{i=1}^n a_i \cdot ( \tilde{x_i}, \tilde{y_i}) + b_i \cdot ( \tilde{x_i}^2 , \tilde{y_i}^2 )
\end{equation}
$$
$$
\begin{equation}
\beta^*(D) = \mathop{argmin} \limits_{\beta} \lambda {||\beta||}^2 + \sum_{i=1}^n max(0, 1 - y_i f_{\beta}(x_i))
\end{equation}
$$
$$
\begin{equation}
\sum_{i=0}^n F_i \cdot \phi (H, p_i) - \sum_{i=1}^n a_i \cdot ( \tilde{x_i}, \tilde{y_i}) + b_i \cdot ( \tilde{x_i}^2 , \tilde{y_i}^2 )
\end{equation}
$$
$$
\begin{equation}
\beta^*(D) = \mathop{argmin} \limits_{\beta} \lambda {||\beta||}^2 + \sum_{i=1}^n max(0, 1 - y_i f_{\beta}(x_i))
\end{equation}
$$
3-4.手动编号
可以在公式书写时使用 \tag{手动编号} 添加手动编号
$$
\begin{equation}
\sum_{i=0}^n F_i \cdot \phi (H, p_i) - \sum_{i=1}^n a_i \cdot ( \tilde{x_i}, \tilde{y_i}) + b_i \cdot ( \tilde{x_i}^2 , \tilde{y_i}^2 ) \tag{1.2.3}
\end{equation}
$$
$$
\begin{equation}
\sum_{i=0}^n F_i \cdot \phi (H, p_i) - \sum_{i=1}^n a_i \cdot ( \tilde{x_i}, \tilde{y_i}) + b_i \cdot ( \tilde{x_i}^2 , \tilde{y_i}^2 ) \tag{1.2.3}
\end{equation}
$$
不加\begin{equation} \end{equation}
也可以
$$
\beta^*(D) = \mathop{argmin} \limits_{\beta} \lambda {||\beta||}^2 + \sum_{i=1}^n max(0, 1 - y_i f_{\beta}(x_i)) \tag{我的公式3}
$$
$$
\beta^*(D) = \mathop{argmin} \limits_{\beta} \lambda {||\beta||}^2 + \sum_{i=1}^n max(0, 1 - y_i f_{\beta}(x_i)) \tag{我的公式3}
$$
行内公式加\tag{}后会自动成为行间公式,例如:$z = (p_0, ..... , p_n) \tag{公式21} $
$z = (p_0, ….. , p_n) \tag{公式21}$
3-5.矩阵
$$
\begin{matrix}
1 & 2 & 3 \\\
4 & 5 & 6 \\\
7 & 8 & 9
\end{matrix} \tag{1}
$$
换行应该
\\
,但由于渲染时候被转为一个\
,所以写三个\\\
更多公式请参照:MathJax basic tutorial and quick reference
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 157162006@qq.com
文章标题:hexo主题支持MathJax
字数:762
本文作者:沐雨云楼
发布时间:2020-05-29, 09:36:46
最后更新:2020-09-12, 21:21:47
原始链接:https://iworkh.gitee.io/blog/2020/05/29/hexo-theme-math/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。