我想在 Rmarkdown 文档中包含主要文本和补充文本的单独参考部分。这里和这里建议的方法在很大程度上有效,但如果两个指定的 .bib 文件中都出现了引用,那么它们就会出现在两个列表中,即使它们仅在一个部分中被引用。
我通过重命名第二个 .bib 文件中的键,然后在补充中使用更改后的引文键来解决这个问题。这是有效的,直到我在正文和补充中引用了同一篇论文。然后它们被解释为不同的引文,因此它们被标记为“a”和“b”,例如(Smith et al. 2000a)和(Smith et al. 2000b),即使它们是完全相同的参考文献。
我通过在第二个 .bib 文件中仅包含补充中引用的那些参考文献来解决这个问题。如果这些参考文献也在正文中被引用,我将不修改它们,但如果它们仅出现在补充中,那么我会修改引用键。然后修改后的键仅在第二个参考书目中生成外观。这似乎可行,但很麻烦(如果添加或删除文本引用等,则容易出错)。
有没有更好的办法?我想要的是指定一个 .bib 文件,其中包括将引用的任何可能的参考文献(加上更多 - 它链接到 Zotero,我使用该citr包插入引用)。然后我想要某种方法来重置扫描引文的范围。例如,我有
---
bibliography: "My Library.bib"
output:
bookdown::pdf_book:
fig_caption: yes
df_print: paged
number_sections: no
pandoc_args: --lua-filter=multiple-bibliographies.lua
toc: no
keep_tex: true
base_format: rticles::elsevier_article
---
# Main text
A bunch of text here with citations.
<!-- list all citation (and only those) occurring before the "\restartbib" function. -->
# Refereneces
::: {#refs}
:::
\restartbib
# …Run Code Online (Sandbox Code Playgroud)