見出し画像

mfencedがMathMLコアに含まれなかった

mfenced要素って?

MathMLのmfenced要素は、とても使い勝手の良い要素でした。

<math>
  <mi>sin</mi>
  <mo>⁡&ApplyFunction;</mo>
  <mfenced>
    <mrow>
      <mi>a</mi>
      <mo>⁢</mo>
      <mi>x</mi>
      <mo>+</mo>
      <mi>b</mi>
    </mrow>
  </mfenced>
</math>

と書くことで

$$
\sin ( ax + b )
$$

と、かっこで囲まれた式を表示できた要素です。

ウェブブラウザがMathMLに対応したものの

2023年初めにChromeを初めとした主要なウェブブラウザがMathMLに対応しました。ただし、mfenced要素はMathMLコアに含まれなかったため、ほとんどのウェブブラウザが対応していません。そして、いち早くMathMLに対応していたFirefoxでも、以前は表示されていたmfencedが最新版では表示されなくなっています。

mo要素による代替表現

mfencedを使った上の式は、mo要素を使って次のように書くことができます。

<math>
  <mi>sin</mi>
  <mo>⁡&ApplyFunction;</mo>
  <mo>(</mo>
    <mrow>
      <mi>a</mi>
      <mo>⁢</mo>
      <mi>x</mi>
      <mo>+</mo>
      <mi>b</mi>
    </mrow>
  <mo>)</mo>
</math>

確かに、mo要素を使っても表現できるので、mfenced要素がMathMLコアに含まれる必要はなかったかもしれません。ただ、使い勝手が良かっただけに筆者としては少し残念です。

今後に期待

MathMLコアは、MathML3からウェブブラウザでの描画方法を分離し詳細に示したものです。現在、MathML4への改訂作業が進められており、mfencedはMathML4に引き続き含まれる見込みですので、ウェブブラウザがMathML4に対応するようになれば、mfencedが表示できるようになるかもしれません。今後に期待したいです。

いいなと思ったら応援しよう!