服务器部署 MathJax

在服务器部署 MathJax:

  1. 在 MathJax 的官方 Github 下载 .zip 文件;
  2. 上传到 plugins 文件夹并解压;
  3. 然后在 header.php 文件的 </head> 前面加入下面的代码1
<script>
MathJax = {
  tex: {
      inlineMath: [['[latex]', '[/latex]'], ['\\(', '\\)']],
      inlineMath: [['$', '$'], ['\\(', '\\)']],
      displayMath: [['[Latex]', '[/Latex]'], ['$$', '$$'], ['\\[', '\\]']]
  }
};
</script>
<script src="https://xxx.com/usr/plugins/mathjax/tex-chtml.js" id="MathJax-script" async></script>

(用这种方法渲染的字体也许没那么美观)

CDN 部署 MathJax

我现在使用的插件是 glerium/TypechoMathJax: 一款用于Typecho的MathJax插件

使用方法

  1. 在 Github 下载 .zip 文件;
  2. 上传到 plugins 文件夹并解压;
  3. 把解压后的文件重命名为 “TypechoMathJax”,这点很重要
  4. 在 Typecho后台启用 TypechoMathJax 插件;
  5. 你可以选择调整数学公式的字体大小。

他虽说宣称自己是一款插件,但本质还是链接了 CDN 地址。
推荐需要 MathJax 渲染又不想太折腾的小伙伴尝试。

LaTeX、KaTeX、MathJax的联系与区别

  • MathJax 与 KaTeX 是用于网页渲染数学公式的引擎,支持 LaTeX 语法的一部分。而 LaTeX 是完整的排版系统,用于创建文档。

LaTeX 与 MathJax :

  1. 应用场景和功能范围不同。LaTeX 是完整的排版系统,处理文档整体;MathJax 专注网页数学公式渲染,只处理数学部分,文本用 HTML。
  2. 语法支持子集,MathJax 只实现 LaTeX 数学模式宏,像数组环境只支持部分预定义字符。
  3. 特定命令支持差异,比如 \mathbld 在 MathJax 不支持,还有 eqnarray 使用有区别。
  4. 错误处理,MathJax 更容忍语法错误。
  5. 文本模式处理,LaTeX 有丰富文本命令,MathJax 几乎不处理,除了少数如 \ref 和 \text {} 里的部分扩展。

KaTeX 与 MathJax 的具体区别:

  1. 体量与功能:KaTeX 轻,专注数学渲染;MathJax 综合,支持多种输入输出。
  2. 渲染速度:KaTeX 快,MathJax3.0 提升但仍可能慢。
  3. 语法支持:MathJax 支持更多 LaTeX 语法。
  4. 输出格式:MathJax 支持更多如 SVG。
  5. 扩展与辅助:MathJax 有扩展包和辅助技术。
  6. 浏览器兼容:MathJax 支持旧版,KaTeX 对旧版差但性能一致。
  7. 社区成熟度:MathJax 社区更成熟。

一些资源

常用模板(手动备忘)

分行并使等号对齐

$$\begin{aligned}
a+b&=m+n\\\
&=c+d\\\
&=e+f
\end{aligned}$$

$$\begin{aligned}
a+b&=m+n\\
&=c+d\\
&=e+f
\end{aligned}$$

方程组的大括号

$$\begin{cases}
x=x(t)\\\
y=y(t)\\\
z=z(t)
\end{cases}$$

$$\begin{cases}
x=x(t)\\
y=y(t)\\
z=z(t)
\end{cases}$$

行列式

$$\begin{vmatrix}
\vec{i}&\vec{j}&\vec{k} \\\
F_{x}&F_{y}&F_{z} \\\
G_{x}&G_{y}&G_{z} 
\end{vmatrix}$$

$$\begin{vmatrix}
\vec{i}&\vec{j}&\vec{k} \\
F_{x}&F_{y}&F_{z} \\
G_{x}&G_{y}&G_{z}
\end{vmatrix}$$

写在最后

希望这篇文章能给你带来一点点帮助,同时如果你有更好的想法,欢迎留言交流~