Skip to main content
QUICK REVIEW

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

Kacper Sokol, Peter Flach|arXiv (Cornell University)|Jul 2, 2021
Digital Humanities and Scholarship1 references4 citations
TL;DR

This paper proposes a unified workflow for generating academic documents, computational notebooks, and presentations from a single source using version-controlled markdown files. By leveraging Jupyter Book, Jupyter Notebooks, and reveal.js within a Git-based system, the approach enables reproducible, interactive, and transparent scholarly communication with end-to-end versioning and review support.

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/.

Motivation & Objective

  • To address the fragmentation of academic outputs—papers, presentations, notebooks, posters—into multiple, versioned formats that are hard to maintain and align.
  • To reduce the burden of writing and revising content across multiple formats by unifying them into a single source.
  • To improve transparency and provenance in scholarly publishing by adopting software engineering practices such as version control and issue-based review.
  • To enable interactive, executable, and accessible scholarly outputs using open-source tools from the Jupyter ecosystem.
  • To support sustainable, reusable, and community-driven scholarly communication by hosting content on platforms like GitHub with integrated review workflows.

Proposed method

  • Using extended Markdown (MyST flavor) as the single source of truth for all content.
  • Generating Jupyter Book-based documents from the same source to produce interactive, executable web-based manuscripts.
  • Creating Jupyter Notebooks from the same source to support computational reproducibility and live coding.
  • Producing reveal.js-based slide decks from the same source for dynamic, interactive presentations.
  • Hosting the source on GitHub with version control and issue tracking to enable transparent, code-like review processes.
  • Leveraging open-source tools (Jupyter Book, Jupyter, reveal.js) to ensure accessibility, interactivity, and compatibility across devices and platforms.

Experimental results

Research questions

  • RQ1Can a single source document be used to generate multiple academic output formats—papers, notebooks, and presentations—without duplication or inconsistency?
  • RQ2How can version control and issue tracking from software engineering be adapted to improve transparency and traceability in academic publishing?
  • RQ3To what extent can interactive, executable content be integrated into scholarly outputs while maintaining accessibility and long-term sustainability?
  • RQ4What are the practical challenges in replacing the traditional PDF-centric workflow with a dynamic, web-native publishing model?
  • RQ5How can community-driven platforms like GitHub support not only code sharing but also scholarly content creation, review, and dissemination?

Key findings

  • The proposed workflow successfully generates three distinct academic outputs—documents, computational notebooks, and presentations—from a single markdown source file using open-source tools.
  • The use of Git-based version control enables full tracking of revisions, supporting a transparent and auditable publication lifecycle similar to software development.
  • Interactive content such as executable code blocks and dynamic visualizations are natively supported in the generated outputs, enhancing reproducibility and engagement.
  • Accessibility is preserved through adherence to web standards and integration with assistive technologies, including screen readers and navigation aids.
  • The workflow supports both online access and offline browsing via static HTML, PDF, and EPUB exports, ensuring broad accessibility across devices and platforms.
  • The approach demonstrates feasibility through a public, hosted proof-of-concept at https://so-cool.github.io/you-only-write-thrice/, which showcases the full pipeline in action.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.