A hands-on introduction to quarto with a Computo submission
June 5, 2026
Chief Editors Associate Editors
Technical Support Community Management
Stat. learning for life science
Paris-Saclay University, INRAE
Statistics
CNRS, IMT Toulouse
Topological data analysis
Inria, Sophia Antipolis
Research Engineer, IA for Microelectronics
LIRMM, CNRS, Montpellier
Research Engineer, Statistics
LMJL Nantes, CNRS
Statistical methods for ecology
ENSAI CREST, Rennes
ML and causal inference for genomics
CNRS, Grenoble Alpes
ML for therapeutic research
Mines ParisTech
Fundamentally, it provides three things:
Tools to reproduce the results (that’s like cooking)
A “recipe” to reproduce the results (still like cooking)
A path to understanding the results and the process that led to them (unlike cooking…1)
The pdf era and paper submission.
The reproducibility was not a priority:
And then in the Machine Learning domain, there was distill.pub [1]
but…
… engineering was too complex for the average scientist (a lot of javascript, etc.)
In fact, the distill.pub project was discontinued in 2021 [2]
distill.pub
distill.pub’s goals were right, but they outpaced themselves in terms of development complexity.
\(\Rightarrow\) bring the community to the higher standards
distill.pub’s goals were right, but they outpaced themselves in terms of development complexity.
distill.pub’s goals were right, but they outpaced themselves in terms of development complexity.
French Statistical Society appoints a “publication” committee (led by Julien then Pierre) to develop a new journal
Assessment
Point of view
⇝ Emergence of “Computo” idea
Scientific perimeter
Promote contribution in statistics and machine learning that provide insight into which models or methods are more appropriate to address a specific scientific question
Open access
➡️ In accordance with Budapest Open Access Initiative (BOAI) and Plan S
Reproducible
Official launch at the end of 2021
Notebook and literate programming
text (markdown) + math (\(\LaTeX\)) + code (Python/R/Julia), references (bib\(\TeX\))
Environment management, Compilation, Multi-format publication (pdf, html)
Continuous integration/Continuous deployment (CI/CD)
markdownRmarkdownPandocCredit: Pratik89Roy CC-BY-SA-4.0 from Wikimedia
with template notebook document + doc + pre-configured compilation and publication setup
Let’s go, locally (same spirit as Jupyter/Rmarkdown notebooks)
Configuration file versioned and used during CI compilation/publication action
A git push command will trigger your article compilation (including computations) and publication as a github page1
See the pre-configured .github/workflows/build.yml file for the github action configuration2
If the CI process succeeds, both HTML and PDF versions are published on the github-page associated to the repository
The editorial process is migrating from OpenReview to the Peer Community In platform:
Submit:
After a “traditional” review process, a 3-step procedure:
including
🥲 Fully operational + doi, ISSN
🙂 7 published articles, 3 in pre-production, 6 under review (more details here)
🙂 x presentations (Montpellier, Toronto, Humastica, Grenoble, RR2023, etc.)
🙂 French reproducible research network
🤯 Difficult to find reviewers
🤔 Institutional support?
🤔 Changing practices in the scientific community?
PCI StatML (https://statml.peercommunityin.org/)
Direct submission to Computo via OpenReview
Once PCI integration is fully operational:
| PCI StatML | Computo | |
|---|---|---|
| Role | Peer review platform | Reproducible journal |
| Scope | All Stat/ML domains | Strong reproducibility focus |
| Outlets | Multiple journals possible | Computo only |
pandoc), Rstudio/Posit support 🚀Scientific and editorial reproducibility
The global scientific workflow of a reproducible process for a Computo may be split into two types of steps:
External and Editorial
Requirement
If the notebook contains everything to produce the final document
\(\Rightarrow\) “Direct reproducibility” in the sense that the notebook is the only thing needed to reproduce the results.
Ultimately, the workflow must end with a direct reproducibility step which concludes the whole process.
data produced by the external process \(\Rightarrow\) transferred to the notebook environment.
Requirement
Not only the intermediate results are provided, but also the code to transfer it in the notebook environment.
There are a variety of software solutions to do so.
joblib.Memory, caching mechanism for python functions, save the results of a function call to disk, and load it back later..RData file format, can be loaded back in R with the load() function..csv, .tsv, .json, etc.) is also a solution..joblib directory or .Rdata file) could be committed to the git repository, and directly loaded in the notebook environment.In this workshop, we will learn how to use quarto to create a document that includes code, data, and narrative text. We will also learn how to make the CI (continuous integration) work.
To get started you will need to clone the mock template for this workshop. The template is available at
Make a git clone of the repository you just templated and open it in your favorite IDE.
Open published-paper-tsne.qmd in your favorite text editor.
Find the code cells marked as “TODO” and modify them in order to have the plots.
Look at the scripts in the scripts directory for the plotting code
Try to render the document with quarto, it should produce a pdf and an html document.
ONce you’re happy with the result, it’s time to push the changes to GitHub.
This will trigger the CI workflow, which will run the tests and render the document.
You can check the CI status by going to the 🏃♂️ “Actions” tab of your repository on GitHub. You should see a workflow run triggered by your push 🚦.
If everything is 🟢 green, you can go to the 📄 “Pages” tab of your repository and see the rendered document 🎉.
Now you can write a nice mail to the Computo board! 📧🎉
JDS 2026 https://computo-journal.org