【发布时间】:2021-09-06 09:14:09
【问题描述】:
当我尝试渲染最新版本的 R for Data Science (R4DS) 一书时,我得到了 LaTeX 编译,然后被以下错误消息阻止。
! Text line contains an invalid character.
l.406 #> -- ^^[
[1mAttaching packages^^[[22m --------------------------------...
Error: LaTeX failed to compile _main.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See _main.log for more info.
>
这对应于 R4DS 书中向我们展示如何加载 tidyverse 的部分,查看 _main.tex 文件,我看到许多行从这一行开始看起来像 ANSI 转义序列。它们的形式为 ^[[1m、^[[22m,等等。我使用 lualatex 手动编译了 LaTeX 输出,发现整本书中有几十个甚至数百个这样的例子。我怀疑这是因为我在 R 中使用了 colorout 包,但似乎该包是必需的,所以其他成功渲染的人也必须使用它。我相信我已经成功更新了所有相关的包。
【问题讨论】:
-
您为什么认为
colorout是必需的?我在 R4DS 源代码中没有看到任何对它的引用。这些转义似乎确实是一个问题,不应该与乳胶输出一起使用。 -
为了回答您的问题,我认为
colorout是必需的,因为当我从.Rprofile文件中删除它时,我在输出中看到一条消息,上面写着“正在加载所需的包颜色输出”。但是,在您发表评论后,我再次删除了colorout并没有看到这样的消息。但是,我仍然得到 ANSI 转义码。在 RStudio 中,我选择了 Preferences > Console > Remove ANSI codes,但 ANSI 代码仍在输出中。如果我能阻止插入ANSI代码,我相信问题会得到解决。
标签: r latex r-markdown tidyverse knitr