DocBook 工具链中的 STEM 支持
DocBook 工具链对 STEM 处理有一些支持,但这取决于您使用的 DocBook 管道以及启用的集成。由于 DocBook 工具链最常用于生成 PDF 输出,因此让我们看一下生成 PDF 的两个管道中 STEM 处理的支持情况:dblatex 和 fop。
- dblatex
-
如果您使用 dblatex 管道生成 PDF,DocBook 工具链提供对 LaTeX 和 MathML 符号的内置支持。如果您使用 latexmath 符号编写 STEM 表达式,一切就绪。但这只完成了一半。如果您使用 AsciiMath 编写 STEM 表达式怎么办?该管道不理解 AsciiMath,但它理解 MathML。而这是 DocBook 转换器可以生成的。如果您安装了 AsciiMath gem,DocBook 转换器会将 AsciiMath 翻译成 MathML。这意味着当您使用此管道时,您可以使用 AsciiMath 和 LaTeX 符号编写 STEM 表达式。
- fop
-
如果您使用 fop 管道,DocBook 工具链提供的 STEM 支持更加零星。此管道根本不支持 LaTeX 符号,也没有像 AsciiMath 这样的集成库可以与 Asciidoctor 一起将 LaTeX 符号转换为 MathML。因此,在使用此管道时,您无法用 LaTeX 编写 STEM 表达式。如果这对您很重要,请考虑改用 dblatex 管道。编写 AsciiMath 格式的 STEM 表达式仍然有一条路径。如果您使用 Java 运行 DocBook 工具链,您可以配置 JEuclid 集成(通过激活 JEuclid FOP 插件)以获得 MathML 支持。这意味着在转换为 DocBook 时,我们可以再次使用 AsciiMath gem。DocBook 转换器会与 AsciiMath gem(如果可用)集成,将 AsciiMath 符号转换为 fop 管道可以理解的 MathML。
虽然这两个 DocBook 管道都不理解 AsciiMath,但我们可以利用 AsciiMath gem 来为它提供它所理解的内容,即 MathML。让我们更详细地探讨一下 AsciiMath gem。