Skip to main content
Overleaf propose une intégration avec knitr, qui vous permet d’ajouter du code R à votre document LaTeX afin de générer une sortie dynamique. Les documents contenant du code R doivent être enregistrés avec l’extension .Rtex ou .Rnw, sinon le code ne fonctionnera pas. Voyons un exemple :
KnitrDemo1.png Ouvrir cet exemple knitr sur Overleaf Comme vous pouvez le constater, le texte situé entre les caractères <<>>= et @ est du code R. Ce code et sa sortie sont affichés dans un format semblable à un listing. Ce bloc de code peut accepter des paramètres supplémentaires pour personnaliser la sortie dynamique, comme décrit dans la section suivante.

Blocs de code (chunks)

Un bloc de code comme celui présenté dans la section précédente est généralement appelé un chunk. Vous pouvez définir des options supplémentaires dans les chunks knitr. Voyez l’exemple ci-dessous :
KnitrDemo2.png Ouvrir cet exemple knitr sur Overleaf Deux options supplémentaires sont passées entre << et >>.
  • echo=FALSE : masque le code et n’affiche que la sortie générée par R.
  • cache=TRUE : si le cache est activé, le chunk n’est pas réexécuté ; seuls les objets qu’il a générés sont utilisés. Cela fait gagner du temps si les données de ce chunk n’ont pas changé.
    Notez que l’option cache=TRUE n’est actuellement pas prise en charge dans Overleaf, mais elle devrait fonctionner en local.
Consultez le guide de référence pour plus d’options.

Commandes en ligne

Il est possible d’accéder aux objets générés dans un chunk et de les afficher dans le texte.
KnitrDemo3.png Ouvrir cet exemple knitr sur Overleaf La commande \Sexpr{mean(X)} affiche le résultat renvoyé par le code R mean(X). N’importe quelle commande R peut être passée entre les accolades.

Graphiques

Des graphiques peuvent également être ajoutés à un document knitr, comme dans cet exemple :
KnitrDemo4.png Ouvrir cet exemple knitr sur Overleaf Cet histogramme utilise des données stockées dans « data.txt », enregistré dans le répertoire de travail courant. Quelques options liées aux figures sont passées au chunk. plot1 : étiquette utilisée pour faire référence au graphique. Le préfixe « fig: » est obligatoire. Vous pouvez voir dans l’exemple que la figure est référencée avec \ref{fig:plot1}. fig.pos="t" : paramètre de positionnement, identique à celui utilisé dans l’environnement figure. fig.height=4, fig.width=4 : largeur et hauteur de la figure. fig.cap="First plot" : légende de la figure.

Scripts R externes

Vous pouvez importer des parties d’un script R externe dans un document knitr. C’est très utile, car il est assez courant d’écrire et de déboguer le script dans un programme externe avant de l’inclure dans votre document. Supposons que nous ayons le code R suivant dans un fichier nommé mycode.R, que nous incluons dans notre document LaTeX :
Remarquez les lignes :
et
Elles marquent le début d’un chunk de code et sont obligatoires si vous souhaitez utiliser ce script dans votre document, comme le montre le fragment de code suivant :
KnitrDemo5.png Le premier chunk n’est pas affiché et sert uniquement à importer le script avec la commande read_chunk("mycode.R"). C’est pourquoi l’option echo=FALSE est définie. De plus, les scripts ne doivent pas être mis en cache. Une fois le script importé, vous pouvez afficher un chunk à l’aide de l’étiquette définie après ## ----. Dans ce cas, il s’agit de myrcode2. Nous avons regroupé tous les fragments de code de cet article dans un projet que vous pouvez ouvrir sur Overleaf.

Guide de référence

Quelques options de chunk :
  • results. Modifie le comportement des résultats générés par le code R. Valeurs possibles :
    • markup : utilise LaTeX pour mettre en forme la sortie.
    • asis : affiche les résultats bruts de R.
    • hold : retient les résultats et les place à la fin du chunk.
    • hide : masque les résultats.
  • echo. Indique s’il faut inclure le code source R. Autres paramètres possibles :
    • echo=2:3 n’affiche que la deuxième et la troisième ligne ;
    • echo=-2:-3 exclut uniquement la deuxième et la troisième ligne.
  • cache. Indique s’il faut mettre en cache le chunk de code. Valeurs possibles : TRUE et FALSE
  • highlight. Indique s’il faut appliquer la coloration syntaxique au code source. Valeurs possibles : TRUE et FALSE
  • background. Couleur d’arrière-plan du chunk. Les formats rgb et HTML peuvent être utilisés. La valeur par défaut est “#F7F7F7”.
Dernière modification le 4 octobre 2026