RDoc
This is the start of some software that one can use to author
documentation for functions, classes, data analyses, sessions,
tutorials, etc. for the R programming language and environment. The
aim is to treat documentation as objects in R and provide support for
different formats. These facilities are intended to provide
extensibility both for programming on the objects, and also for the
tools for rendering the documentation in different formats. We want to
encourage advances in documentation and how we display and interact
with it. It is related to literate programming, literate data
analysis, and interactive and dynamic documents
and various projects covering these topics.
The functionality is intended to be a complementary alternative to the
Rd format - not necessarily a replacement for it. We provide support
for using XML to author documents. Also, we represent the document as
an R object allowing it to be edited programmatically if one chooses.
Additionally, one can move between the different supported
formats relatively easily as the software develops.
There are many different aspects that become more feasible with
extensible tools, both for creating and rendering documentation.
This project was started many years ago. As the family of XML
technologies have matured, the available tools for authoring and
rendering XML have become more widely available. We can edit
documents in Emacs, XMLSpy, Word, AbiWord, OpenOffice, etc. and
operate on the results. The particular format is not important as
long as we can access the information within the document at the
content-level rather than the display level.
We have GUI tools (RGtk, Tcl/tk, and others) some of which can be used
to develop rich browsers for displaying interactive, live
documentation that is tightly integrated with R. Similarly, we have
connected R and XSLT so that we can create documents using libraries
of XSL transformations (e.g. Docbook) as well as in R. This hybrid
approach makes for potentially rich documents and better
transformation software.
-
- Examples
- Sample function and class documents in xml transformed to HTML.
-
- Example vignette-style documents.
- These are files that I have written to describe some code, or
functions or package using XML and many of the same tags that
are shared with the XML documentation system described above.
-
- Overview
- A document that is taking shape to describe what we are trying
to do, why and how.
-
- XSL files
- The directory containing the XSL files for the documentation.
There are other dependent files located in the general Omegahat
XSL area.
-
- Todo list
- The ever growing todo list for this project. This is currently
quite small and we will add directions as we go.
The work was started by myself in 2000, I believe. Byron Ellis worked on it for a
summer at Bell Labs. It got put aside for a long period as it wasn't
clear people wanted to use XML, and the change to the R system to use
objects for documentation was rather extensive. Additionally, we
tried to hard to support the TeX/Rd format.
This involved a Perl parser that made for additional complexity of installation, etc..
Duncan Temple Lang
<duncan@wald.ucdavis.edu>
Last modified: Mon Sep 26 11:47:34 PDT 2005