Skip to main content
Overleaf biedt een integratie met knitr, waarmee je R-code aan je LaTeX-document kunt toevoegen om dynamische uitvoer te genereren. Documenten die R-code bevatten, moeten worden opgeslagen met de extensie .Rtex of .Rnw, anders werkt de code niet. Laten we een voorbeeld bekijken:
KnitrDemo1.png Open dit knitr-voorbeeld in Overleaf Zoals je ziet, is de tekst tussen de tekens <<>>= en @ R-code. Deze code en de uitvoer ervan worden afgedrukt in een listing-achtig formaat. Dit codeblok kan enkele extra parameters krijgen om de dynamische uitvoer aan te passen, zoals beschreven in de volgende sectie.

Codeblokken (chunks)

Een codeblok zoals dat in de vorige sectie wordt meestal een chunk genoemd. Je kunt enkele extra opties instellen in knitr-chunks. Zie het onderstaande voorbeeld:
KnitrDemo2.png Open dit knitr-voorbeeld in Overleaf Er worden twee extra opties meegegeven tussen << en >>.
  • echo=FALSEHiermee wordt de code verborgen en wordt alleen de door R gegenereerde uitvoer afgedrukt.
  • cache=TRUEAls cache op true staat, wordt de chunk niet uitgevoerd; alleen de objecten die erdoor zijn gegenereerd worden gebruikt. Dit bespaart tijd als de gegevens in die chunk niet zijn gewijzigd.
    Let op: de optie cache=TRUE wordt momenteel niet ondersteund in Overleaf, maar zou lokaal wel moeten werken.
Zie de referentiegids voor meer opties.

Inline-commando’s

Het is mogelijk om objecten die in een chunk zijn gegenereerd op te vragen en inline af te drukken.
KnitrDemo3.png Open dit knitr-voorbeeld in Overleaf Het commando \Sexpr{mean(X)} drukt de uitvoer af die wordt geretourneerd door de R-code mean(X). Tussen de accolades kan elk R-commando worden opgegeven.

Grafieken

Je kunt ook grafieken aan een knitr-document toevoegen, zoals in dit voorbeeld:
KnitrDemo4.png Open dit knitr-voorbeeld in Overleaf Dit histogram gebruikt gegevens uit “data.txt”, dat in de huidige werkmap is opgeslagen. Er worden enkele figuurgerelateerde opties aan de chunk meegegeven. plot1Dit is het label waarmee naar de grafiek wordt verwezen. Het voorvoegsel “fig:” is verplicht. In het voorbeeld zie je dat naar de figuur wordt verwezen met \ref{fig:plot1}.fig.pos="t" positioneringsparameter. Dit is dezelfde als die in de figure-omgeving.fig.height=4, fig.width=4Breedte en hoogte van de figuur.fig.cap="First plot"Bijschrift van de figuur.

Externe R-scripts

Je kunt delen van een extern R-script importeren in een knitr-document. Dit is erg handig, omdat het vrij gebruikelijk is om het script eerst in een extern programma te schrijven en te debuggen voordat je het in je document opneemt. Stel dat we de volgende R-code in een bestand mycode.R hebben, die we in ons LaTeX-document opnemen:
Let op de regels:
en
Deze markeren het begin van een chunk en zijn verplicht als je dit script in ons document wilt gebruiken, zoals in het volgende codefragment:
KnitrDemo5.png De eerste chunk wordt niet afgedrukt en wordt alleen gebruikt om het script te importeren met het commando read_chunk("mycode.R"). Daarom is de optie echo=FALSE ingesteld. Ook mogen scripts niet worden gecachet. Zodra het script is geïmporteerd, kun je een chunk afdrukken met het label dat je na ## ---- hebt ingesteld. In dit geval is dat myrcode2. We hebben alle codefragmenten uit dit artikel in een project gezet dat je in Overleaf kunt openen .

Referentiegids

Enkele chunk-opties:
  • results. Verandert hoe de resultaten van de R-code worden verwerkt. Mogelijke waarden zijn:
    • markup Gebruik LaTeX om de uitvoer op te maken.
    • asis Druk de onbewerkte resultaten van R af.
    • hold Houd de uitvoerresultaten vast en plaats ze aan het einde van de chunk.
    • hide Verberg de resultaten.
  • echo. Of de R-broncode moet worden opgenomen. Andere parameters zijn onder meer:
    • echo=2:3 drukt alleen de tweede en derde regel af;
    • echo=-2:-3 sluit alleen de tweede en derde regel uit.
  • cache. Of de chunk moet worden gecachet. Mogelijke waarden zijn: TRUE en FALSE
  • highlight. Of de broncode moet worden gemarkeerd. Mogelijke waarden zijn: TRUE en FALSE
  • background. Achtergrondkleur van de chunk. Zowel rgb- als HTML-notatie kan worden gebruikt. De standaardwaarde is “#F7F7F7”.
Laatst gewijzigd op 4 oktober 2026