11

我正在着手进行 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.  

尝试使用 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 认为编译失败而实际上却失败了,这有点令人担忧?

4

1 回答 1

9

解决方法,对于体验 LaTex-ie 来说可能很明显,是添加

\usepackage{alltt}

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

\usepackage[T1]{fontenc}

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

于 2012-06-28T01:05:19.240 回答