在R中创建bib_文本引用?
在R中使用帮助函数有时会包含类似APA格式的引用。例如,在R中创建bib_文本引用?,r,citations,R,Citations,在R中使用帮助函数有时会包含类似APA格式的引用。例如,igraph中的closeness函数具有 ?closeness Freeman, L.C. (1979). Centrality in Social Networks I: Conceptual Clarification. Social Networks, 1, 215-239. 我用RMarkdown写作,希望使用R为这篇引文创建一个Bibtext风格的格式(即,不从其他来源获取)。这可能吗 例如,以下函数: cit <- s
igraph
中的closeness
函数具有
?closeness
Freeman, L.C. (1979). Centrality in Social Networks I: Conceptual Clarification. Social Networks, 1, 215-239.
我用RMarkdown写作,希望使用R为这篇引文创建一个Bibtext
风格的格式(即,不从其他来源获取)。这可能吗
例如,以下函数:
cit <- some_function('Freeman, L.C. (1979). Centrality in Social Networks I:
Conceptual Clarification. Social Networks, 1, 215-239.')
cit
@article{freeman1978conceptual,
title={conceptual clarification.” Social Networks},
author={Freeman, Linton C},
journal={“Centrality in social networks},
volume={1},
number={3},
pages={215--239},
year={1978}
}
cit有一个函数,它可以刮取文档
在它的帮助下,您可以将所需的信息放入向量中
vec <- getHTMLhelp(closeness, package="igraph")[102:103]
结果
@article{freeman1979centrality,
title={社交网络的中心性I:概念澄清},
作者{Freeman,L.C},
日志={社交网络},
卷={1},
页码={215-239},
年份={1979}
}
当然,这与您的示例特别相关,需要进一步推广。我认为这是不可能的。文档中给出的引用只是字符串,可以由包作者自由格式化。因此,无法一致地解析引用。
string <- gsub("<[^>]*>","", paste(vec, collapse=""))
rw <- t(strsplit(string, "\\. ")[[1]])
yr <- gsub("\\D", "", rw[2])
ref <- paste0(strsplit(tolower(rw[1]), ",")[[1]][1], yr,
strsplit(tolower(rw[3]), " ")[[1]][1])
jrnl <- strsplit(rw[4], ", ")[[1]]
cat(paste0("@article{", ref,"," ,
"\n\ttitle={", rw[3], "},",
"\n\tauthor={", rw[1], "},",
"\n\tjournal={", jrnl[1], "},",
"\n\tvolume={", jrnl[2], "},",
"\n\tpages={", gsub("\\.", "", jrnl[3]), "},",
"\n\tyear={", yr, "}",
"\n}"
))