我正在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”中的文档,但未提供任何示例。
谢谢
答案 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'causfinder.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
}