R Markdown:在特定引用中隐藏括号

问题描述

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

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

其中Smith 2020带有R Markdown引用,例如@Smith_2020。在LaTeX中,可以使用“ natbib”软件包中的\citealp宏来完成此类操作。也可以使用该程序包的\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 bookR Markdown cookbook,但看不到它们提供了解决方案。我还搜索了Stack Overflow和tex.stackexchange.com中的相关问题,但没有发现任何有关此问题的信息。

解决方法

(See Smith -@Smith_2020 for details.)将显示:

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

另请参阅a previous questionRStudio's official documentation

,

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

[See Smith -@Smith_2020 for details.]

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

Blah blah [see @doe99,pp. 33-35; also @smith04,ch. 1].