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

时间:2019-05-29 13:06:37

标签: python sympy mathml

我使用Python的Class: 1 A: [8, 12] B: [13, 15] C: [20, 25] Class: 2 A: [4, 18] B: [9, 14] C: [28, 35] Class: 3 A: [35, 35] B: [82, 87] C: [66, 67] ... 模块。

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

但是,我无法将希腊字母(例如α和β)转换为mathml。

如果要在公式中插入希腊字母,如何解决此问题?

ーーーーーーーーーーーーーーーーーーーーーーーーーーーp

我想从诸如example1之类的python公式中获得与example2之类的mathml。

示例1

mathml

example2

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

我执行了以下代码。

<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>

1 个答案:

答案 0 :(得分:1)

在支持复制/粘贴希腊字符的终端中,我能够创建一个带有希腊名称的变量,例如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>