0

考虑以下 R Markdown 代码:

---
title: 'John Doe'
output: pdf_document
bibliography: [bib1.bib, bib2.bib]
nocite: '@*'
csl: vancouver.csl
---

# Peer-reviewed publications

# Other publications

bib1.bib 代码:

@article{article1,
Author = {Doe, John},
Title = {{Article 1 name}},
Journal = {{Journal 1 name}},
Year = {{2021}},
Volume = {{1}},
Pages = {{1-2}},
}

@article{article2,
Author = {Doe, John},
Title = {{Article 2 name}},
Journal = {{Journal 2 name}},
Year = {{2020}},
Volume = {{1}},
Pages = {{1-2}},
}

bib2.bib 代码:

@article{article3,
Author = {Doe, John},
Title = {{Article 3 name}},
Journal = {{Journal 3 name}},
Year = {{2021}},
Volume = {{1}},
Pages = {{1-2}},
}

针织输出:

在此处输入图像描述

但是,我更关心以下输出:

在此处输入图像描述

请注意,我想要文本引用,而是列出整个参考书目,这就是为什么我通过在代码中添加“nocite:'@*'”来解决这个问题,但我无法得到我的结果追了

顺便说一句,我在这里使用了 csl 样式 vancouver.csl(请参阅:https ://www.zotero.org/styles?q=vancouver )。

任何帮助是极大的赞赏。

4

1 回答 1

1

您可以使用 biblatex 拆分书目:

---
title: 'John Doe'
output: 
  pdf_document:
    keep_tex: true
csl: vancouver.csl
header-includes:
  - \include{preamble.tex}
---

preamble.tex

\usepackage[style=vancouver]{biblatex}
\addbibresource{bib1.bib}
\addbibresource{bib2.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite]{
      \perdatasource{bib1.bib}
      \step[fieldset=keywords, fieldvalue={,peer}, append]
    }
  }
}

\AtEndDocument{\nocite{*}
\printbibliography[keyword={peer},title={Peer-reviewed publications}]
\DeclareFieldFormat{labelnumber}{%
  \ifinteger{#1}
    {\number\numexpr#1-2\relax}
    {#1}}
\printbibliography[notkeyword={peer},title={Other publications}]}

然后编译生成的filename.tex文件

pdflatex filename
biber filename
pdflatex filename

在此处输入图像描述

于 2021-09-15T10:06:37.850 回答