在R中读取.bib的乳胶重音。

问题描述 投票:0回答:1

当我导出.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")
r latex bibtex
1个回答
0
投票

这是一个从.bib中删除一些乳胶重音的变通方法。

我的这个答案是基于这个 第一部分是在python中。

python。字典到.csv

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)

R:替换.bib中的乳胶

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")

在其他帖子中评论

© www.soinside.com 2019 - 2024. All rights reserved.