不同分隔符的不同属性?

Different properties for different delimiters?

我知道我可以像这样指定分隔符

MathJax.Hub.Config({
    "tex2jax": {
        displayMath: [["$$", "$$"], ["\(", "\)"]],
        inlineMath: [["$", "$"]]
    }
});

我的问题是是否可以将不同的属性/样式表分配给不同的分隔符?在我的例子中,我希望用 $$ 包围的公式居中(似乎是默认设置)并且用 \(\) 包围的公式左对齐。

可能有一种方法可以修改 tex2jax 处理器并使用自己的 delimiters 添加新类型的显示器,但有一种更简单的方法可以实现几乎相同的结果,即使用 classesstyles,您可以轻松将其添加到 config 对象。例如像这样,你只需要添加 class left 到你想要左对齐的 MathJax 元素。

MathJax.Hub.Config({
    "tex2jax": {
        displayMath: [
            ["$$", "$$"],
            ["\(", "\)"]
        ],
        inlineMath: [
            ["$", "$"]
        ]
    },
    displayAlign: "",
    "HTML-CSS": {
        styles: {
            ".left .MathJax_Display": {
                "text-align": "left"
            }
        }
    }

});
<script type='text/javascript' src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<p class="left">$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>
<p>$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>

这需要您将 MathJax 放在标签之间。

编辑:

您还可以更改默认样式,因此您可以用相同的方式覆盖某些 .MathJax_Display 属性。像这样:

MathJax.Hub.Config({
    "tex2jax": {
        displayMath: [
            ["$$", "$$"],
            ["\(", "\)"]
        ],
        inlineMath: [
            ["$", "$"]
        ]
    },
    displayAlign: "",
    "HTML-CSS": {
        styles: {
            ".left .MathJax_Display": {
                "text-align": "left"
            },
            ".MathJax_Display":{
                "text-align": "right"
            }
        }
    }
});
<script type='text/javascript' src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<p class="left">$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>
<p>$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$</p>