问题描述
我正在构建我的第一个文件,并且在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)之类的工具或等效工具来处理字符串,直到它们呈现为止。