Экранирование цитат в документации по roxygen в R

У меня есть пример функции R в моей документации, который должен экранировать цитаты:

#' @examples msearch("published_in:\"Journal of Ecology\"")

(Или, по крайней мере, я не достаточно умен, чтобы избежать цитирования). В то время как эта команда работает правильно в R, функция roxygenize/document преобразует это в двойные экранирования

  msearch("published_in:\\"Journal of Ecology\\"")

в файле.Rd. Как мне обойти это?

2 ответа

Решение

Как вы видели, следующая строка в блоке документации roxygen

#' @examples msearch("published_in:\"Journal of Ecology\"")

преобразуется в это в файле *.Rd

msearch("published_in:\\"Journal of Ecology\\"")

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

msearch("published_in:\"Journal of Ecology\"")

Я предполагаю, что это то, что вы на самом деле хотите в конечном продукте. Как это происходит во многих других отношениях, roxygen упрощает процесс написания файлов справки - в этом случае, позволяя вам набрать \где вы хотели бы, чтобы они действительно появились. Он делает это, избегая \s (как вы должны были бы сделать), это то, что вы видели, когда заглядывали в *.Rd файл.

Вы должны спросить себя, действительно ли это представляет проблему. В R-help часто задают вопрос, почему это ИСТИНА:

nchar("\n") == 1

И дальнейшие вопросы, поднятые о том, как удалить нежелательное "\" .... которого на самом деле нет.

Если вы хотите использовать двойные кавычки внутри строки, то, возможно, использовать одинарные кавычки, чтобы обвести ее? Или рассмотрите функцию tidy.source: http://finzi.psych.upenn.edu/R/library/formatR/html/tidy.source.html

Другие вопросы по тегам