cite
Cite a Bibliography Entry
Cite a bibentry
object in text. The cite()
function
uses the cite()
function from the default
bibstyle
if present, or citeNatbib()
if not.
citeNatbib()
uses a style similar to that used by the LaTeX
package natbib.
- Keywords
- utilities, documentation
Usage
cite(keys, bib, ...)
citeNatbib(keys, bib, textual = FALSE, before = NULL, after = NULL,
mode = c("authoryear", "numbers", "super"),
abbreviate = TRUE, longnamesfirst = TRUE,
bibpunct = c("(", ")", ";", "a", "", ","), previous)
Arguments
- keys
A character vector of keys of entries to cite. May contain multiple keys in a single entry, separated by commas.
- bib
A
"bibentry"
object containing the list of documents in which to find the keys.- ...
Additional arguments to pass to the
cite()
function for the default style.- textual
Produce a “textual” style of citation, i.e.what
\citet
would produce in LaTeX.- before
Optional text to display before the citation.
- after
Optional text to display after the citation.
- mode
The “mode” of citation.
- abbreviate
Whether to abbreviate long author lists.
- longnamesfirst
If
abbreviate == TRUE
, whether to leave the first citation long.- bibpunct
A vector of punctuation to use in the citation, as used in natbib. See the Details section.
- previous
A list of keys that have been previously cited, to be used when
abbreviate == TRUE
andlongnamesfirst == TRUE
Details
Argument names are chosen based on the documentation for the LaTeX natbib
package. See that documentation for the interpretation of the
bibpunct
entries.
The entries in bibpunct
are as follows:
The left delimiter.
The right delimiter.
The separator between references within a citation.
An indicator of the “mode”:
"n"
for numbers,"s"
for superscripts, anything else for author-year.Punctuation to go between the author and year.
Punctuation to go between years when authorship is suppressed.
Note that if mode
is specified, it overrides the
mode specification in bibpunct[4]
. Partial matching is used for
mode
.
The defaults for citeNatbib
have been chosen to match the JSS style, and
by default these are used in cite
. See bibstyle
for how to set a different default style.
Value
A single element character string is returned, containing the citation.
Examples
library(utils)
# NOT RUN {
## R reference
rref <- bibentry(
bibtype = "Manual",
title = "R: A Language and Environment for Statistical Computing",
author = person("R Core Team"),
organization = "R Foundation for Statistical Computing",
address = "Vienna, Austria",
year = 2013,
url = "https://www.R-project.org/",
key = "R")
## References for boot package and associated book
bref <- c(
bibentry(
bibtype = "Manual",
title = "boot: Bootstrap R (S-PLUS) Functions",
author = c(
person("Angelo", "Canty", role = "aut",
comment = "S original"),
person(c("Brian", "D."), "Ripley", role = c("aut", "trl", "cre"),
comment = "R port, author of parallel support",
email = "ripley@stats.ox.ac.uk")
),
year = "2012",
note = "R package version 1.3-4",
url = "https://CRAN.R-project.org/package=boot",
key = "boot-package"
),
bibentry(
bibtype = "Book",
title = "Bootstrap Methods and Their Applications",
author = as.person("Anthony C. Davison [aut], David V. Hinkley [aut]"),
year = "1997",
publisher = "Cambridge University Press",
address = "Cambridge",
isbn = "0-521-57391-2",
url = "http://statwww.epfl.ch/davison/BMA/",
key = "boot-book"
)
)
## Combine and cite
refs <- c(rref, bref)
cite("R, boot-package", refs)
## Cite numerically
savestyle <- tools::getBibstyle()
tools::bibstyle("JSSnumbered", .init = TRUE,
fmtPrefix = function(paper) paste0("[", paper$.index, "]"),
cite = function(key, bib, ...)
citeNatbib(key, bib, mode = "numbers",
bibpunct = c("[", "]", ";", "n", "", ","), ...)
)
cite("R, boot-package", refs, textual = TRUE)
refs
## restore the old style
tools::bibstyle(savestyle, .default = TRUE)
# }