/showyourwork

Fully reproducible, open source scientific articles in LaTeX.

Primary LanguageTeXMIT LicenseMIT

showyourwork

Overview

This repository is intended to help authors publish the code that generated the figures and results in a scientific article. It ensures that the compiled article PDF is always in sync with all of the code used to generate it. It does this automatically—and seamlessly—with the help of the Snakemake workflow management system, the tectonic typesetting engine, and Github Actions CI. The basic philosophy behind showyourwork is this: scientific papers should exist as GitHub repositories comprised of LaTeX files, figure scripts, rules to access datasets, a platform/environment specification, and nothing else. Anyone should be able to re-generate the article PDF from scratch at the click of a button.

Click here to get started with a fresh article repository based on showyourwork. Once your repo is created, a GitHub Action will automatically run to finish setting it up. Refresh the page after a few minutes to view the new README.md with instructions on how to get started.

Test Suite

The showyourwork-template repository contains several branches, each containing a workflow template that demonstrates a particular use case or customization of showyourwork. Upon every release of showyourwork (triggered via a GitHub Actions workflow_dispatch event), these templates are updated and instantiated on the showyourwork-example repository. The following table shows the build status of all of these examples.

branch build status output
custom-figure-rule test status Read the article
expensive-figure test status Read the article
figure-dataset test status Read the article
figure-deps test status Read the article
main test status Read the article
multi-panel-figure test status Read the article
multiple-figures test status Read the article
simple-figure test status Read the article
static-figure test status Read the article