Capítulo 12 Referência cruzada
Por referência cruzadas entendemos a possibilidade de referir-nos a imagens e seções de nosso documento no corpo de nosso texto, sem termos que nos preocupar com seus respectivos números, facilitando muito a edição e a manutenção de nossos textos. Isso pelo fato de ambos serem sempre atualizados segundo a ordem das figuras/seções a cada renderização.
12.1 De gráfico (plot)
Vimos em como inserir um gráfico (plot) em nosso documento, lembra?
\```{r}
plot(c(1,2,3), c(3,2,1))
\```
E vimos como iserir leganda a ele:
\```{r, fig.cap="Gráfico de dispersão entre variável x e y.""}
plot(c(1,2,3), c(3,2,1))
\```
Mas como usá-lo em referencia cruzada?
Para criar referência cruzada com os gráficos criados através do R, precisaremos criar uma label. A label, assim como no caso dos trechos de código ( ) deverão se um dientificador único e exclusivo para cada gráfico. Mas a label usada, não é a mesma que a do code-chunk. Por isso precisamos inserir dentro da string da configuração da legenda (fig.cap
) o comando \\label{LabelDoGrafico}
onde o texto dentro de chaves serão a label do gráfico.
Por agora só criamos a label do gráfico. Para fazer a referência à esse gráfico em nosso texto, usaremos o comando \ref{LabelDoGrafico}
onde quisermos referir-nos à figura.
Exemplo:
\```{r s, fig.cap = "\\label{fig:plotTest}Gráfico de dispersão entre as variáveis x e y."}
plot(c(1,2,3,4), c(1,2,3,4))
\```
Aqui farei referência à
\ref{fig:plotTest}
onde vemos o gráfico de dispersão entre as variáveis x e y.
Resultado:

Figure 12.1: Gráfico de dispersão entre as variáveis x e y.
Aqui farei referência à figura onde vemos o gráfico de dispersão entre as variáveis x e y.
12.2 De imagem
Vimos na seção como inserir uma imagem. Lembra?

Vimos ainda que podemos inserir uma legenda a essa figura. Lembra?

Pois bem, se queremos fazer uma referencia a essa imagem usando a ferramenta de referência cruzada, basta, entre os colchetes, inserir uma label a essa mesma imagem: (\label{LabelDessaImagem}
). Assim como as labels dos trechos de código (conforme mencionado na seção ), elas deverão ser como um ID e não poderão se repetir em diferentes imagens:

O que fizemos até agora foi criar uma label para a imagem que queremos referenciar em alguma parte do texto. Agora, para fazer a referencia a essa imagem, basta usar \autoref{LabelDessaImagem}
.
Exemplo:

veja a\autoref{LabelDessaImagem}
ela é muito legal a responde todas as questões científicas sobre a restauração!
Resultado:

O mistério da restauração foi desvendado por esta imagem.
veja a ela é muito legal a responde todas as questões científicas sobre a restauração!
12.3 De seção
Quando quisermos fazer referencia a alguma seção (Título, subtítulo, …), precisaremos criar uma label nessa seção, usando o comando {#labelsecao}
, para depois referenciá-la no texto usando \ref{labelsecao}
.
Repare que, para criar a seção, devemos inserir # antes do texto da label. E no comando \ref{}
a label vai sem o #. Outra observação importante, não use espaço nas labels!
Exemplo:
Ver a seção
\ref{InserindoImagem}
para saber mais informações
Resultado:
Ver a seção para saber mais informações
12.4 De tabela
Assim como nos casos anteriores, precisaremos adicionar uma label à nossa tabela. Faremos isso adicionarndo \\label{labelDaTabela}
dentro da tring do título. Estamos usando \
duas vezes para que a mesma não seja confundida com o título. Fique atento pois essa é uma fonte de erro bem comum.
Exemplo:
\```{r}
knitr::kable(mtcars[1:3,1:3], align='c', caption="Analise dos carros. \\label{tabelamtcars} ")
\```
Resultado:
mpg | cyl | disp | |
---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 |
Mazda RX4 Wag | 21.0 | 6 | 160 |
Datsun 710 | 22.8 | 4 | 108 |
E, como você já deve imagina, para fazer referencia à tablea, basta usar \autoref{labelDaTable}
Exemplo:
Na
\autoref{tabelamtcars}
apresentamos todos os dados usados.
Resultado:
Na apresentamos todos os dados usados.