前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[论文工具] LaTeX论文SVG和EPS矢量图转换方法详解

[论文工具] LaTeX论文SVG和EPS矢量图转换方法详解

作者头像
Eastmount
发布2023-10-08 10:25:05
8920
发布2023-10-08 10:25:05
举报

本文主要介绍LaTeX论文SVG和EPS矢量图转换方法总结,包括Visio、Excel、Matplotlib等常见方法转换,总体而言是将图片转换为SVG,再转EPS矢量图和生成PDF文件,最终在LaTeX中显示。本文一方面作为自己的学习笔记,另一方面希望能帮助初学者解决实际问题,且看且珍惜


一.非矢量图模糊问题

假设存在如下图所示的图像,在LaTeX中会调用 \includegraphics 显示图像,通常期刊或会议会要求为矢量图,并且格式为EPS。

然而,如果不是矢量图,其图片放大后边缘会形成锯齿状,即使是EPS格式也可能是错误转换的矢量图形式,如下图所示,其图片内容比较模糊。

那么,如何解决矢量图转换的问题呢?因为我们在画图或编程生成实验效果图过程中,通常会利用Visio、Excel或编写Python代码。本文主要介绍常见的EPS矢量图转换方法,其核心流程为:

  • 将图片转换为SVG,再转EPS矢量图和生成PDF文件,最终在LaTeX中显示

后续内容包括:

  • Visio转矢量图EPS至LaTeX
  • Matplotlib绘制图转矢量图EPS至LaTeX
  • Excel转矢量图EPS至LaTeX
  • AI和PS转矢量图EPS至LaTeX

此外,大家尤其需要注意:(1)不要直接用PNG转EPS矢量图,因为大部分转换会失败,即使是EPS格式的图像;(2)部分在线网站提供SVG转EPS矢量图的过程,大家可以使用,但需要在最终版PDF论文文件中,放大看是否模糊;(3)部分LaTeX还需要PDF格式的图像文件,但LaTeX会自动将EPS转换为“XX-eps-converted-to”格式,如果不行选择在线网站转换。


二.Visio转矢量图EPS至LaTeX

通常在英文论文撰写中,我们会利用Visio绘制框架图或示例图,如何将其转换为EPS矢量图呢?

第一步,利用Visio绘制框架图或示意图,通常为VSD格式。

第二步,将图像导出为SVG格式(而非PNG格式)。

第三步,利用在线网站将SVG图像转换为EPS矢量图。强烈推荐下列这个网站,其它网站效果较差。

  • https://cloudconvert.com/svg-to-eps

输出结果如下图所示,矢量图放在大字体也是清晰的。

  • 温馨提示:cloudconvert网站转换图片只能使用10次机会,建议大家后续付费支持。然而,更换IP地址和浏览器亦可多增加几次。

第四步,尝试在线将EPS矢量图转换成PDF文件。

第五步,将图像按照指定名字命名,然后在LaTeX中显示。

代码语言:javascript
复制
\begin{figure}[!ht]
  \centering
  \includegraphics[width=0.45\textwidth]{5.eps}
  \caption{An example of obfuscation and deobfuscation.}
  \label{fig5}
\end{figure}

显示如下图所示:

最终完成LaTeX矢量图及显示,放大也非常清晰。


三.Matplotlib绘制图转矢量图EPS至LaTeX

在实验过程中,我们通常会撰写Python代码绘制实验效果图,其中画图会调用Matplotlib库实现。此外,由于深度学习代码绘制图像(如ROC曲线)较为复杂,我们仅撰写Matplotlib绘制图的代码,如下所示:

代码语言:javascript
复制
from matplotlib import pyplot
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['Times New Roman']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams.update({'font.size': 16})

x = ['1','2','3','4','5','6','7','8','9','10']

#Accuacy
CNN = [0.7315, 0.8271, 0.9069, 0.9304, 0.9424, 0.9464, 0.9480, 0.9493, 0.9509, 0.9517]
BiLSTM = [0.8245, 0.8957, 0.9322, 0.9497, 0.9588, 0.9603, 0.9608, 0.9612, 0.9616, 0.9617]
BiGRU = [0.8110, 0.8823, 0.9221, 0.9454, 0.9548, 0.9582, 0.9588, 0.9595, 0.9598, 0.9604]
Transformer = [0.8512, 0.9111, 0.9438, 0.9563, 0.9611, 0.9619, 0.9625, 0.9630, 0.9631, 0.9631]
Our = [0.9318, 0.9606, 0.9700, 0.9706, 0.9710, 0.9712, 0.9711, 0.9714, 0.9712, 0.9715]

plt.xlim(-0.5, 10)
plt.plot(x, CNN, marker='o', c='r', mec='r', mfc='w', linestyle=":",label='CNN')
plt.plot(x, BiLSTM, marker='D', ms=5,linestyle=":", label='BiLSTM')
plt.plot(x, BiGRU, marker='*', ms=8, linestyle="-.", label='BiGRU')
plt.plot(x, Transformer, marker='x', ms=6,linestyle="--", label='Transformer')
plt.plot(x, Our, marker='.', c='b', mec='b', ms=10, label='Our Method')
plt.legend(loc="lower right", fontsize="14")
plt.xticks(x, x, rotation=1)
plt.gca().yaxis.set_major_formatter(ticker.FormatStrFormatter('%.4f'))
plt.margins(0)
plt.subplots_adjust(bottom=0.10)
plt.xlabel('Epoch')
plt.ylabel("Accuracy")
plt.ylim(0.7000, 1.0000)  
plt.savefig('result-acc.svg', format='svg', dpi=1000)
plt.show()

第一步,撰写Python绘制图像代码,生成如下图所示的结果。

第二步,大家可以导出SVG或EPS矢量图,如下图所示。

第三步,利用AI软件导出PDF格式文件。

第四步,重命名EPS和PDF,并利用LaTeX显示图像。

代码语言:javascript
复制
\begin{figure}[!ht]
	\centering
	\includegraphics[width=0.5\textwidth]{6.eps}
	\caption{The accuracy of different methods.}
	\label{fig6}
\end{figure}

最终显示效果如下图所示,请放大清晰。

然而,导出为EPS图像时其留白界面较多,导致最终显示图像效果较差。一方面,读者可以尝试AI编辑EPS图像时调整背景大小;另一方面,Matplotlib导出图像时可以选择SVG图像,再转换为指定的EPS和PDF文件,可以选择在线转换或AI工具转换。

最终修改后的效果如下图所示,总之推荐的顺序还是为:

  • SVG=>EPS=>PDF

四.Excel转矢量图EPS至LaTeX

在实验过程中,部分读者习惯用Excel绘制实验结果,我们同样需要将Excel转换为矢量图。

第一步,利用Excel绘制实验效果图,如下图所示。然而,Office缺乏将Excel转换为矢量图的功能,在线网站转换的效果也非常差。那么,如何解决呢?

第二步,由于Excel和Visio之间可以相互转换(相同家族产品),因此,我们将Excel绘制的图像复制到Visio中。

为更饱满地显示图像,按住Ctrl拖动鼠标能将图像调整为更饱满。

第三步,在Visio中将图片导出为SVG矢量图。

第四步,再利用前面两个部分(在线网站或AI工具)将SVG图转换为EPS矢量图或PDF文件,最终显示效果如下图所示。


五.AI和PS转矢量图EPS至LaTeX

在前面的内容中,我们已经看到了AI软件转EPS矢量图的过程。同样,PS也具有相同的功能,但再次强调,不推荐大家直接将PNG图片转换为矢量图,建议SVG图片转换。在这里,我们尝试将PNG图像转换为矢量图,看看其模糊的效果。

输出结果如下图所示,图像比较模糊。


六.总结

写到这里,希望这篇文章对您有所帮助,后续也将继续更新内容。还有种在线绘制实验结果图的,以后有机会再介绍。需要注意:

  • 不要PNG图像转换,否则会有阴影效果
  • 先转SVG,再转EPS矢量图和PDF文件
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-07 23:57,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 娜璋AI安全之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.非矢量图模糊问题
  • 二.Visio转矢量图EPS至LaTeX
  • 三.Matplotlib绘制图转矢量图EPS至LaTeX
  • 四.Excel转矢量图EPS至LaTeX
  • 五.AI和PS转矢量图EPS至LaTeX
  • 六.总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档