2016-07-21 4 views
2

Я пытаюсь сделать PDF, используя Rmarkdown и knitr. Этот процесс изменяет следующую строку моего сценария:Почему новичок меняет свой документ Rmarkdown?

"`r format(Sys.time(), '%B %d, %Y')`" 

к:

'`r format(Sys.time(), ''%B %d, %Y'')`' 

В частности, эти двойные одиночные кавычки ''%B %d, %Y'' бросают вверх сообщение:

Error in yaml::yaml.load(enc2utf8(string), ...) : 
    Scanner error: while scanning for the next token at line 5, column 31found character that cannot start any token at line 5, column 31 

Почему knitr автоматическое внесение этих настроек и может ли оно быть зафиксировано/выключено?

Заранее благодарим за любые советы.

Я проверил ответы здесь YAML current date in rmarkdown но не решить мою проблему, к сожалению

+0

Ваше исправление действительно работает - это просто другой формат даты, чем указано. Другие вопросы правильного ответа не сработали - и теперь я понимаю, что смена котировок происходит при переключении между html и pdf-рендерингом –

ответ

2

Решение может быть

{r format(Sys.time(), "%a %b %d %X %Y %Z")} 

Более подробную информацию можно найти здесь https://stat.ethz.ch/R-manual/R-devel/library/base/html/strptime.html, если вы хотите изменить структуру времени

% a Сокращенное название буднего дня в текущем регионе на этой платформе.

% b - Сокращенное название месяца в текущей локали на этой платформе.

% d День месяца как десятичное число (01-31)

% X время. Специфические для локали на выходе

% Y is Year with century.

% Z это время зона аббревиатурой в виде строки символов (пустой, если нет в наличии)

Смежные вопросы