编译最小的knitr示例失败

ati*_*too 11 r lyx rstudio knitr

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

 ! LaTeX Error: Environment alltt undefined.  
Run Code Online (Sandbox Code Playgroud)

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

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

! LaTeX Error: Command \textquotesingle unavailable in encoding T1. 
Run Code Online (Sandbox Code Playgroud)

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

ati*_*too 9

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

\usepackage{alltt}
Run Code Online (Sandbox Code Playgroud)

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

\usepackage[T1]{fontenc}
Run Code Online (Sandbox Code Playgroud)

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