我一直在寻找一种方法来在 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
是关键。