English

You Only Write Thrice: Creating Documents, Computational Notebooks and Presentations From a Single Source

Programming Languages 2021-07-15 v1 Artificial Intelligence Machine Learning

Abstract

Academic trade requires juggling multiple variants of the same content published in different formats: manuscripts, presentations, posters and computational notebooks. The need to track versions to accommodate for the write--review--rebut--revise life-cycle adds another layer of complexity. We propose to significantly reduce this burden by maintaining a single source document in a version-controlled environment (such as git), adding functionality to generate a collection of output formats popular in academia. To this end, we utilise various open-source tools from the Jupyter scientific computing ecosystem and operationalise selected software engineering concepts. We offer a proof-of-concept workflow that composes Jupyter Book (an online document), Jupyter Notebook (a computational narrative) and reveal.js slides from a single markdown source file. Hosted on GitHub, our approach supports change tracking and versioning, as well as a transparent review process based on the underlying code issue management infrastructure. An exhibit of our workflow can be previewed at https://so-cool.github.io/you-only-write-thrice/.

Keywords

Cite

@article{arxiv.2107.06639,
  title  = {You Only Write Thrice: Creating Documents, Computational Notebooks and Presentations From a Single Source},
  author = {Kacper Sokol and Peter Flach},
  journal= {arXiv preprint arXiv:2107.06639},
  year   = {2021}
}

Comments

Published at Rethinking ML Papers -- ICLR 2021 Workshop. OpenReview: https://openreview.net/forum?id=i4zpuNRiU4G Exhibit: https://so-cool.github.io/you-only-write-thrice/

R2 v1 2026-06-24T04:11:16.803Z