我正在使用 matplotlib 绘制一些图,但遇到了 TeX 渲染的问题。似乎 mathtext x-height is 比正常的 Bitstream Vera Sans 小一点。请参见以下示例:
x = linspace(0, 30, 300);
y = 0.5*rand(300)+20/(numpy.power(x-15, 2)+4);
xlabel(r'$\omega$ (rad$\cdot$Hz)');
ylabel(r'Intensity$^2$');
title(r'Why is $mathtext$ so much smaller than normal text?');
如您所见,希腊字母和数字尤其明显。理想情况下,我可以定义一些比例因子,使数学文本在每种字体大小下都更大一些。有没有办法简单地做到这一点?我不想简单地到处使用Computer Modern。如果可能的话,我也不想编译新的 Tex 数学字体。
我会采用的一种解决方案是对希腊字母和数字使用无衬线字体,但无论出于何种原因,matplotlib 都会忽略这些字体的格式:
title('Why does $mat\mathsf{plot}lib$ ignore formatting for $\mathsf{2}$ ($\mathsf{two}), $\mathbf{2}$ ($\mathbf{two}) and $\mathsf{\omega}$?')
我认为这与这些东西的排版方式的性质有关,但是有什么办法可以解决吗?