用latex写的论文在EDAS系统中upload时,会提示“Publishers require that PDF font are embedded so that documents can be printed everywhere; one or more of your document fonts are not embedded.)”的问题,翻译过来就是说说是为了能够在任何地方打印文档,所以要求投稿的PDF文档一定要嵌入所有的字体!!!
话说用latex编译的论文怎么可能存在字体的问题呢,仔细一想只能是论文中图片的问题,论文中实验结果是用matlab导出的eps图片,matlab的图片中默认字体是Helvetica,一般的windows系统上是没有这个字体的,而eps文件是ascii文件,对于字体,里边只是给出字体的名称。这样就导致当我们用latex生成pdf时会发现Helvetica字体是没有嵌入的。所以upload的时候会显示Helvetica的字体格式不能嵌入!
解决办法:
-
既然Helvatica字体格式不能嵌入,那我们修改图片中的字体格式呗,可以使用写字板打开eps图片,找到下面语句
%%IncludeResource: font Helvetica
/Helvetica /WindowsLatin1Encoding 120 FMSR
将第二行改为
/ArialMT /WindowsLatin1Encoding 120 FMSR
ArialMT是系统上所有的字体。执行上述操作之后,重新用latex生成pdf,则字体都能够嵌入了。 -
此种办法个人觉得虽然麻烦,但是很万能,毕竟上述修改eps属性如果没成功,会导致eps文件打不开。实际中我也是这么修改的。
- 安装Acrobat reader pro软件,使用Acrobat reader软件打开有字体嵌入问题的eps图片
- 点击“导出pdf”中的“内嵌式Postscript”, 这样导出来的eps图片就不存在字体嵌入的问题了,因为Acrobat Reader软件会默认对文件嵌入所有字体!
- 猜想:修改matlab程序,以导出适合字体的eps图片
既然分析是因为matlab导出的eps图片默认字体不能正常嵌入,那么或许我们可以修改matlab的程序,控制输出图片的字体为Arial等常见字体(由于没有所有eps图片的源程序,所以我并未尝试此方法)。程序如下:
set(gca,'FontSize',1, 'FontName','Arial')
xlabel('XXX','FontSize',1,'FontName','Arial')
ylabel('XXX','FontSize',1,'FontName','Arial')
title('XXX ','FontSize',1,'FontName','Arial')
legend('XXX ','FontSize',1,'FontName','Arial')
为了检验字体是否嵌入,我们可以自行查看:
利用福昕阅读器打开新生成的pdf文件,点击“文件”->“文档属性”->“字体”,显示的就是当前pdf中用的所有字体了,每一个字体后面,如果注明了“嵌入字符集”,就说明都已经嵌入完毕了。如下图所示。
网友评论