KaTeX 与 bookdown + gitbook
KaTeX with bookdown + gitbook
我正在构建一个 bookdown 项目并将其呈现为包含大量数学页面的 gitbook,但呈现速度缓慢。我想使用 KaTeX instead of mathJax to render my math but I'm not sure how to get it working. There is a gitbook plugin 所以它应该是可能的,但我不太知道如何将它与 bookdown 集成。
在我的 index.Rmd
文件中,我尝试了以下操作:
---
site: bookdown::bookdown_site
output:
bookdown::gitbook:
pandoc_args: [--katex]
mathjax: NULL
includes:
in_header: katex.html
documentclass: book
---
其中 katex.html
包含 KaTeX 的样式表和主题。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
但是,数学没有呈现(除了一些仍然由 MathJax 呈现的部分)。
有什么方法可以让我在 KaTeX 上使用 bookdown 吗?
看来您没有阅读 KaTeX 文档。 KaTeX 不会自动渲染你的数学表达式。请参阅 Github 的自述文件中的 Automatic rendering of math on a page 部分。简而言之,您必须加载 auto-render.min.js
并添加一个事件来呈现数学,例如在你的 katex.html
中,你需要:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js" integrity="sha384-dq1/gEHSxPZQ7DdrM82ID4YVol9BYyU7GbWlIwnwyPzotpoc57wDw/guX8EaYGPx" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body);
});
</script>
要在 bookdown gitbook 输出中禁用 MathJax,您需要在 YAML 中设置 math: false
,例如
---
site: bookdown::bookdown_site
output:
bookdown::gitbook:
pandoc_args: [--katex]
mathjax: NULL
includes:
in_header: katex.html
documentclass: book
math: false
---
我正在构建一个 bookdown 项目并将其呈现为包含大量数学页面的 gitbook,但呈现速度缓慢。我想使用 KaTeX instead of mathJax to render my math but I'm not sure how to get it working. There is a gitbook plugin 所以它应该是可能的,但我不太知道如何将它与 bookdown 集成。
在我的 index.Rmd
文件中,我尝试了以下操作:
---
site: bookdown::bookdown_site
output:
bookdown::gitbook:
pandoc_args: [--katex]
mathjax: NULL
includes:
in_header: katex.html
documentclass: book
---
其中 katex.html
包含 KaTeX 的样式表和主题。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
但是,数学没有呈现(除了一些仍然由 MathJax 呈现的部分)。
有什么方法可以让我在 KaTeX 上使用 bookdown 吗?
看来您没有阅读 KaTeX 文档。 KaTeX 不会自动渲染你的数学表达式。请参阅 Github 的自述文件中的 Automatic rendering of math on a page 部分。简而言之,您必须加载 auto-render.min.js
并添加一个事件来呈现数学,例如在你的 katex.html
中,你需要:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js" integrity="sha384-dq1/gEHSxPZQ7DdrM82ID4YVol9BYyU7GbWlIwnwyPzotpoc57wDw/guX8EaYGPx" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body);
});
</script>
要在 bookdown gitbook 输出中禁用 MathJax,您需要在 YAML 中设置 math: false
,例如
---
site: bookdown::bookdown_site
output:
bookdown::gitbook:
pandoc_args: [--katex]
mathjax: NULL
includes:
in_header: katex.html
documentclass: book
math: false
---