Python Matplotlib字体带LaTeX的通用字体 我似乎无法为常规文本和数学数字设置相同的字体

Python Matplotlib字体带LaTeX的通用字体 我似乎无法为常规文本和数学数字设置相同的字体,python,matplotlib,fonts,Python,Matplotlib,Fonts,我正在尝试使用Matplotlib为一篇文章草稿设置字体,我需要使用的字体是Libertine。理想情况下,我会让LaTeX来做所有的格式化工作,但它似乎会用computer modern来格式化数学字体: 将matplotlib导入为mpl rc_字体={ “字体系列”:“衬线”, “字体大小”:20, “figure.figsize”:(5,3), “text.usetex”:正确, “text.latex.preview”:True, “text.latex.序言”:[ r”“” \use

我正在尝试使用Matplotlib为一篇文章草稿设置字体,我需要使用的字体是Libertine。理想情况下,我会让LaTeX来做所有的格式化工作,但它似乎会用computer modern来格式化数学字体:

将matplotlib导入为mpl
rc_字体={
“字体系列”:“衬线”,
“字体大小”:20,
“figure.figsize”:(5,3),
“text.usetex”:正确,
“text.latex.preview”:True,
“text.latex.序言”:[
r”“”
\usepackage[libertine]{newtxmath}
\usepackage{libertine}
"""],
}
mpl.rcParams.update(rc_字体)
将matplotlib.pylab作为plt导入
情节琐碎

plt.ion()
plt.clf()
plt.绘图(范围(10))
plt.title(“0,2,4,6,8美元的东西e=mc^2美元”)
产生(比较“2”个)

如果我用

rc\u字体={
“字体系列”:“衬线”,
'font.serif':'Linux Libertine O',
“字体大小”:20,
“figure.figsize”:(5,3),
}
现在数字匹配,但数学上没有使用乳胶(毫不奇怪):

为了获得libertine字体,我从中下载了它们,并使用(似乎相关)中的描述安装了它们。以下问题似乎涉及到这个问题,但我还无法从中找到解决方案:

基于此,Matplotlib似乎根本没有问题,但可以通过使用序言的LaTeX进行复制。切换程序包的顺序,即此问题的答案中所示的顺序:然后问题得到解决:

rc\u字体={
“字体系列”:“衬线”,
“字体大小”:20,
“figure.figsize”:(5,3),
“text.usetex”:正确,
“text.latex.preview”:True,
“text.latex.序言”:[
r”“”
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
"""],
}
给予


您正在使用的LaTeX软件包中是否有可能存在小号/功能?您是否尝试过使用pdflatex加上序言来排版
“0,2,4,6,8$e=mc^2$”
w/o Matplotlib干预?@gboffi,确实如此。然后在LaTeX论坛上看了一会儿,我发现这个问题是通过改变包的顺序来解决的。我们将很快添加答案。