Почему Sweave выдает ошибку в коде LaTeX, который был закомментирован? - PullRequest
7 голосов
/ 21 сентября 2011

Выполняется следующее:

\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} закомментирован, почему это вызывает ошибку?

1 Ответ

6 голосов
/ 21 сентября 2011

Этот ответ является заполнителем для записи того, что я узнал самостоятельно.Я с радостью приму лучшее ...

Sweave не анализирует LaTeX, поэтому он оценит любой \Sexpr, даже если он закомментирован.Таким образом, если вы присвоили значение для z в блоке кода, %\Sexpr{z} выведет значение z.Забавно, но \Sexpr{#z} будет подавлять печать значения z.

Я также отследил это (довольно старое) обсуждение этой проблемы в списке рассылки.

...