Hexo 系列 - 3. 使用 pandoc + MathJax 渲染公式
本页用于测试 pandoc + MathJax 在 Hexo/Fluid 中的渲染效果。
1. 行内公式
这是一个行内公式:\(E = mc^2\),
再来一个:\(\alpha, \beta, \gamma \in \mathbb{R}\),
以及一个简单的向量:\(\boldsymbol{x} = (x_1, x_2, \dots, x_n)^\top\)。
2. 单行行间公式 + +
下面是一个带编号的行间公式,我们给它加上 \label:
\[ \begin{equation} E = mc^2 \label{eq:einstein} \end{equation} \]
现在在正文中引用它:式 \(\eqref{eq:einstein}\) 是著名的质能方程。
3. 多行 align 环境 + +
测试多行对齐的推导过程,并且对其中一行添加 \tag: \[
\begin{align}
J(\theta)
&= \mathbb{E}_{s \sim d^\pi,\, a \sim \pi_\theta}
\bigl[ r(s,a) \bigr] \label{eq:obj} \\[4pt]
\nabla_\theta J(\theta)
&= \mathbb{E}_{s \sim d^\pi,\, a \sim \pi_\theta}
\Bigl[ \nabla_\theta \log \pi_\theta(a \mid s)\, Q^\pi(s,a) \Bigr]
\label{eq:pg-basic} \\[4pt]
&= \mathbb{E}_{s \sim d^\pi}
\Bigl[ \sum_a \nabla_\theta \pi_\theta(a \mid s)\, Q^\pi(s,a) \Bigr]
\tag{PG*} \label{eq:pg-tag}
\end{align}
\]
上面我们给了三个公式编号:
- 目标函数:式 \(\eqref{eq:obj}\);
- 基本形式的策略梯度:式 \(\eqref{eq:pg-basic}\);
- 带自定义标签的那一行:式 \(\eqref{eq:pg-tag}\),其显式编号为
(PG*)。见公式 (2)。
4. 更复杂的符号与矩阵
再测试希腊字母、集合、矩阵等:
行内测试:\(\forall \epsilon > 0,\ \exists \delta > 0\),
使得当 \(0 < \lVert x - x^\ast \rVert < \delta\) 时,有 \(\lVert f(x) - f(x^\ast) \rVert < \epsilon\)。
行间矩阵:
\[ \begin{equation} A = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix}, \quad \boldsymbol{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix}. \label{eq:matrix} \end{equation} \]
矩阵 \(A\) 和向量 \(\boldsymbol{b}\) 的定义如式 所示。
5. 分段函数与条件概率
最后测试分段函数和概率符号:
\[ \begin{equation} p(x) = \begin{cases} \lambda e^{-\lambda x}, & x \ge 0, \\ 0, & x < 0, \end{cases} \quad \lambda > 0. \label{eq:exp} \end{equation} \]
条件概率示例:
\[ \begin{equation} \mathbb{P}(A \mid B) = \frac{\mathbb{P}(A \cap B)}{\mathbb{P}(B)}, \qquad \mathbb{P}(B) > 0. \label{eq:cond-prob} \end{equation} \]
在正文中再次引用式 和式 ,确认交叉引用是否正常工作。
6.
用
Markdown/HTML做个锚点,伪装成可引用公式1
2
3
4
5
6
7<span id="eq:newton"></span>
$$
F = ma \tag{1}
$$
在文中这样写:见公式 [(1)](#eq:newton)。渲染效果如下
\[ F = ma \tag{1} \] 在文中这样写:见公式 (1)。
如果本页所有公式(行内、行间、多行 align、、自定义 + )都正常显示,
说明你的 pandoc + MathJax + Fluid 配置已经完全 OK 了。