flowchart LR
id1(Documento Quarto) <--> id2(Cabeçalho .yml)
id1(Documento Quarto) <--> id3(Texto)
id1(Documento Quarto) <--> id4(Códigos)
style id1 fill:#B0DAFF,stroke:#333,stroke-width:3px
style id2 fill:#FEFF86,stroke:#333,stroke-width:3px
style id3 fill:#FEFF86,stroke:#333,stroke-width:3px
style id4 fill:#FEFF86,stroke:#333,stroke-width:3px
Sobre o Quarto
Quarto é um novo sistema de publicação científica e técnica de código aberto. O objetivo desse sistema é fazer o processo de criação de documentos e colaboração muito melhor. Quarto capacita o usuário a tecer um documento com conteúdo de texto e código executável junto.
Segundo Quarto, o sistema pode ser definido como:
“Quarto é uma versão multilíngue da próxima geração do R Markdown (do RStudio) e inclui dezenas de novos recursos, ao mesmo tempo em que é capaz de renderizar a maioria dos arquivos
.Rmdexistentes sem modificação.”

O Quarto tem a vantagem de unificar e estender o ecossistema do R Markdown, portanto, ele serve bem tanto para quem já faz uso diário do R Markdown como para não usuários do R Markdown.
A redação de textos continua sendo a linguagem de marcação Markdown e também com o uso de chunks para a edição de códigos. Portanto, o Quarto pode ser utilizado por pesquisadores, desenvolvedores e educadores.
Como funciona o sistema Quarto
O Quarto funciona em diferentes linguagens de programação como o R, Python, Julia e Observable e os arquivos podem ser compartilhados por colaboradores que utilizam diferentes linguagens.
O Quarto produz diferentes arquivos como PDF, HTML, Word, sites, livros, apresentações, artigos científicos e blogs.

Um documento Quarto chamado de .qmd é convertido através de um sistema chamado Pandoc que utiliza o documento de texto Markdown com códigos .qmd e transformaele em documentos PDF, Word, HTML, etc. Veja o esquema de ilustração abaixo.

Vantagens em relação ao R Markdown
O R Markdown conta com diversos pacotes que podem ser baixados no R para executar diveras funções, entre eles, blogdown, rticles, xaringan, distill, knitr, bookdown, flexdashboard e rsconnect. A vantagem do Quarto em relação a isso, é que ele unifica a funcionalidade de todos esses pacotes em uma interface de linha de comando sem precisar fazer o download desses pacotes.
O Quarto conta com uma implementação atrativa de output como:
Tabsets e callouts
Code-folding
Sintax highlights
Sintaxe informativa de erros
Suporte para outras linguagens
Chunks organizados
O Quarto permite fazer a mudança de formatos (por exemplo, de PDF para HTML) facilmente. No YAML do arquivo, podemos subsituir e trocar o output de interesse sem modificar o conteúdo de nosso documento.
Opções de configuração para todo o documento podem ser definidas no próprio YAML através da função execute. Essa é mais uma vantagem em relação ao R Markdown em que é preciso definir um código mais complexo no início do documento.
O site Quarto Pub torna o processo de publicação online de arquivos HTML muito mais fácil apenas usando o comando quarto publish quarto-pub no Terminal do RStudio.
Estrutura de um documento em Quarto
A estrutura geral dos documentos em Quarto são três: cabeçalho .yml, texto e código.
Cabeçalho
.yml: cabeçalho com as informações do tipo de documento (PDF, HTML, Word, etc.), autoria, título, subtítulo, data, e formatações como espaçamento, arquivos de bibliografia, entre outros.Texto: usado com a sintaxe Markdown;
Códigos: códigos executáveis que são digitados dentro de Chunks e multilíngue, pois podem ser usados em linguagem Python, R, Julia, e outros.
Criação de websites

Com o Quarto você pode criar e publicar sites de forma muito rápida e fácil. Para isso você pode seguir essas etapas:
Clique em File na aba de ferramentas do RStudio;
Clique em New Project e New Directory;
Clique em Quarto Website.
Após isso, você indicará o diretório do computador em que irá hospedar o seu projeto. No projeto você encontrará dois arquivos .qmd e um arquivo .yml. Nos arquivos .qmd você adicionará os conteúdos do seu site e no arquivo .yml você adicionará as configurações do seu site como apresentado na figura abaixo:
project:
output-dir: _output
toc: true
number-sections: true
bibliography: references.bib
format:
html:
css: styles.css
html-math-method: katex
pdf:
documentclass: report
margin-left: 30mm
margin-right: 30mmNesse arquivo .yml você também encontra essas principais estruturas de configuração:
Project: indicação do tipo (type) de projeto, no caso, website;Website: Configurações do site, como título (title), abas (navbar), conteúdo presente em cada abahref(arquivos .qmd), localização das abas no lado esquerdo (left) ou direito, etc;Format: tipo de arquivo (HTML), o tema (theme) para estética do site, a indicação do arquivocss, entre outros estilos;Lang: língua do website (português, inglês, espanhol, etc.).
Veja esse outro exemplo de um cabeçalho YAML que contém diversos tipos de configurações:
Exemplo de cabeçalho YAML
---
title: "Meu primeiro relatório" # -----> Título
subtitle: "Exemplo: Relatório em Quarto" # -----> Subtítulo
author: "Ariane Hayana" # -----> Autoria
date: "2023-02-08" # -----> Data de publicação
date-format: short # -----> Formato de data curto: dd/mm/aaaa
lang: pt # -----> Linguagem: português
format:
html:
code-fold: true # -----> code-fold: `true` para "ocultar" o bloco de códigos
theme:
light: [pulse,custom.scss] # Tema modo claro
dark: [cyborg,custom.scss] # Tema modo escuro
title-block-banner: true # -----> Estilo de banner no topo do documento
bibliography: references.bib # -----> Referências do documento
---Detalhes sobre as configurações do cabeçalho .yml abaixo:
date-format: formato curto de data. Existem diversos formatos possíveis que podem ser consultados em Quarto.org;lang: identifica o idioma principal do documento. Outras idiomas podem ser o espanhol (lang: es), o inglês (lang: en) e francês (lang: fr), por exemplo;code-fold: quando igual atrue, o bloco de códigos é ocultado, podendo ser consultado ao clicar na palavra “Código”;theme: light ou dark: tema utilizado em nosso documento. Podemos customizar utilizando um arquivo.scss;title-block-banner: true: se igual atrue, esta configuração insere um bloco de título no estilo de banner no topo do documento;bibliography: referências utilizadas no documento. Trata-se de um arquivo.bib.
Diagrama explicativo
O diagrama abaixo mostra o processo de criação de websites com as etapas iniciais.
flowchart LR A(File) --> B(New File) B --> C(New Project) C --> D(New Directory) D --> F(Quarto Website)
Os arquivos presentes na criação dos websites são o .yml e .qmd. Esses belos diagramas foram criados com a linguagem Mermaid inserida no Quarto e é feito dentro de um chunk.
flowchart LR id(Quarto Website) --> id1(Arquivo .yml) id1(Arquivo .yml) <--> id2(Project) id1(Arquivo .yml) <--> id3(Website) id1(Arquivo .yml) <--> id4(Format) style id fill:#F9E2AF style id1 fill:#f9f,stroke:#333,stroke-width:4px style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#080808,stroke-dasharray: 5 5 style id3 fill:#bbf,stroke:#f66,stroke-width:2px,color:#080808,stroke-dasharray: 5 5 style id4 fill:#bbf,stroke:#f66,stroke-width:2px,color:#080808,stroke-dasharray: 5 5
flowchart LR id(Quarto Website) --> id2(Arquivo .qmd) id2(Arquivo .qmd) <--> id3(index.qmd) id2(Arquivo .qmd) <--> id4(hello.qmd) style id fill:#F9E2AF style id2 fill:#f9f,stroke:#333,stroke-width:4px style id3 fill:#bbf,stroke:#f66,stroke-width:2px,color:#080808,stroke-dasharray: 5 5 style id4 fill:#bbf,stroke:#f66,stroke-width:2px,color:#080808,stroke-dasharray: 5 5
Algumas dicas especiais do Quarto

No cabeçalho YAML é possível adicionar o argumento
code-link: true. Esse argumento permite que os leitores tenham acesso a links dos sites com informações sobre os códigos. Por exemplo, no códigoggplot, o leitor poderá clicar nele e acessar o site com informações do pacote ggplot2. Essa funcionalidade pode servir como uma importante ferramenta de ensino.No formato de apresentações reaveals.js podemos adicionar o argumento
chalkboard: trueno cabeçalho YAML e obter ferramentas de ensino como quadro-negro e expansão de partes dos slides durante a apresentação.Citação de referências de pacotes do R.
library(car)
library(ggplot2)
knitr::write_bib(c("car","ggplot2"), "packages.bib")
## Um novo arquivo packages.bib aparecerá na pasta do diretório com as referências.Encontrar caminhos de pastas com
here. Mesmo sem está no diretório da pasta, podemos executar os códigos usando ohere.#install.packages("here") here::here() here::here("cat.png")Organização de chunks com #|, onde cada argumento de configuração fica um abaixo do outro e não ao lado e separado por vírgula como no R Markdown.
# Exemplo: # #| echo: true # #| out.width: "80%" # #| fig.align: "center" # #| fig.cap: "Um simpático gatinho." knitr::include_graphics("cat.png")
Um simpático gatinho. Para fazer a mudança de chunks do R Markdown para chunks com #|.
knitr::convert_chunk_header(input = "C:/Users/jeann/Documents/Quarto_R/introducao_quarto/introducao_quarto_markdown.qmd", type = "multiline")Adicionar ícones ao texto com o Font Awesome Extension.
— Instalação no terminal do RStudio: quarto install extension quarto-ext/fontawesome
Visite o link para adicionar exemplos de ícones como esse:
Referências
10 dicas para programar melhor em RMarkdown/Quarto