2013-01-19 20 views
0

爲了說明我的問題,我有以下mathML。mathml - 長方程一側的換行符

<math> 
     <msup> 
      <mrow> 
       <mo>(</mo> 
       <msup> 
        <mn>2</mn> 
        <mn>3</mn> 
       </msup> 
       <mo>)</mo> 
      </mrow> 
      <msup> 
       <mn></mn> 
       <mn>4</mn> 
      </msup> 
     </msup> 
     <mn>=</mn> 
     <mn>(2*2*2)*(2*2*2)*(2*2*2)*(2*2*2)</mn> 
    </math> 

它呈現下方屏幕截圖底部的文字。我想要發生的是最後一個(2 * 2 * 2)出現在第一個下面,如果它不適合一行。但是如果屏幕寬度足以將所有內容放在一條線上,我希望它能做到這一點。 enter image description here

回答

1

那場決賽

<mn>(2*2*2)*(2*2*2)*(2*2*2)*(2*2*2)</mn> 

已經放棄了標記,並把它們都放在了一些不確實給MathML呈現的機會。這將是更好,因爲

<mrow>  
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo> <mn>2</mn><mo>)</mo></mrow> 
</mrow> 

MathML3具有特定的斷行和對齊屬性,這在理論上允許你明確地設置對齊點在=但你的照片看起來像一個移動設備,我不認爲有一個MathML3的實現呢。可能如上所述標記rhs是足夠的,但如果不是,則指定對齊的MathML2方法將是使用單行表。例如:

<math><mtable><mtr><mtd> 
    <mrow> 
     <msup> 
      <mrow> 
       <mo>(</mo> 
       <msup> 
        <mn>2</mn> 
        <mn>3</mn> 
       </msup> 
       <mo>)</mo> 
      </mrow> 
      <msup> 
       <mn></mn> 
       <mn>4</mn> 
      </msup> 
     </msup> 
     <mn>=</mn> 
    </mrow> 
</mtd><mtd columnalign="left"> 
<mrow>  
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>)</mo></mrow> 
<mo>*</mo> 
<mrow><mo>(</mo><mn>2</mn><mo>*</mo><mn>2</mn><mo>*</mo> <mn>2</mn><mo>)</mo></mrow> 
</mrow> 

     </mtd></mtr></mtable> 
    </math> 
+0

工程很棒,謝謝!我冒昧地做了一些小修改。 –