Introdução ao Quarto

Criando relatórios elegantes

Pedro Franklin

IME-UFU

4 de agosto de 2025

O que é o Quarto?

Quarto é uma ferramenta para criar documentos dinâmicos e reprodutíveis. Permite combinar código, texto e visualizações em um mesmo arquivo.

  • Suporta R, Python, Julia e outras linguagens
  • Gera relatórios, slides, dashboards, livros, sites e mais

Estrutura de um documento .qmd

  • Cabeçalho YAML com metadados (título, formato de saída, etc)
  • Texto em Markdown
  • Chunks de código delimitados por crases (```)

Exemplo de estrutura de um documento .qmd

---
title: "My document"
format: html
---

Aqui vai seu texto.

```{r}
|# echo: false

library(palmerpenguins)
summary(penguins)
```

Tipos de saída

  • html: relatório navegável.
  • pdf: versão para impressão.
  • revealjs: slides de apresentação.
  • docx: documento do Word.

O que é um code chunk?

  • Bloco de código executável dentro do documento.
  • Pode ser configurado com diversas opções

Exemplo simples de um code chunk:

mean(c(1, 2, 3))
[1] 2

Execução de códigos

Quarto permite controlar o comportamento de execução de cada chunk de código usando opções configuráveis.

Essas opções ajudam a definir o que será mostrado no relatório final.

Opções de Execução

Opção Descrição
eval Executa o chunk de código. Se false, apenas exibe o código.
echo Mostra o código-fonte no output.

Opções de Execução

Opção Descrição
output Mostra o resultado da execução (true, false ou asis).
warning Mostra os avisos gerados pela execução.

Opções de Execução

Opção Descrição
error Mostra mensagens de erro (sem interromper a execução).
include Opção geral: se false, nada é incluído no output.

Exemplo com eval: true e echo: true

1 + 1
[1] 2

Exemplo com eval: false e echo: true

2 + 2

Exemplo com output: false e warning: true

c(15,22,7) + c(3,2)
Warning in c(15, 22, 7) + c(3, 2): longer object length is not a multiple of shorter
object length
[1] 18 24 10

Exemplo com warning: false

c(15,22,7) + c(3,2)
[1] 18 24 10

Exemplo com include: false

Exemplo com error: true

log("a")
Error in log("a"): non-numeric argument to mathematical function

Dica Final

Essas opções também podem ser configuradas globalmente em execute: no YAML do documento.

execute:
  echo: true
  warning: false

Isso evita repetir configurações em cada chunk!