Juliacon 2024

Quarto Extensions for the Julia Community
2024-07-12 , If (1.1)

Quarto is an open-source scientific and technical publishing system that was first presented at JuliaCon 2022. We propose new extensions and workflows that we hope will help the community embrace this promising new tool and boost developers' efforts toward effective communication and reproducibility.


What if there was a single tool, an engine that can turn your work into all kinds of different output formats? Markdown, PDF, LateX, beamer, HTML, reveal.js, ePub, MS Office, OpenOffice, entire websites, dashboards … all of that starting from the same place: a plain Markdown document blended with chunks of your favorite programming language. That is the prospect that Quarto offers.

Note: Please find the Revealjs slides here or see the PDF slide pack attached.

🤕 Those Damn Edge Cases ...

The problem is that this is a very ambitious prospect. Even though Quarto is being continuously improved by a committed and responsive development team, there will always be edge cases that require customization. Your presentation at work, for example, might have to comply with certain styling rules. Similarly, the journal you are targeting for your next research project almost definitely has very specific editing guidelines that (if you're lucky enough) are specified in a LaTeX template. In both cases, you will need to invest some time into modifying or extending the behavior of Quarto.

🚑 Quarto Extensions to the Rescue

Thankfully - and in true open-source spirit - Quarto has come up with a way to ensure that such efforts never go in vain: extensions. Producing and sharing extensions is so simple that it feels almost like a by-product of tailoring Quarto to your specific use case.

When I first learned about extensions, I had already created a custom template for myself to create reveal.js presentations in the iconic white-blue theme of Delft University of Technology. Releasing that template to the public was almost as easy as creating my first Julia package (obligatory hat tip to the folks behind PkgTemplates.jl).

— Speaker 1

A few months later, Speaker 1 heard from at least a few of their colleagues that they had presented pretty HTML slides in white and blue right from their browser.

🔴🟢🟣 Julia-Themed Quarto

Julia-Themed Quarto presents a number of Quarto extensions that are specific to Julia and will be the topic of this talk.

  1. The quarto-julia extension contributes various basic format templates for Julia-themed HTML content. It ships with standard Julia colors and fonts to provide your next presentation with a beautiful look.
  2. The quarto-juliacon-proceedings extension is a more ambitious project. This extension adds support for writing JuliaCon Proceedings papers in Quarto. It is based on the existing JuliaCon Proceedings LaTeX template and can be used to render standard PDF while leveraging all of Quarto's functionalities such as executable code chunks. On top of that, it provides a new HTML template that currently inherits the style of quarto-julia. This provides new opportunities for JuliaCon Proceedings papers to include animated and interactive content.
  3. Finally, the Julia-Themed Quarto website also includes a section on the marriage of Quarto and Documenter.jl. This has not yet been turned into a fully-fledged extension but we provide guides for common workflows that facilitate this marriage. This topic will be presented by Speaker 2.

🎯 Goals and Limitations

The quarto-juliacon-proceedings is not yet officially supported and there remain some issues that need to be addressed to make it fully compatible with the existing LaTeX template. Similarly, there is scope for improvement concerning the experience of using Quarto with Documenter.jl. We hope that through this talk we can stimulate discussion in the community and encourage others to contribute to these efforts.

See also:

I’m a PhD student at Delft University of Technology working on the intersection of Trustworthy Artificial Intelligence and Finance. My current research revolves around Counterfactual Explanations and Probabilistic Machine Learning. Previously, I worked as an Economist for the Bank of England.

I started working with Julia at the beginning of PhD in late 2021 and have since developed and used various packages, some of which I presented at JuliaCon 2022 and 2023. These packages now have a common home called Taija, which stands for Trustworthy Artificial Intelligence in Julia.

You can find out more about my work on my website.

This speaker also appears in:

Usually working on Differential geometry, Numerical Methods and Optimization.

My main packages I develop are Manopt.jl and Manifolds.jl.
You can find more information about my research at ronnybergmann.net.