Я думаю, что ваш самый простой вариант - рассматривать файл .bib как обычный текстовый файл.Попробуйте это:
raw_text <- readLines("example.bib")
new_text <- gsub("in light of", "CONSIDERING", raw_text)
writeLines(new_text, con="new_example.bib")
Содержимое example.bib
:
% a sample bibliography file
%
@article{small,
author = {Doe, John},
title = {A small paper},
journal = {The journal of small papers},
year = 1997,
volume = {-1},
note = {in light of recent events},
}
@article{big,
author = {Smith, Jane},
title = {A big paper},
journal = {The journal of big papers},
year = 7991,
volume = {MCMXCVII},
note = {in light of what happened},
}
Вывод new_example.bib
:
% a sample bibliography file
%
@article{small,
author = {Doe, John},
title = {A small paper},
journal = {The journal of small papers},
year = 1997,
volume = {-1},
note = {CONSIDERING recent events},
}
@article{big,
author = {Smith, Jane},
title = {A big paper},
journal = {The journal of big papers},
year = 7991,
volume = {MCMXCVII},
note = {CONSIDERING what happened},
}
Немного объяснений:
Объекты BibEntry
имеют нестандартные внутренние компоненты и с ними трудно работать, помимо функций, предоставляемых в пакете RefManageR
.Как только вы unclass
или уменьшаете объект BibEntry
до списка, становится трудно вернуть его в формат bib
из-за требуемого сочетания полей и атрибутов объекта.(И что еще хуже, bibtex
и RefManageR
не имеют абсолютно одинаковую внутреннюю структуру, поэтому трудно конвертировать из одного контекста в другой.)