Inkscape" PDF + Latex"出口

时间:2015-04-30 19:07:40

标签: pdf svg latex inkscape

我使用inkscape生成矢量图,将它们保存为SVG格式,以便稍后将其导出为" PDF + Latex"很多TUG inkscape + pdflatex指南。

然而,试图制作一个简单的人物却非常令人沮丧。

第一个数字http://i.stack.imgur.com/jIo3z.png是我希望以" PDF + Latex"形式导出的数字示例。 (此处以PNG格式显示)。

如果我将其导出为没有乳胶宏的PDF图,则生成的PDF看起来完全相同,除了与用于渲染文本的字体有一些细微差别。

当我尝试使用" PDF + Latex"选项生成的PDF文件包含2页的PDF文档:http://i.stack.imgur.com/I9kdf.png

当然,在编写我的乳胶文档时,这看起来并不好看。到目前为止,TUG的指南非常有帮助,但我仍然无法生成工作" PDF + Latex"从inkscape导出。

我做错了什么?

4 个答案:

答案 0 :(得分:7)

我通过将我的绘图中的所有文字放在顶部

来解决这个问题
  

选择text,然后选择Object -> Raise to top

如果文本在另一个对象下面,

Inkscape 仅生成单独的页面。

答案 1 :(得分:4)

我在Inkscape在线讨论页面上提出了这个问题,并从其中一位用户那里获得了一些非常有用的指导。

这是一个已知的错误https://bugs.launchpad.net/ubuntu/+bug/1417470,它在Inkscape 0.91中无意中被引入,试图修复以前的错误https://bugs.launchpad.net/inkscape/+bug/771957

这个bug似乎做了两件事:

  1. * .pdf_tex文件将有一个额外的\includegraphics语句,需要手动删除,如上面错误链接中所述。
  2. 无论图像的大小如何,* .pdf文件都可以分成多个页面。在我的例子中,线对象被拆分到他们自己的页面上。我通过关闭文本对象(不透明度为零)然后执行标准PDF导出来解决这个问题。

答案 2 :(得分:2)

如果你可以执行linux命令,这可行:

# Generate the .pdf and .pdf_tex files
inkscape -z -D --file="$SVGFILE" --export-pdf="$PDFFILE" --export-latex

# Fix the number of pages
sed -i 's/\\\\/\n/g' ${PDFFILE}_tex; 
MAXPAGE=$(pdfinfo $PDFFILE | grep -oP "(?<=Pages:)\s*[0-9]+" | tr -d " "); 
sed -i "/page=$(($MAXPAGE+1))/,\${/page=/d}" ${PDFFILE}_tex; 

使用:

  • $ SVGFILE:svg的路径
  • $ PDF_FILE:pdf的路径

可以在脚本中包含这些命令,并在编译tex文件时自动执行它(这样每次修改svg时都不必从inkscape手动导出)。

答案 3 :(得分:0)

尝试使用不太宽的插图。

或者,使用更宽的纸张宽度设置。