我正在使用matplotlib画一些图形,但在TeX渲染方面遇到了问题。似乎数学字体的x-height比普通的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?');
正如您所看到的,希腊字母和数字尤其明显。理想情况下,我希望能够定义一些缩放因子,使得每个字体大小的数学文本都稍微大一点。是否有简单的方法可以做到这一点?我不想在所有地方都使用计算机现代字体。如果可能的话,我也不想编译新的Tex数学字体。
我愿意接受的一个解决方案是对希腊字母和数字使用无衬线字体,但由于某种原因,matplotlib忽略了这些的格式:
title('Why does $mat\mathsf{plot}lib$ ignore formatting for $\mathsf{2}$ ($\mathsf{two}), $\mathbf{2}$ ($\mathbf{two}) and $\mathsf{\omega}$?')
我猜这与排版方式的性质有关,但是否有任何方法可以修复它?