在R中使用help函数有时会包含一个类似于APA格式的引文。例如,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}
}发布于 2019-03-13 19:11:13
周围有一个函数,getHTMLhelp(),它可以抓取文档。
在它的帮助下,您可以将所需的信息放入向量中。
vec <- getHTMLhelp(closeness, package="igraph")[102:103]因为它包含html标记,所以您可能希望将其从其中清除并获取单个字符串。
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它。
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}"
))结果
@article{freeman1979centrality,
title={Centrality in Social Networks I:Conceptual Clarification},
author={Freeman, L.C},
journal={Social Networks},
volume={1},
pages={215-239},
year={1979}
}当然,这现在与您的示例特别相关,需要进一步推广。
https://stackoverflow.com/questions/55139884
复制相似问题