Jupyter Notebook中LaTeX符号(\times、\textrm等)转义异常求助
解决方案
问题出在Python字符串的反斜杠转义机制——单个\会被Python解析为转义字符(比如\t变成制表符),而非完整传递给LaTeX渲染。修复方法有两种:
方法一:使用原始字符串(推荐)
在字符串前加r,让Python不对反斜杠做转义处理,直接将完整LaTeX命令传给matplotlib:myLabel = r'$c=0.46 \times 10^{15} cm^2/n_\textrm{eq}$' plt.text(0.55, 39, myLabel, fontsize=16)希腊字母ν可直接用LaTeX命令
\nu写在原始字符串里:myLabel = r'$c=0.46 \times 10^{15} cm^2/\nu_\textrm{eq}$'方法二:转义反斜杠
把LaTeX命令里的单个\换成双反斜杠\\,让Python解析后保留单个反斜杠给LaTeX:myLabel = '$c=0.46 \\times 10^{15} cm^2/n_\\textrm{eq}$' plt.text(0.55, 39, myLabel, fontsize=16)希腊字母ν的写法:
myLabel = '$c=0.46 \\times 10^{15} cm^2/\\nu_\\textrm{eq}$'
如果仍存在渲染异常,可检查是否安装了LaTeX环境(如TeX Live、MiKTeX),并在代码开头添加以下配置开启matplotlib的LaTeX支持:
import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

