How to automatically create BibTex citations for R packages in knitr file?
I am not sure whether this an R, LaTeX, or BibTex problem.
I am trying to automatically generate a .bib file containing citations for R packages and then list them at the end. I am able to generate the BibTex file and I don't see anything wrong with the BibTex file, but the entries don't appear when I compile the PDF.
I'm not sure if R is not producing a BibTex file correctly, if some LaTeX syntax is wrong, or if the BibTex file needs to be pre-compiled or whatever. I noticed that bibliography{NOT A REAL FILENAME}
will produce a References section without complaining, but I don't think that is the problem.
Minimal working example:
documentclass[10pt]{amsart}
usepackage[margin=1in, headheight=20pt, footskip=20pt]{geometry}
begin{document}
<<label='Create References'>>=
require(knitr) # Needed for write_bib()
# Load some packages to the session:
require(xtable)
require(ggplot2)
# Select packages to cite:
citPkgs <- names(sessionInfo()$otherPkgs)
# Write the bibtex file:
write_bib(citPkgs, file="R-Pckgs.bib")
@
nocite{*}
bibliographystyle{plain}
bibliography{R-Pckgs.bib}
end{document}
Any help or suggestions would be appreciated.
Just replace bibliography{R-Pckgs.bib}
with bibliography{R-Pckgs}
, and it should work fine.
On Windows 7, with an up-to-date MikTeX installation and current R and R packages, the following worked:
"eg.Rnw"
and edit to remove the extraneous ".bib"
"eg.Rnw"
is located. library(knitr); knit2pdf("eg.Rnw")
library(knitr); knit2pdf("eg.Rnw")
Note: There are obviously many workflows for going from *.Rnw
to *.pdf
, but if you want to use knit2pdf()
(at least), make sure that you run it from the directory containing the *.Rnw
to be processed.
Add a nocite{dummycite}
to your document - to create a citation so that the bibliography is printed.
Note that this is obsolete if you already have other citation in your document.
链接地址: http://www.djcxy.com/p/33460.html