我正在使用 overleaf 的在线版本,并且包含 svg 图像的下面代码运行得非常好。
\begin{figure}
\centering
\includesvg[width = 5cm]{FIGURES/Example.svg}
\caption{Example}
\label{fig:Example}
\end{figure}
但现在我换用了本地版本的 overleaf。我按照建议安装了完整版的 texlive这里安装后,当我尝试编译我的 latex 文件时,出现了如下错误:
Package svg Error: File `Example_svg-tex.pdf' is missing.
以及一些警告:
Package svg Warning: You didn't enable `shell escape' (or `write18') so it wasn't possible to launch the Inkscape export for `FIGURES/Example.svg' on input line 127.
我使用包含其他地方建议的latexmkrc
文件来抑制这些错误和警告$pdflatex = 'pdflatex --shell-escape %O %S';
。但现在我收到了新的警告:
Package svg Warning: No version of Inkscape was detected by invoking `inkscape -V' so the Inkscape export will fail quite sure as the command is probably unknown to your OS. You could set `inkscapeversion=<version>' manually but this is very unlikely to work on input line 8.
我确信我必须在某处设置我的 Inkscape 版本的路径,但我不确定在哪里。
我在 ubuntu 上工作。
答案1
您必须安装inkscape
在overleaf
容器中。
在您的
overleaf
目录中,运行./bin/shell
以连接到容器。在
root
提示符 (#
) 下运行:apt update
apt install inkscape
。
答案2
为了补充 Paul Gaborit 的回答,我必须在本地安装中启用 shell escape,请参阅这条推文
实际上,我必须创建一个latexmkrc
包含以下内容的文件:
$pdflatex = 'pdflatex --shell-escape';
一旦启用了 shell 逃逸,它就可以起作用。