如何将BibTex bib文件转换为Word 2010 XML?

时间:2013-02-21 01:20:43

标签: ms-word bibtex

将Bibtex .bib文件转换为可由MS Word 2010导入的XML文件的最佳方法是什么?

8 个答案:

答案 0 :(得分:17)

Java应用程序JabRef是一个很棒的工具,我已经成功地使用它将我的BibTex条目导出到XML并将它们导入到Word 2013中而没有任何问题。

请查看:http://www.jabref.org/

答案 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)

如果论文在Pubmed上可用,您可以随时使用:

http://pubtransformer.com/

将引用转换为各种格式。

答案 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(可以导入到单词中)。