2012-02-17 40 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') 

使事情看起來像乳膠字體。