说我有一个要以LateX形式显示的表达式,它是一种分析计算的结果,其中像theta这样的变量出现并最终打印出来。我想将两者都打印在一行中。这里是一个例子:

from IPython.display import display, Math, Latex
import numpy as np
from sympy import *

init_printing()

# In[1]:
name='\Gamma^'+str(1)+'_{'+str(2)+str(3)+'}'+'='

# In[2]:
theta = symbols('theta')

# In[3]:
display(Math(name),theta)


最后一个命令以漂亮的形式(LateX)和name打印theta。但是,我想省略一个换行符。如何做到这一点?

最佳答案

您需要先形成乳胶字符串。使用sympy.latex()从任何可打印的sympy变量生成字符串:

display(Math(name + latex(theta)))


我还为此类输出编写了带有可变数量参数的简单函数。无需在此处使用latex()包装变量:

def prlat(*args):
    str = ''
    for arg in args:
        str += latex(arg)
    display(Math(str))

prlat(name, theta, '= 0')

10-07 13:28
查看更多