latex 编译 | 解决“You have used type 3 fonts”论文中type 3 fonts字体存在的问题

一 写在前面

未经允许,不得转载,谢谢~~

latex编译出来的pdf会存在type 3字体的问题,这种字体我们自己看不会觉的有什么,但是论文投稿的时候就不行。

折腾了好一会才解决,所以写个doc记录一下。

二 具体方法

2.1 问题check

首先我们需要check一下pdf里面是不是真的有type 3 fonts;

cmd:

pdffonts main.pdf
  • 需要在linux系统下执行;亲测mac自带的环境不可以;
  • main.pdf是我的文件名,替换自己的即可;

我这边的输出结果(供参考):

可以看到确实是有这个字体的。

2.2 问题定位及解决

我们可以简单将可能会引起type3字体出现的来源分为两类:

  1. 文字部分;
  2. 图表部分;

2.2.1 文字部分

因为文字部分的比较简单,首先可以进行文字部分的问题解决和排除。

添加以下两行到latex文件中,然后重新编译。

\usepackage[T1]{fontenc}
\usepackage{aecompl}

对生成的pdf再次用#2.1的方法进行测试,如果这个时候没有type 3字体,那么恭喜工作已经完成啦!

2.2.2

还有的话接下去看~

剩下的就是图片了,我采用的排查方法是一次注释掉一张图片,然后用编译完成的pdf去检测是否有type 3字体。但是一般来说正常的pdf是不太会出现这个问题,重灾区在用工具,典型例子是matplotlib生成的图片上会出现。

所以我按照这个测试一次就查到问题在哪里了(一张由matplotlib生成的图)。

  1. 找到生成图的源代码;
  2. 添加如下语句后重新生成图片:
import matplotlib.pyplot as plt
plt.rcParams['pdf.fonttype'] = 42

然后用新生成的图替换之前的图就ok啦!!!

最后再用pdffonts main.pdf命令check一下:

三 结尾の碎碎念

如果你的问题没有记录在内,推荐以下资料给你,希望能work。

推荐阅读更多精彩内容