Go to file
Matti Pastell 784a524d86 Cleaning for release 2014-12-08 11:43:29 +02:00
examples Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
src Cleaning for release 2014-12-08 11:43:29 +02:00
test Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
.gitignore Coverage to travis 2014-12-06 19:51:00 +02:00
.travis.yml Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
LICENSE.md Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
README.md Renamed package to Weave,jl as discussed in mpastell:pull-request/54b50af2 2014-12-08 10:31:03 +02:00
REQUIRE Initial Gadfly support 2014-12-03 23:34:29 +02:00

README.md

Weave

Build StatusCoverage Status

Weave is a scientific report generator/literate programming tool for Julia. It resembles Pweave and, Knitr and Sweave.

Current features

  • Noweb syntax for documents.
  • Execute code as terminal or "script" chunks.
  • Capture PyPlot, Gadfly or Winston figures.
  • Supports latex and pandoc markdown output

Not implemented

  • Script reader
  • Inline code
  • Caching

Chunk options

I've tried to follow Knitr's naming for chunk options, but not all options are implemented. You can see src/config.jl for the current situation.

Options are separated using ";" and need to be valid Julia expressions. e.g.

<<term=true; fig_width=6; fig_height=4>>=

File formats

You can get a list of supported output formats:

julia> list_out_formats()
pandoc: Pandoc markdown
rst: reStructuredText and Sphinx
texminted: Latex using minted for highlighting
github: Github markdown
tex: Latex with custom code environments

Usage

Run from julia:

using Weave
weave(Pkg.dir("Weave","examples","julia_sample.mdw")

Using Winston for plots (Julia 0.3 only):

weave(Pkg.dir("Weave","examples","winston_sample.mdw"),
plotlib="Winston", doctype="pandoc")

Using Gadfly (Julia 0.3 only):

weave(Pkg.dir("Weave","examples","gadfly_sample.mdw"), plotlib="Gadfly")

The signature of weave functions is:

function weave(source ; doctype = "pandoc",
    plotlib="PyPlot", informat="noweb", fig_path = "figures", fig_ext = nothing)

Note: Run Weave from terminal and not using IJulia, Juno or ESS, they tend to mess with capturing output.

Contributing

I will probably add new features to Weave when I need them myself or if they are requested and not too difficult to implement. You can contribute by opening issues on Github or implementing things yourself and making a pull request. I'd also appreciate example documents written using Weave to add to examples.

Contributors

Douglas Bates has contributed a number of important fixes and comments.