экранирование цитат в документации по roxygen в R - PullRequest
1 голос
/ 09 февраля 2012

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

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

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

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

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

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

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

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

0 голосов
/ 09 февраля 2012

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

nchar("\n") == 1

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

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

...