编译最小的knitr示例失败

时间:2012-06-27 19:50:06

标签: r rstudio knitr lyx

我正在努力设置knitr。我在Windows 7 Enterprise盒子上安装了最新版本的R(2.15.1),Lyx 2.0,包括MiKTex 2.9发行版和RStudio 0.96.304。如果我打开Lyx并只是查看教程,我可以获得pdflatex输出,因此基本系统正在运行。然后我将minimal Rnw example保存在我的工作目录中作为testknitr.Snw,在RStudio中打开该文件,然后按下编译PDF按钮。 knitr输出完成一个关于解析器包的警告,并生成一个文件testknitr.tex。然后pdflatex.exe运行,但失败了,日志文件中的特定错误似乎是

 ! LaTeX Error: Environment alltt undefined.  

尝试使用TexWorks编译testknitr.tex时收到了同样的错误。我使用knit(“testknitr.Rnw”)从R内部创建了该文件 - 由于RStudio中的默认值而不同的扩展名。我确实告诉MikTek在编译时自动更新包。对CTAN的一些研究表明,alltt环境是ltxbase软件包的一部分,它是在我查看软件包管理器时安装的。事实上,它似乎是整个事情的核心部分!

好的 - 我正在阅读最小示例页面上的评论,并发现了该问题的解决方法,并且它是19小时前的已知错误。是的,我认为RStudio设置为使用knitr,而不是sweave。我现在收到一个新错误:

! LaTeX Error: Command \textquotesingle unavailable in encoding T1. 

编辑:好的!事实证明,错误并不是致命的 - 如果需要时间来查看,那么可以在工作目录中找到最小例子的可爱pdf。 RStudio认为编译失败时有点令人担忧吗?

1 个答案:

答案 0 :(得分:9)

解决方法,对于体验LaTex而言可能是显而易见的,即添加

\usepackage{alltt}

到文件。根据{{​​3}},这将在未来的版本中修复,或者现在如果你想从github获得开发版本。我还测试了@Yihui上面的评论

\usepackage[T1]{fontenc}

可以被注释掉。这解决了问题中的第二个问题,并且RStudio现在将编译视为成功,清理(一些?)中间文件并立即预览pdf。