我想将 R 代码放入 LaTeX 中新命令的参数中。为此,我做了以下操作:
%Define the newcommand:
\newcommand\solution[1]{\sf #1}
%Then, after the \begin{document}, I write:
\solution{
<<echo=T>>=
x=rnorm(100)
@
}
在我的.Rnw
文件中。在我执行 R CMD Sweave file.Rnw 之后,一切正常,但是当我执行 时
pdflatex file.tex
,响应是:
! FancyVerb Error:
Extraneous input `> x=rnorm(100) \end {Sinput} \end {Schunk} ' between \begin
{Sinput}[<key=value>] and line end
.
\FV@Error ... {FancyVerb Error:
\space \space #1
}
l.12 }
有人能帮助我吗?
答案1
块verbatim
类似于结构,因此不能在内部使用\macro{....}
,而是创建一个solution
环境(顺便说一下,使用\sfseries
,而不是\sf
)
你可能只需要
\newenvironment{solution}{\sffamily}{}
\begin{solution}
<<echo=T>>=
x=rnorm(100)
@
\end{solution}