Когда <mfrac>используется в mathJax, пробелы исчезают между арифметическими c символами - PullRequest
0 голосов
/ 23 апреля 2020

При использовании mathML в mathJax я заметил странное поведение и не смог найти информацию об этом.

Есть такая разметка

<math>
 <mtable>
 <mtr>
 <mtd>
 <msub>
 <mrow>
 <mover>
 <mi>m</mi>
 <mo>&#175;</mo>
 </mover>
 </mrow>
 <mn>A</mn>
 </msub>
 <mo>=</mo>
 <mfrac>
 <mrow>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>20</mn>
  <mspace></mspace>
 <mo>&#8901;</mo>
  <mspace></mspace>
 <mn>1</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>25</mn>
 <mo>&#8901;</mo>
 <mn>2</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>30</mn>
 <mo>&#8901;</mo>
 <mn>7</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>35</mn>
 <mo>&#8901;</mo>
 <mn>16</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>40</mn>
 <mo>&#8901;</mo>
 <mn>44</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>45</mn>
 <mo>&#8901;</mo>
 <mn>93</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>50</mn>
 <mo>&#8901;</mo>
 <mn>50</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>55</mn>
 <mo>&#8901;</mo>
 <mn>52</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>60</mn>
 <mo>&#8901;</mo>
 <mn>10</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 </mrow>
 <mrow>
 <mn>1</mn>
 <mo>+</mo>
 <mn>2</mn>
 <mo>+</mo>
 <mn>7</mn>
 <mo>+</mo>
 <mn>16</mn>
 <mo>+</mo>
 <mn>44</mn>
 <mo>+</mo>
 <mn>93</mn>
 <mo>+</mo>
 <mn>80</mn>
 <mo>+</mo>
 <mn>52</mn>
 <mo>+</mo>
 <mn>10</mn>
 </mrow>
 </mfrac>
 <mo>=</mo>
 </mtd>
 </mtr>
 <mtr>
 <mtd>
 <mo>=</mo>
 <mn>46,70492</mn>
 <mo>&#8776;</mo>
 <mtext>46,7&#160;(сг)</mtext>
 </mtd>
 </mtr>
 </mtable>
 </math>

Если вы используете ее, то между знаками умножения и суммы, пробелы исчезают.

Вот как это выглядит.

Если вы удалите из разметки и не используете дробь, то появляются пробелы.

<math>
 <mtable>
 <mtr>
 <mtd>
 <msub>
 <mrow>
 <mover>
 <mi>m</mi>
 <mo>&#175;</mo>
 </mover>
 </mrow>
 <mn>A</mn>
 </msub>
 <mo>=</mo>
 <mrow>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>20</mn>
  <mspace></mspace>
 <mo>&#8901;</mo>
  <mspace></mspace>
 <mn>1</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>25</mn>
 <mo>&#8901;</mo>
 <mn>2</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>30</mn>
 <mo>&#8901;</mo>
 <mn>7</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>35</mn>
 <mo>&#8901;</mo>
 <mn>16</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>40</mn>
 <mo>&#8901;</mo>
 <mn>44</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>45</mn>
 <mo>&#8901;</mo>
 <mn>93</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>50</mn>
 <mo>&#8901;</mo>
 <mn>50</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>55</mn>
 <mo>&#8901;</mo>
 <mn>52</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 <mo>+</mo>
 <mrow>
 <mn>(</mn>
 <mrow>
 <mn>60</mn>
 <mo>&#8901;</mo>
 <mn>10</mn>
 </mrow>
 <mn>)</mn>
 </mrow>
 </mrow>
 <mrow>
 <mn>1</mn>
 <mo>+</mo>
 <mn>2</mn>
 <mo>+</mo>
 <mn>7</mn>
 <mo>+</mo>
 <mn>16</mn>
 <mo>+</mo>
 <mn>44</mn>
 <mo>+</mo>
 <mn>93</mn>
 <mo>+</mo>
 <mn>80</mn>
 <mo>+</mo>
 <mn>52</mn>
 <mo>+</mo>
 <mn>10</mn>
 </mrow>
 <mo>=</mo>
 </mtd>
 </mtr>
 <mtr>
 <mtd>
 <mo>=</mo>
 <mn>46,70492</mn>
 <mo>&#8776;</mo>
 <mtext>46,7&#160;(сг)</mtext>
 </mtd>
 </mtr>
 </mtable>
 </math>

Вот результат.

С чем может быть связано это поведение? Что нужно сделать, чтобы пробелы также присутствовали при использовании <mfrac>?

...