我需要將符號計算的結果打印為 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\)圖片格式.