class: center, middle, inverse, title-slide .title[ # Introdução ao Markdown ] .subtitle[ ## Introdução ] .author[ ### Leonardo Mancini ] .date[ ### 22 Mar 2024 ] --- # O que é o Markdown? É uma linguagem de marcação simples, tal como o _html_. + Um texto editado em Markdown pode ser posteriormente compilado em _html_, PDF, PPT, Word, etc... + É possível adicionar códigos de outras linguagens, como R, Python, C##, etc... Vantagens: + Leve + Multiplataforma + Pode ser editado em qualquer programa, até no bloco de notas + Simples! + É possível rodar códigos junto da editoração do documento. --- # Para começar Há diversos editores para Markdown. Usaremos o Posit 1. Abrir o seu perfil no posit 1. Novo documento (R Markdown, output html) 1. E vamos lá! --- # Elementos básicos **Texto** vamos adicionando textos diretamente no _script_ e podemos, como em _html_, acrescentar cabeçalhos: ```cabecalho # Header 1 ## Header 2 ### Header 3 ``` Quando mais # antes, menor o cabeçalho --- # Elementos básicos Para formatar o texto: + **Negrito** pode ser `**assim**` ou `__assim__`. + O *itálico* é com um um `*asterisco*` ou um `_traço_`. + Se quiserem ~~riscar o texto~~, usem `~~dois tis~~`. <!-- 1. Se quiserem indicar que um texto é <code> código</code>, coloquem **crase** antes e depois da expressão --> + Citação é com o `>` antes da frase, desta forma: `> Por exemplo...` > Da para citar dentro da citação >> Com dois `>>` no início da frase --- # Agora vocês: 1. Usem os elementos de formatação indicados acima. 2. Para melhorar, façam links e coloquem imagens - Pode ser com as tags <a> ou <img> do html - Ou com a formatação o Markdown: ```código Acrescentar figuras: ![](local da imagem) Criar links: [Texto do link](link.com.br) ``` --- # O YAML (iémel) Tem todos os metadados relevantes a respeito do documento. Por _default_, ele apresenta título, autor e formato de saída, mas é possível configurá-lo com muito mais detalhes. Fica no início do documento, separado por três traços. - Nome e título são texto simples. - A data aceita texto, mas pode ser adicionada automaticamente com a função Sys.time() ou Sys.date() da seguinte forma: > date: '22 Mar 2024' **Dica**: O comando format() muda a formatação da data ou da hora. Documentação [aqui](https://www.statmethods.net/input/dates.html). --- # Exercícios Criem um cabeçalho com autor, título, subtítulo e data, no formato dia da semana, dia como número, mês por extenso e ano com 4 dígitos. -- <br> > title: "R Markdown" <br> > subtitle: "Introdução" <br> > author: "Leonardo Mancini"<br> > date: r format(Sys.Date(), format="%A, %d %b %Y") <br> Esses metadados são utilizados, por exemplo, para montar o _slide_ de abertura de uma apresentação. --- # Chunks Um _chunk_ roda um pedaço de código, seja R, Python, C##, etc. Há como configurar os chunks para que se comportem de forma diferente. Sem nenhuma configuração, um _chunk_ aparece com o código e o resultado embaixo. Se quisermos que um gráfico seja inserido em um document, criamos um _chunk_ e usamos o `ggplot2`. --- # Exemplo <br> <small> ```r {r, message=FALSE, warning=FALSE, echo=FALSE, fig.width=8, fig.height=5, fig.align='center'} gapminder %>% ggplot(aes(x = year, y = gdpPercap, color = continent)) + geom_point() + labs(title = "PIB per capita por continente", x = "Ano", y = "PIB per capita") + theme_minimal() ``` <small> --- # Exemplo: <br> <img src="aula-6---markdown_files/figure-html/unnamed-chunk-2-1.png" style="display: block; margin: auto;" /> --- # Gráficos Para mudar o tamanho das imagens, inclusive os gráficos, dentro do relatório, devemos utilizar, na primeira linha do chunk, os seguintes atributos: - fig.width - fig.height - fig.dim ![](./imagens/fg_dim.png) --- # Gráficos Para mudar o tamanho das imagens, inclusive os gráficos, dentro do relatário, devemos utilizar, na primeira linha do chunk, os seguintes atributos: - fig.width - fig.height - fig.dim ![](./imagens/fg_dim2.png) --- # Gráficos Para definir o alinhamento da imagem, use `fig.align`, com os atributos - 'left' - 'right' - 'center' Para adicionar uma legenda, use `fig.cap = "texto"` Se essas definições forem globais, ou seja, em todos os chunks, pode-se adicionar a configuração no início do documento, em `knitr::opts_chunk$set()` --- # Agora, sua vez! Acrescentem um gráfico ao documento, com as configurações de tamanho e alinhamento. Podem usar o gapminder e o código da aula anterior --- # Listas Como em html, listas podem ser ordenadas ou não. O Markdwon aceita, para listas não ordenadas + `-` + `+` + `*` Para listas ordenadas, é só fazer uma lista iniciando por um número seguido de ponto, assim: - `1.` Para afastar, basta dar um tab antes do item. --- ### Listas ordenadas <small> <table class="table table-bordered"> <thead class="thead-light"> <tr> <th>Markdown</th> <th>HTML</th> <th>Rendered Output</th> </tr> </thead> <tbody> <tr> <td> <code class="highlighter-rouge"> 1. First item<br /> 2. Second item<br /> 3. Third item<br /> 4. Fourth item </code> </td> <td> <code class="highlighter-rouge"> <ol><br /> <li>First item</li><br /> <li>Second item</li><br /> <li>Third item</li><br /> <li>Fourth item</li><br /> </ol> </code> </td> <td> <ol> <li>First item</li> <li>Second item</li> <li>Third item</li> <li>Fourth item</li> </ol> </td> </tr> <tr> <td> <code class="highlighter-rouge"> 1. First item<br /> 1. Second item<br /> 1. Third item<br /> 1. Fourth item </code> </td> <td> <code class="highlighter-rouge"> <ol><br /> <li>First item</li><br /> <li>Second item</li><br /> <li>Third item</li><br /> <li>Fourth item</li><br /> </ol> </code> </td> <td> <ol> <li>First item</li> <li>Second item</li> <li>Third item</li> <li>Fourth item</li> </ol> </td> </tr> <tr> <td> <code class="highlighter-rouge"> 1. First item<br /> 8. Second item<br /> 3. Third item<br /> 5. Fourth item </code> </td> <td> <code class="highlighter-rouge"> <ol><br /> <li>First item</li><br /> <li>Second item</li><br /> <li>Third item</li><br /> <li>Fourth item</li><br /> </ol> </code> </td> <td> <ol> <li>First item</li> <li>Second item</li> <li>Third item</li> <li>Fourth item</li> </ol> </td> </tr> </tr> </tbody> </table> --- # E ainda tem mais.. Quem quiser se aprofundar, pode usar o [R Markdown: The Definitive Guide](https://bookdown.org/yihui/rmarkdown/) para aprender mais sobre a linguagem. Dá para fazer muita coisa, como: + Tabelas + Equações matemáticas + Templates...