在 R 包文档中使用 bibtex 和 roxygen2 使用重音字母



我正在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写了这个问题。

这个WONTFIXR问题也暗示了根本原因:Windows。

编写R 扩展中的特定于平台的部分中讨论了更可口且与 Windows 兼容的解决方法。

最新更新