1. 配置
Hexo 的自带的 Markdown 引擎并不支持 LaTeX 公式。 但是 MathJax 支持,因此首先要 启用 MathJax 才能渲染 LaTeX 公式。如果你已经安装了 NexT theme,开启 MathJax 支持非常容易,在最新版的 NexT 主题的 _config.yml 文件里,找到 MathJax 相关部分,使用以下配置:
1 | math: |
但是由于 LaTeX 中的一些符号在 Markdown 中有特殊含义,例如 两个 _
在 Markdown 中用来表示斜体(italic),因此两者的配合使用会产生一些问题。
解决方案:
使用 hexo-renderer-kramed 替换 Hexo 默认的渲染器 hexo-renderer-marked。hexo-renderer-kramed 是 hexo-renderer-marked 的 Fork 修改版,仅针对 MathJax 渲染的语义冲突问题进行了修改,因此可以放心使用。在 Hexo 根目录下执行以下命令替换默认渲染引擎:
1 | npm uninstall hexo-renderer-marked --save |
更换渲染引擎后,整行公式就可以正常显示了,然而行内公式还是会遇到<em>
标签语义冲突的问题。在 Markdown 语法中,用$$$$包括起来的内容表示整行公式,用$
包括起来的内容表示行内公式。之所以行内公式的渲染依然存在问题,是因为 hexo-renderer-kramed 引擎同样存在语义冲突的问题。在博客根目录下,找到node_modules/kramed/lib/rules/inline.js
文件,在inline
变量中做出如下修改:
1 | var inline = { |
依然可以在 Hexo 中使用*
表示斜体,但用_
表示_斜体_就不会生效了。
2. 矩阵
2.1 不带括号的矩阵
1 | $$ |
效果:
2.2 带括号{}的矩阵
1 | $$ |
效果:
不使用left和right的方法:
1 | $$ |
效果:
2.3 带括号[]的矩阵
1 | $$ |
效果:
不使用left和right的方法:
1 | $$ |
效果:
2.4 带省略号的矩阵
1 | $$ |
效果:
2.5 行间矩阵
1 | Test$\bigl( |
效果:
Test$\bigl(
\begin{smallmatrix}
l&l\\j&z
\end{smallmatrix}
\bigr)$Test
3. 方程组
1 | \begin{cases} |
效果:
4. Greek and Hebrew Letters
$\alpha$ | \alpha | $\beta$ | \beta | $\gamma$ | \gamma | $\chi$ | \chi | $\delta$ | \delta | $\epsilon$ | \epsilon |
---|---|---|---|---|---|---|---|---|---|---|---|
$\eta$ | \eta | $\iota$ | \iota | $\kappa$ | \kappa | $\lambda$ | \lambda | $\mu$ | \mu | $\nu$ | \nu |
$o$ | o | $\omega$ | \omega | $\phi$ | \phi | $\pi$ | \pi | $\psi$ | \psi | $\rho$ | \rho |
$\sigma$ | \sigma | $\tau$ | \tau | $\theta$ | \theta | $\upsilon$ | \upsilon | $\xi$ | \xi | $\zeta$ | \zeta |
$\digamma$ | \digamma | $\varepsilon$ | \varepsilon | $\varkappa$ | \varkappa | $\varphi$ | \varphi | $\varpi$ | \varpi | $\varrho$ | \varrho |
$\varsigma$ | \varsigma | $\vartheta$ | \vartheta | $\Delta$ | \Delta | $\Gamma$ | \Gamma | $\Lambda$ | \Lambda | $\Omega$ | \Omega |
$\Phi$ | \Phi | $\Pi$ | \Pi | $\Psi$ | \Psi | $\Sigma$ | \Sigma | $\Theta$ | \Theta | $\Upsilon$ | \Upsilon |
$\Xi$ | \Xi | $\aleph$ | \aleph | $\beth$ | \beth | $\daleth$ | \daleth | $\gimel$ | \gimel |