2
Rnw/LaTeX에서는 knitr 후크의 공통 출력을 사용하여 청크의 데이터를 장식 할 수 있습니다.
예를 들어, 청크에 고유 한 코드는 테이블의 핵심 데이터를 생성 할 수 있으며 반복적 인 장식을 제공하기 전후의 후크 코드를 생성합니다.Knitr asis가 후크의 출력과 함께 작동하지 않습니다.
\documentclass{article}
\begin{document}
<<myhooks, include=FALSE>>=
printhook=function(before, options, envir) {
if (before) {
return('\nCommon R \\LaTeX\\ in before-hook')
} else {
return('\nCommon R \\LaTeX\\ in after-hook')
}
}
knit_hooks$set(lprint = printhook)
@
<<test, results='asis', lprint=TRUE, echo=FALSE>>=
cat("R \\LaTeX\\ in current chunk\n")
@
\end{document}
문제는 약 좋아하는 LaTeX의 출력이 다음 것을 :
는 다음 코드 고려
\begin{kframe}
Common R \LaTeX\ in before-hook
\end{kframe}
R \LaTeX\ in current chunk
\begin{kframe}
Common R \LaTeX\ in after-hook
\end{kframe}
후크 코드가 실제로 Asis으로이다, 그러나 그것은에 싸여 도착 kframe
환경에서는 3 조각을 함께 붙이지 않습니다.
어떻게 동봉 된 kframe
을 제거 할 수 있습니까?
한 덕분에,이 문제를 해결 : 기본 개념은 출력이
results == 'asis'
이 어떤 소스 코드가 에코되지 않으며, 더 플롯 코드 청크에서 생산되지 않은 경우chunk
훅 교체하는 것입니다. 나는 이것이 공유 된 필요라는 것을 깨달았다. [yihui.name/knitr/hooks#comment-1339608701](http://yihui.name/knitr/hooks#comment-1339608701). 바라건대 단일 덩어리 고리에서 곧바로 kframes를 우회 할 가능성은 곧 출시 될 knitr 버전의 기능이 될 것입니다. – antonio