我的文档中存在Unicode字符/乳胶错误,导致R CMD检查出现问题我该如何排除故障?

问题描述

我正在构建我的第一个文件,并且在R CMD check之后运行devtools::build()时,发现“检查手册的PDF版本”有很多问题。我努力寻找有关如何进行故障排除的指导,所以我要问这个问题:“如何识别Roxygen用于制作手册的.Rd文件的.R文件中有问题的文本?”然后继续回答,希望对其他人有用。

我会收到一系列警告,并且以下是独特的组件:

创建PDF版本时出现LaTeX错误。 这通常表示Rd问题。 发现LaTeX错误: ! LaTeX错误:数学环境分隔符错误

有关说明,请参阅LaTeX手册或LaTeX Companion。 H型 立即寻求帮助。 !程序包inputenc错误:Unicode字符ℓ(U + 2113)(inputenc)
尚未设置为与LaTeX配合使用。

请参阅inputenc软件包文档以获取解释。 H型 立即获得帮助。

我认为这很清楚:我的某个地方的乳胶不好(例如缺少大括号或美元符号,就像一个想象中的一样),并且包含此unicode字符也存在一些问题。

我的问题是,“我如何识别违规行?”

解决方法

运行R CMD check会生成一个目录mypackagename.Rcheck /

就我而言,其中有一个名为Rdlatex.log的文件

此日志文件具有更详细(且非常有用/清晰)的警告和错误消息,其中包含行号和文件名,使我能够查找有问题的文本并提出一些解决方法:-)

可能还有其他问题(例如,我在其他related问题中注意到有关检查基础乳胶基础设施的安装和路径的建议),但似乎从.R文件开始可能很有成果

,

这是特定于平台的,但是我敢肯定其他平台上也有等效的文本编辑器。

在MacOSX上,我使用BareBones Edit,它具有一些命令,例如“ Zap Gremlins”,可消除所有非ASCII字符和/或可选地将诸如“智能引号”之类的内容替换为ASCII引号。

关于修复LaTeX嵌入式命令字符串:我建议最好使用“ KLatexFormula”(Windows)之类的工具或等效工具来处理字符串,直到它们呈现为止。