我已阅读MathJax文档以自动添加换行符,但似乎没有效果。
我不知道如何使MathJax响应。我的网站允许用户使用LaTeX编写,特别是数学公式。但是,在移动屏幕上,有时输出太宽,我需要以某种方式找到一种方法来调整它。
我不能要求我的用户仅将此功能用于简短公式。
错误输出的例子:
我根据文档做了什么(但不起作用):
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']]
},
"HTML-CSS": {
linebreaks: { automatic: true }
},
SVG: {
linebreaks: { automatic: true }
}
});
JS Fiddle的完整代码:https://jsfiddle.net/ao8cnquw/
答案 0 :(得分:4)
这是此特定示例的预期行为。
MathJax的换行在MathML令牌元素中不起作用(此TeX示例将在内部转换为单个mtext元素)。计划对此进行支持,但文档对这两个事实都不太清楚。
你需要退出\ text来获取休息时间(或者在其中有$ ... $以便MathJax退出)。[实际上,请参阅下面的第二次更新]
请注意,换行具有其他更一般的限制,例如,任何类似于表的环境只能在单元格内断开。
对真正的响应方程式渲染也有研究,请参阅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{}
内(无论如何,最好是imho)。