我想在我的参考书目中引用 R。但是我无法让它出现。
这里我的 mini.bib 文件包含
@Book{,
author = {Hadley Wickham},
title = {ggplot2: Elegant Graphics for Data Analysis},
publisher = {Springer-Verlag New York},
year = {2016},
isbn = {978-3-319-24277-4},
url = {https://ggplot2.tidyverse.org},
}
@Manual{,
title = {R: A Language and Environment for Statistical Computing},
author = {{R Core Team}},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2019},
url = {https://www.R-project.org/},
}
我的 .tex 文件包含
\documentclass{article}
\usepackage{natbib}
\begin{document}
\bibliographystyle{apalike}
\bibliography{mini.bib}
\nocite{*}
\end{document}
答案1
通常,所有条目都必须具有唯一的条目键。在显示的代码片段中,两个条目的条目键都是空的。这意味着第二个条目被跳过。从技术上讲,BibTeX 最多允许一个条目具有空键,但这是一个非常糟糕的主意,因为这些条目无法明确引用,Biber 会因此而受阻。
只需提供您的条目输入键
@book{wickham,
author = {Hadley Wickham},
title = {ggplot2: Elegant Graphics for Data Analysis},
publisher = {Springer-Verlag},
address = {New York},
year = {2016},
isbn = {978-3-319-24277-4},
url = {https://ggplot2.tidyverse.org},
}
@manual{r-core,
title = {R: A Language and Environment for Statistical Computing},
author = {{R Core Team}},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2019},
url = {https://www.R-project.org/},
}
还要注意,从技术上来说\bibliography{mini.bib}
应该
\bibliography{mini}
\bibliography
取文件名.bib
而不带.bib
扩展名。某些系统可能更宽容,即使存在也可以工作.bib
,但这不是应该依赖的东西(如果包含扩展名,我的 Win 10 上的 MikTeX 2.9 通常找不到该文件)。
答案2
虽然知道每个参考文献都应该有一个关键字是件好事,但 R 用户不应该编辑 bib 文件,至少不要引用报告中使用的 R 包。让 R 为您服务。
Test.Rnw
:
\documentclass{article}
\usepackage{natbib}
\begin{document}
<<echo=F,message=F>>=
bibtex::write.bib(c("ggplot2","tools"), file='test')
@
\bibliographystyle{apalike}
\bibliography{test.bib}
\nocite{*}
\end{document}
Test.pdf
:
如果您对包的描述更感兴趣,您可能还想尝试这个:
knitr::write_bib(names(sessionInfo()$otherPkgs),file="test.bib", tweak = F)
Rcite = citation(); Rcite$key = "RCoreTeam"
write(toBibtex(Rcite),file="test.bib",append=T)
如果你不了解 .Rnw 文件,请参阅如何从命令行构建 Knitr 文档,或者用 Rstudio 编译它以自动生成 .tex 和 .pdf 文件,但请记住,无论如何都不会运行bibtex
。也就是说,无论如何,一旦生成了Test.tex
和第一个 .pdf 版本,您都应该运行bibtex Test
,并再次编译两次以解决交叉引用,就像在任何普通 LaTeX 文件中一样。