An open source publishing system for
scientific and technical communication
https://quarto.org
Quarto is an open-source scientific and technical publishing system that builds on standard markdown with features essential for scientific communication.
Literate programming system in the tradition of Org-mode, Sweave, Jupyter Book, Weave.jl, R Markdown, iPyPublish, etc.
Computational Documents (Reproducibility)
Scientific Markdown (Complex technical documents)
Single Source Publishing (Web, PDF, Office, etc.)
Quarto has a pluggable computation system that allows for compatibility with today’s standards along with the ability to evolve to work with new standards:
Notebook workflow (no execution occurs by default):
Plain text workflow (.qmd
=> .ipynb
then execute cells):
Author within e.g. Jupyter Lab (side by side preview for HTML or PDF output):
Markdown document with cross references and executable code blocks:
---
title: "matplotlib demo"
jupyter: python3
---
For a demonstration of a line plot on a polar axis, see @fig-polar.
```{python}
#| label: fig-polar
#| fig-cap: "A line plot on a polar axis"
import numpy as np
import matplotlib.pyplot as plt
r = np.arange(0, 2, 0.01)
theta = 2 * np.pi * np.arange(0, 2, 0.01)
fig, ax = plt.subplots(subplot_kw = {'projection': 'polar'})
ax.plot(theta, r)
ax.set_rticks([0.5, 1, 1.5, 2])
```
Render to various output formats:
Or add your own: https://quarto.org/docs/extensions/
https://coko.foundation/articles/single-source-publishing.html
Documents (HTML, PDF, Word, ODT, Ipynb, etc.)
Presentations (HTML, PDF, PowerPoint, etc.)
Websites & Blogs (Quarto, Hugo, Docusaurus, etc.)
Books (HTML, PDF, Word, ePub, Asciidoc, etc.)
Journal Articles (LaTeX, HTML, Ipynb, JATS, etc.)
Ways to use Jupyter Notebooks with Quarto:
Authoring—Using notebooks as an end-to-end authoring tool for a manuscript or report.
Computations—Using notebooks as source of reproducible computations for a document.
Publishing—Providing interactive supplements to articles published in print or on the web.
Author the entire manuscript within a notebook editor like Jupyter Lab (side by side preview for HTML or PDF output):
Notebook as a computational medium only (as opposed to a medium for both prose and computation)
Staged workflow where computations are embedded within documents for publication (retaining ability to re-execute computations for reproducibility)
Create notebook output alongside traditional formats (LaTeX, HTML, etc.). For example, here is metadata for an American Chemical Society article that produces multiple outputs:
Quarto and Jupyter Book use distinct base markdown systems (Pandoc and MyST) so source level integration is challenging.
However, both projects use Jupyter Notebooks as a content source, and we are working together (via Notebooks Now) on common publishing formats for manuscripts that are created from notebooks.
Nbdev from fast.ai now includes integrated support for generating Quarto websites from library documentation written in notebooks.