将Bibtex .bib文件转换为可由MS Word 2010导入的XML文件的最佳方法是什么?
答案 0 :(得分:17)
Java应用程序JabRef是一个很棒的工具,我已经成功地使用它将我的BibTex条目导出到XML并将它们导入到Word 2013中而没有任何问题。
答案 1 :(得分:10)
这是我找到的解决方案。
Ubuntu repos中提供的Bibutils提供了一些将BibTex转换为Word XML的工具,但是Word没有正确导入某些字段存在一些问题。这里有一些Python代码可以一次完成。到目前为止,我已经了解@article和@inproceedings条目..
#THIS REQUIRES THAT bibutils IS INSTALLED ON YOUR MACHINE
"""
Usage:
./Bib2Word2010XML.py [Input file name] [Output file name]
"""
import sys
import fileinput
import os
if __name__ == '__main__':
#input a BibTex .bib file
fnameIN = sys.argv[1]
fnameOUT = sys.argv[2]
#run bibutils functions to convert to Word XML
os.system("bib2xml " + fnameIN + " > TEMPOUT1.xml")
os.system("xml2wordbib TEMPOUT1.xml > TEMPOUT2.xml")
os.system("rm TEMPOUT1.xml")
#clean up for Word 2010 formatting
f1 = open('TEMPOUT2.xml', 'r')
f2 = open(fnameOUT, 'w')
for line in f1:
line = line.replace("ArticleInAPeriodical", "JournalArticle")
line = line.replace("PeriodicalName", "JournalName")
line = line.replace("Proceedings", "ConferenceProceedings")
f2.write(line)
f1.close()
f2.close()
os.system("rm TEMPOUT2.xml")
答案 2 :(得分:4)
根据impala79s的回答,这个单行使用MS Word 2007为我工作。 mybib.bib 是我们要转换为word格式的输入 bib文件, word.xml 是输出我们要将wordbib格式保存到的文件的名称。如上所述,您需要安装bibutils软件包。
bib2xml mybib.bib | xml2wordbib | sed -e 's/PeriodicalName/PeriodicalTitle/g' -e 's/>Proceedings/>ConferenceProceedings/g' > word.xml
PS。您需要在机器上安装bibutils软件包,类似于以上答案
答案 3 :(得分:1)
基于Andreas Grivas脚本,我写了并分享了多个文件围兜到xml(word兼容)转换器。您应该在包含.bib文件的文件夹中运行:
#this script convert a .bib file to xml file and to word xml file.
#this script use bibutils tools.
echo -e "===================\nscript to convert multiple .bib (bibtex) files to word xml\n==================="
echo -e "Settings\n==================="
mypwd=$(pwd)
output=$(pwd)/output
echo -e "Path:\n$mypwd"
echo -e "output folder:\n$output"
mkdir -p "${output}"
echo -e "===================\nProcessing"
counter=0
for file in *.bib;
do
counter=$((counter+1));
name=${file%.*};
echo -e "=================== \n$file"
bib2xml $name.bib | xml2wordbib | sed -e "$mypwd" -e "$mypwd" > "$output/$name.xml"
done
echo -e "==================="
echo -e "$counter .bib files were found.\nDone!"enter code here
答案 4 :(得分:1)
免费的参考管理器软件Mendeley也提供此选项。您可以打开.bib文件并导出到Endnote XML。 您可以从www.mendeley.com/download-desktop-new下载它。
答案 5 :(得分:1)
使用bibutils(rbibutils)的R端口,我设法在Windows中简化了它。
https://geobosh.github.io/rbibutils/
安装方式
install.packages("rbibutils")
这只是一个简单的命令:
rbibutils::bibConvert("myfile.bib", "myfile.xml", informat = "bibtex", outformat = "word")
记下引号,因为它是R。
答案 6 :(得分:0)
答案 7 :(得分:0)
对于那些使用Docker的人来说,https://github.com/derlin/docker-bib2word有一个Dockerfile和一个简单的脚本来完成这项工作。
构建图像:
git clone https://github.com/derlin/docker-bib2word
cd docker-bib2word
docker build -t bib2word --rm .
然后,运行:
docker run --rm -v $(pwd):/app bib2word biblio.tex
将biblio.tex
转换为biblio.xml
(可以导入到单词中)。