Wie behandeln Zitate in Ipython Notebook?
Was ist der beste Weg, um Pflege der Zitate in Ipython Notebook? Im Idealfall würde ich gerne eine bibtex-Datei, und dann, wie in latex, haben eine Liste von Kürzeln in Ipython markdown-Zellen, die mit der vollständigen Quellenangabe am Ende des Notebooks.
Dem relevanten material, das ich fand ist dies: http://nbviewer.ipython.org/github/ipython/nbconvert-examples/blob/master/citations/Tutorial.ipynb
Aber ich konnte nicht Folgen die Dokumentation sehr gut. Kann mir jemand das erklären? Vielen Dank!!
- Was Teil der Dokumentation ist, stolpern Sie?
- Ich arbeite an einem tool zur interaktiven Zitate von notebooks, aber es ist ein wenig rau, so weit: github.com/takluyver/cite2c
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Dokument Tools der Calico suite, die separat installiert werden mit:
Lesen Sie die tutorial und beobachten Sie die YouTube-video für mehr details.
Achtung: nur die zitierten Referenzen verarbeitet werden. Deshalb, wenn Sie nicht zitieren einen Artikel, es erscheint nicht im Abschnitt "Informationsquellen". Als kleines Beispiel, kopieren Sie den folgenden in einer Markdown Zelle und drücken Sie die "Buch" - Symbol.
Dies sollte dazu führen, die folgenden zusätzlichen Markdown-Zelle:
Zusammenfassung
Diese Lösung basiert weitgehend auf Sylvain Deville ' s ausgezeichnete blog-post. Es ermöglicht Ihnen, einfach schreiben
[@citation_key]
im markdown-Zellen. Die Verweise formatiert werden nach der Konvertierung von Dokumenten. Die einzigen Anforderungen sind LaTeX-und pandoc, die beide weitgehend unterstützt werden. Es gibt zwar nie eine Garantie, dieser Ansatz sollte daher immer noch funktionieren in vielen Jahren mal.Schritt-für-Schritt-Anleitung
Neben einer funktionsfähigen installation von jupyter Sie brauchen:
LaTeX (installation guide).
Pandoc (installation guide).
Einen citation style language. Laden Sie eine Zitierweise, z.B., APA. Speichern Sie die
.csl
Datei (z.B.apa.csl
) in den gleichen Ordner wie Ihre jupyter notebook (oder geben Sie den Pfad zu der.csl
Datei später).Einen
.bib
Datei mit Ihren Referenzen. Ich bin mit einem Beispiel bib-Dateilist.bib
. Speichern im gleichen Ordner wie Ihre jupyter notebook (oder geben Sie den Pfad zu der.bib
Datei später).Sobald Sie diese Schritte abgeschlossen, ist der rest einfach:
Verwenden mardown syntax für Referenzen in markdown-Zellen in Ihrem jupyter notebook. E. g.,
[@Sh:1]
wo die syntax funktioniert wie folgt:([@citationkey_in_bib_file])
. Ich viel lieber diese syntax gegenüber anderen Lösungen, weil es so schnell zu geben[@something]
.Ende Ihre ipython notebook, erstellen Sie eine code Zelle mit der folgenden syntax zu automatisch konvertieren Sie Ihre Dokument (beachten Sie, dass dieser R-code, verwenden Sie einen äquivalenten Befehl zu
system()
für python):Führen Sie diese Zelle (oder führen Sie einfach alle Zellen). Beachten Sie, dass das 2. system call ist einfach
pandoc -s paper.md -t docx -o paper.docx --filter pandoc-citeproc --bibliography=listb.bib --csl=apa.csl
. Ich habe lediglich verwendetpaste0()
zu können, verbreiten sich diese über mehrere Zeilen und machen es schöner zu Lesen.Ist die Ausgabe eines word-Dokuments. Wenn Sie lieber ein anderes Dokument, check-out diese Anleitung für die alternative syntax.
Extras
1) Wenn Sie nicht möchten, dass Ihre konvertierte Dokument enthält die syntax für die Konvertierung von Dokumenten, legen Sie eine markdown Zelle oben und unten der code Zelle mit der syntax für die Konvertierung. In der Zelle oben eingeben
<!--
und in der Zelle unter Eingabe-->
. Dies ist eine normale html-Befehl für einen Kommentar, so dass die syntax wird zwischen diesen beiden Zellen wird ausgewertet, aber nicht gedruckt.2) Sie können auch eine yaml-header in der ersten Zelle. E. g.,
.ipynb
zu.md
mitpandoc
den Verweis umgewandelt\[@something\]
, die nicht geben Sie die gewünschte Ausgabe beim kompilieren, um zum Beispiel eine pdf-Datei. Wird dies erklärt durch die Nutzungpandoc
stattnbconvert
?Konnte ich es mit dem folgenden Ansatz:
ipython.bib
im "standard"bibtex
- format. Es geht in der gleichen Datei wie Ihre*.ipynb
notebook-Datei ein./usr/local/lib/python2.7/dist-packages/IPython/nbconvert/templates/latex
.latex_article.tplx
. Auf meine distribution, es istarticle.tplx
(ohnelatex_
).nbconvert
mit--to latex
; erzeugt eine.aux
- Datei unter anderem. Latex-beklagen sich über fehlende Referenzen.bibtex yournotebook.aux
; dies erzeugtyournotebook.bbl
. Sie müssen nur dann erneut ausführen, wenn Sie dies ändern Referenzen.nbconvert
entweder mit--to latex
oder mit--to pdf
. Dies erzeugt eine.tex
- Datei, sonst läuft den ganzen Weg zu einem.pdf
.Wenn Sie möchten, dass die html-Ausgabe, die Sie verwenden können, pandoc zusammenstellen der Referenzen in eine ordentliche Zitat-Seite. Dies kann erfordern, dass einige von hand Bearbeiten, um eine html-Seite, die Sie verweisen können von Ihrem Haupt-Dokument.
TemplateNotFound: article.tlpx
bei nbconvertIPython
(oderjupyter
) verwenden Sie? Welches OS verwenden Sie?pip
. Meinearticle.tplx
ist in/usr/local/lib/python2.7/dist-packages/nbconvert/templates/latex/article.tplx
. Jede chance, die Sie falsch geschriebenarticle.tlpx
eher alsarticle.tplx
in der Vorlage?Wenn Sie wissen, dass Sie die Umwandlung Ihres Notebooks zu latex ohnehin, überlegen Sie einfach hinzufügen ein "Raw" - Zelle (Strg+M R) an das Ende des Dokuments, enthält die Bibliographie nur wie würde man es in reinem LaTeX.
Zum Beispiel, wenn ich auf Sie verweisen müssen ein paar externe links, ich würde nicht sogar egal, um eine ordnungsgemäße BibTeX-Ding und haben einfach nur eine "Raw" - Zelle am Ende des notebook gefällt:
Dem Artikel zitiert werden können, in anderen Markdown-Zellen mit der üblichen
<cite data-cite="post1">(KT, 2015)</cite>
Natürlich können Sie auch die ordnungsgemäße Verwendung von BibTeX als gut. Fügen Sie einfach die entsprechenden Raw-Zelle, e.g:
Diese Weise werden Sie nicht haben, um die Mühe der Bearbeitung eine separate template-Datei (um den Preis der übersichtlichkeit des notebook ' s HTML-export mit raw-Latex, obwohl).
Sollten Sie einen Blick auf die latex_envs Erweiterung in https://github.com/ipython-contrib/IPython-notebook-extensions (installieren von diesem repo, es ist die aktuellste version). Diese Erweiterung enthält eine Art und Weise zu integrieren Bibliographie mithilfe von bibtex-Dateien und standard-latex-notation, und generiert eine Bibliographie am Ende des Abschnitts das notebook. Stil der Zitate kann man (einigermaßen) angepasst. Einige Dokumentationen hier https://rawgit.com/jfbercher/latex_envs/master/doc/latex_env_doc.html