Mathjax输出在某些浏览器中很大或很小

时间:2014-04-30 03:30:26

标签: mathjax

我在我的网站上使用mathjax,它有波斯语。我按照mathjax.org中的说明安装和配置它,但是我朋友的浏览器(Linux上的chrome)和我浏览器中的正常大小(Linux上的chrome)上的mathjax输出太小了。 我知道mathjax会动态计算字体大小,但我无法理解为什么输出在同一浏览器中有所不同,但机器不同。

我搜索了这个问题,似乎很多人都有同样的问题但是没有一个给定的解决方案解决了我的问题。是因为围绕mathjax文本的波斯语?

此链接是我网站中广泛使用mathjax的页面之一: http://beta.kahu.ir/question/1/%D8%B1%D8%B4%D8%AA%D9%87%DB%8C-%D9%86%D8%B2%D8%AF%DB%8C%DA%A9-%D8%AA%D8%B4%D8%B1%DB%8C%D8%AD%DB%8C-%D9%85%D8%B1%D8%AD%D9%84%D9%87%DB%8C-%D8%AF%D9%88%D9%85-%D8%B3%D8%A7%D9%84-%DB%B1%DB%B3%DB%B9%DB%B2/

2 个答案:

答案 0 :(得分:2)

Mathjax documentation中有一个关于本地Mathjax字体和Firefox的部分,它可能对Google Chrome也有帮助:

从Mathjax网站复制

Firefox和本地字体

Firefox的同源安全策略会影响其加载基于Web的字体的能力,如上所述。这不仅会影响MathJax的跨域加载,还会影响您在硬盘本地使用MathJax。 Firefox对本地文件的同源策略的解释是,页面的“相同域”是该页面所在的目录或其任何子目录。因此,如果您在带有file:// URL的页面中使用MathJax,并且如果从包含原始页面的目录以外的目录加载MathJax,则MathJax将无法访问Firefox中的基于Web的字体。在这种情况下,MathJax将依靠图像字体来显示数学。

为了使Firefox能够正确加载本地文件的字体,您的MathJax安装必须位于包含使用MathJax的页面的子目录中。这是一个不幸的限制,但它是由Firefox的安全模型强加的限制,MathJax无法规避。目前,这对其他浏览器来说不是问题。

此问题的一个解决方案是在本地安装MathJax字体,这样Firefox就不必首先使用基于Web的字体。为此,请安装STIX字体,或将MathJax / fonts / HTML-CSS / TeX / otf中的字体复制到系统字体目录中,然后重新启动浏览器(有关详细信息,请参阅MathJax字体帮助页面)。

答案 1 :(得分:1)

我怀疑页面上的某些CSS会影响MathJax正在进行的测量,以确定字体的em和ex尺寸。例如,我注意到CSS包含

div {
  overflow: hidden;
}

这可能是问题的根源(因为MathJax使用div来进行测量)。这似乎也是MathJax菜单问题的一部分(有时会剪切它以显示一个项目)。您可以尝试暂时删除它,看看数学是否正确。

在任何情况下,您都可以在MathJax配置的HTML-CSS部分中使用set matchFontHeightsfalse来关闭字体匹配。这似乎适用于您的设置。