odfWeave
can be used to embed R code within a word processing
document. The odfWeave
package was created so that the
functionality
of Sweave
can be used within a rich editor like
OpenOffice. The generated document can also easily be edited.The markup language used is the Open Document Format (ODF), which is an
open, non--proprietary format that encompasses text documents,
presentations and spreadsheets. There are several editors/office suites
that can produce ODF files. OpenOffice, as of version 2.0, uses ODF as
the default format. odfWeave
has been tested with OpenOffice to produce text documents. As of the
current version, odfWeave
processing of presentations and
spreadsheets should be considered to be experimental (but should be
supported in subsequent versions).
Since ODF files are compressed archives of files and directories, R
will need to zip and unzip the source file. While R has an unzip
utility, it does not have one for re-zipping files, so an external
application is needed. unzip
and zip
are free utilities located at
http://www.info-zip.org/
Also, jar
can be used. See odfWeaveControl
for more
information on configuring odfWeave
to use applications other than
zip
and unzip
.
A few notes about file paths and working directories:
- When specifying the location of the odt file, you cannot use relative paths such as
file = "../file.odt"
. If the input or output files are not in the current working directory, then the absolute path should be used
odfWeave
changes the working directory to the location where the odt file is decompressed. If an error occurs within odfWeave
, the working directory will be changed back to the original path
Since odfWeave
changes the working directory when the code chunks are executed, references to files and directories should use absolute paths. For example, if you are using read.csv
to bring data into R, the file specification should include the whole path since the working directory will have been changed to a temporary location
The functionality of Sweave
is mostly preserved in
odfWeave
, such as weaving, hooks, figure environments, etc. Some
functionality, such as writing output to separate files for each code
chunk using the split
argument, doesn't make sense when using
ODF. See RweaveOdf
for more details about the available
options.
odfWeave
uses the noweb convention for R code. In-line R commands
should be in Sexpr
calls. The Sexpr
text should all be
completely in one visual format.
e.g., changing the color of part of the Sexpr
could result in an error. Block code chunks should use the
<<>>=
syntax (i.e. no Latex syntax will currently work).
The image format and sizes are specified using setImageDefs
.
The dimensions of the image file and the dimensions of the rendered
image can be set independently. See setImageDefs
for more
details.
The document formatting.odt in the package's examples directory
illustrates the process of changing the appearance of the various
document elements.