이 질문은 consistent code html inline and in chunks with knitr과 유사합니다. .Rhtml 문서 대신에 `r "plot(cars, main = 'A scatterplot.')"`
이 rmarkdown을 통해 컴파일 된 후 plot
과 같은 토큰을 강조 표시해야하는 등 R Markdown 문서에서 인라인 R 코드를 강조 표시하려고합니다. 기본적으로 R 코드 청크는 구문 강조 표시되지만 인라인 R 코드를 강조 표시 할 수는 없습니다.R Markdown의 인라인 R 코드를 구문 강조하는 방법은 무엇입니까?
답변
development version높은 패키지 (devtools::install_github('yihui/highr')
)를 사용하는 한 가지 해결책이 있습니다. 기본적으로 사용자 정의 LaTeX 명령을 정의하여 토큰을 강조 표시합니다. highr:::cmd_pandoc_latex
은 Pandoc이 구문 강조를하기 위해 사용하는 LaTeX 명령의 데이터 프레임입니다.
head(highr:::cmd_pandoc_latex)
## cmd1 cmd2
## COMMENT \\CommentTok{ }
## FUNCTION \\NormalTok{ }
## IF \\NormalTok{ }
## ELSE \\NormalTok{ }
## WHILE \\NormalTok{ }
## FOR \\NormalTok{ }
은 그럼 당신은
knitr의
inline
훅을 다시 정의 할 수 있습니다 :
---
output:
pdf_document:
keep_tex: yes
---
```{r include=FALSE}
local({
hi_pandoc = function(code) {
if (knitr:::pandoc_to() != 'latex') return(code)
if (packageVersion('highr') < '0.6.1') stop('highr >= 0.6.1 is required')
res = highr::hi_latex(code, markup = highr:::cmd_pandoc_latex)
sprintf('\\texttt{%s}', res)
}
hook_inline = knitr::knit_hooks$get('inline')
knitr::knit_hooks$set(inline = function(x) {
if (is.character(x) && inherits(x, 'AsIs')) hi_pandoc(x) else hook_inline(x)
})
})
```
Test inline R code: `r I("plot(cars, main = 'A scatterplot.')")`.
Normal inline code `r pi`.
A code block:
```r
plot(cars, main = 'A scatterplot.')
1 + 2 # a comment
```
나는 구문은 일반 문자열에서 강조 할 문자 문자열을 알려줄 수있는 편리한 마커로
I()
을 사용했다. 그것은 단지 임의의 선택 일뿐입니다. PDF 출력 :
이 있지만, 완벽한 해결책이 아니다. 경우에 따라 조정해야합니다. 예를 들어, 대부분의 특수 LaTeX 문자는 ~
과 같이 이스케이프 처리되지 않습니다. hi_pandoc()
에 의해 반환 된 LaTeX 코드를 gsub()
으로 처리해야 할 수 있습니다.
개인적으로 인라인 출력의 산만 한 부분에 여러 색상이 있기 때문에 강조 표시하지는 않지만 완전히 개인적인 취향입니다.
다음은 상대적으로 가정합니다 텍스트 내에서 같은 방식으로 강조 표시하는 것보다는 회색 배경색을 쉽게 구현할 수 있습니다. 나는 인라인 코드로 텍스트를 읽는 학생들이 폰트가 매우 유사하기 때문에 실제로 R 코드가 무엇인지 찾아 내기가 어렵다는 것을 자주 발견합니다. 회색 배경을 사용하면 예를 들어 github에서와 같이 html 출력과 비슷하게 선명하게 보입니다. – jamieRowen
좋은 해결책! 인라인 코드'i %% 5'를 어떻게 강조 할 수 있는지 제안 해주십시오. 백분율 기호는 이스케이프 처리되지 않고 오류가 발생합니다 ('# Comment'와 같은 주석이 강조 표시되지 않습니다). –
- 1. R markdown의 헤더 스타일
- 2. R markdown의 결과 설명
- 3. R Markdown의 XTable 출력 정렬
- 4. R Markdown의 외부 R 스크립트 재사용
- 5. R Markdown의 rChart가 렌더링되지 않습니다
- 6. knitr을 사용하는 R markdown의 LaTeX 다이어그램 캡션
- 7. 루프 내에서 R Markdown의 테이블과 플롯 끼우기
- 8. R Markdown 및 htmlTable. R Markdown의 루프에서 html 테이블을 생성하는 방법은 무엇입니까?
- 9. R 코드를 R 스타일로 변환
- 10. 기본 markdown의 인라인 강조 스타일을 변경하는 방법은 무엇입니까?
- 11. R : CSV 테이블에서 특정 값을 강조하는 것은
- 12. R 구문의 매칭 구문
- 13. R 코드와 쉘 코드를 결합하는 방법은 무엇입니까?
- 14. 엑셀에서 R 코드를 트리거하는 방법은 무엇입니까?
- 15. R Sweave의 구문 강조
- 16. R 내가 다음 R 코드를 작성했습니다
- 17. R 언어 XML 구문 분석
- 18. R 데이터 마이닝 구문
- 19. 은 어떻게 음모가 나는 다음과 R 코드를 실행하면 R
- 20. Markdown의 유효성을 검사하는 방법은 무엇입니까?
- 21. R 코드를 MATLAB
- 22. 다음 코드를 사용하여 R
- 23. R 코드를 Excecutale로 만들기
- 24. 구문 분석 JSONP R
- 25. 편집기 구문을 강조하는 방법은 무엇입니까?
- 26. R 코드를 C 코드로 변환
- 27. 구문을 강조하는 방법은 무엇입니까?
- 28. knitr의 인라인 R 코드의 두 번째 평가
- 29. R 형식으로 데이터 내보내기 R
- 30. R (
도 참조하십시오 http://stackoverflow.com/questions/16405536/knitr-inline-chunk-options-no-evaluation-or-just-render-highlighted-code/16406120#16406120 – baptiste