Add ons for orgmode
This is the
org-9-plus branch. Use this with Release 9.0 or higher. It utilizes
the new versions of `org-babel-get-src-block-info’ and `org-babel-lob-get-info’.
If you are running on the `master’ branch this commit of Org mode is this first with new versions of those functions:
commit 9738da473277712804e0d004899388ad71c6b791 Author: Nicolas Goaziou <email@example.com> Date: Wed Feb 10 00:22:09 2016 +0100
The other files here:
- description and definition of backends to create
- demonstrations of various ravel features and use cases.
- ERT unit tests of ravel features.
- includes an orgmode translation of example-1 from the
Sweave user’s manual. Exporting with
ravel-latexproduces a file very similar to the
- includes an orgmode translation of
knitr-minimal.Rhtmlfrom the the knitr demos page.
- this sets up to allow parallel exports using
latexand two derived backends
ravel-brewand inspect the
- orgmode translation of 017-auto-dependson.Rnw from knitr examples page illustrates dependency aware caching of computed objects.
- how to use the
slidifypackage to make slides.
Bugs happen. Please let me know if you encounter a bug or if something seems to break that once worked as that might indicate a change in the exporter or Babel that I need to keep up with.
*.org files should always work!
Why Bother ?
Orgmode is for keeping notes, maintaining TODO lists, doing project planning, and authoring with a fast and effective plain-text system. The same org document can be used to create LaTeX, HTML, plain ASCII, and various other formats upon export.
Babel is Org-mode’s ability to execute source code within Org-mode documents. It is powerful and flexible and a useful tool for generating reproducible research reports as outlined in the report : Eric Schulte, Dan Davison, Thomas Dye, and Carsten Dominik. A Multi-Language Computing Environment for Literate Programming and Reproducible Research. Journal of Statistical Software. 46(3) Jan 2012. Source code blocks can be editted in place or in a language major-mode edit buffer containing the body of the code block. And for R blocks,
ESS is fully functional.
R document/report Generators
There are many markup and report and document generating packages and functions for R. A useful overview of them is at CRAN Task View for Reproducible Research
Several to which this software is aimed are
Putting orgmode and Sweave together
Each approach (orgmode as report generator vs Sweave-like report generators) has its own strengths and weaknesses.
orgmode makes it really easy to track things and to build code incrementally.
Sweave has several dependency aware caching systems in R that are simple and powerful. Also, there are some nice formatting tools available and more coming into use. And many of them are hard (or maybe impossible) to use when Babel is doing the final report generation. There are terrific possibilities presented by R packages like =knitr= and =pander=.
The Org export engine
The Org export engine (see the Org manual Exporting section or the Org Export Reference Documentation) offers the possibility to have a workstyle in which an orgmode master document contains a subtree with text and code blocks that when exported becomes an Sweave or brew style document that when run produces LaTeX, HTML, and/or some other markup language. By including caching options in those documents the development process becomes easy to organize, restarting work after a break is just a matter of rerunning the document to load the cached objects and libraries, then switching to the orgmode master to try out some new code, reorganize the presentation, and so on.