R的包是否支持unicode rd文件?

时间:2015-08-31 08:41:48

标签: r

我的平台是:

Win7 64
Rtudio
R3.1.3
devtools 1.8.0
Rxygen2 4.1.1

我正在尝试制作自己的包装。我需要用unicode来描述这个函数。我使用Roxygen2生成Rd文件。代码非常简单(我删除了真正的函数,只知道如何制作一个包):

xxxx表示由unicode发表的评论。

#' eastChoice
#' @param fn.kind wind xxxxxx
#' @param estChoice.Path wind
#' @return data.frame
#' @export
#' @examples
#' getIndByEastChoice("20150108.csv")
getIndByEastChoice <- function(fn.kind){
  d <- data.frame(a=c(1,2,3), b=c(4,5,6))
  dt <- data.table::data.table(d)
}

当我检查(devtools)R代码时,它总是失败。提供以下错误信息:

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
LaTeX errors found:
! Package inputenc Error: Unicode char \u8:��<87> not set up for use with LaTeX.

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

起初我认为Roxygen2不支持ASCII以外的unicode,但是我读了Roxygen2生成的Rd文件,没关系。 然后我只使用build&amp; Reload功能(使用devtools),令我惊讶的是,它通过了。

然后我在R文件中添加更多unicode注释并再次检查(devtools)它。它如下所示:

#' eastChoice xxxxxx
#' @param fn.kind wind xxxxx
#' @param estChoice.Path wind xxxxxxxx
#' @return data.frame xxxxxxx
#' @export
#' @examples
#' getIndByEastChoice("20150108.csv")
getIndByEastChoice <- function(fn.kind){
  d <- data.frame(a=c(1,2,3), b=c(4,5,6))
  dt <- data.table::data.table(d)
}

它按照我的预期失败了,但是给出了其他信息并且看起来更严重:

* checking whether package 'ftools.temp' can be installed ... ERROR
Installation failed.
See 'D:/onedrive/program/R.package/ftools.temp.Rcheck/00install.out' for details.

所以我检查了日志:

* installing *source* package 'ftools.temp' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
wrong in gsub("&", "&amp;", x, fixed = TRUE) : '<86>'multi byte string is wrong
* removing 'D:/onedrive/program/R.package/ftools.temp.Rcheck/ftools.temp'

这次构建和加载也失败了。

所以我认为R可能不支持其RD文件中的unicode其他ASCII?任何人都可以证实吗?如果确实如此,我不会浪费时间来解决这个问题。

@hrbrmstr 谢谢。我已经尝试过你的建议了。首先,我在解密文件中添加了“编码:UTF-8”行,然后使用UTF-8编码保存了.R和DESCRIPTION,以确保编码正确。我运行“检查”功能,但我得到了同样的错误:

strsplit(txt, "\n", fixed = TRUE)���о���: �������ַ���1����UTF-8
* checking examples ... OK
* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
����: ��������'"D:/R/R-31~1.3/bin/x64/Rcmd.exe" Rd2pdf  --batch --no-preview --build-dir="C:/Users/kanpu/AppData/Local/Temp/RtmpgFjyKw/Rd2pdf15f2c22b7768d" --no-clean -o  ftools.temp-manual.pdf  "D:/onedrive/program/R.package/ftools.temp.Rcheck/ftools.temp"'��״̬��1
LaTeX errors found:
! Package inputenc Error: Unicode char \u8:��<97> not set up for use with LaTeX.

描述如下:

Package: ftools.temp
Type: Package
Title: Just try to make a package
Version: 0.1
Date: 2015-08-25
Author: None
Maintainer: no one <none@somewhere.net>
Description: Just try to make a package
License: CPL
LazyData: TRUE
Encoding:UTF-8
Depends:
  data.table

0 个答案:

没有答案