1

我正在使用 MathJax 在浏览器中呈现 mathml 标记。我使用 TeX-AMS-MML_SVG 配置在 Chrome 中运行良好,但这在 IE8 中不起作用。

如果我切换到 TeX-AMS-MML_HTMLorMML 它在所有浏览器中都可以正常工作。但是 SVG 渲染看起来要好得多,所以我希望尽可能首选它。

MathJax 是否有内置的东西来支持这一点?它似乎可以从 MML 回退到 HTML,但不能从 SVG 回退到 HTML。我可以通过 javascript 检查 SVG 支持,但我希望 MathJax 配置中已经有一些我缺少的东西。

这是关于常见配置的文档。我正在寻找类似 MML_SVGorHTML 配置的东西。

4

3 回答 3

1

我目前正在测试此方法,该方法正在手动检查 svg 支持:

function supportsSvg() {
    return !!document.createElementNS && 
        !!document.createElementNS('http://www.w3.org/2000/svg', "svg").createSVGRect;
}

var mathjaxConfig = (supportsSvg()) ? 'TeX-AMS-MML_SVG' : 'MML_HTMLorMML';

然后你可以像往常一样将 mathjaxConfig 插入到 url 中:

"../MathJax.js?config=" + mathjaxConfig
于 2013-09-13T13:34:01.880 回答
1

请参阅MathJax 用户论坛上的讨论,其中描述了一种方法。基本上,

    <script type="text/x-mathjax-config">
    if (MathJax.Hub.Browser.isMSIE && (document.documentMode||0) < 9) {
      MathJax.Hub.Register.StartupHook("End Config",function () {
        var settings = MathJax.Hub.config.menuSettings;
        if (!settings.renderer) {settings.renderer = "HTML-CSS"}
      });
    }
    </script>

照顾旧版本的 IE,这是目前唯一不做 SVG 的浏览器。

于 2013-09-12T20:04:58.883 回答
-1

您可以使用Walter Zorn 的绘图库。它将所有内容呈现为 DIV。

于 2013-09-12T14:31:23.203 回答