2015-09-23 3 views
1

Я пытаюсь изменить поведение трикотажной кнопки RStudio, изменив каталог, в который он записывает вывод вязания файла Rmd. Я начал с this answer, но вместо того, чтобы иметь имя файла, заданное фиксированной строкой, я хотел бы иметь имя выходного файла на основе имени файла Rmd. Однако переменная inputFile включает полный путь к файлу Rmd. Есть ли способ получить только имя файла без пути?функция для получения имени файла без полного пути в заголовке YAML документа RMarkdown

Заголовок Я работаю с этим производит полный путь + имя файла, где я хотел бы только имя файла (test2 является каталогом, который я создал в текущем рабочем каталоге):

--- 
knit: (function(inputFile, encoding) {rmarkdown::render(inputFile,encoding=encoding, output_file=file.path(dirname(inputFile), "test2", paste0(substr(inputFile,1,nchar(inputFile-4),".html"))) }) 
output: html_document 
--- 

ответ

0

Я по-прежнему заинтересованы в команде, которая будет непосредственно дать мне входной файл, как указано в вопросе, но я нашел обходной путь для конкретного вопроса, используя регулярное выражение в substr вызова, на основе this:

knit: (function(inputFile, encoding) {rmarkdown::render(inputFile,encoding=encoding, output_file=file.path(dirname(inputFile), "test2", paste0(substr(inputFile,rev(gregexpr("/", inputFile)[[1]])[1]+1,nchar(inputFile)-4),".html"))) }) 
Смежные вопросы