Prof. Walmes Zeviani
2018-04-10
Justificativa
Objetivos
rmarkdown
.O documento Rmarkdown tem duas partes:
No YAML, os campos do tipo chave: valor
podem conter metadados do documento como título, autor e data, como exemplificado a seguir.
---
title: "Documentos dinâmicos"
subtitle: "Rmarkdown"
author: "Prof. Walmes Zeviani"
date: "10 de Abril de 2018"
---
O YAML também tem variáveis que configuram aspectos do documento e/ou instruções de compilação. Existem várias opções disponíveis. Abaixo um exemplo de opções válidas para o documento tipo html_document
fornecido pelo pacote rmarkdown
.
---
title: "Documentos dinâmicos"
subtitle: "Rmarkdown"
author: "Prof. Walmes Zeviani"
date: "10 de Abril de 2018"
cls: "ABNT.csl" # Para formatar referências
bibiography: "refs.bib" # Arquivo com as referências.
output:
html_document: # Classe de documento.
toc: true # Exibir sumário.
toc_depth: 2 # Profundidade do sumário.
toc_float: # Sumário flutuante na borda.
collapsed: false
smooth_scroll: false
number_sections: true # Seções numeradas.
theme: united # Tema usado (aparência).
highlight: tango # Cores para o destaque de código.
css: styles.css # Caminho para arquivo CSS.
fig_width: 7 # Lagura das figuras.
fig_height: 6 # Altura das figuras.
fig_caption: true # Exibicação de legenda.
code_folding: hide # Esconder/exibir bloco de código.
keep_md: true # Manter o arquivo md.
template: quarterly_report.html # Caminho para o template.
includes:
in_header: header.html # Inclui no preâmbulo/head.
before_body: doc_prefix.html # Inclui antes do corpo.
after_body: doc_suffix.html # Inclui após o corpo.
---
Os fragmentos de código em markdown são delimitados por um par de crases simples ou um par de crases triplas.
Esse texto irá aparecer como `código`.
Esse texto irá aparecer como código
.
Os fragmentos em bloco são delimitados 3 crases. Na primeira marca do par pode-se controlar a exibição e execução com pares chave-valor.
```{r eval = TRUE, echo = TRUE, results = "markup"}
head(iris)
```
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
knitr
avalia o código R e substitui as marcas pelos resultados correspondentes, que são principalmente:
*.png
, por exemplo).O R Markdown Cheat Sheet lista as opções disponíveis de documentos. Todos estão listados em https://rmarkdown.rstudio.com/formats.html.
O cartão de referência do Rmarkdown tem mais detalhes sobre todas as opções: https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf.
Outros pacotes estendem as opções. Alguns deles são:
O rmarkdown
uma a galeria de temas do Bootswatch (https://bootswatch.com/) para permitir o uso de diferentes estilos de documentos html.
Default | Minty |
Cerulean | Pulse |
Cosmo | Sandstone |
Cyborg | Simplex |
Darkly | Sketchy |
Flatly | Slate |
Journal | Solar |
Litera | Spacelab |
Lumen | Superhero |
Lux | United |
Materia | Yeti |
O Pandoc possui 7 esquemas de cores para destacar o código. São eles:
espresso
haddock
kate
monochrome
pygments
tango
zenburn
# Para Pandoc >= 1.18, mostra os estilos disponíveis.
pandoc --list-highlight-styles
O pacote knitr
uma lista bem maior que pode ser usada em documentos Rhtml e Rnw. Confira em http://animation.r-forge.r-project.org/knitr/.
library(knitr)
themes <- knit_theme$get()
themes
## [1] "acid" "aiseered" "andes"
## [4] "anotherdark" "autumn" "baycomb"
## [7] "bclear" "biogoo" "bipolar"
## [10] "blacknblue" "bluegreen" "breeze"
## [13] "bright" "camo" "candy"
## [16] "clarity" "dante" "darkblue"
## [19] "darkbone" "darkness" "darkslategray"
## [22] "darkspectrum" "default" "denim"
## [25] "dusk" "earendel" "easter"
## [28] "edit-anjuta" "edit-eclipse" "edit-emacs"
## [31] "edit-flashdevelop" "edit-gedit" "edit-jedit"
## [34] "edit-kwrite" "edit-matlab" "edit-msvs2008"
## [37] "edit-nedit" "edit-vim" "edit-vim-dark"
## [40] "edit-xcode" "ekvoli" "fine_blue"
## [43] "freya" "fruit" "golden"
## [46] "greenlcd" "greyscale0" "greyscale1"
## [49] "greyscale2" "kellys" "leo"
## [52] "lucretia" "manxome" "maroloccio"
## [55] "matrix" "moe" "molokai"
## [58] "moria" "navajo-night" "navy"
## [61] "neon" "night" "nightshimmer"
## [64] "nuvola" "olive" "orion"
## [67] "oxygenated" "pablo" "peaksea"
## [70] "print" "rand01" "rdark"
## [73] "relaxedgreen" "rootwater" "seashell"
## [76] "solarized-dark" "solarized-light" "tabula"
## [79] "tcsoft" "vampire" "whitengrey"
## [82] "xoria256" "zellner" "zenburn"
## [85] "zmrok"
No YAML pode-se especificar caminhos para arquivos que terão conteúdo colocado antes (before_body
) e após (after_body
) do corpo do documento. Também é possível incluir conteúdo no preâmbulo/head do documento.
includes:
in_header: header.html # Inclui no preâmbulo/head.
before_body: doc_prefix.html # Inclui antes do corpo.
after_body: doc_suffix.html # Inclui após o corpo.
O before_body
é útil para definir cabeçalho de páginas HTML, bem como o after_body
é útil para rodapé. O arquivo header.html
serve para customizar o preâmbulo/head. No LaTeX pode-se usar para carregar pacotes e no HTML tem funcionalidade semelhante.
O CSS permite customização fina de páginas HTML. Esse arquivo contém todas instruções relacionadas a aparência da página. Nesse arquivo pode-se definir coisas como fonte, tamanho, cores, espaçamento, etc.
css: styles.css # Caminho para arquivo CSS.
Existem vários sites que permitem edição online de CSS para experimentar os efeitos. Abaixo tem-se uma pequena lista.