在下面的MathML案例中,我无法使用换行符。特别是,我希望在<mtext>
内<mrow>
元素内的<mtable>
元素内部使用换行符。
但是,正如以下最小(非工作)示例所示,它不起作用(on JSFiddle
):
HTML:
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<div id="test">
<math overflow="linebreak">
<mtable>
<mrow><mtext>Lorem ipusm lorem ipsum Lorem ipsum lorem ipsum Lorem ipsum lorem ipsum</mtext></mrow>
</mtable>
</math>
</div>
<div id="test">
Lorem ipusm lorem ipsum Lorem ipsum lorem ipsum Lorem ipsum lorem ipsum
</div>
CSS:
#test{
border: 2px solid black;
width: 11em;
padding: 1em;
}
如何让换行符正常工作,以便第一个<div>
看起来像第二个<div>
?
答案 0 :(得分:3)
通过MathJax配置控制MathJax线制动(有关详细信息,请参阅documentation)。 MathJax目前没有为overflow
元素实现<math>
属性(这是在待办事项列表中)。
即使打开了换行符,MathJax也只在元素之间中断,因此不会包装<mtext>
元素的内容(这也在待办事项列表中)。 MathJax用于数学排版,而不是文本排版,因此在示例中将其用于包装段落超出了其范围。
请注意,您的MathML无效,因为<mrow>
应为<mtr>
,且<mtr>
允许的唯一子项为<mtd>
元素。因此,您需要将<mtext>
括在<mtd>
。
最后,您的HTML也无效,因为ID只允许在HTML文件中显示一次,因此id="test"
不应出现在两个单独的<div>
元素中。对于这种情况,您应该使用类,而不是ID。