Как автоматически создавать цитаты BibTex для пакетов R в файле knitr?
Я не уверен, что это проблема R, LaTeX или BibTex.
Я пытаюсь автоматически генерировать .bib файл, содержащий цитаты для R-пакетов, а затем перечислять их в конце. Я могу сгенерировать файл BibTex, и я не вижу ничего плохого в файле BibTex, но записи не появляются при компиляции PDF.
Я не уверен, что R не создает файл BibTex правильно, если какой-то синтаксис LaTeX ошибочен или если файл BibTex должен быть предварительно скомпилирован или что-то еще. Я заметил, что \bibliography{NOT A REAL FILENAME}
создаст раздел "Ссылки" без жалобы, но я не думаю, что это проблема.
Минимальный рабочий пример:
\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}
Любая помощь или предложения будут оценены.
Ответы
Ответ 1
Просто замените \bibliography{R-Pckgs.bib}
на \bibliography{R-Pckgs}
, и он должен работать нормально.
В Windows 7 с обновленной установкой MikTeX и текущими пакетами R и R работало:
- Поместите ваш воспроизводимый пример в файл с именем
"eg.Rnw"
и отредактируйте, чтобы удалить посторонний ".bib"
- Запустите R и перейдите в каталог, в котором находится
"eg.Rnw"
.
- Do
library(knitr); knit2pdf("eg.Rnw")
Примечание.. Существует много рабочих процессов для перехода от *.Rnw
в *.pdf
, но если вы хотите использовать knit2pdf()
(по крайней мере), убедитесь, что вы запустили его из каталог, содержащий *.Rnw
для обработки.
Ответ 2
Добавить \nocite{dummycite}
к вашему документу - создать цитату, чтобы была напечатана библиография.
Обратите внимание, что это устарело, если у вас уже есть другая ссылка в вашем документе.