解决在jupyter笔记本中sympy符号无法渲染为latex的问题


我需要将符号计算的结果打印为 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\)插件)

  1. 首先我们需要确保ipykernel版本6.0.0或更高版本安装在计算机上
# 在cell中键入以下命令, 查看版本号
import ipykernel
ipykernel.__version__

我的测试结果: 6.9.1

如果低于6.0.0, 则在终端会话框键入以下命令: pip install -U ipykernel

  1. 确保使用的是基于\(Python3.7\) 或更高版本的内核
import sys
sys.version

我的测试结果: 3.9.5

  1. 安装Jupyter Extension v2021.9及以上稳定版本

  2. 重启VSCode. Ctrl + Shift + P, 键入Reload Window

📖 方法四:

如果上述方法都不管用😓 ...... 那么我们退而求其次, 将use_latex设置为matplotlib或者svg, 启用\(matplotlib\)渲染或者将公式导出为\(svg\)图片格式.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM