繁体   English   中英

Quarto:如何使用 `system(kpsewhich(...))` 搜索参考书目文件

[英]Quarto: How to search for bibliography files using `system(kpsewhich( ...))`

这是knitr/Rmarkdown/pandoc 的后续:如何在 .Rmd 文件中全局设置参考书目路径,其中适用于knitr/rmarkdown/pandoc的解决方案不适用于 Quarto。

我在系统范围的localtexmf文件夹中有多个.bib文件。 我想指定其中一些在四开本文档中搜索参考。 (我不想将这些中的每一个复制到项目文件夹或指定这些文件的完整绝对或相对路径。)

使用knitr/rmarkdown/pandoc我可以使用:

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

但是,使用 Quarto,这会产生错误:

Preparing to preview
[1/2] intro.qmd
File r system('kpsewhich graphics.bib', intern=TRUE) not found in resource path

system(kpsewhich())命令确实在控制台中找到了文件:

> system('kpsewhich graphics.bib')
C:/Users/friendly/Dropbox/localtexmf/bibtex/bib/graphics.bib
[1] 0

如何使用 Quarto 完成这项工作? Quarto 的 YAML 语法有什么不同吗? 还有其他方法吗?

您可以在参考书目 yaml 键下尝试这样吗,

- !expr system('kpsewhich graphics.bib', intern=TRUE)

我还没有对此进行测试,但我的预感是,因为 quarto 使用不同的语法(参见此处)来评估 yaml 中的 R 代码,也许这就是为什么它将"`r...`"中的给定命令视为文件的原因,而不是R 代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM