1

当我使用MathJax $\sum_{i=0}^n {n \choose i} D(i)$时,它会被转换为标记。 每当您想要渲染方程式时,
MathML 仍然有效地使用Computer Modern (标准 LaTeX 字体)。

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <munderover>
    <mo>&#x2211;<!-- ∑ --></mo>
    <mrow class="MJX-TeXAtom-ORD">
      <mi>i</mi>
      <mo>=</mo>
      <mn>0</mn>
    </mrow>
    <mi>n</mi>
  </munderover>
  <mrow class="MJX-TeXAtom-ORD">
    <mrow>
      <mo>(</mo>
      <mfrac linethickness="0">
        <mi>n</mi>
        <mi>i</mi>
      </mfrac>
      <mo>)</mo>
    </mrow>
  </mrow>
  <mi>D</mi>
  <mo stretchy="false">(</mo>
  <mi>i</mi>
  <mo stretchy="false">)</mo>
</math>

有没有办法指定要渲染标记的字体,例如<mi><mo>. 假设我想在我的字体中使用Kite One作为变量,以免与我网站的其他部分发生冲突。

http://content.altfonts.com:81/img/K/I/Kite-Onea.png

实际上,字体看起来非常好。但是,如果需要,我该如何自定义 MathML?


编辑:我似乎在问 MathML 是否存在级联样式表

这个问题被认为是tex.stackexchange的题外话,此时可能是 StackOverflow 的问题

4

2 回答 2

4

虽然!important在技术上是一种解决方案,但它没有得到 MathJax 的官方支持,并且无法可靠地工作。

MathJax 官方支持的唯一 webfont 直到 v2.2(参见 >v2.2 的底部)是它自己的 MathJax webfont(源自 Computer Modern),参见http://docs.mathjax.org/en/latest/options/ HTML-CSS.html

如果您覆盖它,MathJax 将无法正确排版(尽管它会尽力而为)。这与几个技术限制有关。

  • 浏览器限制:无法通过 JavaScript 访问必要的字体指标(因此 MathJax 必须提供它们)
  • 字体限制(大多数字体不包含适合数学的字​​形)
  • 标准限制(一些用于可拉伸字符的字形没有等效的 unicode,数学字体通常使用 Microsoft 的 OpenType 数学表,但这不是 OpenType 的正式组成部分。此外,没有浏览器支持数学表)。

话虽如此,即将发布的 MathJax v2.3 版本将添加更多字体选项。

于 2013-10-18T18:37:48.700 回答
2

当然。您只需!important在 CSS 中使用该属性,否则 MathJaX 将覆盖它。

例子:

<!DOCTYPE html>
<html>
  <head>
    <title>MathJax TeX Test Page</title>
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
    </script>
    <script type="text/javascript"
        src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>
    <style type="text/css">
      .mi {
      font-family: 'Helvetica' !important;
      }

    </style>

  </head>
  <body>
    When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
    $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
  </body>
</html>
于 2013-10-16T21:29:34.727 回答