如何解决matplotlib中LaTeX符号使用\mathrm无法取消斜体的问题
\mathrm{}仅作用于字母、数字类字符,对\copyright这类预定义的特殊符号命令不生效,所以没法达到取消斜体的效果,你可以用以下两种方案解决问题:
- 方法1:无其他数学内容需求时,直接输出符号,不包裹
$数学环境标记
这是最简单的方案,非数学环境下的文本默认就是正体,不会触发斜体格式,代码示例:
import numpy as np import matplotlib.pyplot as plt x = np.arange(10) y = x plt.plot(x,y,'ro') plt.xlabel("©") plt.show()
- 方法2:需要和其他数学内容混排时,用
\text{}而非\mathrm{}包裹符号\text{}可以保留文本的原有正体格式,对特殊符号也生效,代码示例:
# 示例中同时包含数学公式和版权符号 plt.xlabel(r"$y = x \quad \text{\copyright}$")
如果你启用了matplotlib的外部LaTeX渲染功能,需要提前在rcParams中加载amsmath包:
plt.rcParams['text.latex.preamble'] = r'\usepackage{amsmath}'
补充说明:该方法适用于所有特殊符号的正体设置,包括商标符号™、摄氏度符号°等同类场景。
内容的提问来源于stack exchange,提问作者T-Dog
相关产品推荐
相关产品推荐

