knitr / Rmarkdown / pando c: Как глобально задать пути для библиографии в файлах .Rmd - PullRequest
1 голос
/ 26 апреля 2020

[ FYI : Этот вопрос относится к rmarkdown: как использовать несколько библиографий для документа

В документах LaTeX или даже в Rmarkdown .Rnw, Я могу просто использовать что-то вроде

\bibliography{graphics, statistics, timeref}

, чтобы BibTeX искал файлы graphics.bib, statistics.bib и timeref.bib в моих локальных каталогах texmf.

В Файл .Rmd, используя заголовок yaml, я вынужден перечислять каждый файл библиографии, используя либо абсолютные пути (не переносимые), либо относительные пути (неуклюжие, подверженные ошибкам). Вот один недавний пример:

---
title: "My Cool Paper"
author: "Me"
date: "`r format(Sys.time(), '%d %B, %Y')`"
output:
  html_document

bibliography:
  - "../../../localtexmf/bibtex/bib/graphics.bib"
  - "../../../localtexmf/bibtex/bib/statistics.bib"
  - "../../../localtexmf/bibtex/bib/timeref.bib"
---

Вопрос : Так же, как я могу использовать r format(Sys.time(), '%d %B, %Y'), чтобы использовать R для заполнения даты, могу ли я использовать некоторое выражение R для поиска / заполнения -в путях к моим файлам .bib в bibliography:?

ОК, из предыдущего вопроса, я попытался использовать

bibliography:
  - "`r system('kpsewhich graphics.bib')`"
  - "`r system('kpsewhich statistics.bib')`"
  - "`r system('kpsewhich timeref.bib')`"

Это находит правильные пути, но просто генерирует их как выводится в журнал уценки R, а не в заголовок yaml. Я вижу:

processing file: Vis-MLM.Rmd
  |........                                                              |  11%
   inline R code fragments

C:/Users/friendly/Dropbox/localtexmf/bibtex/bib/graphics.bib
C:/Users/friendly/Dropbox/localtexmf/bibtex/bib/statistics.bib
C:/Users/friendly/Dropbox/localtexmf/bibtex/bib/timeref.bib

1 Ответ

1 голос
/ 27 апреля 2020

Я почти все правильно понял, но забыл intern=TRUE

Это работает:

bibliography:
  - "`r system('kpsewhich graphics.bib', intern=TRUE)`"
  - "`r system('kpsewhich statistics.bib', intern=TRUE)`"
  - "`r system('kpsewhich timeref.bib', intern=TRUE)`"
...