Skip to main content
O Overleaf oferece integração com o knitr, que permite adicionar código R ao seu documento LaTeX para gerar uma saída dinâmica. Documentos que contêm código R devem ser salvos com a extensão .Rtex ou .Rnw; caso contrário, o código não funcionará. Vejamos um exemplo:
KnitrDemo1.png Abrir este exemplo de knitr no Overleaf Como você pode ver, o texto entre os caracteres <<>>= e @ é código R. Esse código e sua saída são impressos em um formato semelhante a uma listagem. Esse trecho de código pode receber alguns parâmetros extras para personalizar a saída dinâmica, conforme descrito na próxima seção.

Chunks de código

Um bloco de código como o apresentado na seção anterior costuma ser chamado de chunk. Você pode definir algumas opções extras nos chunks do knitr. Veja o exemplo abaixo:
KnitrDemo2.png Abrir este exemplo de knitr no Overleaf Há duas opções adicionais passadas entre << e >>.
  • echo=FALSEOculta o código e imprime apenas a saída gerada pelo R.
  • cache=TRUESe o cache estiver definido como true, o chunk não é executado; apenas os objetos gerados por ele são usados. Isso economiza tempo se os dados desse chunk não tiverem mudado.
    Observe que a opção cache=TRUE não é suportada atualmente no Overleaf, mas deve funcionar localmente.
Consulte o guia de referência para mais opções.

Comandos inline

É possível acessar objetos gerados em um chunk e imprimi-los inline.
KnitrDemo3.png Abrir este exemplo de knitr no Overleaf O comando \Sexpr{mean(X)} imprime a saída retornada pelo código R mean(X). Qualquer comando R pode ser passado entre as chaves.

Gráficos

Gráficos também podem ser adicionados a um documento knitr, como neste exemplo:
KnitrDemo4.png Abrir este exemplo de knitr no Overleaf Este histograma usa dados armazenados em “data.txt”, salvo no diretório de trabalho atual. Algumas opções relacionadas à figura são passadas ao chunk. plot1Este é o rótulo usado para referenciar o gráfico. O prefixo “fig:” é obrigatório. Você pode ver no exemplo que a figura é referenciada com \ref{fig:plot1}.fig.pos="t" parâmetro de posicionamento. É o mesmo usado no ambiente figure.fig.height=4, fig.width=4Largura e altura da figura.fig.cap="First plot"Legenda da figura.

Scripts R externos

Você pode importar partes de um script R externo para um documento knitr. Isso é muito útil, pois é bastante comum escrever e depurar o script em um programa externo antes de incluí-lo no documento. Suponha que temos o seguinte código R em um arquivo chamado mycode.R, que incluímos em nosso documento LaTeX:
Observe as linhas:
e
Elas marcam o início de um chunk de código e são obrigatórias se você quiser usar este script no documento, como mostrado no seguinte fragmento de código:
KnitrDemo5.png O primeiro chunk não é impresso e é usado apenas para importar o script com o comando read_chunk("mycode.R"). É por isso que a opção echo=FALSE está definida. Além disso, os scripts não devem ser armazenados em cache. Depois que o script for importado, você pode imprimir um chunk usando o rótulo definido após ## ----. Neste caso, é myrcode2. Reunimos todos os fragmentos de código deste artigo em um projeto que você pode abrir no Overleaf.

Guia de referência

Algumas opções de chunk:
  • results. Altera o comportamento dos resultados gerados pelo código R. Os valores possíveis são:
    • markup Usa LaTeX para formatar a saída.
    • asis Imprime os resultados brutos do R.
    • hold Retém os resultados da saída e os envia para o final do chunk.
    • hide Oculta os resultados.
  • echo. Define se o código-fonte R deve ser incluído. Outros parâmetros incluem:
    • echo=2:3 imprime apenas a segunda e a terceira linhas;
    • echo=-2:-3 exclui apenas a segunda e a terceira linhas.
  • cache. Define se o chunk de código deve ser armazenado em cache. Os valores possíveis são: TRUE e FALSE
  • highlight. Define se o código-fonte deve ser destacado. Os valores possíveis são: TRUE e FALSE
  • background. Cor de fundo do chunk. Podem ser usados os formatos rgb e HTML. O valor padrão é “#F7F7F7”.
Última modificação em 4 de outubro de 2026