Skip to main content
Overleaf поддерживает интеграцию с knitr, которая позволяет добавлять код R в документ LaTeX для получения динамически генерируемого вывода. Документы, содержащие код R, должны сохраняться с расширением .Rtex или .Rnw, иначе код не будет работать. Рассмотрим пример:
KnitrDemo1.png Открыть этот пример knitr в Overleaf Как видите, текст между символами <<>>= и @ — это код R. Этот код и его вывод печатаются в формате, похожем на листинг. Такой фрагмент кода может принимать дополнительные параметры для настройки динамического вывода, как описано в следующем разделе.

Фрагменты кода

Блок кода, подобный показанному в предыдущем разделе, обычно называется чанком (chunk). Для чанков knitr можно задавать дополнительные параметры. См. пример ниже:
KnitrDemo2.png Открыть этот пример knitr в Overleaf Внутри << и >> переданы два дополнительных параметра.
  • echo=FALSE Скрывает код и выводит только результат, сгенерированный R.
  • cache=TRUE Если для cache установлено значение true, чанк не выполняется, используются только созданные им объекты. Это экономит время, если данные в чанке не изменились.
    Обратите внимание, что параметр cache=TRUE в настоящее время не поддерживается в Overleaf, но должен работать локально.
Другие параметры описаны в справочном руководстве.

Встроенные команды

Объекты, созданные в чанке, можно использовать и выводить прямо в тексте.
KnitrDemo3.png Открыть этот пример knitr в Overleaf Команда \Sexpr{mean(X)} выводит результат, возвращаемый кодом R mean(X). Внутри фигурных скобок можно передать любую команду R.

Графики

В документ knitr также можно добавлять графики, как в этом примере:
KnitrDemo4.png Открыть этот пример knitr в Overleaf Эта гистограмма использует данные из файла “data.txt”, сохранённого в текущем рабочем каталоге. Чанку передаётся несколько параметров, относящихся к рисунку. plot1 Метка, используемая для ссылки на график. Префикс “fig:” обязателен. В примере видно, что ссылка на рисунок выполняется с помощью \ref{fig:plot1}. fig.pos="t" Параметр расположения. Это тот же параметр, что используется в окружении figure. fig.height=4, fig.width=4 Ширина и высота рисунка. fig.cap="First plot" Подпись к рисунку.

Внешние скрипты R

В документ knitr можно импортировать части внешнего скрипта R. Это очень удобно, поскольку скрипт часто пишут и отлаживают во внешней программе, прежде чем включить его в документ. Предположим, что у нас есть следующий код R в файле mycode.R, который мы включаем в документ LaTeX:
Обратите внимание на строки:
и
Они отмечают начало фрагмента кода и обязательны, если вы хотите использовать этот скрипт в документе, как показано в следующем фрагменте кода:
KnitrDemo5.png Первый чанк не выводится и используется только для импорта скрипта с помощью команды read_chunk("mycode.R"). Поэтому задан параметр echo=FALSE. Кроме того, скрипты не должны кешироваться. После импорта скрипта можно вывести чанк, используя метку, указанную после ## ----. В данном случае это myrcode2. Мы собрали все фрагменты кода из этой статьи в проект, который можно открыть в Overleaf.

Справочное руководство

Некоторые параметры чанков:
  • results. Изменяет поведение результатов, генерируемых кодом R. Возможные значения:
    • markup Форматировать вывод с помощью LaTeX.
    • asis Выводить необработанные результаты R.
    • hold Удерживать результаты и выводить их в конце чанка.
    • hide Скрыть результаты.
  • echo. Включать ли исходный код R. Другие варианты:
    • echo=2:3 выводит только вторую и третью строки;
    • echo=-2:-3 исключает только вторую и третью строки.
  • cache. Кешировать ли чанк кода. Возможные значения: TRUE и FALSE
  • highlight. Подсвечивать ли синтаксис исходного кода. Возможные значения: TRUE и FALSE
  • background. Цвет фона чанка. Можно использовать форматы rgb и HTML. Значение по умолчанию — “#F7F7F7”.
Последнее изменение 4 октября 2026 г.