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.
- 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
- 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
- arXiv Ready: Generate submission packages automatically
- Track Changes: Visual diff between manuscript versions
- Quality Assurance: Built-in validation and error checking
Quick Installation (All Platforms):
# Using pipx (recommended)
pipx install rxiv-maker
# Verify installation
rxiv check-installation
Need help? π Installation Guide
Get your first PDF quickly:
# Create manuscript
rxiv init my-paper
cd my-paper
# Generate PDF
rxiv pdf
- Scientific cross-references (
@fig:plot
,@eq:formula
) - Auto-numbered figures, tables, and equations
- Mathematical notation with LaTeX math
- Code blocks with syntax highlighting
- 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
- BibTeX integration with
[@citation]
syntax - Automatic bibliography generation
- Multiple citation styles (APA, Nature, etc.)
- CrossRef DOI resolution
- Modern CLI with rich output and progress bars
- Consistent environments with package management
- Git-friendly workflow with meaningful diffs
- Comprehensive validation and error reporting
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].

{#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.
- Installation - Setup and dependencies
- Getting Started - Your first manuscript
- User Guide - Complete features and workflows
- Python Execution - Jupyter-like code blocks
- CLI Reference - All commands
- Troubleshooting - Common issues
- arXiv preprints with automated submission packages
- bioRxiv and other preprint servers with professional formatting
- Conference papers with consistent styling
- Reproducible figures generated from Python/R scripts
- Live data integration that updates with analysis changes
- Professional formatting optimized for preprint servers
- arXiv submissions with cross-references and mathematical notation
- Collaborative preprint writing with version control
- Supplementary materials with automated generation
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
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
- π¬ GitHub Discussions - Ask questions, share tips
- π Issues - Report bugs, request features
- π Example Manuscript - Complete manuscript example
- π§ͺ Google Colab - Try without installing
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
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}
}
MIT License - see LICENSE for details.