python–Sympy:修改衍生物的LaTeX输出

python–Sympy:修改衍生物的LaTeX输出,第1张

概述在Sympy中,是否可以修改使用latex()输出函数派生的方式?默认是非常麻烦的.这个:f = Function('f')(x,t) print latex(f.diff(x,x)) 将输出\frac{\partial^{2}}{\partial x^{2}} f{\left (x,t \right )} 这是非常冗长的.如果我喜欢像f_{xx} 有没

在Sympy中,是否可以修改使用latex()输出函数派生的方式?默认是非常麻烦的.这个:

f = Function("f")(x,t)print latex(f.diff(x,x))

将输出

\frac{\partial^{2}}{\partial x^{2}}  f{\left (x,t \right )} 

这是非常冗长的.如果我喜欢像

f_{xx}

有没有办法强迫这种行为?最佳答案您可以继承LatexPrinter并定义自己的_print_Derivative. Here是当前的实现.

也许是这样的

from sympy import Symbolfrom sympy.printing.latex import LatexPrinterfrom sympy.core.function import UndefinedFunctionclass MyLatexPrinter(LatexPrinter):    def _print_Derivative(self,expr):        # Only print the shortened way for functions of symbols        function,*vars = expr.args        if not isinstance(type(function),UndefinedFunction) or not all(isinstance(i,Symbol) for i in vars):            return super()._print_Derivative(expr)        return r'%s_{%s}' % (self._print(Symbol(function.func.__name__)),' '.join([self._print(i) for i in vars]))

哪个像

>>> MyLatexPrinter().doprint(f(x,y).diff(x,y))'f_{x y}'>>> MyLatexPrinter().doprint(Derivative(x,x))'\frac{d}{d x} x'

要在Jupyter笔记本中使用它,请使用

init_printing(latex_printer=MyLatexPrinter().doprint)
总结

以上是内存溢出为你收集整理的python – Sympy:修改衍生物的LaTeX输出全部内容,希望文章能够帮你解决python – Sympy:修改衍生物的LaTeX输出所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1206179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存