2013-02-21 17 views

risposta

9

Ecco la soluzione che ho trovato.

Bibutils, disponibile nei repository di Ubuntu, fornisce alcuni strumenti per convertire BibTex in XML di Word, ma c'era qualche problema con Word che non importava correttamente alcuni campi. Ecco alcuni codici Python per fare tutto in una volta. Finora ho ottenuto di andare per le voci @article e @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") 
16

L'applicazione Java JabRef è un grande strumento, ho usato con successo per esportare le mie voci BibTex a XML ed importato li in Word 2013 senza problemi.

controllo fuori a: http://www.jabref.org/

3

in base alla risposta impala79s' questo uno-liner ha lavorato per me con MS Word 2007. mybib.bib è il file di input bib vogliamo convertire in parola format e word.xml è il output nome del file in cui si desidera salvare il formato wordbib. Come indicato sopra è necessario installare il pacchetto bibutils.

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

PS. È necessario il pacchetto bibutils installato sulla vostra macchina in modo simile con risposta di cui sopra

1

Sulla base della sceneggiatura di Andreas Grivas, ho scritto e vi ho condiviso un convertitore di file multipli in formato xml (parola compatibile). È necessario eseguire all'interno della cartella che contiene i file .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