我正在使用我们的学习管理系统 (LMS) 中内置的 MathML 编辑器,并注意到一些奇怪的东西。当我输入浮点数时,它会用<mo>标签包裹小数点。
例如,我希望1.2输出为:
<mn>1.2</mn>
Run Code Online (Sandbox Code Playgroud)
但是,编辑器输出:
<mn>1</mn>
<mo>.</mo>
<mn>2</mn>
Run Code Online (Sandbox Code Playgroud)
我很好奇是否有人可以确认这两个输出相等或不相等,以便我知道是否请求修复。
我认为有几个方面。
否。大多数渲染器会在句点周围添加空格,因为MathML 运算符字典指定.为中缀运算符。
1.2在 MathML 中首选的写作方式是什么?是的。 <mn>1.2</mn>. 请参阅规范中的mn示例。
这大概是见仁见智了。我会争辩说他们不是。使用最少的上下文(例如,lang=en某处),很清楚什么<mn>1.2</mn>意思,而<mn>1</mn><mo>.</mo><mn>2</mn>更通用(特别是,因为它违背了规范的建议)。
号例如MathPlayer(JAWS什么,NVDA,海豚使用)将语音<mn>1.2</mn>为“一分二”,并<mn>1</mn><mo>.</mo><mn>2</mn>为“1点二”。ChromeVox 将后者称为“一期二”。