使用 <math> 标签编写化学方程式在语义上是否正确?

Is using the <math> tag to write chemical equations semantically correct?

提问人:Daniel McCarthy 提问时间:5/6/2023 最后编辑:SeanDaniel McCarthy 更新时间:5/11/2023 访问量:99

问:

我一直在使用该元素在 HTML 文件中编写化学方程式。<math>

例如,要显示 MnSO4,我会键入:

<math>
    <mi>M</mi>
    <mi>n</mi>
    <mi>S</mi>
    <msub>
        <mi>O</mi>
        <mn>4</mn>
    </msub>
</math>

这在语义上正确吗?如果没有,您能推荐替代方案吗?

HTML 语义标记 MathML

评论

0赞 Community 5/6/2023
请编辑问题,将其限制在特定问题上,并具有足够的细节以确定适当的答案。

答:

9赞 Sean 5/9/2023 #1

MathML是“一种基于XML的语言,用于描述数学符号”。它的开发是因为数学符号需要不止一行排版符号,因此很难用文本表示。

相比之下,化学式总是“仅限于一行排版符号,其中可能包括下标和上标”。

因为 MathML 是用于数学(而不是化学)的,而且化学公式永远不需要超过一行文本,所以使用 HTML 原生的 <sup>(上标)和 <sub>(下标)元素会更有语义。

<p>Plants require CO<sub>2</sub> for photosynthesis.</p>

如果您需要在语义上注明化学品的名称,也可以考虑将其与<缩写>缩写元素结合使用。

<p>Plants require <abbr title="carbon dioxide">CO<sub>2</sub></abbr> for photosynthesis.</p>

您还可以考虑使用 <i> 惯用文本来抵消其他文本中的化学方程式。该元素用于表示“由于某种原因与正常文本相分离的一系列文本,例如惯用文本、技术术语、分类名称等。

<p>Hydrogen and oxygen can combine to form water: <i>2H<sub>2</sub> + O<sub>2</sub> → 2H<sub>2</sub>O</i></p>