4

我有一个包含一些引用的 R Markdown 文档。我使用的是默认引用样式,这通常对我很有效。但是我有一些句子放在括号内,在这些句子中,我想引用作品而不添加第二组括号。也就是说,我想取消引用中通常出现在出版年份左右的括号。这是我尝试创建的输出示例:

Lorem ipsum dolor. (Fourscore and seven years ago: see Smith 2020.)

whereSmith 2020是使用 R Markdown 引用产生的,例如@Smith_2020. 在 LaTeX 中,这种事情可以通过\citealp“natbib”包中的宏来完成。也可以使用该包\citeauthor\citeyear宏来完成,它们分别列出了作者的姓名和出版年份。R Markdown 中是否有等效功能?


为了进一步说明这个问题,这里有一个最小的工作示例。假设“myBib.bib”是

@BOOK{Smith_2020,
  AUTHOR       = {John Smith},
  TITLE        = {Some Title},
  YEAR         = {2020},
  PUBLISHER    = {Knopf},
  address      = {New York, NY},
}

并且我有这个 Rmd 文件:

---
output: html_document
bibliography: 'myBib.bib'
---

(See @Smith_2020 for details.)

输出是(See Smith (2020) for details.)我想消除2020. 一种方法是将整个句子放在括号内:例如,[See @Smith_2020 for details.]. 但是这种方法有点笨拙,尤其是当括号内的段落很大时。还有其他方法吗?

我不认为更改默认引用样式会有所帮助,因为该引用样式通常是我想要的。当引用位于本身带括号的段落中时,我只想禁止引用中的括号。

我查看了bookdown 书R Markdown 食谱,但我看不出它们提供了解决方案。我还搜索了 Stack Overflow 和 tex.stackexchange.com 的相关问题,但我没有找到任何与这个问题相关的内容。

4

2 回答 2

2

正确答案是将整个句子放在方括号之间:

[See Smith -@Smith_2020 for details.]

它遵循引用语法部分 Rstudio 的官方文档中的第一个示例(上一个答案中提供的链接)。

Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1].
于 2020-12-01T09:22:18.957 回答
-1

(See Smith -@Smith_2020 for details.)将会呈现:

(有关详细信息,请参阅 Smith 2020。)

另请参阅之前的问题RStudio 的官方文档

于 2020-10-06T10:07:52.533 回答