如何在 sympy 中默认设置 **setting
how to set a **setting by default in sympy
我有一些方程式,我正在使用库 sympy 打印这些方程式,更具体地说是下一行:
print(sp.latex(equation))
所以我想用 "x'_a" 替换等式中的 'x',为此我做了这个:
print(sp.latex(equation, symbol_names={x:"x'_a"}))
我的问题是:有没有办法默认设置 symbol_names={x:"x'_a"},这样我就不必每次打印时都复制该行等式.
默认设置可以存储在从 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)
.
我有一些方程式,我正在使用库 sympy 打印这些方程式,更具体地说是下一行:
print(sp.latex(equation))
所以我想用 "x'_a" 替换等式中的 'x',为此我做了这个:
print(sp.latex(equation, symbol_names={x:"x'_a"}))
我的问题是:有没有办法默认设置 symbol_names={x:"x'_a"},这样我就不必每次打印时都复制该行等式.
默认设置可以存储在从 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)
.