【问题标题】:Using accented letters in R package documentation using bibtex and roxygen2使用 bibtex 和 roxygen2 在 R 包文档中使用重音字母
【发布时间】:2019-09-26 16:51:21
【问题描述】:

我正在使用 roxygen2(版本 6.1.1)在 RStudio(R 版本 3.6.1;RStudio 版本 1.2.1335)中开发 R 包,并且正在使用 \insertCite{} 命令和 bibtex 文件,以便在文档中引用各个功能的参考资料。我正在遵循Inserting references in Rd and roxygen2 documentation 的指示。一切正常,除非我尝试包含带有重音字符的引用。所以我的 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 行,这应该可以工作,我做的。所以我被难住了。

【问题讨论】:

  • 这里有很多细节:cran.r-project.org/doc/manuals/r-release/R-exts.html 这可能会有所帮助。搜索编码。
  • 您是否尝试过插入不带编码的字符?在 Github 中查看其他一些包描述,如果出现重音字符,这很正常,例如 Ç。我认为这是因为 Encoding: UTF-8 条目。这是一个示例:github.com/EDiLD/esmisc/blob/master/DESCRIPTION。这个例子是一个带变音符号的o,但似乎是相同的原理。
  • 字符 "Ç" 具有 latin1 编码,这可以在 R 中使用 Encoding("Ç") 进行验证。我已经阅读了有关编码的 R-exts 手册材料,但仍然没有解决方案。我在函数的 roxygen2 序言中添加了@encoding UTF-8,但这没有效果。
  • 你有github上的包吗?
  • 最终建议,也许可以尝试 R-extensions 手册第 1.9 节中建议的 bibentry 功能。或者在这里询问包开发专家:stat.ethz.ch/mailman/listinfo/r-package-devel

标签: r roxygen2 bibtex


【解决方案1】:

我强烈怀疑您使用的是 Microsoft 操作系统。

我在 roxygen2 示例块中有代码,它输出重音法语字符:适用于 MacOS 和 Linux 上的非法语语言环境:Windows 把它弄得一团糟。我在包说明中有 UTF-8。对我来说,显而易见的解决方法是不要使用 Windows 来记录包。 UTF-8 对我来说似乎无处不在,除了在 Windows 上。 R 文档链接很有帮助,在相关帖子中,强大的 Yihui Xie writes about this issue

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

platform specific sections 在编写 R 扩展中讨论了更可口且与 Windows 兼容的解决方法。

【讨论】:

    猜你喜欢
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 2014-10-18
    • 2013-01-31
    相关资源
    最近更新 更多