Ir para o conteúdo principal

Criando Relatórios com o Template Tufte no R (RMarkdown)

Como usar o template Tufte no R para criar relatórios elegantes em RMarkdown, com notas de margem e a tipografia limpa inspirada em Edward Tufte.

··5 minutos

Além da limpeza da base de dados, das análises e da aplicação de metodologias estatísticas, escrever relatórios é uma tarefa indispensável e que ocupa boa parte do tempo de quem trabalha com dados. Como disse Khalil Gibran, é preciso transformar em palavras aquilo que já conhecemos em pensamentos. O problema é que ninguém quer gastar tempo precioso de análise brigando com a formatação do documento.

É aí que entram os templates. O pacote tufte, disponível no CRAN, resolve isso para quem escreve em RMarkdown: ele traz um layout pronto, elegante e focado no conteúdo, para você formatar menos e analisar mais. Este post mostra o que é esse estilo, como instalar e como usar os recursos que o tornam diferente.

TL;DR

  • O pacote tufte traz o estilo de Edward Tufte para o RMarkdown, com três formatos de saída: tufte_html, tufte_handout (PDF) e tufte_book (PDF).
  • A marca registrada é a margem lateral larga, onde ficam notas, pequenas figuras e tabelas sem interromper a leitura do texto principal.
  • Para PDF é preciso usar latex_engine: xelatex no YAML, o que garante suporte a acentos em relatórios escritos em português.

O que é o estilo Tufte?

O estilo Tufte é inspirado nos livros de Edward Tufte, referência mundial em visualização de dados. A marca registrada é uma margem lateral larga: em vez de jogar as notas para o rodapé, elas ficam ao lado do texto, na mesma linha em que são citadas. Isso vale também para pequenas figuras e tabelas, que podem morar na margem sem interromper a leitura.

O resultado é um documento limpo, com tipografia sóbria e pouca distração visual. A ideia por trás é simples: tirar do caminho tudo que não é conteúdo. Para relatórios técnicos, material didático e artigos, esse formato costuma comunicar melhor do que o layout tradicional de uma coluna só, com notas espremidas no pé da página.

O pacote tufte no R

Procurando uma solução na página do RStudio, me deparei com o pacote tufte no CRAN. Ele adapta o estilo Tufte para arquivos RMarkdown, com três formatos de saída:

  • tufte_html: gera uma página HTML, ótima para publicar na web.
  • tufte_handout: gera um PDF via LaTeX, no formato clássico de handout do Tufte.
  • tufte_book: gera um livro em PDF, para documentos mais longos.

Para instalar, basta uma linha:

install.packages("tufte")
Exemplo do template Tufte handout em PDF, com o texto principal à esquerda e notas na margem lateral direita

Exemplo do handout Tufte. Imagem do manual do pacote tufte.

Criando um documento

Com o pacote instalado, criar um documento é direto no RStudio: acesse File > New File > R Markdown..., escolha a opção From Template e selecione o template do Tufte. Um novo arquivo já abre com a estrutura pronta para você preencher.

Janela do RStudio para criar um novo arquivo RMarkdown a partir do template Tufte

Criando um documento a partir do template. Imagem do manual do pacote.

O preâmbulo (YAML)

O cabeçalho YAML é onde você escolhe o formato de saída e alguns ajustes. Um exemplo cobrindo os três formatos:

---
title: "Título"
subtitle: "Subtítulo"
author: "Autor"
date: "`r Sys.Date()`"
output:
  tufte::tufte_html: default
  tufte::tufte_handout:
    highlight: tango
    latex_engine: xelatex
    citation_package: natbib
  tufte::tufte_book:
    latex_engine: xelatex
bibliography: skeleton.bib
link-citations: yes
---

Dois pontos que valem atenção: o latex_engine: xelatex é o que garante o suporte a acentos no PDF, algo importante para relatórios em português, e o citation_package: natbib cuida das citações a partir do arquivo .bib. Fora isso, é só escrever e deixar o template cuidar da aparência.

Notas e figuras na margem

O recurso que dá identidade ao estilo é a margem. Alguns comandos que você vai usar bastante:

  • Nota lateral numerada: uma nota de rodapé comum já vira nota na margem. Escreva texto^[sua nota aqui] e ela aparece ao lado, numerada.
  • Nota na margem sem número: use a função inline `r margin_note("sua nota")`.
  • Figura na margem: no chunk, adicione a opção fig.margin = TRUE.
  • Figura em largura total: use fig.fullwidth = TRUE para a imagem ocupar texto e margem.

São detalhes pequenos, mas é o que transforma um relatório comum em um documento com cara de publicação profissional. E o melhor: você continua escrevendo em RMarkdown normal, misturando texto, código e resultados, sem sair do fluxo. Se quiser dar um passo atrás e automatizar a geração desses relatórios, escrevi também sobre relatórios automáticos com RMarkdown.

Quando vale a pena usar?

O template Tufte brilha em relatórios técnicos, material didático, notas de aula e artigos, ou seja, tudo que é feito para ser lido com calma e se beneficia das notas de margem. Como escrever relatórios é parte central do trabalho de quem faz ciência de dados, ter um formato bonito e reaproveitável economiza muito tempo ao longo do ano. Se o formato final que você precisa é Word em vez de PDF, veja também o post sobre como produzir e formatar um documento Word direto do R.

Não é a melhor escolha para tudo, claro. Para dashboards interativos, apresentações de slides ou documentos com muitas figuras que precisam de largura total, outros formatos se encaixam melhor. Mas para o relatório do dia a dia, é difícil achar algo com essa relação entre esforço e elegância.

Atualização (2026): e o Quarto?

Nota acrescentada em 2026. O RMarkdown continua funcionando normalmente, mas hoje o Quarto é o sucessor natural dele e também oferece um formato no estilo Tufte. Se você está começando um projeto novo, vale conhecer o Quarto: a lógica é a mesma, e boa parte do que está aqui se aplica quase sem mudança.

Perguntas frequentes

Preciso saber LaTeX para usar o template Tufte?

Não. Para a saída em HTML (tufte_html) você não precisa de LaTeX nenhum. Para gerar PDF (tufte_handout), é preciso ter uma distribuição LaTeX instalada, mas você não escreve LaTeX na mão: o RMarkdown cuida da conversão a partir do seu texto.

Funciona com acentos, para relatórios em português?

Sim. Na saída HTML os acentos funcionam direto. Para o PDF, use latex_engine: xelatex no preâmbulo, como no exemplo acima. O xelatex lida bem com a acentuação e evita os erros clássicos de codificação de caracteres do LaTeX tradicional.

Devo escolher tufte_html ou tufte_handout?

Depende do destino do documento. Se ele vai para a web ou para leitura na tela, o tufte_html é mais prático e não exige LaTeX. Se o objetivo é um PDF para imprimir ou distribuir formalmente, o tufte_handout entrega o visual clássico dos handouts do Tufte.

Recebe os próximos posts por email

Data science, IA e agentes. Sem spam, cancela quando quiser.

Confirmar inscrição

Fellipe Gomes
Autor
Fellipe Gomes
Data Science Specialist @ Accenture | Kaggle Master

Sou formado em estatística e atuo como cientista de dados desde 2017. Compartilho meus estudos e evolução por meio de artigos, tutoriais e projetos de código aberto. Se quiser saber mais sobre meu trabalho, sinta-se à vontade para entrar em contato através das minhas redes sociais.