This function defines and registers styles for rendering
bibentry objects into ‘Rd’ format, for later
conversion to text, HTML, etc.
A character string naming the style.
(optional) An environment holding the functions to implement the style.
Named arguments to add to the environment.
Whether to initialize the environment from the default style
Whether to set the specified style as the default style.
Whether to return the names of all registered styles.
bibentry objects may be done using routines
modelled after those used by BibTeX. This function allows environments
to be created and manipulated to contain those routines.
There are two ways to create a new style environment. The easiest
is to set
.init = TRUE, in which case the environment will be
initialized with a copy of the default
"JSS" environment. (This style
is modelled after the ‘jss.bst’ style used by the Journal
of Statistical Software.) Alternatively, the
can be used to specify a completely new style environment.
To find the name of the default style, use
retrieve an existing style without setting it as the default, use
bibstyle(style, .default = FALSE). To modify an existing style,
style and some named entries via
(Modifying the default
"JSS" style is discouraged.) Setting
NULL or leaving it missing will retrieve the
default style, but modifications will not be allowed.
At a minimum, the environment should contain routines to render each
of the 12 types of bibliographic entry supported by
bibentry as well as several other routines
The former must be named
formatUnpublished. Each of these takes one argument, a single
unclass'ed entry from the
passed to the renderer, and should produce a single element character
vector (possibly containing newlines).
The other routines are as follows.
sortKeys, a function to
produce a sort key to sort the entries, is passed the original
bibentry vector and should produce a sortable vector of
the same length to define the sort order. Finally,
the optional function
cite should have the same argument list
utils::cite, and should produce a citation to be used
format method for
"bibentry" objects adds a
".index" to each entry after sorting and before
formatting. This is a 1-based index within the complete object that
can be used in styles that require numbering. Although the
"JSS" style doesn't use numbers, it includes a
fmtPrefix() stub function that may be used to display them.
See the example below.
bibstyle returns the environment which has been selected or created.
getBibstyle returns the name of the default style, or all
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
refs <- c(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"), bibentry(bibtype = "article", author = c(person(c("George", "E.", "P."), "Box"), person(c("David", "R."), "Cox")), year = 1964, title = "An Analysis of Transformations", journal = "Journal of the Royal Statistical Society, Series B", volume = 26, pages = "211-252")) bibstyle("unsorted", sortKeys = function(refs) seq_along(refs), fmtPrefix = function(paper) paste0("[", paper$.index, "]"), .init = TRUE) print(refs, .bibstyle = "unsorted")