查看原文
其他

abbrever包,快速批量获取期刊缩写信息

The following article is from BioparaMeta Author 凯凯何

利用abbrevr包批量输出期刊缩写

有时候用endnote导入文献后显示的是期刊全称,而用到缩写时候就需要去一些网站上一个个搜索,比如CASSI[1], LetPub[2]、Pubumed等网站,或者Y叔公号里直接回复,而逛Github时候突然发现abbrevr[3]这小R包中可以很快批量实现这个需求,在此记录一下。

List of Title Word Abbreviations (LTWA)

安装

# install.packages("remotes")
remotes::install_github("patrickbarks/abbrevr")

查询期刊缩写

library(abbrevr)

AbbrevTitle("Transactions of the American Fisheries Society")
#> [1] "Trans. Am. Fish. Soc."
AbbrevTitle("Deutsche Medizinische Wochenschrift")
#> [1] "Dtsch. Med. Wochenschr."
AbbrevTitle("L'Intermédiaire des Mathématiciens")
#> [1] "Interméd. Math."

根据doi号批量获取

这里就需要结合另一个R包rcrossref[4], 这个包主要功能就是利用API接口根据doi号提取文献信息(具体原理可自行摸索),然后提取出文献全称再批量转化为缩写,一步到位,示例如下:

# load rcrossref
library(rcrossref)

# DOIs for a set of scientific publications
dois <- c(
  "10.1577/T09-174.1",
  "10.1371/journal.pone.007585",
  "10.1111/1365-2435.1235",
  "10.1111/jeb.12823",
  "10.1111/1365-2745.12937"
)

# use rcrossref::cr_cn() to get citation info for DOIs
citations <- rcrossref::cr_cn(dois, format = "citeproc-json")

# extract journal titles from citation info
titles <- sapply(citations, function(x) x$`container-title`, USE.NAMES = FALSE)

# use abbrevr::AbbrevTitle() to abbreviate titles
titles_short <- sapply(titles, abbrevr::AbbrevTitle, USE.NAMES = FALSE)

# print data.frame
data.frame(
  doi = dois,
  title = titles,
  title_short = titles_short,
  stringsAsFactors = FALSE
)

附当前版本说明:

The current version…

  • only handles common articles, prepositions, and conjunctions in English, German, and French (ISO 4 dictates that these classes should generally be ommitted, with exceptions noted in the document linked above)
  • omits all punctuation except for hyphens (ISO 4 dictates all punctuation except commas should be retained, but periods should be replaced with commas)
  • does not omit generic identifiers such as “Section”, “Series”, or “Part” (ISO 4 dictates such generics should be ommitted unless required for identification)
  • may not retain all diacritic marks (ISO 4 dictates that all diacritic marks should be retained)

Also beware of abbreviation rules that are difficult to implement algorithmically, e.g.:

  • names of persons should not be abbreviated
  • prepositions and articles should be retained if they are integral parts of proper names (e.g. “Los Alamos”) or locutions (e.g. “in vivo”)

参考资料

[1]

CASSI: https://cassi.cas.org/search.jsp

[2]

LetPub: https://www.letpub.com/index.php?page=journalapp&view=search

[3]

abbrevr: https://github.com/patrickbarks/abbrevr/

[4]

rcrossref: https://github.com/ropensci/rcrossref

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存