2015-02-24 115 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