MathJax 的 SVG 输出

SVG output of MathJax

我有一个基本的MathJax代码

<script type="text/javascript">
    MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js"],
    jax: ["input/TeX", "output/SVG"],
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<div>$$a = b + c$$</div>

我希望公式应该替换为 SVG 代码,但结果与 HTML 输出相同,MathML 代码:

<div>
    <span class="MathJax_Preview" style="color: inherit; display: none;"></span>
    <span class="mjx-chtml MJXc-display" style="text-align: center;">
        <span id="MathJax-Element-1-Frame" class="mjx-chtml MathJax_CHTML" tabindex="0" data-mathml="
            <math
                xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;block&quot;>
                <mi>a</mi>
                <mo>=</mo>
                <mi>b</mi>
                <mo>+</mo>
                <mi>c</mi>
            </math>" role="presentation" style="font-size: 113%; text-align: center; position: relative;">
            <span id="MJXc-Node-1" class="mjx-math" aria-hidden="true">
                <span id="MJXc-Node-2" class="mjx-mrow">
                    <span id="MJXc-Node-3" class="mjx-mi">
                        <span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.224em; padding-bottom: 0.279em;">a</span>
                    </span>
                    <span id="MJXc-Node-4" class="mjx-mo MJXc-space3">
                        <span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.058em; padding-bottom: 0.335em;">=</span>
                    </span>
                    <span id="MJXc-Node-5" class="mjx-mi MJXc-space3">
                        <span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.445em; padding-bottom: 0.279em;">b</span>
                    </span>
                    <span id="MJXc-Node-6" class="mjx-mo MJXc-space2">
                        <span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.279em; padding-bottom: 0.445em;">+</span>
                    </span>
                    <span id="MJXc-Node-7" class="mjx-mi MJXc-space2">
                        <span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.224em; padding-bottom: 0.279em;">c</span>
                    </span>
                </span>
            </span>
            <span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation">
                <math
                    xmlns="http://www.w3.org/1998/Math/MathML" display="block">
                    <mi>a</mi>
                    <mo>=</mo>
                    <mi>b</mi>
                    <mo>+</mo>
                    <mi>c</mi>
                </math>
            </span>
        </span>
    </span>
    <script type="math/tex; mode=display" id="MathJax-Element-1">a = b + c</script>
</div>

如何获得 SVG 矢量元素的输出?

MathJax 配置脚本的类型应该是 text/x-mathjax-config 而不是 text/javascript。此外 ?config=TeX-MML-AM_CHTML 似乎以某种方式覆盖了 output/SVG。我用了?config=default。您可以获得有关配置文件的更多信息here

<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        extensions: ["tex2jax.js", "TeX/AMSmath.js"],
        jax: ["input/TeX", "output/SVG"],
    })
</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=default"></script>
<div>$$a = b + c$$</div>

以防有人仍在使用 MathJax 2。7.x,修改配置参数将适用于在初始加载时呈现 svg。

所以把TeX-AMS_CHTML改成TeX-AMS_SVG

或将TeX-MML-AM_CHTML更改为TeX-MML-AM_SVG

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_SVG"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_SVG"></script>