2

ieeconf latex クラスを使用してドキュメントを作成しています。ドキュメントのプロットを生成するには、matplotlib 1.2を使用します。何らかの理由で、ieeconf クラスは通常のテキストにTimesフォントを使用し、数学テキストにComputer modern romanを使用します。matplotlib の場合、次のmatplotlibrcファイルを使用します

font.family         : serif
font.serif          : Times
text.usetex         : True

プロット内の通常のテキスト (非数学) は、ドキュメントの残りの部分の通常のテキストとまったく同じように見えます。ただし、プロット内の数学テキストは、ドキュメント内の数学テキストとは異なって見えます。代わりに を使用するfont.serif : Computer Modern Romanと、役割が逆になり、数学テキストは同じように見えますが、通常のテキストは異なって見えます。

matplotlib で通常のテキストに 1 つのフォント タイプを使用し、数学テキストに別のフォント タイプを使用するにはどうすればよいですか?

4

2 に答える 2

2

Matplotlib では、以下を使用して Latex コマンドを指定できます(ここrc('text.latex', preamble = [r''])で行うように)。次に、これはあなたを助けるかもしれません。

于 2013-03-11T15:46:30.480 に答える
0

バージョン 3.4以降では、次のmath_fontfamilyパラメーターを使用してこれを行うことができます。

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(6, 5))

# A simple plot for the background.
ax.plot(range(11), color="0.9")

# A text mixing normal text and math text.
msg = (r"Normal Text. $Text\ in\ math\ mode:\ "
       r"\int_{0}^{\infty } x^2 dx$")

# Set the text in the plot.
ax.text(1, 7, msg, size=12, math_fontfamily='cm')

# Set another font for the next text.
ax.text(1, 3, msg, size=12, math_fontfamily='dejavuserif')

# *math_fontfamily* can be used in most places where there is text,
# like in the title:
ax.set_title(r"$Title\ in\ math\ mode:\ \int_{0}^{\infty } x^2 dx$",
             math_fontfamily='stixsans', size=14)

# Note that the normal text is not changed by *math_fontfamily*.
plt.show()

ここに画像の説明を入力

于 2021-11-19T11:15:23.820 に答える