diff --git a/vignettes/roteiro.Rmd b/vignettes/roteiro.Rmd
index 3a8328f1080f7a88461dca3ab9a0d7e1002045c3..9a975869fc1bfe4efc742cc712748de266f6e331 100644
--- a/vignettes/roteiro.Rmd
+++ b/vignettes/roteiro.Rmd
@@ -1,8 +1,6 @@
 ---
 title: "Roteiro"
 author: "PET Estatística UFPR"
-bibliography: config/bibliography.bib
-csl: config/ABNT_UFPR_2011-Mendeley.csl
 vignette: >
   %\VignetteIndexEntry{Guia de Contribuição e Estilo}
   %\VignetteEngine{knitr::rmarkdown}
@@ -41,27 +39,28 @@ git config --global user.email "seuemail@aqui.com"
 git config --list
 ```
 
-Essas instruções escrevem um arquivo oculto na home do usuário chamado
+Essas instruções escrevem um arquivo oculto na *home* do usuário chamado
 `.gitconfig`. Você pode abrir e editar esse arquivo se quiser, inclusive
-para incluir atalhos (aliases) de comandos, mas tenha cuidado para não
-comprometê-lo com erros.
+para incluir atalhos (*aliases*) de comandos, mas tenha cuidado para não
+comprometê-lo com erros. Veja um exemplo de arquivo
+[`.gitconfig`](https://gitlab.c3sl.ufpr.br/walmes/linux-config/blob/master/dotgitconfig).
 
 ## Comunição do Cliente com o GitLab
 
 Depois de instalar o Git é necessário estabelecer comunição com o
-servidor do serviço GitLab para que conteúdo (arquivos) sejam
-transferidos entre cliente (computador do usuário) e servidor
-(computador que hospeda o GitLab). A autenticação entre as máquinas é
-baseada em chaves. Para gerar um par de chaves, execute as instruções
-abaixo no terminal ou git-bash, substituindo o email pelo seu. O prompt
-vai pedir para que você forneça *passphrase* mas você pode apenas
-pressionar ENTER.
+servidor do serviço GitLab para que conteúdo (arquivos) seja transferido
+entre cliente (computador do usuário) e servidor (computador que hospeda
+o GitLab). A autenticação entre as máquinas é baseada em
+[chaves](https://www.vivaolinux.com.br/artigo/Conexoes-SSH-sem-senha-facil-e-descomplicado).
+Para gerar um par de chaves, execute as instruções abaixo no terminal ou
+git-bash, substituindo o email pelo seu. O *prompt* vai pedir para que
+você forneça uma *passphrase* mas você pode apenas pressionar ENTER.
 
 ```sh
 ssh-keygen -t rsa -C "seuemail@aqui.com"
 ```
 
-No output do terminal será informado o endereço do par de arquivos
+No *output* do terminal será informado o endereço do par de arquivos
 gerados: `id_rsa` e `id_rsa.pub`. Esse par é único. Abra o arquivo
 `id_rsa.pub` do editor de texto e copie o seu conteúdo sem
 modificá-lo. Entre em <https://gitlab.c3sl.ufpr.br/profile/keys>, cole o
@@ -77,9 +76,11 @@ terminal ou git-bash a instrução abaixo.
 ssh -T git@gitlab.c3sl.ufpr.br
 ```
 
-Se for retornado um *Welcome*, então ok. Importante: Sempre que você
-executar o comando que gera chaves, novas chaves serão geradas e você
-terá que substituir as chaves cadastradas anteriormente.
+Se for retornado um *Welcome*, então procedimento realizado com
+sucesso. Importante: Sempre que você executar o comando que gera as
+chaves, novas chaves serão geradas e você terá que substituir as chaves
+cadastradas anteriormente (a menos que você gere em outro diretório ou
+faça backup).
 
 ## Clonar o Repositório do LabestData
 
@@ -109,10 +110,15 @@ cd labestData/
 git status
 
 # Exibe todos os ramos presentes. Com asterisco é o ramo atual.
+# Sem argumentos equivale a -l (local), -r (remotes), -a (all).
 git branch
+git branch -l
+git branch -r
+git branch -a
 
 # Mostra o log (histórico) do projeto. Pressione q para sair.
 git log
+git log --oneline
 
 # Abre a aplicação gitk para navegar no projeto.
 gitk
@@ -123,23 +129,24 @@ gitk
 Toda obra no labestData é uma *milestone*. A tradução literal é pedra de
 milha. A *milestone* na realidade é a definição de uma meta. Uma
 *milestone* é um coletivo de *issues*. *Issue* é um assunto ou
-tópico. No projeto, *issue* é a definição do trabalho de uma
-semana. Portanto, uma *milestone* é uma obra, e os *issues* dessa
+tópico. No projeto *labestData*, *issue* é a definição do trabalho de
+uma semana. Portanto, uma *milestone* é uma obra, e os *issues* dessa
 *milestone* são fragmentos dessa obra que serão trabalhados cada um em
 uma semana.
 
 Para criar uma *milestone*, acesse
 <https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData/milestones> e
 clique em *New Milestone*. Preencha o campo descrição com detalhes da
-obra, como título, autores, ano, editora. Visite *milestones* já criadas
-para ver exemplos.
+obra, como título, autores, ano, editora. Visite as *milestones* já
+criadas para ver exemplos.
 
 ## Criar *Issues*
 
-Dentro da *milestone* recém criada, clique em `New Issue` para criar
+Dentro da *milestone* recém criada, clique em `New Issue` para criar os
 *issues*. Na descrição dos *issues* indique com detalhes o trabalho a
 ser feito naquele *issue*. Por exemplo, indique a tabela/página dos
-conjuntos de dados a serem incluídos com esse *issue*.
+conjuntos de dados a serem incluídos com esse *issue*.  Ao criar o
+*issue* escolha uma *label* condizente com o tema da obra.
 
 Cada *issue* deve ter conteúdo programado para uma semana de
 desenvolvimento. Pela experiência adquirida, isso equivale à 2 tabelas
@@ -150,8 +157,8 @@ na digitação dos mesmos.
 
 O ideal é que toda a obra seja fragmentada em *issues* dentro da
 *milestone* no início do período de desenvolvimento do projeto. Isso é
-fundamental para o planejamento individual e coletivo das pessoas. Ao
-criar o *issue* escolha uma *label* condizente com o tema da obra.
+fundamental para o planejamento individual e coletivo dos
+desenvolvedores do projeto.
 
 Você pode nagegar pelos *issues* do projeto em
 <https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData/issues>. É
@@ -165,10 +172,11 @@ Agora que a obra já possui *milestone* e *issues* com seus respectividos
 números, vamos criar ramos para inclusão das contribuições previstas no
 *issue*.
 
-O *branch* de desenvolvimento autor numerado (e.g. `walmes159`, nome do
-autor com número do *issue*) é extraído do *branch* `baby`. Antes, no
-entanto, é recomendado incorporar possível atualizações no `baby`. Os
-comandos abaixo ilustram isso.
+O *branch* de desenvolvimento é autor numerado, ou seja, composto pelo
+nome do autor e número do *issue* (e.g. `walmes159`). Esse ramo é sempre
+extraído do *branch* `baby`, que tem apenas o conteúdo mínimo
+necessário. Antes, no entanto, é recomendado incorporar possível
+atualizações no `baby`. Os comandos abaixo ilustram isso.
 
 ```sh
 # Muda para o ramo baby.
@@ -184,12 +192,17 @@ git checkout -b seunome123
 git branch
 ```
 
+O ciclo de vida dos ramos de desenvolvimento (ou demanda) é de uma
+semana. Ao final de cada semana eles são incorporados ao ramo `devel` e
+depois são removidos. Só existem três ramos permanentes: `baby`, `devel`
+e `master`.
+
 ## Adicionar Contribuições
 
 Essa parte consiste basicamente em criar 4 arquivos para cada conjunto
 de dados: `data-raw/*.txt`, `data/*.rda`, `R/*.R` e
 `man/*.Rd`. Considerando que o nome do conjunto de dados seja `dados`,
-teríamos então a seguinte estrutura.
+por simplicidade, teríamos então a seguinte estrutura.
 
 ```
 labestData/
@@ -198,40 +211,44 @@ labestData/
 |-- data-raw/
 |   `-- dados.txt               1. Digitar os dados e criar arquivo txt.
 |-- data/
-|   `-- dados.rda               2. Gerar rda com use_data().
+|   `-- dados.rda               2. Gerar rda com use_data(dados).
 |-- R/
-|   `-- dados.R                 3. Gerar esqueleto com roxy_data()
+|   `-- dados.R                 3. Gerar esqueleto com roxy_data(dados)
 `-- man/                           e preencher.
     `-- dados.Rd                4. Gerar documentação com document().
 ```
 
 Algumas funções foram criadas para auxiliar no desenvolvimento do
-labestData. Elas estão disponíveis no *snippet* 46 do GitLab:
-<https://gitlab.c3sl.ufpr.br/snippets/46>. Recomenda-se que você tenha
-um *script* com os código para trabalhar no *labestData* e que carrege
-as funções no *snippet* ao iniciar sua sessão R.
+*labestData*, como a `roxy_data()`. Elas estão disponíveis no *snippet*
+46 do GitLab: <https://gitlab.c3sl.ufpr.br/snippets/46>. Recomenda-se
+que você tenha um *script* com os código para trabalhar no *labestData*
+e que carrege as funções no *snippet* ao iniciar sua sessão R.
 
 ```{r}
+# Abre no navegador o snippet 46.
+browseURL("https://gitlab.c3sl.ufpr.br/snippets/46/")
+
 # Carrega as funções do definidas no snippet 46.
 source("https://gitlab.c3sl.ufpr.br/snippets/46/raw")
 ```
 
 ### Arquivo `txt`
 
-Para gerar o arquivo `*.txt` existem várias maneiras que destacamos
-três: digitar na planilha e exportar pela planilha, digitar na planilha
-e exportar pelo R, digitar no R e exportar pelo R.
+Existem várias maneiras de gerar o arquivo `*.txt` e destacamos três:
+digitar na planilha e exportar pela planilha, digitar na planilha e
+exportar pelo R, digitar no R e exportar pelo R.
 
 Digitar na planilha e exportar pela planilha
-: Digitar os dados na planilha eletrônica, copiar a região com os dados,
-  criar um arquivo `txt` vazio em `data-raw/` e colar o conteúdo copiado
-  da planilha dentro. As colunas serão separadas por tabulação.
+: Consiste em digitar os dados na planilha eletrônica, copiar a região
+  com os dados, criar um arquivo `txt` vazio em `data-raw/` e colar o
+  conteúdo copiado da planilha dentro. As colunas serão separadas por
+  tabulação.
 
 Digitar na planilha e exportar com o R
 : Digitar os dados na planilha eletrônica, copiar a região com os dados,
   carregar pelo R com `read.table("clipboard", header = TRUE, sep =
-  "\t")`. Depois exporte com a função `write2txt(dados)`, disponível no
-  *snippet*.
+  "\t")`. Depois escrever em `data-raw/` com a função `write2txt(dados)`
+  (disponível no *snippet* 46).
 
 Digitar no R e exportar com o R
 : Digitar os dados com o R usando `scan()` ou `edit()` e exportar com a
@@ -246,31 +263,60 @@ O arquivo `rda` pode ser gerado com a função `use_data()` do pacote
 `devtools`.
 
 ```{r}
+# Gera o arquivo dados.rda no diretório data/.
 use_data(dados)
 ```
 
+Depois de criar o arquivo `rda`, você deve remover esse objeto do da
+memória e carregar o *labestData* com `load_all()`. Esse é momento de
+experimental o conjunto de dados para ver se ele não tem erros.
+
+```{r}
+# Remove o objeto "dados" da memória.
+rm("dados")
+
+# Carrega os objetos do labestData. Isso vai carregar o dados.
+load_all()
+
+# Objetos do labestData.
+ls("package:labestData")
+
+# Mostra a estrutura do objeto.
+str(dados)
+```
+
 ### Arquivo `R`
 
 O arquivo R vai conter a documentação do conjunto de dados escrito no
-formato definido pelo `roxygen2`. Esse formato será transcrito para o
-formato oficial de documentação R, cuaj extensão de arquivo é Rd (*R
-documentation*), e se assemelha à textos LaTeX.
+formato definido pelo pacote
+[`roxygen2`](http://kbroman.org/pkg_primer/pages/docs.html).  Esse
+formato será transcrito para o formato oficial de documentação R, cuja
+extensão de arquivo é `Rd` (*R documentation*), e se assemelha aos
+textos LaTeX.
 
 Para gerar o arquivo R com a documentação começada, execute a função
 `roxy_data()` definida no *snippet*.
 
 ```{r}
+# Cria o arquivo dados.R no diretório R/.
 roxy_data(dados)
 ```
+
+A função `roxy_data()` vai criar o arquivo com parte da documentação
+preenchida. Abra o arquivo e complete com as informações restantes.
+
 ### Arquivo `Rd`
 
-O arquivo Rd é gerado automaticamente, a partir do arquivo R, pela
+O arquivo `Rd` é gerado automaticamente, a partir do arquivo R, pela
 função `document()` do *devtools*. A função `check_man()` verifica se
 existe problemas com a documentação gerara, como campos mal formados ou
 inexistentes.
 
 ```{r}
+# Gera a documentação dados.Rd em man/.
 document()
+
+# Verifica se a documentação não contém erros.
 check_man()
 ```
 
@@ -328,30 +374,41 @@ dirtree("../")
 Depois de adicionados os 4 arquivos referentes ao conjunto de dados, é
 necessário fazer uma verificação integral do pacote. Caso erros tenham
 sido introduzidos, nessa fase serão indenficados para serem corrigidos
-antes de serem enviados para o repositório remoto.
+antes de serem enviados para o repositório remoto. Procure sempre subir
+para o repositório remoto contribuições estáveis.
 
 ```{r}
-# Verificação integral. Gera manual mas não vinhetas. Resultados ficam
-# em diretório ao lado do atual.
+# Verificação integral. Gera manual mas não as vinhetas. Resultados
+# ficam em diretório ao lado do atual.
 check(manual = TRUE, vignettes = FALSE, check_dir = "../")
 
-# Cria o arqquivo comprimido (zip, tar.gz) para distribuição do pacote.
+# Cria o arquivo comprimido (zip, tar.gz) para distribuição do pacote.
 build(manual = TRUE, vignettes = TRUE)
+
+install.packages("MRDCr",
+                 repos = "http://leg.ufpr.br/~walmes/pacotes/")
+
+install.packages("http://leg.ufpr.br/~walmes/pacotes/MRDCr_0.0-2.tar.gz")
 ```
 
 ## Orientações de uso do Git
 
 Como fazer commits, periodicidade.
 
-## Fazer Merge Request
+## Fazer *Merge Request*
 
 Para fazer *merge request* visite:
 <https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData/merge_requests>.
 Clique no botão *New Merge Request* para criar um novo MR. Detalhe no
 campo descrição todas as contribuições enviadas com o ramo que você
-submeteu para a avaliação.
-
-## Referências Bibliográficas
+submeteu para a avaliação. Escolha dentre os *mergers* do projeto aquele
+que foi designado para você.
+
+Quando o seu MR não for aceito, o *merger* vai deixar descrição das
+correções a serem feitas na página do seu MR. Todo MR tem um número
+correspondente, como os *issues*. Quando fizer as correções por ele
+apontadas, comente na página do MR que o ramo está pronto para
+incorporação novamente.
 
 <!------------------------------------------- -->