簡體   English   中英

如何使用 LaTeX 寫大寫粗斜體字母 matplotlib?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM