我可以在 LaTeX 文档中使用网络上的图像吗?

我可以在 LaTeX 文档中使用网络上的图像吗?

我努力了

\includegraphics{http://www.site.com/path/to/figure.png}

但这会返回错误

ERROR: Package pdftex.def Error: File
`http://www.website.com/path/to/figure.png'
not found.

还有其他选择吗?

答案1

您可以使用\write18curl 或 wget 脚本从网络获取图像并将其下载到您的目录。

\documentclass{article}
\usepackage{graphicx} % includegraphics command is implemented here
\begin{document}

\write18{wget http://www.some-site.com/path/to/image.png}
\includegraphics{image.png}

\end{document}

但请注意,miktex 和 texlive 的最新版本附带了 \write18 的限制版本,在某些情况下您必须向 latex 传递一个选项来启用它,如下所示:

pdflatex --shell-escape test.tex

答案2

简短回答:不。如果您想将图像包含在文档中,则需要下载图像并在本地使用。pdfTeX 和 XeTeX 不包含从任意位置抓取图像所需的代码。

当然,你可以链接到远程位置的图像。你可以利用hyperref包中包含合适的链接。您可以使用一些文本来执行此操作:

\href{http://somewhere.com/someplace/some.jpg}{picture here}

或者下载本地副本,然后指向在线版本

\href{http://somewhere.com/someplace/some.jpg}{\incudegraphics{some.jpg}}

我从评论中注意到,LuaTeX 确实包含了下载图像副本所需的库。这将使包含直接成为可能,但我不知道 LuaLaTeX 的预构建解决方案。我想无论如何这都会是一个单独的答案。

答案3

(从评论区复制过来)

ConTeXt 原生支持此功能:

http://wiki.contextgarden.net/What_is_ConTeXt

下列:

\externalfigure[http://www.site.com/path/to/figure.png] 

就可以了。在后台,ConTeXt 将文件下载到 luatex 缓存中一次,然后重复使用该图形。


我的补充说明:

  • 如果你有 MacTeX,则无需进行任何额外安装。只需更改 TeX 编辑器中的排版选项即可。
  • 我无法让它在 TeXShop 中工作,但它在 TeXWorks 中工作正常。另外,我不得不使用ConTeXt (LuaTeX)。当我尝试时,它不起作用ConTeXt (pdfTeX)

答案4

出于某种原因,SE 机器人在 13 年后又重新提出了这个问题!我注意到,之前的答案和评论都没有提到一个重要的事情:可能侵犯版权。

尽管(取决于编译器、软件的最新版本、平台等)有时可以将网页图像拖入文档,尽管几乎总是可以将本地下载文档中的图像,该图像很可能是其他人的版权作品。版权持有者可能会或可能不会(通常不会)授予使用许可。仅仅因为你可以自由,并不意味着你可以使用它,无论是否免费。

即使图片没有版权声明作为其标题,即使网页上没有提到任何内容,不是意味着它是免费的。您应该浏览网站,看看是否有任何明确允许您下载和使用任何内容(例如图像)的内容。除非有可识别人员的明确版权声明,并且该版权持有人授予您将其用于您的目的的明确许可,否则请勿使用它。

您仍可以提供超链接,因为这不涉及复制内容。但请注意,链接会发生变化。如何阻止一些恶作剧者发布一个方程式,然后稍后将该图像更改为一些调皮的东西?

相关内容