我有一些方程式,我正在使用库同情来打印这些方程式,更具体地说是下一行:
print(sp.latex(equation))
所以我想用等式中的'x'替换“x'_a”,为此我做到了这一点:
print(sp.latex(equation, symbol_names={x:"x'_a"}))
我的问题是:默认情况下有没有办法设置symbol_names = {x:“x'_a”},所以每次打印方程时我都不必复制该行。
答案 0 :(得分:1)
默认设置可以存储在从LatexPrinter创建的自定义打印机中。例如:
import sympy as sp
from sympy.printing.latex import LatexPrinter
x = sp.symbols('x')
myprinter = LatexPrinter({"symbol_names": {x: "x'_a"}})
现在您可以执行myprinter.doprint(x**2)
并获取"x'_a^{2}"
...顺便提一下,这是无效的LaTeX,因此您最好使用名称{x: "{x'_a}"}
。
但在实践中,定义打印功能可能更容易。
def mylatex(expr):
return sp.latex(expr, symbol_names={x: "{x'_a}"})
然后使用mylatex(x**2)
。