2015-07-28 125 views
2

我已經閱讀了MathJax自動添加換行符的文檔,但它似乎沒有效果。如何讓MathJax自動響應並自動添加換行符?

我不知道如何讓MathJax響應。我的網站允許用戶在LaTeX中編寫數學公式。然而,在手機屏幕上,有時輸出太寬,我需要以某種方式找到調整它的方式。

我不能要求我的用戶使用這個功能只適用於簡短的公式。

爲例不正確的輸出:

enter image description here

我並根據什麼文件上(但不工作):

MathJax.Hub.Config({ 
    tex2jax: { 
     inlineMath: [['$','$'], ['\\(','\\)']] 
    }, 
    "HTML-CSS": { 
     linebreaks: { automatic: true } 
    }, 
    SVG: { 
     linebreaks: { automatic: true } 
    } 
}); 

上JS提琴全碼:https://jsfiddle.net/ao8cnquw/

回答

3

這是預期的現在這個特定示例的行爲。

MathJax的換行在MathML標記元素中不起作用(並且此TeX示例將在內部轉換爲單個多行文本元素)。對此的支持是有計劃的,但是這兩個文件都不太清楚。

您將需要退出\文得到休息(或有$ ... $裏面的MathJax退學)。實際上,見下文月2日更新]

注意,線破了其他更一般的限制,例如,任何類似表格的環境只能在單元格內打破。

有研成真正具有響應式渲染爲好,看到https://github.com/mathjax/MathJax-RespEq


更新。我之前忘記了一些東西。你的例子也是內聯數學,MathJax只有在方程比線更長時纔會中斷。這實際上是提到in the documentation。但是,正如我寫的,因爲它在內部只是一個令牌元素,所以在您的示例中也不會發生這種情況。


另一個更新。實際上,還有一個特定於內容的問題。 MathML斷行算法只允許在<mo><mspace>元素處發生斷點,MathJax遵循這一點(因爲如前所述,它是一個MathML渲染器)。所以即使你的例子被修改爲類似\text{Avec $590$ €, puis-je acheter 2 billets à $240$ € et un troisième billet à $50$ % de réduction ?}的東西,你仍然不會看到換行符。所以對於這種內容,最好不要推動\text{}內的所有內容(無論如何,這是最好的,恕我直言)。

+0

好的,謝謝你的回答。我將看看MathJax-RespEq – TivBroc

+0

樂意提供幫助。我添加了關於內聯數學的額外評論。 –

+0

好的謝謝;)現在更清楚了! – TivBroc