首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib字体与LaTeX字体不匹配

matplotlib字体与LaTeX字体不匹配
EN

Stack Overflow用户
提问于 2019-04-30 09:46:24
回答 1查看 683关注 0票数 2

我现在开始写我的PhD论文,现在我正在准备所有的东西。目标之一是在方案和数字中使用与文本相同的字体。但是,在matplotlib中选择粗体文本时,字体与乳胶字体不匹配。

目前,我正在使用以下rc_params:

代码语言:javascript
复制
new_rc_params = {'text.usetex': True,
         'svg.fonttype': 'none',
         'text.latex.preamble': r'\usepackage{libertine}',
         'font.size': 10,
         'font.family': 'Linux Libertine',
         'mathtext.fontset': 'custom',
         'mathtext.rm': 'libertine',
         'mathtext.it': 'libertine:italic',
         'mathtext.bf': 'libertine:bold'
         }

mpl.rcParams.update(new_rc_params)

据我所知,这将导致正常文本中正确的字体。

Matplotlib:

LaTeX比较:

但是,如果我现在选择matplotlib中的粗体文本,请通过:

代码语言:javascript
复制
$\mathbf{TS_{I,II}}$

我得到以下输出:

作为比较,粗体和普通的纯LaTeX输出:

现在,我已经读到为了在LaTeX中更好地支持数学,我应该在rc_params中将\usepackage[libertine]{nextxmath}添加到text.latex.preamble中。如果我这样做,matplotlib将生成以下输出:

它仍然与我从我的LaTeX文档中得到的字体不同。有人有什么想法,我可以另外修改,使字体相同吗?

(不能张贴内联图像.)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-30 11:26:40

在@Patol75 75的评论的帮助下,我弄明白了

因此,这确实是一个相当“仿生”的问题。由于某种原因,如果您试图使用:

代码语言:javascript
复制
$\textbf{...}$

在matplotlib标签中,呈现如下所示:

matplotlib4

由于某些原因,我没有进一步研究LaTeX命令,它以\b... 吐出一个错误开头。这就阻止了\bm的使用。但是,如果在命令前面使用r',一切都可以正常工作。因此,人们可以使用:

代码语言:javascript
复制
r'\textbf{TS$_{\textbf{I,II}}$}'

这将产生正确/预期的输出:

matplotlib5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55918215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档