Skip to main content

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

Project description

DOI License GitHub stars

Rxiv-Maker

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

๐Ÿ’ก Best Experience: Use the VS Code Extension for syntax highlighting and citations.

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?

  • Write in Markdown: Focus on content, not LaTeX formatting
  • Automated Figures: Python/R scripts become publication figures
  • Smart Citations: BibTeX integration with cross-references and DOI resolution
  • Dual Output: Generate both PDF and DOCX from the same source
  • Git-Friendly: Version control for manuscripts and figures
  • Reproducible: All figures generated from code
  • arXiv Ready: Generate submission packages automatically
  • Track Changes: Visual diff between manuscript versions

๐Ÿš€ Installation

๐ŸŽ macOS (Recommended - includes LaTeX automatically)
brew tap henriqueslab/formulas
brew install rxiv-maker
rxiv check-installation

Upgrade:

brew upgrade rxiv-maker

๐Ÿ“– Homebrew Formula - Includes Python, LaTeX (MacTeX), and all dependencies

๐Ÿง Linux / Windows (WSL)

Using pipx (recommended):

pipx install rxiv-maker
rxiv check-installation

Using uv (faster alternative):

uv tool install rxiv-maker
rxiv check-installation

Requirements:

  • Python 3.11+: For rxiv-maker CLI and figure generation
  • LaTeX Distribution: Install via system package manager
    • Ubuntu/Debian: sudo apt install texlive-latex-recommended
    • Fedora/RHEL: sudo dnf install texlive-latex

Upgrade:

pipx upgrade rxiv-maker  # or: uv tool upgrade rxiv-maker

๐Ÿ“– Need help? See the complete installation guide for detailed platform-specific instructions.

๐Ÿ”ฅ Quick Start

Get your first PDF quickly:

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

# Generate PDF
rxiv pdf

Or explore the complete example manuscript:

# Clone the official example with one command
rxiv get-rxiv-preprint
cd manuscript-rxiv-maker/MANUSCRIPT

# 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
  • Markdown comments (<!-- note -->) for TODOs and notes

๐Ÿ“Š 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: Choose between numbered [1, 2] or author-date (Smith, 2024) citations
  • Configurable author name formatting: Format bibliography as Smith, J.A. or Smith, John A. or John A. Smith
  • Inline DOI resolution: Paste DOIs directly in text 10.1038/... and auto-convert to citations
  • CrossRef/DataCite DOI validation and metadata fetching

๐Ÿ“– Learn more: Quick Reference Cheat-Sheet

๐Ÿ”ง 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

๐Ÿ’ก Get this complete example instantly:

rxiv get-rxiv-preprint

This clones manuscript-rxiv-maker with all features demonstrated.

Input Markdown:

## Introduction

Recent advances in microscopy have enabled new insights into
cellular dynamics [@smith2023; @jones2024].

![Experimental Results](FIGURES/results_plot.py)
{#fig:results}

Our analysis (Figure @fig:results) shows significant improvement
over previous methods. Statistical analysis revealed p < 0.001.

Output: Professional PDF with auto-numbered figures, formatted citations, and LaTeX typesetting.

๐Ÿ’ก See the complete working example: rxiv get-rxiv-preprint - clones manuscript-rxiv-maker with advanced features including Python execution, DOI auto-resolution, and dynamic data integration.

๐Ÿ“– Documentation

For Users

Visit our official documentation website for comprehensive guides:

For Developers

๐ŸŽฏ Use Cases

๐Ÿ“„ Research Preprints, Reproducible Figures, and Collaborative Workflows

๐Ÿ“„ 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

๐Ÿƒโ€โ™€๏ธ Ecosystem & Workflows

Three ways to use rxiv-maker:

  • ๐Ÿ–ฅ๏ธ Local Installation: Install directly on your system (recommended)
  • ๐Ÿณ Docker: Pre-configured container with all dependencies
  • โ˜๏ธ Cloud: GitHub Actions or Google Colab for browser-based editing
๐Ÿ”— Ecosystem - Related repositories and tools

Ecosystem Overview

graph LR
    A[rxiv-maker<br/>Core CLI] --> B[PyPI]
    A --> C[Homebrew]
    D[docker-rxiv-maker<br/>Container] --> E[Docker Hub]
    D -.includes.-> A
    F[vscode-rxiv-maker<br/>VS Code] -.enhances.-> A
    G[manuscript-rxiv-maker<br/>Example] -.demonstrates.-> A

    style A fill:#2563eb,stroke:#1e40af,stroke-width:3px,color:#fff
    style D fill:#ea580c,stroke:#c2410c,stroke-width:2px,color:#fff
    style F fill:#7c3aed,stroke:#6d28d9,stroke-width:2px,color:#fff
    style G fill:#059669,stroke:#047857,stroke-width:2px,color:#fff
    style B fill:#64748b,stroke:#475569,color:#fff
    style C fill:#64748b,stroke:#475569,color:#fff
    style E fill:#64748b,stroke:#475569,color:#fff

Related Repositories

Repository Purpose Access
rxiv-maker Main CLI tool and Python package brew install rxiv-maker
docker-rxiv-maker Pre-configured container with LaTeX + dependencies docker pull henriqueslab/rxiv-maker-base
manuscript-rxiv-maker Complete example (published as arXiv:2508.00836) rxiv get-rxiv-preprint
vscode-rxiv-maker VS Code extension with syntax highlighting VS Code Marketplace
Documentation User guides, API reference, tutorials Visit website

๐Ÿš€ Quick Commands

Essential commands to get started:

rxiv init my-paper       # Create new manuscript
rxiv pdf                 # Generate PDF
rxiv validate           # Check manuscript quality
rxiv upgrade            # Upgrade to latest version
๐Ÿ“‹ Complete Command Reference - Repository management, export options, and advanced workflows

Core Commands

rxiv init my-paper          # Create new manuscript
rxiv get-rxiv-preprint     # Clone complete example manuscript
rxiv pdf                    # Generate PDF
rxiv docx                   # Export to DOCX for collaborative review
rxiv validate              # Check manuscript quality
rxiv arxiv                 # Prepare arXiv submission
rxiv track-changes v1 v2   # Visual version comparison

Repository Management

# Initial setup
rxiv repo-init             # Interactive setup
rxiv config                # Interactive configuration menu

# Create and manage repositories
rxiv create-repo my-paper  # Create new manuscript repository (with GitHub integration)
rxiv repos                 # List all manuscript repositories
rxiv repos-search          # Search and clone from GitHub

# Configuration
rxiv config set-repo-parent-dir ~/manuscripts
rxiv config set-repo-org YourGitHubOrg
rxiv config --non-interactive  # Show current settings

Maintenance

# Upgrade commands (auto-detects Homebrew, pip, uv, pipx)
rxiv upgrade                 # Interactive upgrade with confirmation
rxiv upgrade --yes           # Upgrade without confirmation
rxiv upgrade --check-only    # Check for updates only

# Changelog and version information
rxiv changelog               # View changelog and release notes
rxiv changelog --recent 5    # View last 5 versions

๐Ÿ’ก CI/Automation Note: All interactive commands support non-interactive mode or configuration files for use in CI/CD pipelines and automated workflows. Use --non-interactive flag or configure via ~/.rxiv-maker/config for non-TTY environments.

๐Ÿ“– Complete CLI Reference - Full command documentation with examples and options.

๐Ÿ“š Publications Using Rxiv-Maker

Publication Authors Venue DOI
Rxiv-Maker: an automated template engine for streamlined scientific publications BM Saraiva et al. arXiv (2025) 10.48550/arXiv.2508.00836
Customizable FDM-based zebrafish embryo mold for live imaging MX Rivera Pineda et al. bioRxiv (2025) 10.1101/2025.11.24.689779
mAIcrobe: an open-source framework for high-throughput bacterial image analysis AD Brito et al. bioRxiv (2025) 10.1101/2025.10.21.683709
Filopodome proteomics identifies CCT8 as a MYO10 interactor critical for filopodia functions A Popoviฤ‡ et al. bioRxiv (2025) 10.64898/2025.12.03.691809

๐Ÿ“ธ View Publication Previews - See manuscript thumbnails and access preprints

Using Rxiv-Maker for your research? Submit your publication via GitHub Issue

๐Ÿค 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 Antรณnio D. Brito 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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rxiv_maker-1.18.3.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rxiv_maker-1.18.3-py3-none-any.whl (595.1 kB view details)

Uploaded Python 3

File details

Details for the file rxiv_maker-1.18.3.tar.gz.

File metadata

  • Download URL: rxiv_maker-1.18.3.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for rxiv_maker-1.18.3.tar.gz
Algorithm Hash digest
SHA256 08b14ddf3c7f911f490ffac6e93fd7370bf75475c769efb746e418acd8771cb6
MD5 995621e5e3ba055b7caf221f24329fd7
BLAKE2b-256 32b92447f7a601bfcadf762bf8516071f7eb3307901506fb5224c5b7432f0060

See more details on using hashes here.

File details

Details for the file rxiv_maker-1.18.3-py3-none-any.whl.

File metadata

  • Download URL: rxiv_maker-1.18.3-py3-none-any.whl
  • Upload date:
  • Size: 595.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for rxiv_maker-1.18.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f41c2b91e54e181e9325bb4cce9e9323970ef2de5ab11df3ecb8d163b2d77e0f
MD5 2d9cd04bcaae50d58266fc60bde01b75
BLAKE2b-256 247ce70ff4483f7ad9a638047aa686e72f3910dd18fcf6394a317e2b5bea3d8d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page