Go to file
Sebastian Pfitzner 77793c775c
Merge pull request #481 from dlfivefifty/patch-2
Mention Quarto in Related Packages
2024-04-16 12:50:53 +02:00
.github fixes #400 2020-10-03 04:44:52 +09:00
bin rm unncessary `Symbol` spec: 2020-05-10 13:20:44 +09:00
doc HTML( 2022-02-14 15:33:21 +08:00
examples update links 2020-06-14 13:34:43 +09:00
paper Updated citation #85 2017-03-15 17:07:25 +02:00
src Merge pull request #462 from NicholasWMRitchie/nwmr 2023-02-10 10:32:01 +01:00
stylesheets more consistent templates names, move stylesheets into ./stylesheets 2020-05-24 14:16:37 +09:00
templates Reapply improvements to the tex rendering pipeline 2020-06-03 14:13:07 +02:00
test relax dataframe displayed row counting 2023-02-10 09:02:10 +01:00
.gitattributes Fix handling of \r #72 2016-12-22 21:40:07 +02:00
.gitignore 🔥 2020-06-14 01:43:32 +09:00
.travis.yml version 0.10.5 2020-09-30 19:07:26 +09:00
LICENSE.md update LICENSE 2020-05-10 14:10:46 +09:00
NEWS.md version 0.10.6 2020-10-03 04:50:49 +09:00
Project.toml update relocatablefolders.jl dependency 2023-02-10 09:04:49 +01:00
README.md Update README.md 2024-04-16 11:43:11 +01:00



CI codecov

Weave is a scientific report generator/literate programming tool for the Julia programming language. It resembles Pweave, knitr, R Markdown, and Sweave.

You can write your documentation and code in input document using Markdown, Noweb or ordinal Julia script syntax, and then use weave function to execute code and generate an output document while capturing results and figures.

Current features

  • Publish markdown directly to HTML and PDF using Julia or Pandoc
  • Execute code as in terminal or in a unit of code chunk
  • Capture Plots.jl or Gadfly.jl figures
  • Supports various input format: Markdown, Noweb, Jupyter Notebook, and ordinal Julia script
  • Conversions between those input formats
  • Supports various output document formats: HTML, PDF, GitHub markdown, Jupyter Notebook, MultiMarkdown, Asciidoc and reStructuredText
  • Simple caching of results

Citing Weave: Pastell, Matti. 2017. Weave.jl: Scientific Reports Using Julia. The Journal of Open Source Software. http://dx.doi.org/10.21105/joss.00204

Weave in Juno demo


You can install the latest release using Julia package manager:

using Pkg


using Weave

# add depencies for the example
using Pkg; Pkg.add(["Plots", "DSP"])

filename = normpath(Weave.EXAMPLE_FOLDER, "FIR_design.jmd")
weave(filename, out_path = :pwd)

If you have LaTeX installed you can also weave directly to pdf.

filename = normpath(Weave.EXAMPLE_FOLDER, "FIR_design.jmd")
weave(filename, out_path = :pwd, doctype = "md2pdf")

NOTE: Weave.EXAMPLE_FOLDER just points to examples directory.


Documenter.jl with MKDocs generated documentation:

Editor support

Install language-weave to add Weave support to Juno. It allows running code from Weave documents with usual keybindings and allows preview of html and pdf output.

The Julia extension for Visual Studio Code adds Weave support to Visual Studio Code.


You can contribute to this package by opening issues on GitHub or implementing things yourself and making a pull request. We'd also appreciate more example documents written using Weave.


You can see the list of contributors on GitHub: https://github.com/JunoLab/Weave.jl/graphs/contributors . Thanks for the important additions, fixes and comments.

Example projects using Weave

  • Literate.jl can be used to generate Markdown and Jupyter notebooks directly from Julia source files with markdown in comments.
  • Quarto can generate Jupyter notebooks, HTML, or PDF directly from a Markdown format containing Julia code blocks, and also works with R and Python.