Rmarkdown链接-如何获取不带扩展名的当前文件的名称?

问题描述 投票:0回答:1

我正在创建一个书本文档,其中提供了一个链接,供人们下载他们正在查看的当前部分的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 hyperlink r-markdown bookdown
1个回答
0
投票

[输出文件名可以使用内联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'}
```
© www.soinside.com 2019 - 2024. All rights reserved.