2016-08-18 4 views
4

나는 bash 명령과 R ​​명령을 모두 표시하는 .Rmd 파일을 작성하고 있습니다. R 코드와 청크를 bash 코드로 구별하는 방법이 있습니까?다국어 knitr/RMarkdown 문서의 프롬프트 변경

```{R, prompt = "true"} 
plot(rnorm(100)) 
``` 

> plot(rnorm(100)) 

이되고 있지만, bash는 청크이

```{bash, prompt = "true"} 
pandoc --version 
``` 

> pandoc --version 
이되도록 덩어리로 R 명령 프롬프트를 삽입하는 knitr 청크 옵션이있다

내가 P 일 때

$ pandoc --version 
> plot(rnorm(100)) 

답변

6

당신은 간단한 후크를 시도 할 수 있습니다

```{r, echo = F} 
options(prompt = "$ ") 
``` 

```{bash, eval = F, prompt = T} 
pandoc --version 
``` 

```{r, echo = F} 
options(prompt = "> ") 
``` 

```{r, eval = F, prompt = T} 
plot(rnorm(100)) 
``` 

: 그것은 조금 투박입니다하지만 난 그냥 "토글"프롬프트가이 일을 할 수 깨달았다

$ pandoc --version 
+0

이 knitr 후크를 사용하는 방법에 대한 정말 좋은 예입니다에 대한 prompt=TRUE를 작성 유지 할 필요가 없습니다. 나는 지금까지 그들을 괴롭 히지 않았다. –

1

를 참조하십시오

--- 
output: html_document 
--- 

```{r} 
library('knitr') 
knit_hooks$set(
    prompt = function(before, options, envir) { 
    options(prompt = if (options$engine %in% c('sh','bash')) '$ ' else 'R> ') 
}) 
``` 

```{r, prompt=TRUE} 
1+1 
``` 

but for the bash chunks this 

```{bash, prompt=TRUE} 
pandoc --version | head -1 
``` 

```{r, prompt=TRUE} 
1+1 
``` 

enter image description here

그리고 당신은 opts_chunk$set(prompt=TRUE) 추가 할 수 있습니다 그래서 당신은 모든 덩어리

관련 문제