如何让 MathJax (CDN) 使用 Latin-Modern 而不是 STIX?

jro*_*jro 2 fonts mathjax

我可以通过输入来显示 STIX 字体数学符号

<script type="text/javascript"src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Run Code Online (Sandbox Code Playgroud)

在 app/views/application.html.erb 的头部。

但是,我希望它使用拉丁现代字体。在我的 application.js 文件中,我添加了

MathJax.Hub.Config({
  "HTML-CSS": {
    preferredFont: "Latin-Modern"
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,Latin-Modern 不会在页面上呈现。

注意:我能够使用 MacTex 渲染数学符号和方程,并且我已经从http://www.gust.org.pl/projects/e-foundry/lm-math安装了“latinmodern-math.otf”

Dav*_*one 5

告诉MathJax使用preferredFont哪种本地字体(来自列表)(如果可用)。availableFonts您的用户不太可能在本地安装 MathJax 版本的 Latin-Modern 字体。相反,如果您想强制使用 Latin-Modern,则需要阻止使用本地字体,并告诉 MathJax 使用 Latin-Modern Web 字体。使用

MathJax.Hub.Config({
  "HTML-CSS": {
    availableFonts: [],
    preferredFont: null,
    webFont: "Latin-Modern"
  }
});
Run Code Online (Sandbox Code Playgroud)

还有一种较新的(且没有详细记录)方法可以使用该fonts属性同时设置所有三个。这提供了要在本地查找的字体数组,首选第一个字体,如果本地找不到,则将第一个字体用作网络字体。所以

MathJax.Hub.Config({
  "HTML-CSS": {
    fonts: ["Latin-Modern"]
  }
});
Run Code Online (Sandbox Code Playgroud)

也应该这样做。