R: Cite a Bibliography Entry

cite {utils} | R Documentation

## Cite a Bibliography Entry

### Description

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.

### 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` and `longnamesfirst == 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:

1. The left delimiter.

2. The right delimiter.

3. The separator between references within a citation.

4. An indicator of the “mode”: `"n"` for numbers, `"s"` for superscripts, anything else for author-year.

5. Punctuation to go between the author and year.

6. 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.

### Author(s)

Duncan Murdoch

### Examples

    ## 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)

[Package utils version 3.5.1 Index]