我需要将符号计算的结果打印为 LaTeX 输出。
❓ 在 \(jupyter \ notebook\) 中无法正常显示 \(sympy\) 符号输出 (init_printing(use_latex=True)
命令不起作用)
In[1]
import sympy as sp
from sympy import oo
sp.init_printing(use_latex=True)
In[2]
x = sp.Symbol("x")
expr = sp.exp(-x)
res = sp.Integral(expr, (x, 0, oo))
In[7]
res # 然而莫的用处, 交互环境下不显示任何公式
📖 方法一: display()
+ Math()
In[1]
from IPython.display import Math, display
import sympy as sp
from sympy import oo
In[2]
x = sp.symbols("x")
expr = sp.exp(-x)
res = sp.Integral(expr, (x, 0, oo))
In[3]
display(Math('f(x) = ' + sp.latex(res)))
📖 方法二: sp.init_printing(use_latex="mathjax")
显式指定
In[1]
import sympy as sp
from sympy.abc import x, theta
sp.init_printing(use_latex="mathjax")
In[2]
expr = x * sp.sin(theta)
expr
📖 方法三: (适用于\(vscode \ jupyter\)插件)
- 首先我们需要确保
ipykernel
版本6.0.0或更高版本安装在计算机上
# 在cell中键入以下命令, 查看版本号
import ipykernel
ipykernel.__version__
我的测试结果: 6.9.1
如果低于6.0.0
, 则在终端会话框键入以下命令: pip install -U ipykernel
- 确保使用的是基于\(Python3.7\) 或更高版本的内核
import sys
sys.version
我的测试结果: 3.9.5
-
安装
Jupyter Extension
v2021.9及以上稳定版本 -
重启VSCode. Ctrl + Shift + P, 键入
Reload Window
📖 方法四:
如果上述方法都不管用😓 ...... 那么我们退而求其次, 将use_latex
设置为matplotlib
或者svg
, 启用\(matplotlib\)渲染或者将公式导出为\(svg\)图片格式.