2017-11-07 18 views
1

bookdown을 사용하여 렌더링하는 파일에 .png 파일을 포함하려고합니다. knitr::include_graphics() 가야합니다.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

문서의 시작 부분에 전역 옵션을 설정 했습니까? 내 생각 엔 파일 경로를 잘못 넣었을 것입니다. 시작 부분의 청크에'getwd()'를 포함시켜 그것이 어디에 설정되어 있는지 확인하십시오. –

+0

전 세계적인 옵션이 없습니다. 'getwd()'를 실행하면 index.Rmd 파일이있는 폴더가 반환됩니다.이 폴더는 필자가 코드에서 사용하는 Figures 폴더의 부모 폴더입니다. – kneijenhuijs

+0

나는 절대 경로를 시도했음을 언급해야하며, 이는 동일한 결과를 가져온다. 그래픽은 통합 문서 자체에서로드되지만 렌더링되지 않습니다. – kneijenhuijs

답변

2

당신은 이미지 파일 경로에 공백이있다.

파일 이름의 공백은 R에서 문제가되지 않으므로 RStudio에서 이미지를 볼 수 있었던 이유입니다. 그러나 knitr은 실제로 여러 프로그램 (R, pandoc & LaTeX)을 실행하기 때문에 좀 더 복잡합니다.

knitr의 지침에서 설명한 것처럼 knitr::include_graphic 함수는 결과가 HTML, PDF 또는 md인지 여부에 따라 실제로 다른 결과를 실행합니다. PDF를 만들 때 LaTeX를 통해 이미지를 전달하고 \includegraphic{} 함수를 사용하여 그림을 삽입합니다. here과 같이 설명

하고, 문제가 해결됩니다 공백을 제거

을 "공백도 여러 점을 포함 할 수 없습니다 이미지의 파일 이름은"일반적으로 그들을 피하기 위해 좋은 연습이 될 것이다 R이 기술적으로 허용 되더라도.

처음에는 문제를 강조 표시하기 위해 @pzhao입니다.

+2

잘 설명해 주셔서 감사합니다. 내 별명 'dapeng'의 인용문을 제 이름으로 친절하게 바꿀 수 있습니까? 'pzhao'? 내 프로필에서 변경하고 인용문이 자동으로 업데이트되지 않았 음을 확인했습니다. 그러나 30 일 후에 다시 변경할 수 없습니다. – pzhao

+0

@pzhao 수정했습니다. :) –