如何使用 RMarkdown + knitr 使用 YAML 元数据来引用多位作者的论文?

How do I cite papers with multiple authors using YAML metadata with RMarkdown + knitr?

我正在写我的包裹的插图,我正在尝试包括一篇包含多位作者的论文作为参考,在代码的开头使用类似这样的内容:

---
references:
- id: doe2009
  title: A Method for Something
  author:
  - family: Doe
    given: John
  - family: Shepard
    given: Jane
  container-title: Some Journal
  volume: 11
  issue: 45
  page: 33-39
  type: article-journal
  issued:
    year: 2009
---

问题是,我的引文最后是这样的:

Doe、John 和 Jane Shepard。 2009. “一种方法。”一些期刊 11 (45): 33–39.

第一作者有一种模式,第二作者有另一种模式。

如何将其更改为更一致的形式?另外,我正在尝试避免将外部文件添加到我的包中...有没有办法在不使用外部 csl 的情况下执行此操作?

很抱歉这个问题听起来微不足道。我对CSL一无所知,这是我第一次尝试发布包。

抱歉,我认为没有外部文件无法完成此操作。

RStudio help page on bibliographies 表示

By default, pandoc will use a Chicago author-date format for citations and references. To use another style, you will need to specify a CSL 1.0 style file in the csl metadata field.

转到 Zotero style repository page for Chicago format(并将鼠标悬停在第一个样式条目上)显示芝加哥样式确实将 last 作者姓名设置为 "Firstname Lastname" (所有其他人为 "Lastname, Firstname")。

随便换一种风格,例如APA style,可以为您提供与顺序无关的作者格式一致的样式(点击下载其中一个 CSL 文件)。