DocBook 工具链对 STEM 处理有一定的支持,尽管这取决于您使用的是哪个 DocBook 流程以及您启用了哪些集成。由于 DocBook 工具链最常用于生成 PDF 输出,让我们来看看在两个用于 PDF 生成的流程中:dblatex 和 fop,STEM 处理是如何得到支持的。

dblatex

如果您使用dblatex流水线来生成PDF,DocBook工具链为LaTeX和MathML标记提供了内置处理功能。如果您使用latexmath表示法编写STEM表达式,那么您已准备就绪。但这只完成了一半工作。如果您用AsciiMath编写STEM表达式怎么办?流水线不理解AsciiMath,但它确实理解MathML。这正是DocBook转换器可以生成的东西。如果您安装了AsciiMath宝石,DocBook转换器将把AsciiMath翻译成MathML。这意味着当您使用这个流水线时,您可以用AsciiMath和LaTeX标记来编写STEM表达式。

fop在中文中可以翻译为“花花公子”。

如果您使用的是fop管道,DocBook工具链所提供的STEM支持更加零散。这个管道完全不支持LaTeX标记,并且没有能够与Asciidoctor集成的库来将LaTeX标记转换为MathML。这意味着当您使用此管道时,您不能用LaTeX来编写STEM表达式。如果这对您来说很重要,请考虑改用dblatex管道。还有一条用AsciiMath编写STEM表达式的途径。如果您通过Java运行DocBook工具链,可以通过激活http://jeuclid.sourceforge.net/jeuclid-fop/index.html[JEuclid FOP插件^]来配置JEuclid集成,从而获得MathML支持。这意味着我们可以在转换为DocBook时再次使用AsciiMath宝石。如果AsciiMath宝石可用,DocBook转换器会与其集成,将AsciiMath标记转换为fop管道可以理解的MathML。

尽管DocBook管道都不理解AsciiMath,但我们可以利用AsciiMath宝石(gem)将其转化为它能理解的东西,即MathML。让我们更详细地探索一下AsciiMath宝石