我正在RStudio(R版本3.6.1;RStudio 版本 1.2.1335( 使用roxygen2
(版本 6.1.1(,并将insertCite{}
命令与 bibtex 文件一起使用,以便在文档中引用各个函数的引用。我正在按照说明在 Rd 和 roxygen2 文档中插入引用。一切正常,除非我尝试包含带有重音字符的引用。所以我的 REFERENCES.bib 文件包含以下条目:
@ARTICLE{Cabcdef15,
author={John {c C}abcdef},
title={A title},
journal={Journal of Applied Stuff},
year={2015},
volume={81},
number={1},
pages={100--200},
}
{c C}
是 C-cedilla (Ç( 的 LaTeX 命令。(我也尝试直接c{C}
和粘贴Ç
,但都没有解决问题。
我在roxygen2
序言中引用了这个引用,用于我的 R 函数myfunction
使用insertCite{Cabcdef15}{mypackage}
.但是,在文档输出中(运行devtools::document()
和devtools::build()
,安装软件包并运行library(mypackage)
和?myfunction
之后(,引文在我的浏览器(谷歌浏览器(中显示为(Çabcdef 2015(而不是(Çabcdef 2015(。
据推测,这是一个编码问题。但是,从我在上述说明中读到的内容(在4.4 文件 REFERENCES.bib 的编码下(,这应该可以工作,前提是我在 R 包的描述文件中有行Encoding: UTF-8
,我这样做了。 因此我被难住了。
我强烈怀疑您使用的是Microsoft操作系统。
我在 roxygen2 示例块中有代码,它输出重音法语字符:适用于 MacOS 和 Linux 上的非法语区域设置:Windows 把它弄得一团糟。我在软件包描述中有 UTF-8。对我来说,显而易见的解决方法是不要使用Windows来记录包。UTF-8 似乎在任何地方都适合我,除了在 Windows 上。R文档链接很有帮助,在相关文章中,强大的Yihui Xie写了这个问题。
这个WONTFIX
R问题也暗示了根本原因:Windows。
编写R 扩展中的特定于平台的部分中讨论了更可口且与 Windows 兼容的解决方法。