Complete Guide to Quarto Features

Comprehensive showcase of Quarto’s powerful features for technical documentation
Published

February 11, 2024

Quarto is an open-source scientific and technical publishing system that brings computational documents, presentations, dashboards, and books. This page showcases its most powerful features!

1 1. Formatted Text & Styling

You can use bold text, italic text, strikethrough, and inline code.

1.1 Lists and Formatting

Here’s an unordered list: - Feature 1 - Feature 2 - Nested item - Another nested item - Feature 3

And an ordered list: 1. First item 2. Second item a. Sub-item one b. Sub-item two 3. Third item

2 2. Callout Blocks

NoteNote

This is a note callout. Use these for general information that might be helpful.

WarningWarning

This is a warning callout. Use for important cautions or warnings.

ImportantImportant

This callout highlights crucial information that should not be missed.

TipPro Tip

These are helpful tips and tricks for better usage.

CautionCaution

Use caution callouts for potentially dangerous operations.

3 3. Mathematical Equations

3.1 Inline Mathematics

The famous equation \(E = mc^2\) shows the equivalence of mass and energy. The Pythagorean theorem states that \(a^2 + b^2 = c^2\).

3.2 Display Mathematics

The quadratic formula is:

\[x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\]

The Euler formula connects trigonometry and exponentials:

\[e^{i\theta} = \cos(\theta) + i\sin(\theta)\]

4 4. Code Blocks with Syntax Highlighting

4.1 Python Example

import numpy as np
import matplotlib.pyplot as plt

# Generate data
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

# Plot
plt.figure(figsize=(10, 6))
plt.plot(x, y, 'b-', linewidth=2)
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.grid(True, alpha=0.3)
plt.show()

4.2 JavaScript Example

function fibonacci(n) {
  if (n <= 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

const result = fibonacci(10);
console.log(`Fibonacci(10) = ${result}`);

4.3 Bash Example

#!/bin/bash

# List all Python files
find . -name "*.py" -type f

# Install dependencies
pip install -r requirements.txt

# Run tests
pytest tests/

5 5. Tables

Feature Description Difficulty
Markdown Basic formatting Easy
Math Equations LaTeX rendering Medium
Code Execution Live Python/R Medium
Dashboards Interactive visualizations Hard
Websites Multi-page sites Medium

6 6. Tabsets

# Python example
def hello_world():
    print("Hello, Quarto!")

hello_world()
# R example
hello_world <- function() {
  print("Hello, Quarto!")
}

hello_world()
# Julia example
function hello_world()
    println("Hello, Quarto!")
end

hello_world()

7 7. Executable Code Cells

You can embed code that gets executed when rendering:

# Simple data analysis example
import pandas as pd
import numpy as np

# Create sample data
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'Diana'],
    'Age': [25, 30, 35, 28],
    'Salary': [50000, 60000, 75000, 55000]
}

df = pd.DataFrame(data)
print("Employee Data:")
print(df)
print("\nStatistics:")
print(df[['Age', 'Salary']].describe())

8 8. Images and Figures

You can include images with captions and links:

A screenshot of the Quarto logo

Quarto Logo

9 9. Block Quotes

“The only way to do great work is to love what you do.” — Steve Jobs

This is a longer block quote that spans multiple lines.

It can contain multiple paragraphs and demonstrate the use of block quotes in Quarto documents.

10 10. Horizontal Rules


Above is a horizontal rule, useful for visual separation.

12 12. Footnotes

This text has a footnote1.

13 13. Definition Lists

Term 1
Definition of the first term
Term 2
Definition of the second term, which can span multiple lines
and have multiple definitions

14 14. Special Features Summary

Feature Use Case Example
Callouts Highlight important information Warnings, tips, notes
Math Scientific equations Physics, statistics, ML
Code Execution Live examples Data analysis, visualizations
Tabsets Multiple options Language examples, comparisons
Cross-references Navigation Section links, citations

15 15. Advanced Customization

TipCustomization Options

Quarto documents can be heavily customized: - Custom CSS styling - Theme selection (light/dark modes) - Layout options (sidebar, margin notes) - Custom templates - Bibliography and citation management

16 Getting Started with Quarto

To create your own Quarto document:

  1. Install Quarto: Download from quarto.org
  2. Create a document: quarto create project my-project
  3. Write content: Use markdown with optional code blocks
  4. Render: quarto render document.qmd
  5. Publish: Deploy to GitHub Pages, Netlify, or Posit Cloud

17 Next Steps

Important

Now that you’ve seen what Quarto can do: - ✨ Explore the Pinball Loss example with interactive Python code - 📚 Read more advanced features in the official documentation - 🚀 Create your own technical documentation with Quarto!


Happy documenting with Quarto! 🎉

Footnotes

  1. This is the footnote content. It can contain multiple paragraphs and formatted text.↩︎

PDF