From mboxrd@z Thu Jan 1 00:00:00 1970 From: Erik Iverson Subject: Re: [babel] Writing R-packages the org way? Date: Thu, 07 Oct 2010 10:12:23 -0500 Message-ID: <4CADE357.1090803@ccbr.umn.edu> References: <4CADD83B.4000602@ccbr.umn.edu> <8762xeniy6.fsf@stats.ox.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=52410 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P3s90-0007m6-3d for emacs-orgmode@gnu.org; Thu, 07 Oct 2010 11:12:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P3s8x-0001H2-7e for emacs-orgmode@gnu.org; Thu, 07 Oct 2010 11:12:29 -0400 Received: from walleye.ccbr.umn.edu ([128.101.116.11]:1461) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P3s8x-0001Go-1A for emacs-orgmode@gnu.org; Thu, 07 Oct 2010 11:12:27 -0400 In-Reply-To: <8762xeniy6.fsf@stats.ox.ac.uk> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Dan Davison Cc: emacs-orgmode , Rainer M Krug Dan Davison wrote: > Erik Iverson writes: > >> Rainer M Krug wrote: >>> Hi >>> >>> I am about to write an R package, and as I am an org-mode and >>> org-babel user, I would (obviously) like to use org-mode for that. >>> >>> Is there a recommended way of writing an R package in org-babel, or >>> do I have effectively wrap the R code for the documentation >>> etc. into source blocks in babel? >> That's what I do. I've looked into converting an org-file to >> Roxygen or Rd markup, but never got very far. My idea at the time >> was to do something like: >> >> * function1 >> ** Help >> *** Title >> this is function 1 title >> *** Description >> function1 does this... >> *** Usage >> function1(arg1, arg2, ...) >> *** Arguments >> arg1: the first argument >> *** Examples >> function1(arg1 = x, arg2 = y) >> **Definition >> begin_src R :tangle R/package.R >> function1 <- function(arg1, arg2) { >> >> } >> >> >>> Any suggestions how to best proceed? >>> >>> Dream: I would like to have one org file which contains everything >>> (documentation, code, other relevant files) and if I export or >>> tangle the file, I have the package ready. >> Well, that functionality is essentially present with code blocks >> and tangling, except the documentation part. > > Hi Erik, > > Would you mind expanding on that -- what are we missing for the > documentation part? > Dan, by "except for the documentation part", I meant generating .Rd files (the LaTeX-like syntax) automatically from some org-syntax that does *not* depend on code blocks. I.e., it would be cool to specify syntax like I have above for documentation. Using org-mode headlines for each section like Description, Usage, Arguments, etc. Just like exporting to LaTeX generates sections, some process would use these headlines to generate the .Rd sections. That way, you don't have to use the .Rd syntax yourself. No big deal, just a convenience feature. I don't know how you'd specify to org-mode that a particular subtree was to generate .Rd syntax, and I don't know if it would be on export or tangling. An alternative is simply just to use code blocks of type Rd within org-mode and then tangle to .Rd files. That's what I currently do. Hope that explains it, Erik > Dan