这是一种在 MkDocs 中使用扩展名 arithmatex 获取 LaTeX 的方法。
我再次回答是因为我想记录一个不链接到 Cloudflare 和 Google 等第三方网站的解决方案。
我将使用名为 mkdocs-material 的主题,但您可以将 theme: ...school 替换为 theme: readthedocs。
首先安装 MkDocs 并创建一个项目:
https://www.mkdocs.org/#installation.
然后安装mkdocs-material和MathJax如下。
假设项目名为 my-project。
使用下载而不是 pip,因为您想将 CDN 更改为 Cloudflare 并将链接更改为 google。
cd my-project
git clone https://github.com/squidfunk/mkdocs-material.git
git clone https://github.com/mathjax/MathJax.git MathJax
编辑mkdocs.yml,如描述under "Usage",例如:
site_name: My Project
pages:
- Home: index.md
theme:
name: null
custom_dir: 'mkdocs-material/material'
palette:
primary: amber
accent: pink
language: de
feature:
tabs: true
font: false
logo:
icon: school
markdown_extensions:
- pymdownx.arithmatex
extra_javascript:
- ../MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML
您可以在 index.md 中插入一些 TeX,构建站点 (mkdocs build) 并打开 index.html 以检查 MathJax 是否有效。
因为它不适用于mkdocs serve,所以我上传了 MathJax 文件夹并链接到它而不是本地路径的链接。
extra_javascript:
- https://mysite/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML
要使用$...$ 内联激活 TeX,您必须创建一个额外的 JS 文件
cd docs
mkdir assets
touch extra.js
将以下文本插入extra.js:
window.MathJax = {
tex2jax: {
inlineMath: [ ["$","$"], ["\\(","\\)"] ],
displayMath: [ ["\\[","\\]"] ]
},
TeX: {
TagSide: "right",
TagIndent: ".8em",
MultLineWidth: "85%",
equationNumbers: {
autoNumber: "AMS",
},
unicode: {
fonts: "STIXGeneral,'Arial Unicode MS'"
}
},
displayAlign: "center",
showProcessingMessages: false,
messageStyle: "none"
};
并在mkdocs.yml 中链接到它。最后 extra_javascript 部分可以这样:
extra_javascript:
- https://mysite/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML
- assets/extra.js
因为我们不想使用 CDN,您可以编辑 mkdocs-material/material/base.html 并删除/取消注释带有 <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin> 的行。
mkdocs-material 中已经包含了超棒的字体和材质图标。