Sweave:使用chunk作为latex命令参数

时间:2014-07-11 15:32:44

标签: r latex sweave

使用Sweave以某种方式可以定义Latex命令 并将块中的结果作为参数传递?

基本上我想在这个例子中创建一些东西:

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

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

1 个答案:

答案 0 :(得分:2)

绘图块的输出是结果.tex文件中的includegraphics命令:

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

所以你的新命令应该工作(这里有更正的语法):当评估块时,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}

<强>更新 此解决方案仅适用于knitr

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

或制作pdf:

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

使用Rstudio,请阅读:Weaving .Rnw using rstudio