Neurohazard
暮雲煙月,皓首窮經;森羅萬象,如是我聞。

为 WordPress 添加 MathJax (LaTex) 支持

wpadmin~October 15, 2018 /System Management

为 WordPress 添加 MathJax (LaTex) 支持

为 WordPress 添加 MathJax (LaTex) 支持

MathJax 是什么

MathJax 是一个开源的数学公式显示脚本。
其最大的优势在于可以以基于文本的方式显示页面中的数学公式。
而且支持 Tex 和 LaTex、MathML、ASCIIMathML 语言来书写公式,完美支持各大主流浏览器,拥有丰富的 API 接口。

如何安装

MathJax 的安装十分简单,只需要一句代码就可以完成配置。

在 WordPress 中,把下面的代码插入 “主题目录\header.php” 的 <head></head> 中即可。

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

其他 CDN
https://www.bootcdn.cn/mathjax/

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

这将会调用 MathJax 自有的 CDN 进行显示,这也是推荐的方法。
另外,你也可以在自己的服务器上部署 MathJax 。

如何使用

行内公式显示
\( 在这里插入 Tex 或 LaTex 代码 \)
或
$ 在这里插入 Tex 或 LaTex 代码 $

居中公式显示
\[  在这里插入 Tex 或 LaTex 代码 \]
或
$$ 在这里插入 Tex 或 LaTex 代码 $$

更多案例

麦克斯韦方程组(行间显示)

$$ \begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned} $$$

# HTML 预期输入
$$ \begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned} $$

# 后台编辑器真实输入
$$ \begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\\\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\\\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\\\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned} $$$

爱因斯坦场方程(行内显示)

$$ G_{\mu \nu }=R_{ \mu \nu }- \frac{1}{2}g_{\mu \nu }R=\frac{8\pi G}{c^{4}}T_{\mu \nu } $$$

# HTML 预期输入
\( G_{\mu \nu }=R_{ \mu \nu }- \frac{1}{2}g_{\mu \nu }R=\frac{8\pi G}{c^{4}}T_{\mu \nu } \)

# 后台编辑器真实输入
$$ G\_{\mu \nu }=R\_{ \mu \nu }- \frac{1}{2}g\_{\mu \nu }R=\frac{8\pi G}{c^{4}}T\_{\mu \nu } $$$

经验性规则

这个是 当 Markdown 编辑器 和 MathJax 混合使用才会出现的问题。

以下是在 WordPress Markdown 编辑器条件下构造真实输入的一些 经验性规则
构造的核心思路就是 要控制 经过 Markdown 引擎处理过后的 HTML 的输出, 这个输出 是 MathJax 的输入。
要保证 (Markdown 引擎的预期输出 ) 和 (MathJax 的预期输入) 保持一致 。

  1. "_" 需要改成 "\_"
  2. 尾部的 "$$" 需要改成 "$$$"
  3. "\\" 需要修改成 "\\\\"

参考资料

MathJax
http://www.mathjax.org/

为 WordPress 添加 MathJax 支持
https://th0.me/622.html

Leave a Reply

Your email address will not be published. Required fields are marked *