У меня возникли трудности с получением правильно отформатированного латексного вывода для записи в блокноте Sage. Я использую sympy для sympy.physics.quantum.Bra и Ket, но, похоже, не могу добиться от них правильного латексного поведения.
например, я хочу показать символ пси в кет.
sage: p = var('Psi')
sage: show(p)
отображает греческий символ {\Psi}
но используя симпи
sage: k = Ket(p)
sage: show(k)
отображает обычный текст |Psi>
Я искал, тестировал и экспериментировал, пытаясь получить отформатированный вывод, но безрезультатно.
sage: latex(k)
{\left|\Psi\right\rangle} - обычный текст
создание пользовательского латексного макроса:
sage: from sage.misc.latex import latex_extra_preamble
sage: latex.add_macro("\\newcommand{\\ket}[1]{\\left|{#1}\\right\\rangle}")
sage: var("myket", latex_name=r"\ket{\alpha}")
sage: show(myket)
дает результат, который я хочу! кет в латексном стиле с символом альфы... однако, как только я пытаюсь применить этот метод к симпатичному кету, он терпит неудачу
sage: k = Ket('k', latex_name=r"\left|{\Psi}\right\rangle")
sage: show(k)
и другие варианты, все выдают обычный текст |k>
У меня есть ощущение, что для этого есть простое решение, какой-то флаг, который мне не хватает, чтобы заставить sympy вести себя правильно в блокноте sage.