我试图找到一种方法来将包含数学表达式的字符串转换为内容mathml(https://en.wikipedia.org/wiki/MathML#Content_MathML)。例如,我有一个示例字符串“Vmax*S/(Km+S)”,我需要将其转换为
<apply>
<divide/>
<apply>
<times/>
<ci> Vmax </ci>
<ci> S </ci>
</apply>
<apply>
<plus/>
<ci> Km </ci>
<ci> S </ci>
</apply>
</apply>
我发现我可以像这样使用那个mathml包
library(mathml)
y = quote(Vmax*S/(Km+S))
mathml(term=y)
创建演示样式mathml(https://en.wikipedia.org/wiki/MathML#Presentation_MathML):
<math>
<mrow>
<mrow>
<mi>Vmax</mi>
<mo>⁢</mo>
<mi>S</mi>
</mrow>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mrow>
<mi>Km</mi>
<mo>+</mo>
<mi>S</mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</math>
不幸的是,我需要内容版本。如果在表示和内容mathml之间有一个函数转换器,那也可以解决我的问题。
1条答案
按热度按时间6jjcrrmo1#
此递归函数具有足够的功能来处理测试表达式。