簡體   English   中英

R Markdown:在特定引用中取消括號

[英]R Markdown: suppress parentheses in specific citations

我有一個包含一些引文的 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.]

它遵循引用語法部分 Rstudio 官方文檔中的第一個示例(上一個答案中提供的鏈接)。

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

(See Smith -@Smith_2020 for details.)將顯示:

(有關詳細信息,請參閱 Smith 2020。)

另請參閱上一個問題RStudio 的官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM