Skip to main content
Overleaf zapewnia integrację z knitr, która pozwala dodawać kod R do dokumentu LaTeX w celu generowania dynamicznych wyników. Dokumenty zawierające kod R muszą być zapisane z rozszerzeniem .Rtex lub .Rnw, w przeciwnym razie kod nie zadziała. Spójrzmy na przykład:
KnitrDemo1.png Otwórz ten przykład knitr w Overleaf Jak widać, tekst między znakami <<>>= i @ to kod R. Ten kod i jego wynik są wyświetlane w formacie przypominającym listing. Ten fragment kodu może przyjmować dodatkowe parametry pozwalające dostosować dynamiczne wyniki, co opisano w następnej sekcji.

Fragmenty kodu

Blok kodu taki jak przedstawiony w poprzedniej sekcji jest zazwyczaj nazywany fragmentem (ang. chunk). We fragmentach knitr można ustawić dodatkowe opcje. Zobacz poniższy przykład:
KnitrDemo2.png Otwórz ten przykład knitr w Overleaf Wewnątrz << i >> przekazano dwie dodatkowe opcje.
  • echo=FALSEUkrywa kod i wyświetla tylko wynik wygenerowany przez R.
  • cache=TRUEJeśli cache ma wartość true, fragment nie jest uruchamiany, a używane są tylko wygenerowane przez niego obiekty. Pozwala to zaoszczędzić czas, jeśli dane w danym fragmencie się nie zmieniły.
    Pamiętaj, że opcja cache=TRUE nie jest obecnie obsługiwana w Overleaf, ale powinna działać lokalnie.
Więcej opcji znajdziesz w przewodniku.

Polecenia w tekście

Można uzyskać dostęp do obiektów wygenerowanych we fragmencie i wyświetlić je w tekście.
KnitrDemo3.png Otwórz ten przykład knitr w Overleaf Polecenie \Sexpr{mean(X)} wyświetla wynik zwrócony przez kod R mean(X). Wewnątrz nawiasów klamrowych można przekazać dowolne polecenie R.

Wykresy

Do dokumentu knitr można również dodawać wykresy, jak w tym przykładzie:
KnitrDemo4.png Otwórz ten przykład knitr w Overleaf Ten histogram wykorzystuje dane zapisane w pliku “data.txt”, znajdującym się w bieżącym katalogu roboczym. Do fragmentu przekazano kilka opcji związanych z rysunkiem. plot1To etykieta używana do odwoływania się do wykresu. Prefiks “fig:” jest obowiązkowy. W przykładzie widać, że do rysunku odwołano się za pomocą \ref{fig:plot1}.fig.pos="t" parametr położenia. Jest to ten sam parametr, który stosuje się w środowisku figure.fig.height=4, fig.width=4Szerokość i wysokość rysunku.fig.cap="First plot"Podpis rysunku.

Zewnętrzne skrypty R

Do dokumentu knitr można importować części zewnętrznego skryptu R. Jest to bardzo pomocne, ponieważ dość często pisze się i debuguje skrypt w zewnętrznym programie, zanim zostanie on dołączony do dokumentu. Załóżmy, że w pliku o nazwie mycode.R mamy następujący kod R, który dołączamy do dokumentu LaTeX:
Zwróć uwagę na wiersze:
oraz
Oznaczają one początek fragmentu kodu i są obowiązkowe, jeśli chcesz użyć tego skryptu w dokumencie, jak pokazano w poniższym fragmencie kodu:
KnitrDemo5.png Pierwszy fragment nie jest wyświetlany i służy jedynie do zaimportowania skryptu za pomocą polecenia read_chunk("mycode.R"). Dlatego ustawiono opcję echo=FALSE. Ponadto skrypty nie mogą być buforowane. Po zaimportowaniu skryptu możesz wyświetlić fragment, używając etykiety ustawionej po ## ----. W tym przypadku jest to myrcode2. Wszystkie fragmenty kodu z tego artykułu umieściliśmy w projekcie, który możesz otworzyć w Overleaf.

Przewodnik

Wybrane opcje fragmentów:
  • results. Zmienia sposób traktowania wyników generowanych przez kod R. Możliwe wartości to:
    • markup Formatuje wynik za pomocą LaTeX.
    • asis Wyświetla surowe wyniki z R.
    • hold Wstrzymuje wyniki i przenosi je na koniec fragmentu.
    • hide Ukrywa wyniki.
  • echo. Czy dołączać kod źródłowy R. Inne parametry to:
    • echo=2:3 wyświetla tylko drugi i trzeci wiersz;
    • echo=-2:-3 wyklucza tylko drugi i trzeci wiersz.
  • cache. Czy buforować fragment kodu. Możliwe wartości to: TRUE i FALSE
  • highlight. Czy podświetlać składnię kodu źródłowego. Możliwe wartości to: TRUE i FALSE
  • background. Kolor tła fragmentu. Można używać formatów rgb i HTML. Wartość domyślna to “#F7F7F7”.
Ostatnia modyfikacja 4 października 2026