Schlagwort-Archive: latex

Literaturverwaltung mit Zotero und BibTex

Da ich aktuell an meiner Masterarbeit sitze und nach einem halbwegs automatischen Prozess gesucht habe, um von den diversen Paper-Quellen zu halbwegs vernünftigen BibTex-Einträgen zu kommen, habe ich Zotero als mein Tool der Wahl auserkoren.

Zotero, die unkomplizierte Literaturverwaltung

Dabei handelt es sich sowohl um eine Online-Plattform als auch um ein Browserplugin oder eine standalone Applikation die sich recht gut unter Linux/Windows/Mac oder eben im Browser nutzen lässt.
Sobald man das Paper seiner Wahl gefunden hat kann man es direkt in der Zotero-Datenbank via Browserplugin abglegen lassen (Synchronisation mit dem Server ist direkt mit dabei, arbeiten an verschiedenen Rechnern ist ohne Probleme möglich). Sehr praktisch ist auch die Möglichkeit Einträge zu annotieren oder mit Tags zu versehen.
Sobald man jetzt den nächsten Schritt in Richtung LaTex bzw. BibTex macht hilft Zotero ebenfalls weiter. Hier hat man die Möglichkeit die Einträge seiner Wahl gesammelt als BibTex Bibliography (.bib-Datei) zu exportieren.
Wichtig dabei ist, dass man darauf achtet vor dem Export mindestens die Punkte Autor, Jahr und Titel für alle Einträge sinnvoll gefüllt zu haben.

BibTex Literaturverzeichnis ohne Überraschungen

Jetzt kommt der spannende Teil: Das Literaturverzeichnis
Beim Erzeugen des Literaturverzeichnisses gibt es einige Stolperfallen die man zuvor beachten sollte. BibTex mag auf keinen Fall alte Output-Files (*.bbl, *.blg, *.aux, *.out, …), dementsprechend immer in einem gesäuberten Buildverzeichnis arbeiten. Außerdem muss pdfLaTeX vor dem Ausführen von BibTex als auch danach ausgeführt werden.
Letztlich kommt es noch darauf an welches Bibliographiesystem man verwendet. Hier habe ich das natbib Paket im Einsatz. Diese ermöglicht es den url-Tag des Zotero-Exports als klickbare URL anzuzeigen. Zustätzlich muss noch das hyperref Paket mit an Board sein.

\usepackage[square,numbers]{natbib}
\usepackage{hyperref}
\bibliographystyle{abbrvnat}
\bibliography{bibliography}
bibliography example
Die Ausgabe am Ende mit klickbaren URLs

Beispiel

Ein vollständiges Beispiel gibts hier.

Quellen

wikipedia2bibtex

Hier ein kleines Python-Script um aus einem Wikipedia-Artikel einen BibTex-Eintrag zu generieren.

Known Issues

  • Leider habe ich noch keine schöne Variane gefunden das Artikel Jahr rauszufinden. Deswegen wird immer das aktuelle Jahr gesetzt.
  • Als Key des BibTex-Eintrags wird immer der seitenspezifische URL Abschnitt genommen. Dabei kann es zu Problemen kommen wenn Sonderzeichen o. ä. benutzt werden.
import sys
import urllib.request
from bs4 import BeautifulSoup
import time
import re

urlstring = sys.argv[1];
print('try to retrieve "%s"...' % urlstring)

try:
 req = urllib.request.Request(urlstring, headers={'User-Agent' : "Magic Browser"})
 with urllib.request.urlopen(req) as url:
 wikisite = url.read()
except ValueError:
 sys.stderr.write('unkown url type "%s"n' % urlstring)
 sys.exit(1)

soup = BeautifulSoup(wikisite)
label = urlstring.rsplit('/',1)[1]
title = soup.title.string
title = title.split('–',1)[0]
title = title.split('-',1)[0]
year = time.strftime("%Y")
timestamp = time.strftime("%d.%m.%Y")

print('@misc{wiki:%s,ntauthor = "Wikipedia",nttitle = "%s--- {W}ikipedia", ntyear = "%s", nthowpublished = "%s", ntnote = "[Online; accessed %s]"n}' % (label, title, year, urlstring, timestamp))