EDAS系统提交 | 编译报错显示 fonttype: Font DejaVuSans is of type Type 3.

目录

1. 问题:fonttype: Font DejaVuSans is of type Type 3.

2. 原因及解决:用python的matplotlib画的图片转出的pdf有问题,包含Type 3字体。

3. 具体解决过程:在用python代码画图时,添加一行代码,重新画图。


1. 问题:

在EDAS投稿系统提交一个论文pdf后,结果发现状态里有黄色感叹号(warning)。报错显示: fonttype: Font DejaVuSans is of type Type 3.

2. 原因及解决:

1)原因:用python的matplotlib画的图片转出的pdf有问题,包含Type 3字体。(在网上搜索了解决方法,一般产生这个问题的主要原因是:图片有问题。我提交的论文pdf包含的图片是:用python的matplotlib画的,转出格式是pdf。后来排查pdf也确实是用python画的图片出了问题。)

2)解决:

在用matplotlib画图时添加以下代码即可:

import matplotlib.pyplot as plt
plt.rcParams['pdf.fonttype'] = 42  # 在代码里要添加这一行设置全局字体,即可解决问题

EDAS系统提交 | 编译报错显示 fonttype: Font DejaVuSans is of type Type 3._第1张图片

3. 具体解决过程:

1)在linux系统下排查pdf是否含有Type 3字体。在命令行窗口输入:

pdffonts your_file.pdf    
# your_file.pdf 为你自己的文件名

2)然后我这边可以看到输出结果确实是含有Type 3字体的。如下图所示:

查了一下,有15个,刚好和我用python画的图片数量一致,此时感觉应该是用python画的图片有问题。后来又单独用上述命令检查了一下图片的pdf,确定了是用matplotlib画的图片转出的pdf包含Type 3字体。

EDAS系统提交 | 编译报错显示 fonttype: Font DejaVuSans is of type Type 3._第2张图片

 EDAS系统提交 | 编译报错显示 fonttype: Font DejaVuSans is of type Type 3._第3张图片

3)所以,现在锁定了确实是用python画的图片有问题。解决:在用python代码画图时,添加以下代码,重新画图保存为pdf即可解决。

import matplotlib.pyplot as plt
plt.rcParams['pdf.fonttype'] = 42  # 在代码里要添加这一行设置全局字体,即可解决问题

在EDAS系统重新提交pdf,发现问题解决,没有黄色warning了。 

参考:

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

EDAS系统检查遇到的问题_Mr.Yi的博客-CSDN博客

你可能感兴趣的:(python,latex,EDAS,python,latex)