7

编织以下内容:

\documentclass{article}
\begin{document}
<<>>=
x <- 5
y <- 10
@
The value of $z$ is \\
%\Sexpr{z}
\end{document}

生成以下错误:

Error in eval(expr, envir, enclos) : object 'z' not found
Calls: <Anonymous> -> Sweave -> <Anonymous> -> eval -> eval
Execution halted

如果\Sexpr{z}被注释掉,为什么会导致错误?

4

1 回答 1

6

这个答案是一个占位符,用来记录我自己学到的东西。我很乐意接受更好的...

Sweave 不解析 LaTeX,因此它会评估 any \Sexpr,即使它被注释掉。因此,如果您z在代码块中分配了一个值,%\Sexpr{z}将打印z. 有趣的是,\Sexpr{#z}会抑制 的值的打印z

我还在一个邮件列表中追踪了这个(相当老的)关于这个问题的讨论。

于 2011-09-21T01:18:35.427 回答