根据MATLAB手册,当您使用print
或选择file|save
保存图形时,如果选择painters
渲染器并保存为PDF或EPS矢量格式,{{ 3}}。有没有办法解决这个限制?
每当我输出一个数字时,无论是使用print
还是export_fig
,字体都会被替换,因此它们不再匹配我计划放入数字的文档中的字体。我更喜欢将它们保存为矢量格式,因为我使用LaTeX,因此我希望能够在我的文档中使用与我的beamer
演示文稿中相同的数字,并使它们可以很好地扩展,而不会使文件大小膨胀。
答案 0 :(得分:4)
如果我正确读取该链接,则所有字体都不会被替换。来自'Choosing a Printer Driver':
下表列出了使用Painters渲染器(完全矢量化输出)生成时MATLAB PostScript和Ghostscript驱动程序支持的字体。 Windows和UNIX都支持同一组字体:
AvantGarde
Helvetica-Narrow
Times-Roman
Bookman
NewCenturySchlbk
ZapfChancery
Courier
Palatino
ZapfDingbats
Helvetica
Symbol
因此,如果您使用上述字体之一,输出矢量格式图应保持正确的字体。例如见:
list_fonts = listfonts
figure('renderer','painters'),
plot(peaks),
xlabel('this font is Helvetica','fontname','Helvetica','fontsize',24)
set(gcf,'paperpositionmode','auto')
print(gcf,'-depsc2','test1.eps')
产生:
因此,从上面的列表中选择一种字体,字体将正确输出。否则,请更改演示文稿中的字体以匹配上述字体之一。
答案 1 :(得分:0)
我也多次遇到过这个问题,而且我有一个简单但有效的方法,永远不会让我失望(在Windows上,需要GSview)。
1)将图片保存为PDF
2)将PDF另存为ps
3)用GSview打开ps,然后点击“File-> PS to EPS”,指定文件名并完成。
希望这有帮助。