LaTeX, Zotero und gedit
Friday, 23. January 2009, 17:21:57
In der Tat, Zotero hat mich weitgehend überzeugt. Es ist ein recht brauchbares Literaturverwaltungsprogramm, vor allem aber wird es aktiv weiterentwickelt und von etablierten Institutionen unterstützt. Damit ist es eine recht zukunftssichere Wahl, schließlich will ich nicht alles halbe Jahr meine Literaturdatenbank umziehen.
Die Integration in OpenOffice.org ist außerdem wirklich gut. Nur schreibe ich eigentlich lieber mit LaTeX, und hier bietet Zotero von Haus aus keine Unterstützung. Aber gedit, mit dem LaTeX-Plugin mein favorisierter LaTeX-Editor, hat ja eine schöne Python-Plugin-API. Also kann man ja mal versuchen, ein gedit-Plugin für die Zotero-Einbindung zu schreiben…
Die Integration in OpenOffice.org ist außerdem wirklich gut. Nur schreibe ich eigentlich lieber mit LaTeX, und hier bietet Zotero von Haus aus keine Unterstützung. Aber gedit, mit dem LaTeX-Plugin mein favorisierter LaTeX-Editor, hat ja eine schöne Python-Plugin-API. Also kann man ja mal versuchen, ein gedit-Plugin für die Zotero-Einbindung zu schreiben…
Ganz so einfach ist es dann doch nicht. Der Code, um ein einfaches Zitat in gedit einzufügen, hat ca. zwei ganze Tage in Anspruch genommen. Aber immerhin habe ich jetzt etwas, das zumindest rudumentär funktioniert, darauf kann man ja aufbauen.
Da im UbuntuUsers-Forum in der letzten Zeit häufiger Fragen bezüglich, Zotero, LaTeX und/oder gedit aufgetaucht sind, dachte ich mir, dass vielleicht auch andere Interesse an diesem Projekt haben könnten. (Oder es liegt einfach an meiner selektiven Wahrnehmung…) Daher habe ich ein Projekt auf Launchpad eingerichtet und den ersten Code hochgeladen. Wer experimentierfreudig ist, oder gerne mitentwickeln will, kann das Plugin über bzr runterladen.
Nach der »Installation« (also einfach nach ~/.gnome2/gedit/plugins verschieben und in den Einstellungen aktivieren) findet man unter »Werkzeuge« einen Menüpunkt »Insert Citation«. Einen laufenden Firefox mit Zotero vorausgesetzt, sollte man nun ein Zitat im LaTeX-Stil einfügen können. Als Zitierstil wählt man den BibTeX-Stil oder einen darauf basierenden. Mehr ist zur Zeit noch nicht möglich, vor allem das automatische Exportieren einer passenden BibTeX-Datei fehlt natürlich noch. Und eine bessere grafische Oberfläche (eigenes Menü, vielleicht sogar Werkzeugleiste, Einstellungsdialog, etc.) wäre auch schön.
Wenn ich die Zeit finde, werde ich so langsam daran weiterarbeiten. Falls andere die Idee lohnend finden und Lust haben, daran mitzubasteln, würde mich das natürlich auch freuen. Und vielleicht kommt ja etwas dabei raus, das es mit dem OpenOffice-Plugin aufnehmen kann. :-)
Edit: Da das Plugin simplejson verwendet, muss vor der Nutzung noch das Paket python-simplejson installiert werden. Ab Python 2.6 sollte sich das erübrigen, es bringt von Haus aus schon ein JSON-Paket mit.








Anonymous # 23. January 2009, 18:04
Hi,
es ist doch aber Möglich von Zotero einfach in eine Bibtexdatei zu exportieren. Rechtsklick auf die Sammlung, dann Sammlung exportieren. Als Format Bibtex auswählen fertig ist deine Bibtex Literaturliste aus der du frei zitieren kannst.
Gruß Sab.
Frederik Elwert # 23. January 2009, 18:36
Mit Hilfe des Plugins kann man einfach auf "Zitat einfügen" klicken, und es öffnet sich die Liste in Zotero, aus der ich dann ein Werk auswählen kann, eine Seitenangabe hinzufügen, etc. Und in meinem Dokument wird dann automatisch der passende LaTeX-Befehl eingefügt. Außerdem soll dann automatisch eine BibTeX-Datei mit allen verwendeten Quellen angelegt werden.
Nicht jeder braucht sowas, manchen ist es »per Hand« vielleicht lieber. Aber ich finde es ganz praktisch, das alles über Zotero lösen zu können.
Anonymous # 23. January 2009, 22:21
Hm
vll sehe ich mir s doch mal an. Wenn einem was abgenommen wird ist das ja im Prinzip nicht schlecht. Ich hab mir grad mal Gedit angesehen mit Latex (benutze eigentlich immer Texmaker) sieht ganz gut aus soweit, bis auf das die neuste Version des Plugins noch ihre Maken hat und bei mir nicht funktionierte. :-) Ich hab mir dann die letzte
stablie Version hergenommen. Wie komm ich an den Code für das Plugin um es mal zu Testen?
Gruß Sab.
Frederik Elwert # 23. January 2009, 23:21
bzr branch lp:gedit-zotero
Aber wie gesagt, ist alles noch ein einem frühen Entwicklungsstadium, muss also noch nicht alles einwandfrei funktionieren. Feedback ist aber natürlich immer erwünscht! :-)
Anonymous # 24. January 2009, 09:36
Hi,
hab mir gerade mal den Code besorgt in den Pluginordner kopiert und Tada, da wurde es auch schon in Gedit unter Plugins angezeigt. Als ich jedoch das Plugin aktivieren wollte wurde es einfach ausgegraut und war somit nicht mehr anklickbar. Weisst du woran das liegen könnte?
Gruß Sab.
Frederik Elwert # 24. January 2009, 13:59
Hast Du mal geguckt, ob im Terminal irgend welche Fehlermeldungen ausgegeben werden? Oder ausprobiert, ob ein Neustart von gedit was bewirkt? Vielleicht ist noch ein Fehler im Code, der das Plugin dynamisch laden soll.
Ansonsten sind Fehlerbeschreibungen gut im Bugtracker auf Launchpad aufgehoben, da kann ich das dann sammeln und in Ruhe abarbeiten.
Aber danke für das Feedback, schön, dass sich jemand dafür interessiert... :-)
Anonymous # 24. January 2009, 14:37
Hi,
ich hab versucht den Bug bei Launchpad einzutragen worauf mir folgende Fehlermeldung ausgespuckt wurde: "gedit-Zotero-Plugin does not use Launchpad as its bug tracker."
Musst wohl noch einrichten wie es aussieht. Ich hab mal die Fehlermeldung in der Konsole überprüft welche mir folgendes sagt.:
INFO:root:Loading Zotero plugin
Traceback (most recent call last):
File "/home/sabsirro/.gnome2/gedit/plugins/Zotero/__init__.py", line 28, in
from latex_document import LaTeXDocument
File "/home/sabsirro/.gnome2/gedit/plugins/Zotero/latex_document.py", line 24, in
import json
ImportError: No module named json
** (gedit:7349): WARNING **: Cannot load plugin 'Zotero' since file '/home/sabsirro/.gnome2/gedit/plugins' cannot be read.
** (gedit:7349): WARNING **: Error activating plugin 'Zotero Plugin'
Wobei mir die Meldungen von Gedit bezüglich des nicht lesbaren Verzeichnisses wohl Folgefehler sein müssen, da das Latex-Plugin ja auch darin liegt und einwandfrei funktioniert.
Gruß Sab.
Frederik Elwert # 24. January 2009, 17:07
Das Plugin erfordert simplejson (oder Python 2.6, welches das schon enthält). Also einfach das Paket python-simplejson nachinstallieren, dann müsste es eigentlich funktionieren.
Ich trage das oben noch mal nach.
Den Bugtracker werde ich mal freischalten. Das ist echt nicht sehr offensichtlich in Launchpad. Ich hatte extra noch einmal nachgesehen, und für mich sah es so aus, als ob der Bugtracker automatisch aktiviert würde. Aber danke für den Hinweis, dann richte ich es jetzt mal ein.
Anonymous # 25. January 2009, 11:01
Das ist ja eine tolle Idee! Werde gleich mal versuchen das Plugin zum Laufen zu bringen. Danke für die investierte Arbeit!
Frederik Elwert # 25. January 2009, 16:32
Danke für das Interesse! :-)
Falls es nicht funktioniert hat: Ein anderer User hat mich auf einen Fehler beim ersten Einfügen eines Zitats aufmerksam gemacht, der jetzt behoben ist.
Anonymous # 25. January 2009, 18:17
Ja, hat nicht funktioniert, probiere gleich mal die neue Version aus. Danke für den Hinweis!
Anonymous # 25. January 2009, 18:36
Hm läuft leider bei mir (noch) nicht. Habe mal einen Bugreport mit Fehlermeldung verfasst. Habe leider von sowas nicht viel Ahnung, so dass ich nicht weiter helfen kann...
Frederik Elwert # 25. January 2009, 19:06
Anonymous # 25. January 2009, 19:31
Mann, das geht aber schnell. Danke für die Mühe! Leider habe ich es mir glaube ich selbst verbockt, weil ich die Preview Version benutze.
Lade die Fehlermeldung mal in Launchpad hoch, hier sprengt es wohl den Rahmen...
Anonymous # 25. January 2009, 20:04
Hi
ich hab das Plugin jetzt am Laufen, war tatsächlich das Problem das nur simplejson gefehlt hat. Ich weiss jetzt aber leider noch nicht wie ich s anfangen soll damit zu Arbeiten. Wie kann ich jetzt Zitieren so, dass er die Daten von Zotero nutzt?
Gruß Sab.
Frederik Elwert # 25. January 2009, 20:48
Du solltest jetzt unter »Werkzeuge« zwei neue Menüeinträge haben: »Insert Citation« und »Insert Bibliography«. Mit einem Klick auf ersteres kommt beim ersten Mal, wie beim OO.o-Plugin, der Einstellungsdialog für das Dokument. Dort wählst Du den BibTeX-Stil (den Du zuvor vom Zotero-Style-Repository installiert haben müsstest), der Rest ist egal.
Danach wird ein weiterer Dialog geöffnet, in dem man einen Eintrag aus der Zotero-Datenbank auswählen kann. Der entsprechende BibTeX-Key wird dann in einem \cite{}-Befehl in das Dokument eingefügt, ggf. mit Seitenzahl.
Über »Insert Bibliography« wird ein \bibliography{}-Befehl eingefügt und alle verwendeten Titel werden dann in eine BibTeX-Datei exportiert.
Das ganze ist noch sehr rudimentär, es funktionieren bisher nur die grundlegendsten Features. So werden z.B. einmal eingefügte Bibliographien nicht aktualisert, etc. Es sollte aber relativ einfach sein, später andere Zitat-Befehle zu unterstützen, wie z.B. biblatex' \autocite, csquotes' \textcquote etc.
Wenn das noch nicht wie beschrieben funktioniert, kann ich nur um Geduld und/oder Mithilfe bitten. Bisher ist es eher ein Proof of Concept und produktiv noch nicht unbedingt zu gebrauchen. Wer aber ein bisschen rumprobieren will, ist herzlich eingeladen, Probleme zu melden (oder gleich zu beheben ;-) - aber melden hilft auch schon!).
Anonymous # 25. January 2009, 21:20
Hi,
danke dir für die ausführliche Beschreibung. Soweit so gut ich hatte die Buttons zum einen nicht gesehen und zum Anderen ging das in der Pluginversion noch garnicht die ich mir gebrancht habe. :-) Jetzt hab ich mir den Style installiert und die neuste Version des Plugins. Wenn ich den "Insert Citation" Eintrag wähle komme ich nun zu dem von dir beschriebenen Menü. Nach auswahl des Styles, und danach eines gewünschten Eintrages, wird auf jeden fall schon mal etwas Text in meine Datei geschrieben. Ein einfaches \cite{Eintrag} ist das jedoch noch nicht. :-) Aber sieht schon mal ganz gut aus.
Was noch mit dabei ist ist jede Menge kram von Zotero:
% ZoteroPreferences
% Style=http://www.zotero.org/styles/bibtex
% Session=Bv2mPwB6
% ZoteroPreferencesEnd
% ZoteroPreferences
% Style=http://www.zotero.org/styles/bibtex
% Session=Bv2mPwB6
% Mapping={"du_wasser_2009": 10565}
% ZoteroPreferencesEnd\cite{du_wasser_2009}
Danke dir für die Arbeit an diesem Plugin ich glaube das wird richtig gut und vor allem nützlich werden. ;-) Ich werde auf jeden Fall weiter Probleme melden, helfen kann ich leider nicht wirklich da ich noch kein Python kann.
Grüße Sab.
Anonymous # 25. January 2009, 21:38
Das war es mir wert, bin zur stable zurückgekehrt, jetzt muss ich zwar ein wenig an der Datenbank basteln, dafür werde ich dann mit einfacherem Schreiben belohnt ;-) es funktioniert wirklich gut!
Meine Diss wird dann der Test, dabei treten bestimmt jede Menge Fragen auf, die ich dann fleißig stellen werden bzw. von Problemen berichten ;-) Vielleicht motiviert mich das ja Python zu lernen, aber ich fürchte das wird schwer, da ich sonst von Programmieren 0,0 Ahnung habe...
Bin begeistert von dem Plugin und werde anderen davon berichten.
Frederik Elwert # 25. January 2009, 21:49
der ganze Zotero-Kram ist leider notwendig. Zotero braucht die ID eines Zitats, um dann z.B. die BibTeX-Datei exportieren zu können. Im Zitat ist aber nur der Cite-Key enthalten, mit dem Zotero nichts anfangen kann. Also muss ich das speichern. Ebenso den gewählten Stil, um das nicht jedes mal neu abfragen zu müssen.
Derzeit wird das in einen LaTeX-Kommentar geschrieben, sollte also nicht weiter stören - außer das ästhetische Empfinden :-)
Alternativ könnte man es in eine Meta-Datei schreiben, wie z.B. .dateiname-zotoro-settings.xml. Aber dann ist es weniger portabel, die Informationen gehen verloren, wenn man mal das Dokument verschiebt.
@Christian: Wow, freut mich, dass Du es wirklich schon einsetzen willst! :-) Falls Du spezielle Features brauchst, kannst Du ja einfach mal Bescheid geben, dann kommt das höher auf meine Prioritätenliste. Die letzten Tage hatte ich etwas Zeit, aber ich kann leider nicht versprechen, dass die Entwicklung in dem Tempo weitergeht. Aber es tut der Motivation schon mal gut, wenn man weiß, dass man es nicht nur für sich selbst schreibt.
Anonymous # 25. January 2009, 22:20
Naja, dem Einsatz steht ja nichts im Wege, sollte etwas nicht klappen kann ich ja immer noch die *.bib Datei händisch exportieren, die Keys sollten ja eigentlich gleich bleiben oder? Das ist ja das schöne an LaTeX, im Prinzip könnte ich mit Deinem Plugin anfangen und wenn ich dann später überlegen sollte mit kile weiterzuarbeiten und die keys von Hand eingeben möchte wäre das auch kein Problem.
Anonymous # 26. January 2009, 18:01
Hi,
naja du hast recht, ist wirklich nicht so wild mit dem kram von Zotero. Hauptsache es funktioniert :-). Was noch cool wäre ist sowas wie n shortcut für das cite Werkzeug, damit man sich nicht jedes mal in das Werkzeug-Menü klicken muss.
Gruß Sab.
Frederik Elwert # 26. January 2009, 18:24
@Sab: Ja, ein Shortcut sollte auf jeden Fall noch her. Das ganze wird vermutlich auch nicht im Werkzeuge-Menü bleiben. Aber an der GUI muss ich sowieso noch was feilen.
Anonymous # 6. February 2009, 15:14
Bin mir immer nicht sicher ob hier oder bei launchpad ;-)
Bislang klappt es ganz gut, habe nun aber einen Autor mit Umlauten und da klappt die Zuordnung irgendwie nicht. Oder mache ich da etwas falsch?
Im Eintrag Mapping steht "g\u00f6tz" statt götz, somit findet er beim Erstellen der .bib Datei den entsprechenden Eintrag nicht.
Frederik Elwert # 6. February 2009, 20:45
Auf Launchpad kann man solche Fehler etwas leichter verwalten, dann bekämst Du auch Bescheid, wenn der Bug behoben ist.
Das mit den Umlauten werde ich mir mal ansehen. Der BibTeX-Export hat da ein paar Beschränkungen, die sich in CSL nicht lösen lassen. Die muss ich dann auf der Python-Seite umgehen. Ich gucke mal, dass ich das in den Griff kriege.
Frederik Elwert # 7. February 2009, 21:59
BibTeX erlaubt, soweit ich weiß, gar keine nicht-ASCII-Zeichen in den Keys. Deswegen werden solche Zeichen nun in ihre ASCII-Formen umgewandelt (ö in o, etc.).
Das heißt aber, dass Du Deine Keys mit Umlauten nun entweder selbst anpassen oder neu einfügen müsstest. Dann sollte es funktionieren.
Anonymous # 8. February 2009, 10:20
Jetzt läuft es. Danke. Weiter auf launchpad, wenn das einfacher ist.
Anonymous # 29. August 2009, 09:58
Klasse, bitte unbedingt weiterentwickeln. :)
Frederik Elwert # 29. August 2009, 18:52
Um ein wirklich vorzeigbares Plugin daraus zu machen, müsste man wohl etwas mehr Arbeit reinstecken, z.B. die Portierung auf Zotero 2.0. Und einiges ist leider auch nur über Hacks zu erreichen, da man keinen direkten Zugriff auf Zoteros BibTeX-Export hat.
Aber wenn jemand Lust hat, sich der Baustellen anzunehmen: Nur zu! Meiner Unterstützung ist er/sie gewiss! :-)