[](https://doi.org/10.48550/arXiv.2508.00836)
[](https://github.com/henriqueslab/rxiv-maker/blob/main/LICENSE)
[](https://github.com/HenriquesLab/rxiv-maker/stargazers)
# Rxiv-Maker
<img src="src/logo/logo-rxiv-maker.svg" align="right" width="200" style="margin-left: 20px;"/>
**Write scientific preprints in Markdown. Generate publication-ready PDFs instantly.**
Rxiv-Maker transforms scientific preprint writing by converting enhanced Markdown into professional PDFs with automated figure generation, citation management, and LaTeX typesetting - no LaTeX knowledge required. One beautiful template, infinite possibilities.
## โจ 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 camera-ready in seconds
### ๐ **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
**Universal Installation (Recommended):**
```bash
# Using pipx (isolated environment, recommended)
pipx install rxiv-maker
# Or using pip
pip install rxiv-maker
```
<details>
<summary><strong>๐ง Linux Installation</strong></summary>
**Ubuntu/Debian:**
```bash
# 1. Install system dependencies
sudo apt update
sudo apt install python3-pip pipx texlive-latex-recommended texlive-fonts-recommended
# 2. Install rxiv-maker
pipx install rxiv-maker
# 3. Verify installation
rxiv check-installation
```
**Red Hat/CentOS/Fedora:**
```bash
# 1. Install system dependencies
sudo dnf install python3-pip texlive-latex texlive-fonts-recommended
# Install pipx
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# 2. Install rxiv-maker
pipx install rxiv-maker
# 3. Verify installation
rxiv check-installation
```
</details>
<details>
<summary><strong>๐ macOS Installation</strong></summary>
**Prerequisites:**
```bash
# Install Homebrew if you don't have it
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install system dependencies
brew install pipx
brew install --cask mactex-no-gui # Full LaTeX installation
```
**Installation:**
```bash
# Install rxiv-maker
pipx install rxiv-maker
# Verify installation
rxiv check-installation
```
**Alternative (minimal LaTeX):**
```bash
# For smaller LaTeX installation
brew install pipx basictex
pipx install rxiv-maker
```
</details>
<details>
<summary><strong>๐ช Windows Installation</strong></summary>
**Option 1: WSL2 (Recommended)**
```bash
# Install WSL2 with Ubuntu (Windows PowerShell as Administrator)
wsl --install -d Ubuntu-22.04
# Restart computer, then launch Ubuntu and run:
sudo apt update
sudo apt install python3-pip pipx texlive-latex-recommended
pipx install rxiv-maker
rxiv check-installation
```
**Option 2: Native Windows**
```powershell
# Install Chocolatey (PowerShell as Administrator)
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Install dependencies
choco install python pipx miktex
# Install rxiv-maker
pipx install rxiv-maker
rxiv check-installation
```
</details>
**Verify your installation:**
```bash
rxiv check-installation # Verify all dependencies
rxiv --version # Check version
rxiv --help # View available commands
```
## ๐ฅ Quick Start
**Get your first PDF in under 2 minutes:**
```bash
# Create manuscript
rxiv init my-paper
cd my-paper
# Generate PDF
rxiv pdf
```
**๐ฏ [Complete Getting Started Guide โ](docs/quick-start/first-manuscript.md)**
## ๐ 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:**
```markdown
# Introduction
{{py:exec
import pandas as pd
df = pd.read_csv("FIGURES/DATA/results.csv")
correlation = df.corr().iloc[0,1]
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.
## ๐ Documentation
| Guide | Purpose | Time |
|-------|---------|------|
| **[๐ Getting Started](docs/quick-start/first-manuscript.md)** | Installation โ First PDF | 5 min |
| **[๐ User Guide](docs/guides/user_guide.md)** | Complete workflows & features | 30 min |
| **[๐ Python Execution Guide](docs/guides/python-execution-guide.md)** | Jupyter-like code blocks & data analysis | 15 min |
| **[โ๏ธ CLI Reference](docs/reference/cli-reference.md)** | All commands & options | 10 min |
| **[๐ง Troubleshooting](docs/troubleshooting/troubleshooting.md)** | Common issues & solutions | As needed |
| **[๐ฉโ๐ป Developer Guide](docs/development/developer-guide.md)** | Contributing & development | 45 min |
## ๐ฏ Use Cases
### ๐ **Research Preprints**
- arXiv preprints with automated submission packages
- bioRxiv and other preprint servers with professional formatting
- Conference papers with consistent styling
### ๐ **Reports & Analyses**
- Data analysis reports with live figures
- Technical documentation with code examples
- Grant applications with professional formatting
### ๐ **Academic Workflows**
- Thesis chapters with cross-references
- Collaborative 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](https://github.com/HenriquesLab/docker-rxiv-maker) for containerized execution
## ๐ Essential Commands
```bash
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
```
**[๐ Complete Command Reference โ](docs/reference/cli-reference.md)**
## ๐ค Community
- **๐ฌ [GitHub Discussions](https://github.com/henriqueslab/rxiv-maker/discussions)** - Ask questions, share tips
- **๐ [Issues](https://github.com/henriqueslab/rxiv-maker/issues)** - Report bugs, request features
- **๐ [Examples](examples/)** - Real-world manuscript examples
- **๐งช [Google Colab](https://colab.research.google.com/github/HenriquesLab/rxiv-maker/blob/main/notebooks/rxiv_maker_colab.ipynb)** - Try without installing
## ๐๏ธ Contributing
We welcome contributions! Whether it's:
- ๐ Bug reports and fixes
- โจ New features and improvements
- ๐ Documentation enhancements
- ๐งช Testing and validation
**Quick contributor setup:**
```bash
git clone https://github.com/henriqueslab/rxiv-maker.git
cd rxiv-maker
pip install -e ".[dev]"
pre-commit install
```
**[๐ Full Contributing Guide โ](docs/development/developer-guide.md)**
## ๐ Citation
If Rxiv-Maker helps your research, please cite:
```bibtex
@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](LICENSE) for details.
---
<div align="center">
**๐ฌ From [Jacquemet](https://github.com/guijacquemet) and [Henriques](https://github.com/HenriquesLab) Labs**
*"Because science is hard enough without fighting with LaTeX."*
**[๐ Start Writing โ](docs/quick-start/first-manuscript.md)** | **[๐ Learn More โ](docs/guides/user_guide.md)** | **[โ๏ธ Commands โ](docs/reference/cli-reference.md)**
</div>
Raw data
{
"_id": null,
"home_page": null,
"name": "rxiv-maker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "automation, cli, command-line, hatch, latex, markdown, publishing, scientific-writing",
"author": null,
"author_email": "Rxiv-Maker Contributors <rxiv.maker@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fb/6f/c3dc1e2b015d6f5a453d42be549c4c678beb1f1845f91500b7028539b100/rxiv_maker-1.7.1.tar.gz",
"platform": null,
"description": "[](https://doi.org/10.48550/arXiv.2508.00836)\n[](https://github.com/henriqueslab/rxiv-maker/blob/main/LICENSE)\n[](https://github.com/HenriquesLab/rxiv-maker/stargazers)\n\n# Rxiv-Maker\n\n<img src=\"src/logo/logo-rxiv-maker.svg\" align=\"right\" width=\"200\" style=\"margin-left: 20px;\"/>\n\n**Write scientific preprints in Markdown. Generate publication-ready PDFs instantly.**\n\nRxiv-Maker transforms scientific preprint writing by converting enhanced Markdown into professional PDFs with automated figure generation, citation management, and LaTeX typesetting - no LaTeX knowledge required. One beautiful template, infinite possibilities.\n\n## \u2728 Why Rxiv-Maker?\n\n### \ud83c\udfaf **For Researchers**\n- **Write in Markdown**: Focus on content, not formatting\n- **Automated Figures**: Python/R scripts become publication figures \n- **Smart Citations**: BibTeX integration with cross-references\n- **Instant PDFs**: From Markdown to camera-ready in seconds\n\n### \ud83d\ude80 **For Teams** \n- **Git-Friendly**: Version control for manuscripts and figures\n- **Reproducible**: All figures generated from code\n- **Collaborative**: Standard tools, no vendor lock-in\n- **Multi-Platform**: Works everywhere with local installation\n\n### \ud83d\udcc8 **For Publishing**\n- **arXiv Ready**: Generate submission packages automatically\n- **Track Changes**: Visual diff between manuscript versions\n- **Quality Assurance**: Built-in validation and error checking\n\n## \ud83d\ude80 Installation\n\n**Universal Installation (Recommended):**\n\n```bash\n# Using pipx (isolated environment, recommended)\npipx install rxiv-maker\n\n# Or using pip\npip install rxiv-maker\n```\n\n<details>\n<summary><strong>\ud83d\udc27 Linux Installation</strong></summary>\n\n**Ubuntu/Debian:**\n```bash\n# 1. Install system dependencies\nsudo apt update\nsudo apt install python3-pip pipx texlive-latex-recommended texlive-fonts-recommended\n\n# 2. Install rxiv-maker\npipx install rxiv-maker\n\n# 3. Verify installation\nrxiv check-installation\n```\n\n**Red Hat/CentOS/Fedora:**\n```bash\n# 1. Install system dependencies\nsudo dnf install python3-pip texlive-latex texlive-fonts-recommended\n\n# Install pipx\npython3 -m pip install --user pipx\npython3 -m pipx ensurepath\n\n# 2. Install rxiv-maker\npipx install rxiv-maker\n\n# 3. Verify installation \nrxiv check-installation\n```\n\n</details>\n\n<details>\n<summary><strong>\ud83c\udf4e macOS Installation</strong></summary>\n\n**Prerequisites:**\n```bash\n# Install Homebrew if you don't have it\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n\n# Install system dependencies\nbrew install pipx\nbrew install --cask mactex-no-gui # Full LaTeX installation\n```\n\n**Installation:**\n```bash\n# Install rxiv-maker\npipx install rxiv-maker\n\n# Verify installation\nrxiv check-installation\n```\n\n**Alternative (minimal LaTeX):**\n```bash\n# For smaller LaTeX installation\nbrew install pipx basictex\npipx install rxiv-maker\n```\n\n</details>\n\n<details>\n<summary><strong>\ud83e\ude9f Windows Installation</strong></summary>\n\n**Option 1: WSL2 (Recommended)**\n```bash\n# Install WSL2 with Ubuntu (Windows PowerShell as Administrator)\nwsl --install -d Ubuntu-22.04\n\n# Restart computer, then launch Ubuntu and run:\nsudo apt update\nsudo apt install python3-pip pipx texlive-latex-recommended\npipx install rxiv-maker\nrxiv check-installation\n```\n\n**Option 2: Native Windows**\n```powershell\n# Install Chocolatey (PowerShell as Administrator)\nSet-ExecutionPolicy Bypass -Scope Process -Force\niex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\n\n# Install dependencies\nchoco install python pipx miktex\n\n# Install rxiv-maker\npipx install rxiv-maker\nrxiv check-installation\n```\n\n</details>\n\n**Verify your installation:**\n```bash\nrxiv check-installation # Verify all dependencies\nrxiv --version # Check version\nrxiv --help # View available commands\n```\n\n## \ud83d\udd25 Quick Start\n\n**Get your first PDF in under 2 minutes:**\n\n```bash\n# Create manuscript \nrxiv init my-paper\ncd my-paper\n\n# Generate PDF\nrxiv pdf\n```\n\n**\ud83c\udfaf [Complete Getting Started Guide \u2192](docs/quick-start/first-manuscript.md)**\n\n## \ud83c\udfc6 Key Features\n\n### \ud83c\udfa8 **Enhanced Markdown**\n- Scientific cross-references (`@fig:plot`, `@eq:formula`)\n- Auto-numbered figures, tables, and equations\n- Mathematical notation with LaTeX math\n- Code blocks with syntax highlighting\n\n### \ud83d\udcca **Automated Figures & Data Analysis**\n- Execute Python/R scripts during PDF generation\n- **\ud83d\udc0d NEW: Jupyter-like executable Python code blocks**\n- Real-time data analysis with `{{py:exec}}` and `{{py:get variable}}`\n- Matplotlib, ggplot2, and custom visualizations\n- Version-controlled figure code and analysis modules\n\n### \ud83d\udcda **Citation Management**\n- BibTeX integration with `[@citation]` syntax\n- Automatic bibliography generation\n- Multiple citation styles (APA, Nature, etc.)\n- CrossRef DOI resolution\n\n### \ud83d\udd27 **Developer Experience**\n- Modern CLI with rich output and progress bars\n- Consistent environments with package management\n- Git-friendly workflow with meaningful diffs\n- Comprehensive validation and error reporting\n\n## \ud83c\udf1f Example Manuscript\n\n**Input Markdown:**\n```markdown\n# Introduction\n\n{{py:exec\nimport pandas as pd\ndf = pd.read_csv(\"FIGURES/DATA/results.csv\")\ncorrelation = df.corr().iloc[0,1]\nsample_size = len(df)\n}}\n\nOur analysis of {{py:get sample_size}} samples in Figure @fig:results shows \nsignificant improvement over previous methods [@smith2023; @jones2024].\n\n\n{#fig:results}\n\nThe correlation coefficient was r = {{py:get correlation:.2f}} (p < 0.001).\n\n## References\n```\n\n**Output:** Professional PDF with numbered figures, live data integration, citations, and LaTeX-quality typesetting.\n\n## \ud83d\udcd6 Documentation\n\n| Guide | Purpose | Time |\n|-------|---------|------|\n| **[\ud83d\ude80 Getting Started](docs/quick-start/first-manuscript.md)** | Installation \u2192 First PDF | 5 min |\n| **[\ud83d\udcda User Guide](docs/guides/user_guide.md)** | Complete workflows & features | 30 min |\n| **[\ud83d\udc0d Python Execution Guide](docs/guides/python-execution-guide.md)** | Jupyter-like code blocks & data analysis | 15 min |\n| **[\u2699\ufe0f CLI Reference](docs/reference/cli-reference.md)** | All commands & options | 10 min |\n| **[\ud83d\udd27 Troubleshooting](docs/troubleshooting/troubleshooting.md)** | Common issues & solutions | As needed |\n| **[\ud83d\udc69\u200d\ud83d\udcbb Developer Guide](docs/development/developer-guide.md)** | Contributing & development | 45 min |\n\n## \ud83c\udfaf Use Cases\n\n### \ud83d\udcc4 **Research Preprints**\n- arXiv preprints with automated submission packages\n- bioRxiv and other preprint servers with professional formatting\n- Conference papers with consistent styling\n\n### \ud83d\udcca **Reports & Analyses** \n- Data analysis reports with live figures\n- Technical documentation with code examples\n- Grant applications with professional formatting\n\n### \ud83c\udf93 **Academic Workflows**\n- Thesis chapters with cross-references\n- Collaborative writing with version control\n- Supplementary materials with automated generation\n\n## \ud83c\udfc3\u200d\u2640\ufe0f Alternative Workflows\n\n**Need specialized environments?**\n\n- **\ud83c\udf10 Google Colab**: Browser-based editing and PDF generation \n- **\u26a1 GitHub Actions**: Automated cloud builds for teams\n- **\ud83d\udc33 Docker**: Use [docker-rxiv-maker](https://github.com/HenriquesLab/docker-rxiv-maker) for containerized execution\n\n## \ud83d\ude80 Essential Commands\n\n```bash\nrxiv init my-paper # Create new manuscript\nrxiv pdf # Generate PDF \nrxiv validate # Check manuscript quality\nrxiv arxiv # Prepare arXiv submission\nrxiv track-changes v1 v2 # Visual version comparison\n```\n\n**[\ud83d\udcd6 Complete Command Reference \u2192](docs/reference/cli-reference.md)**\n\n## \ud83e\udd1d Community\n\n- **\ud83d\udcac [GitHub Discussions](https://github.com/henriqueslab/rxiv-maker/discussions)** - Ask questions, share tips\n- **\ud83d\udc1b [Issues](https://github.com/henriqueslab/rxiv-maker/issues)** - Report bugs, request features \n- **\ud83d\udcda [Examples](examples/)** - Real-world manuscript examples\n- **\ud83e\uddea [Google Colab](https://colab.research.google.com/github/HenriquesLab/rxiv-maker/blob/main/notebooks/rxiv_maker_colab.ipynb)** - Try without installing\n\n## \ud83c\udfd7\ufe0f Contributing\n\nWe welcome contributions! Whether it's:\n\n- \ud83d\udc1b Bug reports and fixes\n- \u2728 New features and improvements \n- \ud83d\udcd6 Documentation enhancements\n- \ud83e\uddea Testing and validation\n\n**Quick contributor setup:**\n```bash\ngit clone https://github.com/henriqueslab/rxiv-maker.git\ncd rxiv-maker\npip install -e \".[dev]\"\npre-commit install\n```\n\n**[\ud83d\udccb Full Contributing Guide \u2192](docs/development/developer-guide.md)**\n\n## \ud83d\udcc4 Citation\n\nIf Rxiv-Maker helps your research, please cite:\n\n```bibtex\n@misc{saraiva_2025_rxivmaker,\n title={Rxiv-Maker: an automated template engine for streamlined scientific publications}, \n author={Bruno M. Saraiva and Guillaume Jaquemet and Ricardo Henriques},\n year={2025},\n eprint={2508.00836},\n archivePrefix={arXiv},\n url={https://arxiv.org/abs/2508.00836}\n}\n```\n\n## \ud83d\udcdc License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n<div align=\"center\">\n\n**\ud83d\udd2c From [Jacquemet](https://github.com/guijacquemet) and [Henriques](https://github.com/HenriquesLab) Labs**\n\n*\"Because science is hard enough without fighting with LaTeX.\"*\n\n**[\ud83d\ude80 Start Writing \u2192](docs/quick-start/first-manuscript.md)** | **[\ud83d\udcda Learn More \u2192](docs/guides/user_guide.md)** | **[\u2699\ufe0f Commands \u2192](docs/reference/cli-reference.md)**\n\n</div>\n",
"bugtrack_url": null,
"license": null,
"summary": "Automated LaTeX article generation with modern CLI and figure creation capabilities",
"version": "1.7.1",
"project_urls": null,
"split_keywords": [
"automation",
" cli",
" command-line",
" hatch",
" latex",
" markdown",
" publishing",
" scientific-writing"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "070030275c1573a9fcc9db88b5c06d1e93274688675468e722e8e9dc64ffaa68",
"md5": "58941dc58b8bf99d6d900ffcbedde3b3",
"sha256": "889c222c75fa2f424a9ca44fddd779d40270c274ca6b22a24631bb348c61c00a"
},
"downloads": -1,
"filename": "rxiv_maker-1.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "58941dc58b8bf99d6d900ffcbedde3b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 449335,
"upload_time": "2025-09-08T13:47:10",
"upload_time_iso_8601": "2025-09-08T13:47:10.984806Z",
"url": "https://files.pythonhosted.org/packages/07/00/30275c1573a9fcc9db88b5c06d1e93274688675468e722e8e9dc64ffaa68/rxiv_maker-1.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fb6fc3dc1e2b015d6f5a453d42be549c4c678beb1f1845f91500b7028539b100",
"md5": "712dcf26bbda8818d4018a1cd52f2e03",
"sha256": "b56e0e3db1b22d70098c6dd8f40c6d94c8754d3ecf3f84ee6052103ac054536c"
},
"downloads": -1,
"filename": "rxiv_maker-1.7.1.tar.gz",
"has_sig": false,
"md5_digest": "712dcf26bbda8818d4018a1cd52f2e03",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1473603,
"upload_time": "2025-09-08T13:47:12",
"upload_time_iso_8601": "2025-09-08T13:47:12.421805Z",
"url": "https://files.pythonhosted.org/packages/fb/6f/c3dc1e2b015d6f5a453d42be549c4c678beb1f1845f91500b7028539b100/rxiv_maker-1.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-08 13:47:12",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rxiv-maker"
}