跳转到正文

LaTeX 转 MathML

使用 KaTeX 0.19.1 将 LaTeX 公式转换为 MathML 标记。结果是一个包含呈现型 MathML 的 math 元素,并将原始 LaTeX 保留为注释;可选择显示模式或行内模式,可直接粘贴到 HTML、EPUB 或 XML 文档中。当前的 Chrome、Edge、Firefox 和 Safari 均可原生渲染 MathML,屏幕阅读器也能朗读公式,因此无需任何 JavaScript,公式仍可供无障碍访问。

重置

常见问题

输出是什么样的?

你会得到一个位于 MathML 命名空间、带有 semantics 包装元素的 math 元素。其内部是由 mi、mn、mo、mfrac、msup 和 mtable 等元素构成的呈现型 MathML,后面接着一个 encoding 为 application/x-tex 的 annotation,其中保存原始 LaTeX。显示模式会在 math 元素上添加 display="block"。

可以在哪里使用 MathML?

可直接将其粘贴到 HTML5 页面、EPUB 3 电子书、XHTML 或 JATS、DocBook 等 XML 格式中。许多公式编辑器和办公套件也能导入 MathML,因此它是无法读取 LaTeX 的工具之间实用的交换格式。

浏览器会显示 MathML 吗?

是的。从 109 版本起,Chrome 和 Edge、Firefox 和 Safari 都可原生渲染 MathML,无需脚本或样式表。浏览器使用自己的数学字体绘制,因此外观与 KaTeX 的 HTML 渲染略有不同,但结构和间距规则相同。

显示模式和行内模式有什么区别?

显示模式会为公式添加 display="block",将其设为独立公式,并以完整尺寸显示分数,以及大型运算符上下方的上下限。行内模式会省略该属性,并采用适合正文的紧凑样式显示公式。

会保留原始 LaTeX 吗?

会。KaTeX 会将源代码存储在 semantics 包装元素内的 annotation 元素中。浏览器不会显示它,但复制工具和其他转换器可以用它还原准确的 LaTeX。如果不想在文档中保留源代码,请移除 annotation 元素。

支持哪些 LaTeX 命令?

KaTeX 0.19.1 支持的所有内容都可以使用,包括分数、根式、矩阵、aligned、cases 和 array 等环境、重音符号、箭头、\mathbb 和 \mathcal 等字体命令、\text 和 \tag。公式中使用 \def 或 \newcommand 定义的宏也可以使用。不支持完整文档、\usepackage 和 mhchem 的 \ce 命令。

公式出错时会怎样?

不会返回 MathML。工具会报告问题及其发生位置的字符序号(从 1 开始),例如未知命令、括号不匹配、重复上标或命令缺少参数。

有哪些限制?

公式最长可达 10,000 个字符,宏最多可展开 1,000 次,\rule 和 \kern 等命令的尺寸上限为 100em。\href、\url 和 \includegraphics 等用于链接或加载外部内容的命令已禁用,会作为不支持的文本输出。

MathML 对无障碍访问有帮助吗?

有帮助。VoiceOver、NVDA 和 JAWS 等屏幕阅读器可以朗读 MathML,并让读者逐步浏览公式,这是图片无法做到的。将数学内容保留为 MathML 而不是图片,是让技术内容更易于访问的最简单方法之一。

这与 KaTeX 的常规输出有什么不同?

在网页上,KaTeX 通常会输出经过样式处理的 HTML 供显示,并附带供屏幕阅读器使用的隐藏 MathML。此工具只返回 MathML 部分,内容与 KaTeX 生成的完全一致,不包含外层 span、样式表或字体,因此可在任何支持 MathML 的地方使用。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。