在ipython笔记本的Symphy输出中使用乘法运算符符号
在ipython笔记本中,我希望能够在表达式的latex/mathjax输出中为乘法运算符使用符号(\times或\cdot)。这可能吗在ipython笔记本的Symphy输出中使用乘法运算符符号,python,latex,ipython-notebook,sympy,mathjax,Python,Latex,Ipython Notebook,Sympy,Mathjax,在ipython笔记本中,我希望能够在表达式的latex/mathjax输出中为乘法运算符使用符号(\times或\cdot)。这可能吗 sympy.latex()有一个选项mul\u symbol,但我看不出如何使用它来更改输出单元格中的latex。请尝试以下代码: from IPython.display import display, Math from sympy import * x1 = var('x_1') x2 = var('x_2') display(Math(latex(x1
sympy.latex()
有一个选项mul\u symbol
,但我看不出如何使用它来更改输出单元格中的latex。请尝试以下代码:
from IPython.display import display, Math
from sympy import *
x1 = var('x_1')
x2 = var('x_2')
display(Math(latex(x1*x2,mul_symbol='dot')))
您可以将dot
更改为times
或ldot
这使IPython使用所需的符号渲染乳胶
如果您不希望最后一行将所有代码都弄乱,只需定义一个函数:
def Latex(expr):
return display(Math(latex(expr,mul_symbol='dot')))
现在您可以使用:
Latex(x1*x2)
init_printing()
有一个参数latex_printer
,因此您可以执行以下操作
init_printing(latex_printer=lambda *args, **kwargs: latex(*args, mul_symbol='dot', **kwargs))
我在库中保留了创建Latex打印机的功能:
def makeLatexPrinter(**localsets):
def mylatex(expr,**settings):
settings.update(localsets)
return latex(expr,**settings)
return mylatex
然后在我的笔记本中,我使用:
init_printing(use_latex=True,latex_printer=makeLatexPrinter(mul_symbol='dot'))
如果
init_printing()
通过自身传递关键字参数,如mul_symbol
,则会更干净。您可以创建自己的latex函数,使用该选项调用sympy latex函数(甚至调用整个显示(数学(latex(…))
位)。请参阅我的更新答案。是的,我们需要在init\u printing
中添加一个选项,用于指定打印机的选项。拉请求欢迎!