问题描述
我有一个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},}
---
output: html_document
bibliography: 'myBib.bib'
---
(See @Smith_2020 for details.)
输出为(See Smith (2020) for details.)
,我想消除2020
周围的括号。一种方法是将整个句子放在方括号中:例如[See @Smith_2020 for details.]
。但是这种方法有点笨拙,尤其是当括号内的通道很大时。还有另一种方法吗?
我认为更改默认的引用样式不会有帮助,因为通常我需要这种引用样式。我只想在引文位于本身带有括号的段落中时取消引文中的括号。
我已经查看了bookdown book和R Markdown cookbook,但看不到它们提供了解决方案。我还搜索了Stack Overflow和tex.stackexchange.com中的相关问题,但没有发现任何有关此问题的信息。
解决方法
(See Smith -@Smith_2020 for details.)
将显示:
(有关详细信息,请参阅Smith 2020。)
另请参阅a previous question和RStudio's official documentation。
,正确的答案是将整个句子放在方括号之间:
[See Smith -@Smith_2020 for details.]
它遵循Rstudio官方文档Citation语法部分中的第一个示例(上一个答案中提供了链接)。
Blah blah [see @doe99,pp. 33-35; also @smith04,ch. 1].