我在matplotlib中有以下表达式,使用乳胶代码:
ax.set_xlabel(r'\langle \epsilon \rangle', fontsize=18)
渲染epsilon时显着小于括号。支架的大小适合"包裹"一个大写字母。如何缩小括号?
答案 0 :(得分:2)
在LaTeX的数学模式中,可以使用以下方法缩小范围:
\scriptstyle
或\scriptscriptstyle
但是这些表达式在默认的matplotlib后端不起作用:
#!/usr/bin/python3
import matplotlib
custom_preamble = {
"text.usetex": True,
}
from matplotlib import pyplot as plt
x = range(5)
y = range(5)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.text(0.5, 0.5,
r"${\scriptscriptstyle(} {\scriptstyle(} (\varepsilon$",
horizontalalignment = 'center',
backgroundcolor = "white",
verticalalignment = 'center',
transform = ax.transAxes,
)
ax.plot(x, y)
fig.savefig("mwe-1.png")
结果:
然而,为了获得更好的LaTeX支持,可以使用pgf后端,然后它可以工作:
import matplotlib
matplotlib.use("pgf")
# the rest is the same as in the code above
结果:
pgf
后端已添加到matplotlib 1.3中。我想你需要在你的系统上安装一个可用的XeTeX(我认为相对二进制文件称为xelatex
)。两个主要的LaTeX发行版(MiKTeX和TeXLive)都允许安装XeTeX。