Learn R Programming

rcrossref (version 1.2.0)

cr_cn: Get citations in various formats from CrossRef.

Description

Get citations in various formats from CrossRef.

Usage

cr_cn(
  dois,
  format = "bibtex",
  style = "apa",
  locale = "en-US",
  raw = FALSE,
  .progress = "none",
  url = NULL,
  ...
)

Arguments

dois

Search by a single DOI or many DOIs.

format

Name of the format. One of "rdf-xml", "turtle", "citeproc-json", "citeproc-json-ish", "text", "ris", "bibtex" (default), "crossref-xml", "datacite-xml","bibentry", or "crossref-tdm". The format "citeproc-json-ish" is a format that is not quite proper citeproc-json. Note that the package bibtex is required when format="bibtex"; the package is in Suggests so is not required when installing rcrossref

style

a CSL style (for text format only). See get_styles() for options. Default: 'apa'. If there's a style that CrossRef doesn't support you'll get a (500) Internal Server Error

locale

Language locale. See ?Sys.getlocale

raw

(logical) Return raw text in the format given by format parameter. Default: FALSE

.progress

Show a plyr-style progress bar? Options are "none", "text", "tk", "win", and "time". See create_progress_bar for details of each. Only used when passing in multiple ids (e.g., multiple DOIs, DOI prefixes, etc.), or when using the cursor param. When using the cursor param, this argument only accept a boolean, either TRUE or FALSE; any non-boolean is coerced to FALSE.

url

(character) Base URL for the content negotiation request. Default: "https://doi.org"

...

Named parameters passed on to verb-GET

Details

See http://citation.crosscite.org/docs.html for more info on the Crossref Content Negotiation API service.

DataCite DOIs: Some values of the format parameter won't work with DataCite DOIs, i.e. "citeproc-json", "crossref-xml", "crossref-tdm", "onix-xml".

MEDRA DOIs only work with "rdf-xml", "turtle", "citeproc-json-ish", "ris", "bibtex", "bibentry", "onix-xml".

See examples below.

See cr_agency()

Note that the format type citeproc-json uses the CrossRef API at api.crossref.org, while all others are content negotiated via http://data.crossref.org, http://data.datacite.org or http://data.medra.org. DOI agency is checked first (see cr_agency()).

Examples

Run this code
if (FALSE) {
cr_cn(dois="10.1126/science.169.3946.635")
cr_cn(dois="10.1126/science.169.3946.635", "citeproc-json")
cr_cn(dois="10.1126/science.169.3946.635", "citeproc-json-ish")
cr_cn("10.1126/science.169.3946.635", "rdf-xml")
cr_cn("10.1126/science.169.3946.635", "crossref-xml")
cr_cn("10.1126/science.169.3946.635", "text")

# return an R bibentry type
cr_cn("10.1126/science.169.3946.635", "bibentry")
cr_cn("10.6084/m9.figshare.97218", "bibentry")

# return an apa style citation
cr_cn("10.1126/science.169.3946.635", "text", "apa")
cr_cn("10.1126/science.169.3946.635", "text", "harvard3")
cr_cn("10.1126/science.169.3946.635", "text", "elsevier-harvard")
cr_cn("10.1126/science.169.3946.635", "text", "ecoscience")
cr_cn("10.1126/science.169.3946.635", "text", "heredity")
cr_cn("10.1126/science.169.3946.635", "text", "oikos")

# example with many DOIs
dois <- cr_r(2)
cr_cn(dois, "text", "apa")

# Cycle through random styles - print style on each try
stys <- get_styles()
foo <- function(x){
 cat(sprintf("

Run the code above in your browser using DataLab