Почему Sweave выдает ошибку в коде LaTeX, который был закомментирован?

Потрясающе следующее:

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

7 голосов | спросил joran 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2011 05:16:40 +0400 2011, 05:16:40

1 ответ


0

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

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

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

ответил joran 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2011 05:18:35 +0400 2011, 05:18:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132