web-dev-qa-db-fra.com

Comment convertir un fichier BibTex au format Word 2010 XML?

Quel est le meilleur moyen de convertir un fichier .bib Bibtex en un fichier XML pouvant être importé par MS Word 2010?

17
impala79

Voici la solution que j'ai trouvée.

Bibutils , disponible dans le référentiel Ubuntu, fournit des outils pour convertir BibTex en Word XML, mais des problèmes sont survenus lorsque Word n’importait pas correctement certains champs. Voici un code Python pour tout faire en une fois. Jusqu'à présent, je l'ai pour les entrées @article et @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 __== '__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")
10
impala79

L'application Java JabRef est un excellent outil. Je l'ai utilisé avec succès pour exporter mes entrées BibTex au format XML et les ai importées dans Word 2013 sans aucun problème.

Découvrez-le sur: http://www.jabref.org/

17
Javier Isaaí

Basé sur la réponse d’impala79s, cette solution unique fonctionnait pour moi avec MS Word 2007 . mybib.bib est le fichier input bib que nous souhaitons convertir au format Word et Word.xml est le output nom du fichier dans lequel nous voulons enregistrer le format wordbib. Comme indiqué ci-dessus, vous devez installer le package bibutils.

bib2xml mybib.bib | xml2wordbib | sed -e 's/PeriodicalName/PeriodicalTitle/g' -e 's/>Proceedings/>ConferenceProceedings/g' > Word.xml

PS. Le paquet bibutils doit être installé de la même manière avec la réponse ci-dessus

4
Andreas Grivas

Basé sur le script Andreas Grivas, j’ai écrit et partagé un convertisseur de fichiers multiples au format XML (compatible Word). Vous devez exécuter dans le dossier qui contient vos fichiers .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
1
Rogelio Prieto

Si le document est disponible sur Pubmed vous pouvez toujours utiliser:

http://pubtransformer.com/

transformer la référence en différents formats.

0
cs0815

Pour ceux qui utilisent Docker, https://github.com/derlin/docker-bib2Word a un fichier Docker et un script simple pour effectuer le travail.

Pour construire l'image:

git clone https://github.com/derlin/docker-bib2Word
cd docker-bib2Word
docker build -t bib2Word --rm .

Ensuite, lancez simplement:

docker run --rm -v $(pwd):/app bib2Word biblio.tex

convertir biblio.tex en biblio.xml (le peut être importé dans Word).

0
Derlin