2015-02-24 113 views
0

我想在MathJax中放置一段文本。 我正在使用自定义字体,我声明在代码中 - \(\ overrightarrow {\ style {font-family:mysans,TeX,Arial,sans-serif;} {\ text {“+ tString +”}}}} \)“MathJax Overarrow太短

它适用于大多数字母 - 对于大写字母W或M,使用像”WWW“这样的行中的一对,overbar太短 对于小写字母i,在一行中使用一对,即” iii“太长了,我的直觉是MathJax使用标准字符宽度来计算长度,当字符比这个长度更长或者更短时,它会错误地计算总括度。在这附近? 谢谢!

回答

1

首先,您一般不能使用自定义字体s与MathJax。 As the documentation says

由于浏览器不提供访问字体指标的API,MathJax必须随附必要的字体数据;此字体数据在开发过程中生成,不能在运行中生成。另外,大多数字体不包含数学布局的相关字符。最后,一些字体(例如Cambria Math)会在Unicode范围之外存储重要的字形,从而无法访问JavaScript。

不过,如果你只希望在文本元素使用自定义字体,再有就是要解决此问题的方法:风格周边环境和设置mtextFontInherit:true为输出JAX,cf. e.g. here for HTML-CSS

不幸的是,这实际上不会帮你现在。 MathJax 2.5有一个小的回归(见this discussion导致你描述的结果)。这将在2.5.1中解决,同时您可以为HTML-CSS输出设置noReflows:false

+0

我已更新答案以反映一些新信息。 – 2015-02-25 13:41:39

+0

我刚刚看到的很多间距问题似乎已被新版本 - 2.51所修复 - 您在上面提到过。它几小时前刚刚出来。非常感谢你的帮助! – user1700933 2015-02-25 20:57:50

+0

没问题。我们的错误跟踪器始终欢迎错误报告。但正如我写的,不支持黑客这样的字体,所以会出现问题。 – 2015-02-25 21:36:54