我的平台是:
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("&", "&", 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