在Jekyll中使用KaTeX | AI生成和翻译

Home 2025.05

要在当前 Jekyll 设置中使用 KaTeX 替代 MathJax,您需要替换 MathJax 脚本并调整 Jekyll 配置。KaTeX 比 MathJax 更轻量快速,但实现方式有所不同(例如,公式自动编号需要手动处理)。以下是将 Jekyll 站点切换至 KaTeX 的完整步骤:

1. 更新 Jekyll 配置

修改 _config.yml 中的 kramdown 配置段:

kramdown:
  math_engine: katex
  input: GFM
  syntax_highlighter: rouge

该配置会指示 Kramdown 使用 KaTeX 渲染 LaTeX 数学公式。

2. 引入 KaTeX 资源

在 Jekyll 布局文件(如 _layouts/default.html)的 <head> 段中移除 MathJax 脚本,替换为以下 KaTeX 资源:

<!-- KaTeX CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5SLY8cTjmnkA3wC7o1L0jOey4Cki5N3kdjdPD/mW59G1Qsxa8c3y" crossorigin="anonymous">

<!-- KaTeX JS -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js" integrity="sha384-7zkKLzPD3M4y9W8FWsN4Z0yO5eLu8qUn0QHY6hZ2r3fDzqjk0McYc3vJrmE2h6cZ" crossorigin="anonymous"></script>

<!-- 自动渲染扩展(可选功能) -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTL0xF3iS9Ho94fSc31UyUyIDgWvB4" crossorigin="anonymous"></script>

<!-- 自动渲染配置 -->
<script>
  document.addEventListener("DOMContentLoaded", function() {
    renderMathInElement(document.body, {
      delimiters: [
        {left: "$$", right: "$$", display: true}, // 块级公式
        {left: "\\[", right: "\\]", display: true}, // 块级公式
        {left: "\\(", right: "\\)", display: false}, // 行内公式
        {left: "$", right: "$", display: false} // 行内公式
      ],
      throwOnError: false
    });
  });
</script>

3. 移除 MathJax 配置

删除布局文件中所有 MathJax 相关代码,包括 <script type="text/x-mathjax-config"> 配置块和 MathJax CDN 脚本。KaTeX 通过上述自动渲染脚本实现类似功能。

4. 在 Markdown 中编写数学公式

配置完成后,您可以使用原有分隔符编写 LaTeX 公式:

示例如下:

行内公式:$E=mc^2$ 或 \(E=mc^2\)

块级公式:
$$E=mc^2$$

或

\[E=mc^2\]

Kramdown 会配合 KaTeX 引擎将这些公式转换为可渲染的 HTML 结构。

5. KaTeX 与 MathJax 差异说明

6. 测试配置

通过 jekyll serve 本地运行站点,验证公式渲染效果。若遇到问题:

7. 可选:本地部署 KaTeX

若需避免 CDN 依赖,可本地部署 KaTeX:

  1. KaTeX 发布页 下载 katex.min.csskatex.min.jsauto-render.min.js
  2. 将文件放置于资源目录(如 assets/katex/
  3. 更新资源链接指向本地文件(示例:/assets/katex/katex.min.css

8. 故障排除

如需针对特定数学表达式或配置获得进一步帮助,请提供具体细节,我将为您提供定制化指导!


Back Donate