在 Rstudio 中使用 knitr 时是否可以使用 LaTeX 引用命令“\cite{key}”?

在 Rstudio 中使用 knitr 时是否可以使用 LaTeX 引用命令“\cite{key}”?

我一直在寻找一种方法来在 Rstudio 上的 markdown 文档中使用\cite{AuthorYear}\citep{AuthorYear}命令而不是[@AuthorYear],但在这里找不到任何解决方案。有人有提示或资源可以寻找吗?

这样做的原因是我需要在审阅过程中呈现 word 文件以供其他人编辑,但我想使用 LaTeX 模板生成最终文档以供期刊提交。采用这种格式的引文将使文档传输速度更快。

到目前为止,我已经在 Markdown 标头中尝试过此操作,但无济于事:

 ---
title: "BEACH Formalisms"
header-includes: 
  \usepackage{mathtools}
  \usepackage{natbib}
output:
  pdf_document: default
  word_document: default
bibliography: library.bib
---

测试:

My citation text \citep{AuthorYear1, AuthorYear2}.

结果:

我的引用文本(??)。

即:文中确实出现了引用括号,但作者只是问号。

我需要在标题中声明引用格式或其他内容吗?如果需要,非常感谢您的帮助!?

谢谢!

答案1

“使用不同的方法”解决方案。正如 DG 所提到的,在 Word 输出中不能使用 LaTeX 命令。但是,可以使用标准 RMarkdown 语法并处理pandoc到 LaTeX 的翻译:

---
title: "BEACH Formalisms"
header-includes: \usepackage{mathtools}
output:
  pdf_document:
    citation_package: natbib
    keep_tex: yes
  word_document: default
bibliography: packages.bib
---

```{r include=FALSE}
# automatically create a bib database for R packages
knitr::write_bib(c(
  .packages(), 'knitr', 'rmarkdown'
), 'packages.bib')
```


My citation text [@R-knitr; @R-base].

这样,您将拥有一个.tex与您的文件相对应的文件.Rmd,您可以以此为基础提交期刊。

答案2

以下适用于我的 PDF 输出

---
title: "BEACH Formalisms"
header-includes: 
  \usepackage{mathtools}
output:
  pdf_document:
    citation_package: natbib
  word_document: default
bibliography: packages.bib
---

```{r include=FALSE}
# automatically create a bib database for R packages
knitr::write_bib(c(
  .packages(), 'knitr', 'rmarkdown'
), 'packages.bib')
```

My citation text \citep{R-knitr, R-base}.

定义natbib似乎citation_package是关键。

相关内容