引用木瓜中的荟萃分析来源

时间:2018-10-31 20:35:30

标签: r-markdown papaja

我正在撰写荟萃分析,我想引用参考文献中荟萃分析的论文,并在姓氏前加上星号。我可以使用参考部分中的nocite函数包括文本中未引用的参考,但是我还需要添加星号来表示它来自MA。我看到磷灰石软件包具有一个名为\ nocitemeta的函数,但这在这里似乎不起作用。

有直接的方法吗?

1 个答案:

答案 0 :(得分:1)

我知道有两种方法可以实现此目的,两种方法都只能用于PDF文档(即apa6_pdf())。 更新:我添加了一种pandoc-citeproc方法,在下面,我建议这样做,因为它不需要新的语法并且适用于PDF和Word文档。

1。 apacite

第一种方法利用apacite包,从而可以使用\nocitemeta。据我所知,这种方法的缺点是您需要通过设置pandoc-citeproc来停用pandoc: no。这将导致忽略常见的pandoc-citeproc引用语法(例如@R-papaja)。您需要在整个文档中使用apacite语法。

---
title             : "The title"
shorttitle        : "Title"

author: 
  - name          : "First Author"
    affiliation   : "1"

affiliation:
  - id            : "1"
    institution   : "Wilhelm-Wundt-University"

bibliography      : ["r-references.bib"]
citeproc          : no

header-includes   :
  - \usepackage[natbibapa]{apacite}
  - \bibliographystyle{apacite}
  - \renewcommand{\APACmetastar}{\ensuremath{{}^\ast}}

documentclass     : "apa6"
classoption       : "man"

output            : papaja::apa6_pdf
---

```{r}
library("papaja")
```

\nocitemeta{R-base}

This works: \citet{R-papaja}

This doesn't work: @R-papaja

```{r create-r-references}
r_refs(file = "r-references.bib")
```

\bibliography{r-references.bib}

2。 biblatex

第二种方法受this answer的启发,它依赖于biblatex并引入了一个自定义命令,该命令模仿了\nocitemeta中的apacite。这样做的好处是pandoc-citeproc引用语法仍然有效。

---
title             : "The title"
shorttitle        : "Title"

author: 
  - name          : "First Author"
    affiliation   : "1"
    corresponding : yes    # Define only one corresponding author
    address       : "Postal address"
    email         : "my@email.com"

affiliation:
  - id            : "1"
    institution   : "Wilhelm-Wundt-University"

bibliography      : ["r-references.bib"]
biblio-style      : "apa"

header-includes:
  - \DeclareLanguageMapping{english}{english-apa}
  - \DeclareBibliographyCategory{asterisk}
  - \renewbibmacro*{begentry}{\ifcategory{asterisk}{\ensuremath{{}^\ast}}{}}
  - \newcommand*{\nocitemeta}[1]{\nocite{#1}\addtocategory{asterisk}{#1}}

output:
  papaja::apa6_pdf:
    citation_package: biblatex
---


```{r}
library("papaja")
```

\nocitemeta{R-base}

Now this works: @R-papaja

```{r create-r-references}
r_refs(file = "r-references.bib")
```

\defbibnote{asterisk}{References marked with an asterisk indicate studies included in the meta-analysis.}
\printbibliography[title=References,prenote=asterisk]
\renewcommand{\printbibliography}{}

3。 pandoc-citeproc

通过修改默认的APA CSL文件(请参见here),可以在所有具有指定字段的书目条目的前面显示一个星号。在此示例中,我选择了BibTeX文件中的annotation字段。然后,我使用YAML前件中的nocite字段列出元分析中包含的作品(其他条目需要用,分隔)。

---
title             : "The title"
shorttitle        : "Title"

author:
  - name          : "First Author"
    affiliation   : "1"

affiliation:
  - id            : "1"
    institution   : "Wilhelm-Wundt-University"

bibliography      : ["r-references.bib"]
csl               : "apa6-meta.csl"
nocite            : |
  @R-base

documentclass     : "apa6"
classoption       : "man"

output            : papaja::apa6_pdf
---

```{r}
library("papaja")
```

@R-papaja

\newpage

# References

```{r create_r-references}
r_refs(file = "r-references.bib")
```

\begingroup
\setlength{\parindent}{-0.5in}
\setlength{\leftskip}{0.5in}
References marked with an asterisk indicate studies included in the meta-analysis.
<div id = "refs"></div>
\endgroup

编辑后的BibTeX文件r-references.bib如下所示(请注意annotation的{​​{1}}字段:

R-base