使用 svg 包包含 svg 图像

使用 svg 包包含 svg 图像

我正在尝试使用该svg包在我的 latex 文件中插入 svg 图像,就像其他问题所建议的那样。但现在我遇到了一个问题:

例如我有一张图片figure1.svg,如果我写

\includesvg{figure1}

它会给出一个错误说

ERROR: LaTeX Error: File `figure1.pdf_tex' not found.

但如果我写

\includesvg{figure1.svg}

它会出现另一个错误说

ERROR: LaTeX Error: Unknown graphics extension: .svg.

我该如何解决这个问题?我不想用一些外部程序将所有svg文件转换为文件。pdf_tex


更新

我的 LaTeX 环境是 Windows 7 上最新的 TeXLive 2013。MWE 代码如下

\documentclass{article}
\usepackage{svg}

\begin{document}

\begin{figure}[htbp]
  \centering
  \includesvg{figure1.svg}
  \caption{svg image}
\end{figure}

\end{document}

答案1

问题是你给出了文件扩展名:你不应该这样做(事实上,这在svg手动的对我来说,简短的演示

\documentclass{article}
\usepackage{svg}
\usepackage{amsmath} % you need amsmath as the demo includes a use of \eqref
\begin{document}

\begin{figure}[htbp]
  \centering
  \includesvg{image}
  \caption{svg image}
\end{figure}

\end{document}

使用演示文件该包使用的运行良好。

请注意,要使此功能有效,请执行以下操作:

答案2

我有同样的问题。

我找到了一个简单的方法来解决这个问题。

  • 只需使用 Inkscape 打开 svg 文件。

  • 保存为 .pdf 格式

  • 在下一个弹出窗口中:

    • 嵌入字体

    • 使用导出对象的大小

    • 边距 0.1

  • 点击确定

接下来,生成的 pdf 文件将像 png 或 eps 一样轻松地通过 latex 导入。


但有时 Inkscape 无法正确读取 svg 文件,并且会出现一些错误。在这种情况下,对我有用的解决方案是:

  • 使用您使用的设计软件生成图形的 PDF 版本

  • 将 pdf 文件包含在 latex 中

  • 使用修剪来裁剪乳胶中的图形

例如:

\includegraphics[width=0.8\textwidth, trim={1cm 3cm 1cm 8cm},clip]{Fig.pdf}

答案3

虽然对于某些用户来说这可能不是一个有价值的选择,但对于一些人来说可能是值得的:

在线 SVG 到 PDF 转换器。

您可能会发现Google 搜索结果

在此之后,可以按照将 PDF 文件嵌入 LaTeX 的常用策略进行操作
(如上面的答案中所述)。

希望这对一些用户有所帮助。;)

答案4

我遇到了同样的问题,只是想分享对我有用的简单解决方案。顺便说一下,我正在使用 overleaf。

我必须从我的文件夹结构中删除一层。


这不起作用:

+-- data
|   +-- img
|       +-- file.svg
+--TeX
|  +-- Sections
|  |   +-- 01_Section.tex
|  +-- main.tex
|  +-- ...

删除“TeX”层解决了问题:

+-- data
|   +-- img
|       +-- file.svg
+-- Sections
|   +-- 01_Section.tex
+-- main.tex
+-- ...

相关内容