如何使用 sympy.printing.mathml 显示希腊字母

How to display Greek letters using sympy.printing.mathml

我使用 Python 的 Sympy 模块。

Sympy 模块有一个名为 sympy.printing.mathml 的库,它将公式转换为 mathml

但是,我无法将 α 和 β 等希腊字母转换为 mathml。

如果我想在公式中插入希腊字母,如何解决这个问题?

ーーーーーーーーーーーーーーーーーーーーーーーーーー

我想从 python 的公式中得到像 example2 这样的 mathml。

例子1

S=abs(a)*(β-α)^3/6

例子2

<math><mi>S</mi><mo>=</mo><mstyle displaystyle='true'><mfrac><mrow><mo>|</mo><mi>a</mi><mo>|</mo><mo>&#x2061;<!--FUNCTION APPLICATION--></mo><mo>(</mo><mo>&#x03b2;</mo><mo>-</mo><mo>&#x03b1;</mo><msup><mo>)</mo><mn>3</mn></msup></mrow><mrow><mn>6</mn></mrow></mfrac></mstyle></math>

我执行了以下代码。

from sympy import *
from sympy.printing.mathml import mathml
print(mathml(S=abs(a)*(β-α)^3/6,printer='presentation'))

在支持 copy/paste 希腊字符的终端中,我能够创建一个具有希腊名称的变量,例如beta = Symbol('beta') 其中 beta 是原义的希腊字符。您给出的公式的输出——使用 ** 而不是 ^ 与从 abc 导入 alpha 和 beta 的符号时生成的代码相同:

>>> from sympy.abc import alpha, beta
>>> print(mathml(abs(a)*(beta-alpha)**3/6, printer='presentation'))
<mrow><mfrac><mrow><msup><mfenced><mrow><mrow><mo>-</mo><mi>&#945;</
o>+</mo><mi>&#946;</mi></mrow></mfenced><mn>3</mn></msup><mo>&Invisi
o><mrow><mfenced close="|" open="|"><mi>a</mi></mfenced></mrow></mro
</mfrac></mrow>