LaTeX/Sweave - 如何在附录中重现代码块?

LaTeX/Sweave - 如何在附录中重现代码块?

我希望这是正确的地方。对于我的统计作业,我使用 Sweave 进行内联计算,如下所示:

\begin{itemize}
 \item[Problem 1]
  <<label=block1,eval=T,echo=F>>
   varA <- 2+2
  @

  The answer to the problem is \Sexpr{varA}
\end{itemize}

我希望能够在附录中完整地重现代码,但这不起作用:

\subsection*{Code}
 <<block1>>
 @

一定有一种干净的方法来做到这一点,而我却没有找到。

答案1

  1. 正如 R. Schumacher 提到的,<<>>=并且@必须从第一列开始;
  2. <<>>应该在代码块中使用,所以您必须将其放在<<>>=

这是一个完整的例子:

\begin{itemize}
 \item[Problem 1]
<<block1,eval=T,echo=F>>=
 varA <- 2+2
@

  The answer to the problem is \Sexpr{varA}
\end{itemize}

\subsection*{Code}

<<all-blocks>>=
<<block1>>
@

答案2

<<>>= 必须@从第一列开始,并且同一行上没有任何后续字符。

该文件必须保存为你的文件名.Rnw然后运行,Sweave(yourfilename.Rnw)它会给你你的文件名.tex现在可以使用 LaTeX 进行编译。建议你把你的文件名.Rnw在仅完成此项目的文件夹中。

相关内容