如何使手册参考文献出现在参考书目中(引用 R)

如何使手册参考文献出现在参考书目中(引用 R)

我想在我的参考书目中引用 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}

我的 pdf 输出仅引用了书籍,而不是 R。我认为是因为它是手册类型。我该怎么办? 在此处输入图片描述

答案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 文件中一样。

相关内容