我正在尝试将.png文件包含在我使用bookdown呈现的文件中。 knitr::include_graphics()
应该是要走的路。
代码:
```{r fig1, fig.cap='My Caption', echo=FALSE, message=FALSE, warning=FALSE}
knitr::include_graphics("./Figures/My Figure.png")
```
在.Rmd文件中,我可以运行我的r块,然后渲染下面的图像。所以,路径应该是正确的。但是,当我编织章节或渲染整本书时,图形不会被渲染。
难道我的其他一些选择是否超越了这个数字?下面是我的index.Rmd文件的YAML标题,以及我的_output.yml文件中的代码。
---
title: "My Title"
author: "My Name"
date: "`r Sys.Date()`"
output:
bookdown::gitbook:
split_by: section
bookdown::pdf_book:
keep_tex: no
documentclass: book
classoption: openany
bibliography: [Mybib.bib]
csl: Mycsl.csl
biblio-style: apalike
link-citations: yes
description: "My Description"
---
bookdown::gitbook:
config:
toc:
before: |
<li><a href="./">Short Title</a></li>
bookdown::pdf_book:
latex_engine: xelatex
citation_package: natbib
bookdown::epub_book: default
答案 0 :(得分:5)
图像文件路径中有空格。
文件名中的空格在R中不是问题,这就是您能够在RStudio中看到图像的原因。然而,knitr有点复杂,因为它实际上执行了许多不同的程序(R,pandoc&amp; LaTeX)。
正如knitr指南中所解释的那样,knitr::include_graphic
函数实际上会执行不同的结果,具体取决于输出是HTML,PDF还是md。在构建PDF时,它通过LaTeX传递图像并使用函数\includegraphic{}
插入图片。正如here所述:
“图像的文件名不应包含空格或多个点”
删除空格将解决问题,通常最好在R中避免它们,即使它们在技术上是允许的。
感谢@pzhao最初突出显示问题。