我正在尝试使用AsciidoctorJ将包含数学表达式的asciidoc文件转换为html,但到目前为止仍未成功。
这是我要转换的math.asciidoc。
= My Diabolical Mathmatical Opus
Jamie Moriarty
sample1
asciimath:[sqrt(4) = 2]
stem:[sqrt(4) = 2]
我在Asciidoc中使用以下配置
Attributes attributes = AttributesBuilder.attributes()
.math("asciimath")
.get();
Options options = OptionsBuilder.options()
.attributes(attributes)
.docType("article")
.safe(SafeMode.SERVER)
.backend("html5")
.get();
asciidoctor.convert(asciiDoc, options);
输出始终显示如下内容:
sample1
\$sqrt(4) = 2\$
\$sqrt(4) = 2\$
在上面生成的HTML输出中,我们如何呈现数学方程式?
答案 0 :(得分:0)
Asciidoctor支持asciimath和latexmath语法,并且可以使用http://asciimath.org js库在浏览器上呈现asciimath产生的输出(也可以使用其他asciimath库)。
Asciidoctorj使用\$
作为 asciimath 标记的定界符,因此我们需要使用以下配置来配置MathJax:
<html>
<head>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
asciimath2jax: {
delimiters: [['\\$','\\$'], ['`','`']]
}
});
</script>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
...
</head>
//rest of html
</html>
在html的<head>
部分中包含以上代码段之后, asciimath 呈现应能正常工作。
我们可以参考Asciidoctor文档的本部分,以在asciidocs中激活对asciimath的支持:https://asciidoctor.org/docs/user-manual/#activating-stem-support