Как отображать греческие буквы, используя sympy.printing.mathml - PullRequest
1 голос
/ 29 мая 2019

Я использую модуль Python Sympy.

Модуль Sympy имеет библиотеку под названием sympy.printing.mathml, которая преобразует формулы в mathml.

Однако я не смог преобразовать греческие буквынапример, от α и β к mathml.

Как мне решить эту проблему, если я хочу вставить греческие буквы в формулу?

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

Я хочу получить mathml как example2 из формулы Python, например, example1.

example1

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

example2

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

1 Ответ

1 голос
/ 30 мая 2019

В терминале, который поддерживает копирование / вставку греческих символов, я смог создать переменную с греческим именем, например, beta = Symbol('beta') где beta был буквально греческий символ. Вывод формулы, которую вы дали - используя ** вместо ^, идентичен коду, сгенерированному, когда символы для альфы и беты импортированы из abc:

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