Inkscape 1.0 无法导出 svg 包所需的文件

Inkscape 1.0 无法导出 svg 包所需的文件

将 Inkscape 更新为 1.0 版本后,inkscape 的 svg 包调用会导致日志文件中出现以下消息:

软件包 svg 信息:在输入行 19 上调用 Inkscape。runsystem(inkscape -z -C --export-latex --file="truss.svg" --export-pdf="truss _svg-tex.pdf" )...已执行。

软件包 svg 警告:使用 Inkscape 导出文件 (svg)
“truss.svg”(svg) 失败 故障排除:请在日志文件中检查 (svg) Inkscape 的调用方式,并尝试 (svg) 在终端的第 19 输入行自行执行它。

并且未创建文件“truss_svg-tex.pdf”和“truss_svg-tex.pdf_tex”。我尝试执行命令

inkscape -z -C --export-latex --file="truss.svg" --export-pdf="truss_svg-tex.pdf"

在命令提示符中,两个文件“truss_svg-tex.pdf”和“truss_svg-tex.pdf_tex”没有创建,并发出了一条奇怪的消息:“OpAA”。当然,一种解决方法是打开 Inkscape 并执行文件->另存为->pdf,然后选择“忽略 PDF 中的文本并创建 LaTeX 文件”选项。最后,“_svg-tex”已添加到创建的两个文件的名称中。然而,这非常令人不快。

答案1

在你的“svg.sty”文件中(/usr/share/texmf-dist/tex/latex/svg/svg.sty对我来说),将以下行替换


\newcommand*\svg@ink@cmd[2]{
  \svg@ink@exe\space-z\space\svg@ink@area\space%
  \ifx\svg@ink@dpi\relax\else--export-dpi=\svg@ink@dpi\space\fi%
  \if@svg@ink@latex--export-latex\space\fi%
  \svg@ink@opt\space%
  --file="#1.\svg@file@ext"\space%
  --export-\svg@ink@format="#2.\svg@ink@format"\space%
}


\newcommand*\svg@ink@cmd[2]{%
  \svg@ink@exe\space\svg@ink@area\space%
  \ifx\svg@ink@dpi\relax\else--export-dpi=\svg@ink@dpi\space\fi%
  \if@svg@ink@latex--export-latex\space\fi%
  \svg@ink@opt\space%
  "#1.\svg@file@ext"\space%
  --export-type="\svg@ink@format"\space%
  --export-filename="#2.\svg@ink@format"\space%
}

相关内容