如何使Jupyter Notebook中的matplotlib图与乳胶一起使用非serif字体?

时间:2018-06-20 16:22:05

标签: matplotlib latex jupyter-notebook

我想在非衬线字体的Jupyter笔记本中使用乳胶绘图。

我安装了一些软件包:

sudo apt install font-manager texlive-latex-base texlive-latex-extra texlive-math-extra dvipng

我清除了matplotlib缓存:

rm ~/.cache/matplotlib -rf

我正在使用以下代码:

%pylab inline
rcParams['text.usetex'] = True
rcParams['text.latex.unicode'] = True
rcParams['text.latex.preamble'] = [r'\usepackage{amsmath}']
plot(range(10))
title('Test')
xlabel('Test')

尽管该图具有衬线刻度标签:

enter image description here

1 个答案:

答案 0 :(得分:1)

使用rc功能激活乳胶后,使用以下乳胶序言似乎是获得所需结果所必需的。这行得通,但我不知道为什么。我猜%pylab inline是魔术吗?您甚至不必告诉matplotlib这样使用sans-serif。 \mathrm使标题中的公式变为非斜体。

%pylab inline
figure(dpi=100)
rc('text', usetex=True)
rcParams['text.latex.preamble'] = [r'\usepackage[cm]{sfmath}']
plot(np.arange(10)/10)
xlabel(r'Time $i_{k} [s]$', size=12)
title('$\mathrm{\sum_{i} T_i}$')

enter image description here