如何将Rd文件转换为pdf以获取我在R中创建的包?

时间:2010-09-23 15:20:28

标签: r

我正在R中编写一个包,我很欣赏一些示例bash代码来处理Rd文件到latex然后再到pdf。

位于〜/ mypkg / dev /目录中。我已经生成了文件结构和Rd模板。

来自〜/ mypkg / dev / man,我试过

R CMD Rdconv -o mypkg-package.tex --type=latex mypkg-package.Rd
生成了

mypkg-package.tex文件,但

pdflatex mypkg-package.tex

生成没有任何前导码的tex。

我已阅读有关此主题的“编写R扩展”和“R CMD Rdconv --help”中的文档,但未提供任何示例。

谢谢

4 个答案:

答案 0 :(得分:17)

这里有两个问题:

首先,Rdconv命令一次仅转换一个 Rd文件;你的问题表明你想要完整的手册。

其次,Rd2dvi命令是你的朋友。我刚刚在本地包上运行了以下内容:

R CMD Rd2dvi --pdf --title='Test of foo' -o /tmp/foo.pdf man/*.Rd

这应该是你要求的。

答案 1 :(得分:4)

0。从问题来看,假设您有.Rd文件。

您可能已经通过roxygen包或其他方式获取了这些.Rd文件。您需要包的.pdf。一种方法是从Windows的命令行。

1。打开Windows命令提示符(如果可能,在管理员模式下)。 开始 - 键入“cmd” - (可选:右键单击出现的图标 - 以管理员身份运行)

2. 在命令propmt中传递到R的当前工作目录(可以通过R控制台中的“getwd()”找到)。 R的当前工作目录包含包源的文件夹。

cd C:\Users\erdogan\Documents\Revolution

3. 为了论证,请说包文件夹名为“causfinder”。在Windows命令提示符中运行以下命令:

(确保你在R的工作目录中没有任何causfinder.pdf(你可能已经在R之外用其他方式获得了一些R-development-incompatible causfinder.pdf)。如果存在,删除causfinder .pdf首先。 否则,您会收到此错误:“file'c​​ausfinder.pdf'存在;请先将其删除”)

R CMD Rd2pdf causfinder/

此命令执行.Rd - > LateX - > .pdf进程自动进行。您在R的工作目录中获得了causfinder.pdf。

“处理文档文件”部分的“编写R扩展”手册对此进行了进一步描述

答案 2 :(得分:4)

试试这个。它对我有用。 来自Making an R package PDF manual using devtools

klist -k -t <keytab>

答案 3 :(得分:1)

我创建了一个基本的bash函数,所以我可以从命令行运行rdoc。它生成Rd文件,创建pdf并打开它。我只将它用于测试,而不是用于创建最终文档。您可以通过将以下函数添加到.bashrc(或您使用的任何一个)文件

来添加它
rdoc() {
  echo -e "devtools::document()" | R --no-save
  rm /tmp/rdoc.pdf
  R CMD Rd2pdf -o /tmp/rdoc.pdf man/*.Rd
  open /tmp/rdoc.pdf
}