Inkscape导致EPS文件出现问题

8
我一直在尝试使用Inkscape为我的科学论文准备艺术图形。我使用LaTeX,需要将我的图像准备为高质量的Encapsulated PostScript(EPS)图像。工作顺序如下。首先,我使用matplotlib绘制我的图像的部分,并以EPS格式保存它们。其次,我启动Inkscape并导入EPS文件。使用Inkscape,我组合了一个图形,保留所需对象,消除不必要的对象,并添加了一些标记。这就是我在Windows中使用CorelDraw时所做的,但现在我在Linux中工作。
不幸的是,Inkscape会损坏EPS文件:它会更改颜色并且无法保存所有对象。在过去的几年里,我一直在寻找解决方案,但我找不到人们抱怨的情况。在网络上发现的投诉与从svg导出到eps或反向时的“字体呈现不正确”之类的问题有关。(对我来说,这不是问题-文本始终可以表示为曲线)。
我目前在Mandriva Linux 2010上工作,使用的是Inkscape版本0.47 r22583(2010年1月14日)。我在某处读到这样的问题可能是由一些过时版本的cairo引起的 - 我的版本是1.9.14。我花了很多精力来构建更新的cairo(1.12.14),但我仍然远离目标。我被32位和64位库在我的系统中共存所困扰...
我将非常感谢任何遇到类似问题并且可能进一步解决问题的人。让我说明一下问题。
抱歉,我的声望点数不足以发布图片或插入超过2个链接,因此,请查看带有图像的此帖子的副本,在我的livejournal页面中:

http://benkev.livejournal.com/1093.html

以下是图片说明:
(1)这里有三张eps图片,我想将它们合并成一张图片:
(2)在Inkscape中导入图片并保存为SVG格式后,这是我得到的结果。请注意颜色和分辨率失真。此外,我在感兴趣的特征周围画了三个红圆。
(3)当我将这个图形导出为EPS文件时,得到的结果是只剩下两个圆圈,其中一个红圆圈消失了!
谢谢!

您可以发布已上传图像的链接。具有编辑权限的人将会在您的帖子中嵌入它们。 - Werner
据我所知,Inkscape可以将图形导出为TiKZ格式(至少可以将SVG转换为TiKZ),这种格式可以直接由LaTeX处理。而且TeX也可以处理PDF格式的图形。另外,现在有更新版本的Inkscape可用(我使用的是0.48.3.1版)。你为什么还要坚持使用三年前的版本呢? - Martin Schröder
Martin,谢谢你指出TiKZ,我不知道它是用来做什么的。我会去阅读一下。 - Benkevitch
但是你看,问题在于AAS(美国天文学会)期刊要求所有图形都以EPS格式提供。即没有PDF,没有SVG,也没有TiKZ。 - Benkevitch
6个回答

10

这似乎是 inkscape 中的一个bug。以下步骤可能会有所帮助:

  1. inkscape中打开svg文件。
  2. 选择所有内容(Ctrl+A
  3. 取消组合(Ctrl+Shift+G)。您可能需要多次重复此步骤。
  4. 将结果保存为eps格式。

2
感谢您提供这些信息;-)确实起作用,即使我没有任何组,您节省了我的时间,值得我点赞! - Umut Tabak
@Umut Tabak 很高兴它能帮助到某个人,即使不是 SO 本人。 :) - NKN
我有一个非常奇怪的问题。使用inkscape导出的eps文件,一些psfrag替换发生了,而其他替换则没有。非常有趣,你有任何想法吗?我总共有6个替换,我正在尝试替换x、y、z和大写字母X、Y、Z。小写字母没问题,但大写字母无法工作。 - Umut Tabak

3
值得一提的是,经过一年多的实践,我也遇到了与Inkscape V0.48相关的问题:当在其他软件(如Latex)中打开EPS文件时,部分内容会丢失。
虽然我没有完全解决这个问题,但我发现删除组有所帮助。只需选择所有组件并不断取消组合,直到不再存在任何组。将其保存为EPS文件,结果应该会更好。
如果仍有内容丢失,请尝试在缺失的内容上使用“将选择项提升到顶部”,然后再次保存。

1

我知道这已经过时了,但是在Inkscape中仍然存在这个bug,所以这里是我的建议。我的解决方法是将我的项目另存为“纯svg”格式,然后将其导出为eps格式。希望能对你有所帮助!


0
我创建了一个新图层,并将未在EPS中显示的文本移动到此图层。然后,在导出的EPS文件中可以看到它。 附注:确保您将新图层置于当前图层下方,然后将文本移动到该图层。

0

这是inkscape(0.91 Window)中的一个bug,但很容易修复。直接从inkscape保存为pdf文件,然后从pdf文件另存为eps文件即可。对我来说非常有效。


-3
这个问题的永久解决方案是将你的*SVG导出为*PNG,然后将*PNG(例如通过免费软件GIMP)导出为*EPS文件类型。当我使用这种方法时,缺失的项目总是被包含在内。

3
一个问题是EPS的优点,也是许多出版商喜欢它们的原因,就在于您可以缩放整个图像,而其中的线条、点和文本也可以缩放而不失真或分辨率。将PNG包装在EPS信封中可能在技术上是可行的,但这样做会失去它的意义。 - mightypile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接