1

我注意到 math.SE 使用 mathjax 并且有蓝色的方程。

颜色方程的例子 注意无穷大符号是如何着色的。

但是,人们会期望它保持黑色,因为 - 如此处所述:如何在 MathJax 中更改方程式颜色- 这些符号实际上是不影响颜色的图像。像这样: 颜色方程的示例,但图像未着色

那么,它们如何改变这些图像的颜色呢?我认为这是不可能的。

4

1 回答 1

2

如今,MathJax 应该只在极少数情况下使用图像模式。主要是当您使用 Firefox 查看本地文件(通过file://url)并且 MathJax 与正在查看的 HTML 文件不在同一目录中时。在这种情况下,Firefox 的同源策略认为 MathJax 位于单独的域中,因此无法访问基于 Web 的字体,因为它认为这是跨域访问。所以 MathJax 使用图像字体作为后备,因为它不能使用基于 Web 的字体。我猜这就是你正在发生的事情。

Math.SE 没有这个问题,因为它不是file://url,而且 Firefox 在识别什么域时没有问题,所以你得到实际的基于 Web 的字体而不是图像,它们可以正确着色(与图像不同) . Math.SE 不需要做任何特别的事情来实现这一点,而且您看到的不是彩色图像,而是实际的字体。这就是与您的未着色示例的区别。

Firefox 本地文件问题的解决方案是在系统的字体文件夹中安装STIX 字体或 MathJax 自己的 OTF 字体。MathaJax/fonts/HTML-CSS/TeX/otf您可以在本地安装的 MathJax 发行版目录中找到 MathJax 字体。如果这些在您的系统上作为实际字体可用,MathJax 将不必使用基于 Web 的版本,因此它可以避免 Firefox 的同源策略问题。这也将加速任何使用 MathJax 的页面(如 Math.SE),因为它不必通过网络下载字体。

于 2012-09-20T09:43:34.203 回答