[英]How to write uppercase bold italic letters matplotlib using LaTeX?
我想在 plot 中显示图像1中显示的文本(取自 Rubidium 87 D Line Data - Daniel A. Steck,第 23 页)。 这是一个简单的等式,涉及一个大写字母,粗斜体,字体 Computer Modern 。 到目前为止我已经尝试过
import matplotlib.pyplot as plt
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"].join([
r"\usepackage{bm}",
r"\usepackage{amsmath}"])
fig, ax = plt.subplots()
# Not bold
ax.text(0, 0.5, r"$F=0$", fontsize=18)
# Not italic
ax.text(0.2, 0.5, r"$\mathbf{F=0}$", fontsize=18)
# Not italic, not the correct font
ax.text(0.4, 0.5, r"\textit{\textbf{F}}=0", fontsize=18)
# Returns an error from LaTeX
ax.text(0.6, 0.5, r"$\bm{F}=0$", fontsize=18)
# Returns an error from LaTeX
ax.text(0.8, 0.5, r"$\boldsymbol{F}=0$", fontsize=18)
我正在使用 pdfTeX,版本 3.141592653-2.6-1.40.23 (TeX Live 2021/W32TeX) 来显示方程。
您似乎不想实现任何特定于 TeX 的内容,因此您可以在调用plt.text
时通过调整 rcParams 和 rest 来完成所有操作
>>> plt.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
>>> plt.text(0,0,text.upper(), fontweight='bold', fontstyle='italic')
我找到了让它运行的方法。 由于某种原因,序言没有正确设置。 以下代码完成了这项工作:
import matplotlib.pyplot as plt
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
fig, ax = plt.subplots()
ax.text(0.6, 0.5, r"$\bm{F}\:\mathbf{=0}$", fontsize=18)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.