菜单

数学公式插件

相关源文件

目的与范围

Math 插件启用 reveal.js 演示文稿中的数学排版功能。它提供了一种使用三种不同排版引擎(MathJax 2、MathJax 3 和 KaTeX)在幻灯片中渲染 LaTeX 方程和数学表达式的方法。本文档介绍了如何在演示文稿中初始化、配置和使用 Math 插件。

有关编写自定义插件的信息,请参阅 创建自定义插件

来源: plugin/math/math.esm.js2-5

概述

Math 插件充当三种不同数学排版引擎的包装器,让您可以选择最适合您需求的引擎。每种排版引擎都有自己的配置选项和初始化逻辑,但它们都服务于在幻灯片中渲染数学表达式的相同目的。

支持的排版引擎

  • MathJax 2:传统且功能强大,兼容性广泛的解决方案
  • MathJax 3:较新版本,性能有所提升
  • KaTeX:更快的替代方案,功能集相对有限,但渲染速度更快

Math 插件架构

来源: plugin/math/math.js1 plugin/math/math.esm.js1-6

快速入门

要使用 Math 插件,您需要将其包含在演示文稿中,并使用您喜欢的排版引擎进行初始化。

基本设置

在幻灯片中编写数学内容

插件初始化后,您可以使用适当的分隔符在幻灯片中包含数学表达式

来源: plugin/math/math.js1 plugin/math/math.esm.js1-6

插件集成流程

来源: plugin/math/math.js1 plugin/math/math.esm.js1-6

排版引擎选项

MathJax 2

MathJax 2 是 MathJax 的传统版本,为向后兼容而支持。

默认配置

选项默认值描述
messageStyle"none"MathJax 消息的样式
tex2jax.inlineMath[["$","$"], ["\\(","\\)"]]行内数学表达式的分隔符
tex2jax.skipTags["script", "noscript", "style", "textarea", "pre", "code"]解析时要跳过的标签
skipStartupTypesettrue是否跳过初始排版

来源: plugin/math/math.js1 plugin/math/math.esm.js1

KaTeX

KaTeX 通常比 MathJax 快,但支持的 LaTeX 命令较少。

默认配置

选项默认值描述
version"latest"要使用的 CDN 上的 KaTeX 版本
delimiters多个分隔符选项用于数学表达式的分隔符数组
ignoredTags["script", "noscript", "style", "textarea", "pre", "code"]渲染时要忽略的标签
extensions默认未设置要加载的可选 KaTeX 扩展

来源: plugin/math/math.js1 plugin/math/math.esm.js6

MathJax 3

MathJax 3 是最新版本,性能和功能有所提升。

默认配置

选项默认值描述
tex.inlineMath[["$","$"], ["\\(","\\)"]]行内数学表达式的分隔符
options.skipHtmlTags["script", "noscript", "style", "textarea", "pre", "code"]解析时要跳过的标签

来源: plugin/math/math.js1 plugin/math/math.esm.js6

实现细节

Math 插件由三个主要组件组成,每个组件负责不同的排版引擎

脚本加载过程

每种排版引擎的初始化都遵循相似的模式

  1. 创建默认配置选项
  2. 与用户提供的选项合并
  3. 从 CDN(或指定的本地源)加载所需脚本
  4. 配置排版引擎
  5. 设置幻灯片切换的事件监听器
  6. 执行初始排版

来源: plugin/math/math.js1 plugin/math/math.esm.js1-6

使用示例

基本行内数学

显示数学

复杂方程

故障排除

  • 如果方程未渲染,请确保您已为您的需求选择了合适的排版引擎。
  • 请检查您是否为所选排版引擎使用了正确的分隔符。
  • 如果使用自定义 CDN 或本地文件,请验证路径是否正确。
  • 对于复杂的方程,KaTeX 可能不支持 MathJax 所支持的所有 LaTeX 命令。

与其他插件的集成

Math 插件可以与其他 reveal.js 插件一起使用。例如,当与 Markdown 插件一起使用时,您可以在 Markdown 内容中包含数学表达式。

有关 Markdown 插件的更多信息,请参阅 Markdown 插件

来源: plugin/math/math.js1 plugin/math/math.esm.js1-6