数学
math 插件可帮助你在幻灯片中包含优美的数学公式。要开始使用,请确保 reveal.js 已初始化并启用了 math 插件。
<script src="plugin/math/math.js"></script>
<script>
Reveal.initialize({ plugins: [RevealMath.KaTeX] });
</script>
我们在本示例中使用了 KaTeX 排版程序,但你也可以从 MathJax 2 或 3 中进行选择。
由于该插件已注册,我们现在可以在幻灯片中添加 LaTeX 公式。
<section>
<h2>The Lorenz Equations</h2>
\[\begin{aligned} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y -
xz \\ \dot{z} & = -\beta z + xy \end{aligned} \]
</section>
标注
如果你想在用 Markdown 编写的文稿中包含数学公式,则需要用反引号将公式包装起来。这将防止 LaTeX 和 Markdown 之间发生语法冲突。例如:
<section data-markdown>`$$ J(\theta_0,\theta_1) = \sum_{i=0} $$`</section>
排版库
math 插件提供了三个供您用来呈现数学内容的数学排版库选项。每个变体都有自己的插件,可通过 RevealMath.<Variant>
进行访问。如果您没有偏好,我们建议使用 KaTeX。
库 | 插件名称 | 配置属性 |
---|---|---|
KaTeX | RevealMath.KaTeX | katex |
MathJax 2 | RevealMath.MathJax2 | mathjax2 |
MathJax 3 | RevealMath.MathJax3 | mathjax3 |
KaTeX 4.2.0
通过 katex
配置对象调整选项。以下是插件的默认配置方式。如果您无意更改这些值,则根本不需要包含 katex
配置选项。
Reveal.initialize({
katex: {
version: 'latest',
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '$', right: '$', display: false },
{ left: '\\(', right: '\\)', display: false },
{ left: '\\[', right: '\\]', display: true },
],
ignoredTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
},
plugins: [RevealMath.KaTeX],
});
请注意,默认情况下,最新的 KaTeX 是从远程服务器加载的 (https://cdn.jsdelivr.net.cn/npm/katex)。要使用固定版本,请将 version
设置为,例如,0.13.18
。
如果您想离线使用 KaTeX,则需要下载一份库副本(例如使用 npm)并使用 local
配置选项(届时 version
选项将被忽略),例如
Reveal.initialize({
katex: {
local: 'node_modules/katex',
},
plugins: [RevealMath.KaTeX],
});
MathJax 2
通过 mathjax2
配置对象调整选项。以下是插件的默认配置方式。如果您无意更改这些值,则根本不需要包含 mathjax2
配置选项。
Reveal.initialize({
mathjax2: {
mathjax: 'https://cdn.jsdelivr.net.cn/npm/mathjax@2/MathJax.js',
config: 'TeX-AMS_HTML-full',
// pass other options into `MathJax.Hub.Config()`
tex2jax: {
inlineMath: [
['$', '$'],
['\\(', '\\)'],
],
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
},
},
plugins: [RevealMath.MathJax2],
});
请注意,最新的 MathJax 2 是从远程服务器加载的。要使用固定版本,请将 mathjax 设置为,例如,https://cdn.jsdelivr.net.cn/npm/[email protected]/MathJax.js。
如果您想离线使用 MathJax,则需要下载一份库副本(例如使用 npm)并将 mathjax
指向本地副本。
MathJax 3 4.2.0
通过 mathjax3
配置对象调整选项。以下是插件的默认配置方式。如果您无意更改这些值,则根本不需要包含 mathjax3
配置选项。
Reveal.initialize({
mathjax3: {
mathjax: 'https://cdn.jsdelivr.net.cn/npm/mathjax@3/es5/tex-mml-chtml.js',
tex: {
inlineMath: [
['$', '$'],
['\\(', '\\)'],
],
},
options: {
skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
},
},
plugins: [RevealMath.MathJax3],
});
请注意,最新的 MathJax 3 是从远程服务器加载的。要使用固定版本,请将 mathjax
设置为,例如,https://cdn.jsdelivr.net.cn/npm/[email protected]/es5/tex-mml-chtml.js。此外,该配置现在是 url 的一部分,默认情况下,加载的是 tex-mml-chtml
,它可以识别 TeX 和 MathML 表示法中的数学内容,并使用 HTML 和 CSS(CommonHTML 输出格式)生成输出。这是最常用的配置之一,但也是其中较大的配置,因此您可能需要考虑更小的配置,配置应量身定制地满足您的需求,例如 tex-svg
。
如果您想离线使用 MathJax,则需要下载一份库副本(例如使用 npm)并相应地调整 mathjax
。