Quarto

Swiss army knife for hand-whittling scientific reports, slides and blogs



A new entrant in the world of scientific notebooks and academic blogging. Kind of a competitor/complement to jupyter and blogdown which unites them all, and also shares many authors with them. C&C codebraid.

Quarto® is an open-source scientific and technical publishing system built on Pandoc

  • Create dynamic content with Python, R, Julia, and Observable.
  • Author documents as plain text markdown or Jupyter notebooks.
  • Publish high-quality articles, reports, presentations, websites, blogs, and books in HTML, PDF, MS Word, ePub, and more.
  • Author with scientific markdown, including equations, citations, crossrefs, figure panels, callouts, advanced layout, and more.

Notable claims:

Pandoc markdown has excellent support for LaTeX equations and citations. Quarto adds extensions for cross-references, figure panels, callouts, advanced page layout, and more.

and

Engage readers by adding interactive data exploration to your documents using Jupyter Widgets, htmlwidgets for R, Observable JS, and Shiny.

So it does some of the same things that jupyter and blogdown do as regards diverse output, but attempts to tie them together into a single scientific workbook.

It seems to load jupyter notebook source docs just fine, and notably promises that it will actually render citations correctly in jupyter.

Websites

Quarto classic

The theming and site structuring is vastly somewhat less flexible as far as website output than hugo, the blogdown backend. *update: now hugo is a supported backend, although a clunky one. See below.

If one wished to use the quarto engine to experiment with weird other stuff (such as the content ranking, recommendation or the quirky indexing systems as seen on this site) then one is, AFAICT, out of luck. we can use the new Custom Listings support, which seems to do about 90% of what I want.

OTOH, it leverages many more features of pandoc which leads to many well-supported advanced typographical features.

Index pages are called “listings”

See Document Listings, Custom Listings.

tl;dr:

title: "Listing Example"
listing:
  contents:
    - "reports/*.qmd"
    - "lab-notes/*reports.qmd"

hugo backend

hugo is a supported backend.

Build a custom format

Build a custom backend

TBC

Pre/post processors

slides

Slide output options are here:

TBD.

Jupyter support

Of course jupyter ends up being a thing. It is a little complicated, of course, as it always is when venturing into the Jupyter Cinematic Universe.

For one, jupyter notebooks are a valid frontend for quarto. But also the jupyter ipykernl infrastructure is the execution model for python, I think.

It is well-documet elsewhere that I dislike jupyter notebooks as a front-end interface to this, or any, system. But I will take on the interactive code execution stuff.

It is unclear to me how much of a round-trip interaction loop is supported for jupyter kernels: quarto renders essentially a static HTML page, so I don't believe the HTML widgets can be used to interact with the kernel, although they might have some basic animation support etc.

Academic affordances

As an academic I want certain things in my writing tools, i.e. maths, citations and crossreferences. Quarto knows about these.

Incoming


No comments yet. Why not leave one?

GitHub-flavored Markdown & a sane subset of HTML is supported.