跳转到正文

LaTeX 转 SVG

使用 KaTeX 0.19.1(广泛应用于网络的数学排版引擎),将 LaTeX 公式渲染为独立的 SVG 文件。可选择显示模式或行内模式,并设置以像素为单位的字号。文件尺寸根据 KaTeX 的字体度量确定,并嵌入 KaTeX 样式表以及公式所用的字体,因此在任何网页浏览器中显示的效果都一致。适用于在浏览器中构建的网页、文档、博客和幻灯片。

重置

常见问题

不使用浏览器如何生成 SVG?

KaTeX 在服务器上将公式排版为 HTML,然后工具将该 HTML 与 KaTeX 样式表及公式所需的 woff2 字体文件一起封装进 SVG 的 foreignObject 中,并以数据 URL 的形式嵌入。宽度和高度根据 KaTeX 的字体度量以及这些字体中实际字形的宽度计算,因此画布能够贴合公式并留出少许边距。

SVG 可以在哪里正确显示?

无论是将它用作 img 元素、CSS 背景、内联 SVG 标记,还是直接打开文件,它都能在 Chrome、Edge、Firefox 和 Safari 中显示;基于浏览器引擎构建的应用也可以显示。Inkscape、Illustrator、Figma 的 SVG 导入器、librsvg 和 resvg 等矢量编辑器和转换器无法渲染 foreignObject 中的 HTML,因此公式在那里会显示为空白。

为什么不将公式转换为矢量路径?

此工具所用的技术栈中,没有采用宽松许可的库能将 KaTeX 的数学排版转换为字形轮廓,单独使用其他排版引擎也无法匹配 KaTeX 的输出。嵌入 KaTeX 自带的 HTML,可以保持精确的间距和字体。如果矢量编辑器需要轮廓,请在浏览器中打开 SVG 并打印为 PDF,这样公式会保留为编辑器可导入的矢量图形。

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

显示模式会将公式排版为独立方程:大型运算符的上下方会显示其上下限,分数保持完整大小,并允许使用 \tag 编号。行内模式采用适合句中公式的紧凑文本样式,分数较小,求和符号和积分符号的上下限会显示在旁边。

字号控制什么?

它设置数学字体的字号,单位为像素,取值范围为 8 到 200,须为整数,默认值为 24。SVG 的宽度和高度会随字号缩放,因此以 48 像素渲染的公式是以 24 像素渲染的两倍大。由于结果是矢量图,你仍可使用 CSS 对其缩放。

支持哪些 LaTeX 命令?

支持 KaTeX 0.19.1 支持的所有内容:分数、根式、求和与积分、矩阵,以及 aligned、cases、pmatrix 和 array 等环境,还有重音符号、箭头、\mathbb、\mathcal、\mathfrak、\text、\color 和 \tag。你可以在公式中使用 \def 或 \newcommand 定义自己的宏。不支持完整文档、\usepackage、TikZ 和 mhchem 的 \ce 命令。

公式出错时会怎样?

不会生成文件,工具会告知错误原因及出错字符的位置(从 1 开始计数)。工具会指出未知命令、不匹配的花括号、重复的上标,以及缺少参数的命令,方便你直接跳到相应位置并修复。

有哪些限制?

公式最多可包含 10,000 个字符,宏最多可展开 1,000 次,\rule、\kern 和 \hspace 等命令的尺寸上限为 100em。\href、\url 和 \includegraphics 等会加载或链接外部内容的命令已禁用,并会显示为红色的不支持文本。

SVG 使用什么颜色和背景?

背景是透明的。将 SVG 标记粘贴到 HTML 页面时,公式会采用周围元素的文本颜色;作为图像文件时,公式则以黑色绘制。可在公式中使用 \color 或 \textcolor 设置在任何地方都保持不变的颜色。

文件有多大?是否方便访问?

每个文件都包含约 24 KB 的 KaTeX 样式表,以及公式所用的所有字体字形文件(以 base64 woff2 格式嵌入),因此典型公式的文件大小为 75 到 150 KB。KaTeX 字体中缺少的字符(例如 \text 中的中文或日文)会使用查看器自身的字体。SVG 设有 img 角色,并将 LaTeX 源码用作标题和屏幕阅读器的 aria-label。

关于 OneClick Pro

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