Подтвердить что ты не робот

Документирование уравнений с deqn и roxygen

Я использую \deqn{}{} с roxygen2 для документирования уравнений для функции в пакете. LaTeX (1-й аргумент deqn) отлично отображает, потому что пустое пространство игнорируется в уравнениях LaTeX, но у меня есть проблема с представлением ASCII (2-й аргумент deqn).

Проблема в том, что мое форматирование уничтожено (похоже, roxygen помещает всю команду deqn в "одну строку", а затем обертывает эту строку в ~ 60 столбцов или около того). Есть ли способ заставить roxygen2 сохранить форматирование пробелов в моих командах/комментариях roxygen в .R файле?

У меня есть следующий код в файле, example.R:

#'Example
#'
#'deqn ASCII example
#'
#'\deqn{ \sigma = \sqrt{ \frac{Z}{n} \sum
#'  \left[ \textstyle\frac{1}{2}\displaystyle
#'    \left( \log \frac{H_i}{L_i} \right)^2  - (2\log 2-1)
#'    \left( \log \frac{C_i}{O_i} \right)^2 \right] }
#'}{sqrt(N/n * runSum(0.5 * log(OHLC[,2]/OHLC[,3])^2 -
#'           (2*log(2)-1) * log(OHLC[,4]/OHLC[,1])^2, n))}
#'
#'@param x An example parameter
#'@return A example result
#'@author Joshua Ulrich
#'@keywords ts
#'@export
"example" <-
function(x) {
}

И я использую следующий код R для создания файла example.Rd:

library(roxygen2)
setwd("dir/containing/example.R/")
dir.create("man",FALSE)
roclet <- rd_roclet()
roc_proc(roclet, "example.R", ".")
roc_out(roclet, "example.R", ".")

Вы можете создать текстовое представление файла example.Rd с помощью этой команды в командной строке:

R CMD Rd2txt dir/containing/example.R/man/example.Rd

Раздел "Сведения", выводимый из приведенной выше команды, выглядит следующим образом:

sqrt(N/n *
  runSum(0.5 * log(OHLC[,2]/OHLC[,3])^2 - (2*log(2)-1) *
  log(OHLC[,4]/OHLC[,1])^2, n))

тогда как я хотел бы, чтобы он выглядел так:

sqrt(N/n * runSum(0.5 * log(OHLC[,2]/OHLC[,3])^2 -
         (2*log(2)-1) * log(OHLC[,4]/OHLC[,1])^2, n))
4b9b3361

Ответ 1

Согласно Хэдли Уикхэму, перенос строк будет удален в будущих версиях roxygen. Таким образом, решение для roxygen2 заключается в розегенизации файла (или пакета), затем вручную обновляет текстовое уравнение в затронутых файлах .Rd.