Skip to content

Rxiv-Maker is a GitHub-native framework that converts markdown into a publication-ready PDF. It automates scientific preprint generation with a focus on reproducibility and version control

License

Notifications You must be signed in to change notification settings

HenriquesLab/rxiv-maker

DOI License GitHub stars

Rxiv-Maker

Write scientific preprints in Markdown. Generate publication-ready PDFs efficiently.

Rxiv-Maker converts enhanced Markdown into professional PDFs with automated figure generation, citation management, and LaTeX typesetting. While LaTeX installation is required, users don't need to write LaTeX code directly.

✨ Why Rxiv-Maker?

🎯 For Researchers

  • Write in Markdown: Focus on content, not formatting
  • Automated Figures: Python/R scripts become publication figures
  • Smart Citations: BibTeX integration with cross-references
  • Instant PDFs: From Markdown to professional academic PDF

πŸš€ For Teams

  • Git-Friendly: Version control for manuscripts and figures
  • Reproducible: All figures generated from code
  • Collaborative: Standard tools, no vendor lock-in
  • Multi-Platform: Works everywhere with local installation

πŸ“ˆ For Publishing

  • arXiv Ready: Generate submission packages automatically
  • Track Changes: Visual diff between manuscript versions
  • Quality Assurance: Built-in validation and error checking

πŸš€ Installation

Quick Installation (All Platforms):

# Using pipx (recommended)
pipx install rxiv-maker

# Verify installation
rxiv check-installation

Need help? πŸ“– Installation Guide

πŸ”₯ Quick Start

Get your first PDF quickly:

# Create manuscript 
rxiv init my-paper
cd my-paper

# Generate PDF
rxiv pdf

🎯 Getting Started Guide

πŸ† Key Features

🎨 Enhanced Markdown

  • Scientific cross-references (@fig:plot, @eq:formula)
  • Auto-numbered figures, tables, and equations
  • Mathematical notation with LaTeX math
  • Code blocks with syntax highlighting

πŸ“Š Automated Figures & Data Analysis

  • Execute Python/R scripts during PDF generation
  • 🐍 NEW: Jupyter-like executable Python code blocks
  • Real-time data analysis with {{py:exec}} and {{py:get variable}}
  • Matplotlib, ggplot2, and custom visualizations
  • Version-controlled figure code and analysis modules

πŸ“š Citation Management

  • BibTeX integration with [@citation] syntax
  • Automatic bibliography generation
  • Multiple citation styles (APA, Nature, etc.)
  • CrossRef DOI resolution

πŸ”§ Developer Experience

  • Modern CLI with rich output and progress bars
  • Consistent environments with package management
  • Git-friendly workflow with meaningful diffs
  • Comprehensive validation and error reporting

🌟 Example Manuscript

Input Markdown:

# Introduction

{{py:exec
import pandas as pd
import numpy as np

df = pd.read_csv("FIGURES/DATA/experimental_results.csv")

# Calculate correlation between specific columns (safer than iloc)
# Assuming the CSV has columns like 'treatment_effect' and 'baseline_score'
correlation = df['treatment_effect'].corr(df['baseline_score'])
sample_size = len(df)
}}

Our analysis of {{py:get sample_size}} samples in Figure @fig:results shows 
significant improvement over previous methods [@smith2023; @jones2024].

![Research Results](EXAMPLE_MANUSCRIPT/FIGURES/SFigure__arxiv_growth.py)
{#fig:results}

The correlation coefficient was r = {{py:get correlation:.2f}} (p < 0.001).

## References

Output: Professional PDF with numbered figures, live data integration, citations, and LaTeX-quality typesetting.

πŸ“– Documentation

🎯 Use Cases

πŸ“„ Research Preprints

  • arXiv preprints with automated submission packages
  • bioRxiv and other preprint servers with professional formatting
  • Conference papers with consistent styling

πŸ“Š Preprint Features

  • Reproducible figures generated from Python/R scripts
  • Live data integration that updates with analysis changes
  • Professional formatting optimized for preprint servers

πŸŽ“ Preprint Workflows

  • arXiv submissions with cross-references and mathematical notation
  • Collaborative preprint writing with version control
  • Supplementary materials with automated generation

πŸƒβ€β™€οΈ Alternative Workflows

Need specialized environments?

  • 🌐 Google Colab: Browser-based editing and PDF generation
  • ⚑ GitHub Actions: Automated cloud builds for teams
  • 🐳 Docker: Use docker-rxiv-maker for containerized execution

πŸš€ Essential Commands

rxiv init my-paper          # Create new manuscript
rxiv pdf                    # Generate PDF  
rxiv validate              # Check manuscript quality
rxiv arxiv                 # Prepare arXiv submission
rxiv track-changes v1 v2   # Visual version comparison

πŸ“– CLI Reference

🀝 Community

πŸ—οΈ Contributing

We welcome contributions! Whether it's:

  • πŸ› Bug reports and fixes
  • ✨ New features and improvements
  • πŸ“– Documentation enhancements
  • πŸ§ͺ Testing and validation

Quick contributor setup:

git clone https://github.com/henriqueslab/rxiv-maker.git
cd rxiv-maker
pip install -e ".[dev]"
pre-commit install

πŸ“„ Citation

If Rxiv-Maker helps your research, please cite:

@misc{saraiva_2025_rxivmaker,
  title={Rxiv-Maker: an automated template engine for streamlined scientific publications}, 
  author={Bruno M. Saraiva and Guillaume Jaquemet and Ricardo Henriques},
  year={2025},
  eprint={2508.00836},
  archivePrefix={arXiv},
  url={https://arxiv.org/abs/2508.00836}
}

πŸ“œ License

MIT License - see LICENSE for details.


πŸ”¬ From Jacquemet and Henriques Labs

"Because science is hard enough without fighting with LaTeX."

πŸš€ Start Writing | πŸ“š User Guide | βš™οΈ CLI Reference

About

Rxiv-Maker is a GitHub-native framework that converts markdown into a publication-ready PDF. It automates scientific preprint generation with a focus on reproducibility and version control

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5