将 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%
}