这个 Sweave 文档有什么问题

这个 Sweave 文档有什么问题

每次我运行下面的代码时,它都不会出错。只有当我尝试在请求的最后一帧中编辑输出时,它才会失败。对于像我这样的 LaTeX/Sweaving 新手来说,更令人困惑的是,我将 xtable(....) 函数粘贴到另一个 R 会话中,它会将 LaTeX 输出生成到我的输出窗口。我甚至将生成的 LaTeX 输出粘贴回我的文档作为新幻灯片,它运行得很顺畅。

如您能提供任何帮助,我们将不胜感激。

\documentclass{beamer}
\usepackage[OT1]{fontenc}
%\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry} %set the margins
\usepackage{Sweave}

% before compiling, need to change working directory in open version of R

<<echo=FALSE, eval=TRUE>>=
    library(xtable)
    Aye <- sample(c("Yes", "Si", "Oui"), 177, replace = TRUE)
    Bee <- sample(c("Hum", "Buzz"), 177, replace = TRUE)
    Sea <- sample(c("White", "Black", "Red", "Dead"), 177, replace = TRUE)
@


\begin{document}  


\begin{frame}
\frametitle{First Slide}
Contents of the first slide
\end{frame}

\begin{frame}
\frametitle{Second Slide}
<<>>=
    xtable(format(addmargins(table(Aye, Sea))))
@

\end{frame}


\end{document}

答案1

虽然您没有告诉我们您遇到了什么错误,以及您到底想要实现什么,但我相信问题在于 Sweave 试图将 R 输出逐字包含在 tex 文件中。Beamer 不喜欢逐字逐句地包含在框架中,因此会引发错误。

如果想要将表格包含在框架中,请将 更改为<<>>=<<echo=false, results=tex>>

如果您确实想逐字逐句地将 LaTeX 代码包含在表格中,则必须使框架“脆弱”,这样它才能适应 Sweave 插入的逐字环境。

相关内容