Call utils::citation()
and utils::toBibtex()
to create bib entries for R
packages and write them in a file. It can facilitate the auto-generation of
bibliography databases for R packages, and it is easy to regenerate all the
citations after updating R packages.
pkg_bib(
x = .packages(),
file = "",
tweak = TRUE,
width = NULL,
prefix = getOption("xfun.bib.prefix", "R-"),
lib.loc = NULL,
packageURL = TRUE,
date = c("none", "package", "today")
)
A list containing the citations. Citations are also written to the
file
as a side effect.
Package names. Packages which are not installed are ignored.
The (.bib
) file to write. By default, or if NULL
, output
is written to the R console.
Whether to fix some known problems in the citations, especially non-standard format of author names.
Width of lines in bibliography entries. If NULL
, lines will
not be wrapped.
Prefix string for keys in BibTeX entries; by default, it is
R-
unless option('xfun.bib.prefix')
has been set to another string.
A vector of path names of R libraries.
Use the URL
field from the DESCRIPTION
file. See
Details below.
The way to include a date of the form (retrieved YYYY-mm-dd)
in
the note
field of bib entries. For date = 'none'
, no date is included.
For date = 'package'
, the packageDate()
of the package is included. For
date = 'today'
, Sys.Date()
is included. Alternatively, you can provide
a date directly, e.g., date = '2025-04-01'.
Yihui Xie and Michael Friendly
For a package, the keyword R-pkgname
is used for its bib item, where
pkgname
is the name of the package. Citation entries specified in the
CITATION
file of the package are also included. The main purpose of
this function is to automate the generation of the package citation
information because it often changes (e.g., the author, year, package
version, and so on).
There are at least two different uses for the URL in a reference list. You
might want to tell users where to go for more information. In that case, use
the default packageURL = TRUE
, and the first URL listed in the
DESCRIPTION
file will be used. Be careful: some authors don't put the
most relevant URL first. Alternatively, you might want to identify exactly
which version of the package was used in the document. If it was installed
from CRAN or some other repositories, the version number identifies it, and
packageURL = FALSE
will use the repository URL (as used by
utils::citation()
).
pkg_bib(c("base", "MASS", "xfun"))
pkg_bib("cluster", prefix = "R-pkg-") # a different prefix
pkg_bib("xfun", date = "package")
Run the code above in your browser using DataLab