将 Bibtex class 对象转换为针对每个引用格式化的一系列文本字符串
Convert a Bibtex class object to a series of text strings formatted for each citation
我是 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/."
帮忙?
我想你可以应用类似下面的代码:
pkgs <- c("base", "sp")
lapply(pkgs, function(x) citation(x)$textVersion)
#> [[1]]
#> [1] "R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/."
#>
#> [[2]]
#> [[2]][[1]]
#> [1] "Pebesma, E.J., R.S. Bivand, 2005. Classes and methods for spatial data in R. R News 5 (2), https://cran.r-project.org/doc/Rnews/."
#>
#> [[2]][[2]]
#> [1] "Roger S. Bivand, Edzer Pebesma, Virgilio Gomez-Rubio, 2013. Applied spatial data analysis with R, Second edition. Springer, NY. https://asdar-book.org/"
或者,如果您需要列表中每个元素恰好有 1 个引用,我想您可以 运行:
as.list(unlist(lapply(pkgs, function(x) citation(x)$textVersion)))
#> [[1]]
#> [1] "R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL 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 (2), https://cran.r-project.org/doc/Rnews/."
#>
#> [[3]]
#> [1] "Roger S. Bivand, Edzer Pebesma, Virgilio Gomez-Rubio, 2013. Applied spatial data analysis with R, Second edition. Springer, NY. https://asdar-book.org/"
由 reprex package (v0.3.0)
于 2020-09-30 创建
使用 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/>.
我是 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/."
帮忙?
我想你可以应用类似下面的代码:
pkgs <- c("base", "sp")
lapply(pkgs, function(x) citation(x)$textVersion)
#> [[1]]
#> [1] "R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/."
#>
#> [[2]]
#> [[2]][[1]]
#> [1] "Pebesma, E.J., R.S. Bivand, 2005. Classes and methods for spatial data in R. R News 5 (2), https://cran.r-project.org/doc/Rnews/."
#>
#> [[2]][[2]]
#> [1] "Roger S. Bivand, Edzer Pebesma, Virgilio Gomez-Rubio, 2013. Applied spatial data analysis with R, Second edition. Springer, NY. https://asdar-book.org/"
或者,如果您需要列表中每个元素恰好有 1 个引用,我想您可以 运行:
as.list(unlist(lapply(pkgs, function(x) citation(x)$textVersion)))
#> [[1]]
#> [1] "R Core Team (2020). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL 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 (2), https://cran.r-project.org/doc/Rnews/."
#>
#> [[3]]
#> [1] "Roger S. Bivand, Edzer Pebesma, Virgilio Gomez-Rubio, 2013. Applied spatial data analysis with R, Second edition. Springer, NY. https://asdar-book.org/"
由 reprex package (v0.3.0)
于 2020-09-30 创建使用 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/>.