
Ich verwende Mendeley, um Zitate zu organisieren. Es exportiert eine .bib
Datei automatisch in einen Ordner auf meinem Mac.
Ich habe auch eine andere .bib
Datei, die ich für andere Zitate verwende, die nicht in Mendeley gespeichert sind (meistens Websites). Diese Datei ist in einem Ordner gespeichert, der alle meine LaTeX-Projekte in separaten Ordnern enthält.
Der Grund dafür, dass die .bib
Dateien getrennt vom LaTeX-Projekt gespeichert werden, besteht darin, dass mehrere Projekte dieselben Zitate verwenden und ich auf diese Weise nur eine .bib
Datei pflegen muss (die andere wird von Mendeley gepflegt).
Inspiriert vondie Frage zu VCSIch habe mein aktuelles LaTeX-Projekt mit git zu bitbucket.org hinzugefügt. Es ist ein Verzeichnis, das meine .tex
Dateien und Bilder enthält,nichtdie .bib
Datei.
In meinem Buch main.tex
füge ich die beiden Bibliographien wie folgt ein:
\bibliography{~/Documents/Dropbox/Mendeley/library,../other_refs}
Mein Ziel besteht nun darin, das Repository in sich geschlossen zu machen, sodass jemand es einfach klonen und das LaTeX-Dokument kompilieren kann.
Da meine .bib
Dateien nicht im Repo sind, wie kann ich das erreichen?
Symlinks sind keine Optionda Git keinen symbolischen Links mehr folgt.
Antwort1
natbib
Ich bin schließlich von auf biblatex
+ umgestiegen biber
. Letzteres unterstützt den Befehl, der einen Link zu einer Datei als Eingabe \addbibresources[location=remote]
verwenden kann ..bib
\bibliography{~/Documents/Dropbox/Mendeley/library,../other_refs}
wurde:
\IfFileExists{../thesis_refs.bib}
{
\addbibresource{~/Documents/Dropbox/Mendeley/library.bib}
\addbibresource{../thesis_refs.bib}
}
{
\addbibresource[location=remote,type=file]{https://dl.dropboxusercontent.com/s/library.bib}
\addbibresource[location=remote,type=file]{https://dl.dropboxusercontent.com/s/thesis_refs.bib}
}
\printbibliography
Nun wird geprüft, ob die lokalen .bib
Dateien vorhanden sind. Wenn ja, werden sie einfach verwendet, wenn nicht, werden die .bib
Dateien von Dropbox heruntergeladen, wo ich sie öffentlich zugänglich gemacht habe (die hier angezeigten Links sind nicht die tatsächlichen Links).
Antwort2
Ich habe das Problem gelöst, indem ich die Bib mithilfe einer Make-Datei (die von latexmk aufgerufen wird) in den lokalen Ordner kopiert habe. Auf diese Weise haben Sie auch die richtige Version in Ihrem Repo. Eines der Hauptprobleme, die ich mit Mendely hatte, war, dass sich die Reihenfolge der Einträge jedes Mal ändert, wenn die Datei geschrieben wird. Also habe ich das Makefile erweitert, um es durchzulaufen bibtool
. Mein Makefile ist etwas komplexer, aber für Sie läuft es auf Folgendes hinaus:
PROJECT.bib:~/Documents/Dropbox/Mendeley/library
cat $< | bibtool -o $@ -r ./bib.rsc
Und die bib.rsc sieht so aus
resource {sort_fld.rsc}
sort = on
preserve.keys = on
preserve.key.case = on