The R core development team and the very active community of package
  authors have invested a lot of time and effort in creating R as it is
  today.  Please give credit where credit is due and cite R and R
  packages when you use them for data analysis.
Execute function citation() for information on how to cite the
  base R system in publications.  If the name of a non-base package is
  given, the function either returns the information contained in the
  CITATION file of the package (using readCitationFile
  with meta equal to packageDescription(package, lib.loc))
  or auto-generates citation information from the DESCRIPTION
  file.
In R >= 2.14.0, one can use a Authors@R field in
  DESCRIPTION to provide (R code giving) a
  person object with a refined, machine-readable
  description of the package “authors” (in particular specifying
  their precise roles).  Only those with an author role will be
  included in the auto-generated citation.
If only one reference is given, the print method for the object
  returned by citation() shows both a text version and a BibTeX
  entry for it, if a package has more than one reference then only the
  text versions are shown.  The BibTeX versions can be obtained using
  function toBibtex() (see the examples below).
The CITATION file of an R package should be placed in the
  inst subdirectory of the package source.  The file is an R
  source file and may contain arbitrary R commands including
  conditionals and computations.  Function readCitationFile() is
  used by citation() to extract the information in
  CITATION files.  The file is source()ed by the R
  parser in a temporary environment and all resulting bibliographic
  objects (specifically, of class "bibentry") are
  collected.
Traditionally, the CITATION file contained zero or more calls
  to citHeader, then one or more calls to citEntry,
  and finally zero or more calls to citFooter, where in fact
  citHeader and citFooter are simply wrappers to
  paste, with their … argument passed on to
  paste as is.  The "bibentry" class
  makes for improved representation and manipulation of bibliographic
  information (in fact, the old mechanism is implemented using the new
  one), and one can write CITATION files using the unified
  bibentry interface.
One can include an auto-generated package citation in the
  CITATION file via citation(auto = meta).
readCitationFile makes use of the Encoding element (if
  any) of meta to determine the encoding of the file.