我正在创建一个书本文档,其中提供了一个链接,供人们下载他们正在查看的当前部分的PDF,DOCX和TEX输出。所有输出文档都在名为“ Compilation”的文件夹中,并且与检索到的原始Rmd文档的名称相同。
例如,我有文件“ 1.2-Endowment-effect.Rmd”,在其中进行了编码:
Download Links: [[PDF]](./Compilation/1.2-Endowment-effect.pdf)
[[DOCX]](./Compilation/1.2-Endowment-effect.docx)
[[TEX]](./Compilation/1.2-Endowment-effect.tex)
我想知道,是否有一种方法可以采用当前Rmd文件的名称并添加扩展名,而不是在代码中编写“ 1.2-Endowment-effect”。类似于:
Download Links: [[PDF]](./Compilation/NameCurrentFile.pdf)
[[DOCX]](./Compilation/NameCurrentFile.docx)
[[TEX]](./Compilation/NameCurrentFile.tex)
我必须对许多Rmd文件重复该过程,并且我想避免总是更新链接。
谢谢您的帮助。
[输出文件名可以使用内联R表达式生成,例如
Download Links: [PDF](./Compilation/`r xfun::with_ext(knitr::current_input(), 'pdf'`)
如果您对xfun::with_ext()
和knitr::current_input()
的功能不熟悉,请阅读它们的帮助页面。
要将此部分包括在所有其他Rmd文档中,您可以将内容放在名为_download.Rmd
的子文档中,并在您的主要Rmd文档中使用
```{r, child='_download.Rmd'}
```