2012-02-17 39 views
8

形式为xlabel('$<stuff>$','interpreter','latex');的命令将生成一个由TeX使用推测为ComputerModern的字体排版的轴标签。但是,轴标记标签(例如0,1,2,...)以默认字体(Helvetica?)出现。我想同步图中的所有字体(最好是ComputerModern)。MATLAB:图形字体

为此,我推测set(0,'DefaultAxesFontName', '<fontname>')这样的命令可能会有用。但是,我需要知道MATLAB TeX解释器使用的字体的确切名称或路径。如何检索字体名称的字符串值或指向默认图形字体和默认TeX解释字体的字体文件的路径?

回答

4

你也可以绘制轴蜱乳胶,请看这里: http://alex.bikfalvi.com/research/latex_in_matlab_ticks/

其实,你的命令是正确的MGET默认字体(不使用乳液时):

get(0,'defaultaxesfontname') 

但我没有找到任何获得默认乳胶字体。也许这可能通过使用内部Java例程(获得一些想法,看看http://undocumentedmatlab.com/

+0

谢谢。 'plotTickLatex2D'功能非常好。我经常感到惊讶的是,这种性质的某些东西并未默认纳入MATLAB。如果您发现某种方法将轴刻度标签字体设置为与TeX解释器在图形的其他部分(例如,轴标签)上使用的字体相同,请注意。对于刻度标签本身只需要不同字体而不是TeX-typeset符号的情况,这将是更有效的解决方案。 – user001 2012-02-18 00:03:03

1

你可以download the computer modern font,并将其安装在本地机器上。对于Mac,你需要下载OTF格式(我不确定在Windows机器上)。

然后,researt MATLAB,您可以使用

set(0,'DefaultAexsFontName', 'CMU Serif') 

使事情看起来像乳胶字体。