当我导出.bib引用时,用latex编码的重音(例如,它们是从mendeley导出的),那么它们看起来并不像预期的那样在R中进一步独立处理。
我的file.bib.R中,我的参考文献被导出了。
@misc{Llorens1980,
abstract = {Aunque el reactor de fusi{\'{o}}n termonuclear constituye la esperanza m{\'{a}}s s{\'{o}}lida de obtenci{\'{o}}n de energ{\'{i}}a a gran escala, los problemas f{\'{i}}sicos y tecnol{\'{o}}gicos que el mismo plantea son muchos y dif{\'{i}}ciles.},
author = {Llorens, Mart{\'{i}}n and Menzell, Alfred and Villarrubia, Miguel},
booktitle = {Investigaci{\'{o}}n y Ciencia (Scientific American)},
keywords = {INGENIER{\'{I}}A NUCLEAR},
number = {51},
pages = {1--5},
title = {{F{\'{i}}sica y tecnolog{\'{i}}a del reactor de fusi{\'{o}}n}},
volume = {DICIEMBRE},
year = {1980}
}
在R中
testbibR <- RefManageR::ReadBib("myfile.bib")
testbibR$author
[1] "Mart\\'in Llorens" "Alfred Menzell" "Miguel Villarrubia"
testbibR$title
[1] "{F{\\'{i}}sica y tecnolog{\\'{i}}a del reactor de fusi{\\'{o}}n}"
btex<-bibtex::read.bib("myfile.bib")
btex$author
[1] "Mart\\'in Llorens" "Alfred Menzell" "Miguel Villarrubia"
btex$title
[1] "{F{\\'{i}}sica y tecnolog{\\'{i}}a del reactor de fusi{\\'{o}}n}"
testbib <- bib2df::bib2df("myfile.bib")
testbib$AUTHOR[[1]]
[1] "Llorens, Mart{\\'{i}}n" "Menzell, Alfred" "Villarrubia, Miguel"
testbib$TITLE
[1] "F{\\'{i}}sica y tecnolog{\\'{i}}a del reactor de fusi{\\'{o}}n"
我想知道我是否能看到一个 Martín
在该地
相关文章。https:/github.comropenscibib2dfissues35
顺便说一下,当重新导出这些书目时,软件包似乎以(其他)乳胶格式重写了作者字段(Mart\'in
). 只有 bib2df
将所有字段写成原样,见上文。
RefManageR::WriteBib(testbibR,"refmanager.bib")
bibtex::write.bib(btex,"bibtex.bib")
bib2df::df2bib(testbib,"bib2df")
这是一个从.bib中删除一些乳胶重音的变通方法。
我的这个答案是基于这个 帖第一部分是在python中。
latexAccents = [
[ u"Í", "{\\'{I}}"],
[ u"í", "{\\'{i}}"],
[ u"á", "{\\'{a}}"],
[ u"é", "{\\'{e}}"],
[ u"ó", "{\\'{o}}"],
[ u"ú", "{\\'{u}}"],
]
import pandas
mydf = pandas.DataFrame(latexAccents)
newname = "dictaccent.csv"
mydf.to_csv(newname, index =False)
dictaccent <- read.csv("dictaccent.csv")
bibLines <- readLines("myfile.bib")
library(stringi)
for (i in 1:nrow(dictaccent)){
for (j in 1:length(bibLines)) {
bibLines[j]<-stri_replace_all_fixed(bibLines[j], dictaccent$X1[i], dictaccent$X0[i])
}
}
writeLines(bibLines,"noLatex.bib")