# Quarto — Open-Source Scientific and Technical Publishing System > Quarto is a publishing system built on Pandoc that lets you create reproducible documents, presentations, websites, and books from Markdown combined with executable code in Python, R, Julia, and Observable JS. ## Install Save as a script file and run: # Quarto — Open-Source Scientific and Technical Publishing System ## Quick Use ```bash # Install brew install --cask quarto # macOS # Or download from quarto.org # Create and render a document echo "--- title: Hello format: html --- ```{python} 1 + 1 ```" > hello.qmd quarto render hello.qmd ``` ## Introduction Quarto is a next-generation scientific publishing system from Posit (formerly RStudio). It unifies the creation of articles, reports, presentations, dashboards, websites, and books into a single tool that combines narrative text with live code execution across multiple programming languages. ## What Quarto Does - Renders Markdown documents with embedded code in Python, R, Julia, or Observable JS - Outputs to HTML, PDF, Word, EPUB, PowerPoint, and Reveal.js presentations - Generates multi-page websites and books with navigation and cross-references - Supports academic features like citations, footnotes, equations, and figure numbering - Provides interactive features through Observable JS and Shiny integration ## Architecture Overview Quarto extends Pandoc with a preprocessing layer that executes code cells via Jupyter (Python/Julia) or knitr (R), captures outputs, and injects them into the Pandoc AST before final rendering. Custom Lua filters provide additional transformations. The CLI orchestrates the pipeline and manages project-level configuration. ## Self-Hosting & Configuration - Install the CLI from quarto.org or via package managers (Homebrew, Chocolatey) - Requires a language runtime (Python/R/Julia) for code execution - Project configuration via _quarto.yml at the project root - Publish to GitHub Pages, Netlify, Quarto Pub, or any static host - Integrates with VS Code, RStudio, and JupyterLab via official extensions ## Key Features - Single source documents that render to multiple output formats - Cross-language code execution within the same document - Built-in citation management via BibTeX and CSL - Parameterized reports for generating variations from templates - Live preview with hot-reload during authoring ## Comparison with Similar Tools - **R Markdown** — Predecessor focused on R; Quarto is its multi-language evolution - **Jupyter Book** — Python-focused book publishing, less format flexibility - **Pandoc** — The underlying engine but without code execution or project management - **LaTeX** — Powerful typesetting but steep learning curve and no code execution - **MkDocs** — Static site generator for documentation, not computational documents ## FAQ **Q: Do I need R to use Quarto?** A: No. Quarto works with Python, Julia, and Observable JS. R is optional. **Q: Can I convert existing Jupyter notebooks to Quarto?** A: Yes. Quarto natively renders .ipynb files and can also convert them to .qmd format. **Q: Is Quarto suitable for non-scientific documentation?** A: Yes. It works well for technical blogs, project documentation, and business reports that benefit from embedded code or data visualizations. **Q: How does Quarto handle version control?** A: Quarto source files (.qmd) are plain text Markdown, making them ideal for Git-based workflows and code review. ## Sources - https://github.com/quarto-dev/quarto-cli - https://quarto.org --- Source: https://tokrepo.com/en/workflows/asset-426788de Author: Script Depot