2014-07-11 2 views
2

Sweave를 사용하여 Latex 명령 을 정의하고 청크의 결과를 매개 변수로 전달하는 것이 가능합니까?Sweave : chunk를 latex 명령 매개 변수로 사용합니다.

기본적으로 나는이 예제 같은 것을 만들려면 :

\includegraphics[width=\maxwidth]{figure/testPlot} 

그래서 새 명령을 수행해야합니다

\newcommand{\myCommand} [1] { 
    \begin{figure} 
     \begin{center} 
     #1 
     \end{center} 
    \end{figure} 
} 

\myCommand{ 
    <<fig=TRUE, results=hide>> 
     plot(1:10,1:10) 
    @ 
} 

답변

1

플롯 덩어리의 출력은 .tex 파일 결과에 includegraphics 명령 명령입니다 work (수정 된 구문이 있음) : 청크가 평가 될 때 includegraphics가 .tex 파일에 기록됩니다. 이 단계가 끝나면 모든 명령과 옵션을 사용하여 라텍스 코드가 평가됩니다.

\documentclass{article} 
\begin{document} 
\newcommand{\myCommand} [1] { 
    \begin{figure}[t] 
     \begin{center} 
     #1 
     \end{center} 
    \end{figure} 
} 
\myCommand{ 
    <<testPlot>>= 
     plot(1:10,1:10) 
    @ 
} 
\end{document} 

UPDATE 이 솔루션은 knitr에서만 작동 :

Rscript -e "library(knitr);knit('myFile.Rnw')" 

또는이 PDF 생성하기 : Rstudio와

Rscript -e "library(knitr);knit2pdf('myFile.Rnw')" 

을 숙지하시기 바랍니다 들어 Weaving .Rnw using rstudio

+0

나에게이 해결책 st 병이 작동하지 않습니다 ... 생성 된 tex-file은 \ includegraphics 명령이 아니라 latex 명령의 매개 변수로 전체 청크를 포함합니다 (Rnw 파일을 실행하기 위해 R-Studio를 사용하고 있습니다). – Tobson

+0

확인. 나는 뭔가를 찾았습니다 : knitr 옵션을 사용하여 스웨터 만들기 : 옵션 -> Sweave -> knitr을 사용하여 Rnw을 짜기 – fxi

+0

그리고 Rstudio는이 줄을'\ SweaveOpts {concordance = TRUE}'에 추가합니다. 한 번 스웨 웨이 옵션으로 짜기를 시도하십시오. – fxi