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

I have unicode characters/ latex errors in my documentation causing issues in R CMD check. How do I troubleshoot?

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

我会收到一长串警告,其独特的组成部分如下:

LaTeX errors when creating PDF version. This typically indicates Rd problems. LaTeX errors found: ! LaTeX Error: Bad math environment delimiter.

See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ! Package inputenc Error: Unicode character ℓ (U+2113) (inputenc)
not set up for use with LaTeX.

See the inputenc package documentation for explanation. Type H for immediate help.

我认为这些很清楚:我的 Latex 有什么地方不好(想象一下,比如缺少大括号或美元符号),并且包含此 unicode 字符也存在一些问题。

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

运行 R CMD check 生成目录,mypackagename.Rcheck/

在我的例子中有一个名为 Rdlatex.log

的文件

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

可能还有其他问题(例如,我在其他 related 问题中注意到检查底层乳胶基础结构的安装和路径的建议),但似乎从我的 .R 文件开始可能硕果累累。

这是 platform-specific,但我很确定在其他平台上有等效的文本编辑器。

在 MacOSX 上,我使用 BareBones Edit,它有一些命令,如“Zap Gremlins”,可以消除所有 non-ASCII 字符 and/or 可选择将 'smart quotes' 等替换为 ASCII 引号字符。

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