The Journal of Statistical Software has a nice paper by Carsten Dominik (the creator of Org mode), Eric Schulte, Dan Davison, and Thomas Dye about Org Mode and its use in Literate Programming and Reproducible Research.
I really like the idea of reproducible research and this paper is an excellent example of it. The authors make available, as supplementary material, everything you need to reproduce the paper, it diagrams, and examples. They also have another example in the paper of reproducible research that makes use of large external sources of data.
Although the paper is published in an academic journal (and one concerning statistics, at that) it is very approachable and anyone interested in learning some of the power of Org mode should give it a read. They cover using Babel to make calculations whose results appear in the paper automatically. So although the code blocks do not (necessarily) appear in the finished paper they are part of the “source code” of the paper and available for anyone interested in verifying the results. Not all of us are generating papers that others might want to verify but the facility is still useful to us. For example, all the diagrams and calculations that appear in my blog posts were generated with Babel and are part of the Org file for the post so I can reproduce them at will. The only exceptions to this are the occasional screen shots that I sometimes include in a post.
I’ve never been able to warm up to Literate Programming but for those who have, the paper shows how Org mode implements it using the Noweb notation. That’s very nice because it’s language agnostic—you can use it with any language. You can discuss your program by presenting code fragments in any convenient (to your exposition) order and then have Org mode export the reassembled code ready for a compiler.
There’s a lot of power in Org mode and I’m always learning new things about it (much like Emacs itself). This paper is a good introduction to some of its features and because the original Org file and supplementary files are available it serves as a laboratory for experimenting with it.