Добавление номеров строк для фрагментов кода R с knitr с Lyx - PullRequest
0 голосов
/ 13 февраля 2019

Я использую Lyx с пакетом R knitr и с трудом помещаю номера строк в свои фрагменты кода в R. Я хочу, чтобы каждая строка моего кода имела число, а не только выходные строки, как я видел всообщения.

Так, например, я бы хотел, чтобы мой код выглядел следующим образом:

x <- 1:10
y <- x^2

В таком виде мой окончательный документ PDF

1  x <- 1:10
2  y <- x^2

Я видел подобное обсуждение здесь , но я бы хотел сделать это в LyX, если это возможно.

1 Ответ

0 голосов
/ 14 февраля 2019

После некоторых исследований я обнаружил работоспособное решение, но я все еще был бы заинтересован и в других решениях.

При использовании knitr с Lyx или Latex, я считаю полезным добавить пакет lineno к преамбуле документа, а затем заключить фрагмент в \internallinenumbers \resetlinenumber[13].

Вот минимальный пример:

\usepackage{lineno}

, затем в основной текст добавьте следующее перед фрагментом кода:

{\internallinenumbers \resetlinenumber[13]

и затем после фрагмента кода:

}

С LyX (что я использую для быстрой генерации LaTeX) я просто захожу в меню документа, затем Настройки-> Преамбула LaTeX и добавляю \usepackage{lineno}, нажимаю Применить, OK, а затемБлизко.Затем в основной документ перед блоком кода я вставляю исходный текст LaTeX, нажимая кнопку меню кнопки «TEX» или нажимая «Ctrl + L» на клавиатуре.Затем я вставляю {\internallinenumbers \resetlinenumber[13].Наконец, я помещаю курсор сразу после фрагмента кода и делаю то же самое.только я закрываю нумерацию строк с помощью фигурной скобки: }.

Вот минимальный пример, когда код вставлен на место ниже:

\documentclass[english]{article}
\usepackage{lineno}
\begin{document}
First line in main document before code chunk.

{\internallinenumbers \resetlinenumber[13]

<<CodeBlock1, highlight=TRUE, eval=FALSE, size="small">>=
x<-rnorm(10)
mean(x)
@
}
\end{document}
...