LaTeX插入svg图片的解决方案
今天在写论文时,想在论文里插入svg图片,遇到了问题,百度了一下方法,发现LaTeX不支持插入svg图片,在捣鼓了一下之后,发现基本的方法不是失效就是比较麻烦,本文简单总结了两个解决方案。发现都不太行,研究出了第三个方法。
【省时间的话,可以直接看第三个方法】
LaTeX标准插图方式为:
\usepackage{graphicx} % 需使用包
\begin{figure}[h]
\includegraphics{filename} % 支持 png, eps, pdf 的,不支持 svg
\end{figure}
可以看到他并不支持svg格式。那么怎么办呢?其实思路很简单,就两个:
- 找支持插入svg格式的宏包就行了!
- svg格式图片转换为支持插入的格式即可,pdf,eps都可以!!png不建议,会失真,不清晰!至少论文里不太行!
下面介绍三种方法插入svg图片:
使用svg包插入
可以先试试这个方法,如果能成最简单!
百度查到,LaTeX中有svg
宏包,使用这个宏包可以直接导入svg图片。代码示例如下:
\usepackage{svg} % 需使用包
\begin{figure}[h]
\includesvg{filename}
\end{figure}
但是在我的电脑环境上,代码直接报错了。
使用inkscape编辑矢量图
该方法需要安装inkscape软件,如果电脑里面有inkscape软件的话就很简单,如果每天就需要安装,嫌麻烦的可以直接看第三个方法。
第二个方法是借助inkscape软件,将svg格式的图片转换为eps格式图片。
inkscape是一个做矢量图的软件,功能很强大。inkscape的官网为:https://inkscape.org/,将软件下载下来,一路安装即可,值得注意的是,需要将inkscape加入到环境变量中。
打开终端输入
inkscape -V
如果能显示版本号,就代表着环境变量配置成功。
在inkscape中打开svg图片,然后另存为eps即可。
使用浏览器将svg转pdf
无需下载任何软件,只需要借助浏览器转换图片格式即可。这种方法可以使得Visio插入的非矢量图也是清晰的!!
使用浏览器,可以直接将svg图片转为pdf格式的图片。
步骤很简单:
- 使用浏览器打开svg图片
- 快捷键:
ctrl+P
,弹出打印页面 - 选择“另存为PDF”,保存成pdf即可。
- 使用LaTeX正常导入PDF格式的图片。
更新:裁剪pdf
在上面保存时,记得取消勾选“页眉和页脚”
这样,保存的pdf就没有页眉和页脚了:
然后可以使用pdfcrop
工具一键裁剪图片。
这个工具是只要安装了TeXLive就有的。
在pdf路径进入命令行,输入如下命令即可:
C:\Users\Administrator\Desktop>pdfcrop gather.pdf
PDFCROP 1.40, 2020/06/06 - Copyright (c) 2002-2020 by Heiko Oberdiek, Oberdiek Package Support Group.
==> 1 page written on `gather-crop.pdf'.
这里,原始文件为gather.pdf
,裁剪好的文件被保存为gather-crop.pdf
。
也可以自己设置裁剪后的文件名,即:(第一个为原始pdf文件的名字,第二个为裁剪后的pdf的名字)
pdfcrop gather.pdf gather.pdf
在这个示例中,即为裁剪后覆盖原文件。
注意:电脑里面装了TeXLive就肯定有pdfcrop工具,如果没有,则只能使用pdf编辑软件进行人为裁剪,比如Adobe Acrobat DC等软件。
笔者认为,这个pdfcrop工具是非常好用的,特别是Visio保存的pdf文件,可以一键裁剪空白部分,插入TeX中是真的嘎嘎好看!强烈推荐给大家!