尝试在R Markdown PDF文档中包含基于Web的图像时遇到问题。
最小示例:
---
title: "Random"
output: pdf_document
---
![Benjamin Bannekat](https://octodex.github.com/images/bannekat.png)
编织以上内容会导致错误:
!软件包pdftex.def错误:文件`https://octodex.github.com/images/bannekat.pn 找不到g。
但是,如果我使用以下代码,则会显示该图像:
---
title: "Random"
output:
html_document: default
html_notebook: default
---
![Benjamin Bannekat](https://octodex.github.com/images/bannekat.png)
当输出为HTML时,相同的代码可以正常工作。
如何使图像显示在PDF文档中?
答案 0 :(得分:2)
如果要编织为PDF,则文件必须通过LaTeX运行。 LaTeX没有内置功能来显示网络上托管的文件,如突出显示的in this question。
最好的解决方法是将网络图像下载到本地目录,然后将其指定为文件路径。
以下代码使用download.file函数下载图像,然后使用include_graphics
显示。包含图形的好处在于,它允许您指定输出文档中图像的宽度,我将其设置为40像素。
---
title: "Random"
output: pdf_document
---
```{r results = 'asis', out.width="40px"}
download.file(url = "https://octodex.github.com/images/bannekat.png",
destfile = "image.png",
mode = 'wb')
knitr::include_graphics(path = "image.png")
```
找出为什么应使用
include_graphics
在R Markdown文档中包括图形的更多原因。查看my other answer here,了解更多原因。