r - 将 Bibtex 类对象转换为针对每个引文格式化的一系列文本字符串

标签 r bibtex

我是 bibTex 对象的新手,想要为对象中的每个引文生成文本字符串列表作为格式化引文。我不想生成文档——这些字符串将用于 R 中的下游目的。有没有办法做到这一点?我什至无法真正弄清楚如何访问 bibTex 对象中每个引文的片段。

换句话说,如何改变它:

   temp <- toBibtex(c(citation("base"), citation("sp")))

进入此:

  [[1]]
  [1] "R Core Team (2019). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/."

  [[2]]
  [1] "Pebesma, E.J., R.S. Bivand (2005). Classes and methods for spatial data in R. R News 5. https://cran.r-project.org/doc/Rnews/."

  [[3]]
  [1] "Bivand, R.S., Pebesma, E.J., Gomez-Rubio, V. (2013). Applied spatial data analysis with R, Second edition. Springer, NY. https://asdar-book.org/."

帮忙?

最佳答案

使用bib2df包:

library(bibtex)
library(bib2df)

write.bib(c("base", "sp"), "temp.bib")

x <- bib2df("temp.bib")

apply(x, 1, function(i){
  paste(
    #adding authors and titles
    paste(unlist(i$AUTHOR), collapse = ", "),
    i$TITLE,
    # add other bits here as needed
    sep = ", ")
})

# [1] "R Core Team, R: A Language and Environment for Statistical Computing"                                        
# [2] "Edzer J. Pebesma, Roger S. Bivand, Classes and methods for spatial data in {R"                               
# [3] "Roger S. Bivand, Edzer Pebesma, Virgilio Gomez-Rubio, Applied spatial data analysis with {R}, Second edition"

注意:我也是 bibtex 的新手。还有RefManageR包,可能更有用。


使用RefManageR:

library(RefManageR)

# read bib file
x1 <- ReadBib("temp.bib")
# or convert citations to bibentry object
x2 <- as.BibEntry(c(citation("base"), citation("sp")))

两者都会打印如下:

# [1] R. S. Bivand, E. Pebesma, and V. Gomez-Rubio. _Applied spatial data analysis with R, Second
# edition_. Springer, NY, 2013. <URL: https://asdar-book.org/>.
# 
# [2] E. J. Pebesma and R. S. Bivand. “Classes and methods for spatial data in R”. In: _R News_ 5.2 (Nov.
#                                                                                                    2005), pp. 9-13. <URL: https://CRAN.R-project.org/doc/Rnews/>.
# [3] R Core Team. _R: A Language and Environment for Statistical Computing_. R Foundation for
# Statistical Computing. Vienna, Austria, 2019. <URL: https://www.R-project.org/>.

关于r - 将 Bibtex 类对象转换为针对每个引文格式化的一系列文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64132808/

相关文章:

r - 查找某个唯一值在多个文件中出现的次数以及这些文件的数量

r - 如何计算所选列的行平均值

latex - 使用 bibtex 和 biblatex 的 Latex 问题(引用书目)

LaTeX\cite 给出一个 [?]

引用大型 biblatex 文件时 Pandoc 执行速度非常慢

r - 有效地计算数据框列的百分位数

r - 使用R检测音频文件中的特定频率

R reshape DPLYR 或 DATA.TABLE 中的许多 stub

latex - 如何让 BibTeX 以英语以外的其他语言显示月份?