使用 unicode 打印 sympy 符号

sympy symbol printing with unicode

我不明白为什么这两个符号打印不同:

from sympy.core.symbol import symbols
from sympy.printing import pprint
xa = symbols('x_a')
yb = symbols('y_b')
pprint(yb, use_unicode=True)
pprint(xa, use_unicode=True)

输出为:

y_b
xₐ

为什么 xa 得到一个真正的下标而 yb 没有?当然,在 sympy 控制台和 jupyter notebook 中使用显示功能会按预期显示 yb,但我最终试图以 unicode (UTF-32) 而不是 UTF-8 记录我的 sympy 脚本。

Python 3.8.8 IPython7.22.0 同情 1.8 Pop!OS 在 System76

我认为unicode中没有下标b: https://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts#Latin_and_Greek_tables

SymPy 的 unicode 支持已尽力而为,但只能使用 unicode 提供的内容。