Standardmäßig (unter Verwendung des plain
Stils) ordnet BibTeX Zitate alphabetisch an.
Wie ordne ich die Zitate nach der Reihenfolge des Erscheinens im Dokument?
Standardmäßig (unter Verwendung des plain
Stils) ordnet BibTeX Zitate alphabetisch an.
Wie ordne ich die Zitate nach der Reihenfolge des Erscheinens im Dokument?
Antworten:
Auf diese Frage gibt es drei gute Antworten.
unsrt
Bibliografiestil, wenn Sie mit der Formatierung anderweitig zufrieden sindmakebst
(Link-) Tool, um Ihren eigenen Bibliografiestil zu entwerfenUnd meine persönliche Empfehlung:
biblatex
Paket (Link) . Es ist das vollständigste und flexibelste Bibliografie-Tool in der LaTeX-Welt.Mit würden biblatex
Sie so etwas schreiben
\documentclass[12pt]{article}
\usepackage[sorting=none]{biblatex}
\bibliography{journals,phd-references} % Where journals.bib and phd-references.bib are BibTeX databases
\begin{document}
\cite{robertson2007}
\cite{earnshaw1842}
\printbibliography
\end{document}
\addbibresource{journals.bib,phd-references.bib}
Veränderung
\bibliographystyle{plain}
zu
\bibliographystyle{ieeetr}
Erstellen Sie es dann einige Male neu, um die .aux
und .bbl
Dateien zu ersetzen , die bei Verwendung des einfachen Stils erstellt wurden.
Oder löschen Sie einfach die .aux
und .bbl
Dateien und erstellen Sie sie neu.
Wenn Sie MiKTeX verwenden, sollten Sie nichts extra herunterladen müssen.
biblatex
-centric Antwort letztlich der Weg nach vorne für die LaTeX - Community, LyX anhalt Mangel an integrierten Unterstützung ist für biblatex
eine enorme (und zunehmend peinlich) Blocker. Es ist acht Jahre her, seit diese Frage zum ersten Mal gestellt wurde! Ich werde niemals die Entwicklerprioritäten von LyX einschränken. Es ist 2016. Fahrerlose Autos und tragbare Supercomputer sind eine Sache, aber hier bleiben wir - angekettet an denselben schrecklichen BibTeX-Stein der Schande.
Nur eine kurze Anmerkung - Ich verwende eine modifizierte Version von plain.bst , die sich mit meinen Latex-Dateien im Verzeichnis befindet. Es stellt sich heraus, dass das Sortieren nach Erscheinungsreihenfolge eine relativ einfache Änderung ist. Finden Sie einfach den Code:
...
ITERATE {presort}
SORT
...
... und kommentiere es - ich drehte es zu:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... und dann, nach dem Laufen bibtex
, pdflatex
, pdflatex
- werden die Zitate nach der Reihenfolge ihres Auftretens sortiert werden (das heißt, sie werden unsortiert sein :)).
Prost!
BEARBEITEN: habe gerade festgestellt, dass das, was ich geschrieben habe, tatsächlich in dem Kommentar von @ChrisN enthalten ist: "Kannst du es bearbeiten, um den SORT-Befehl zu entfernen ? ";)
Das Beste, was ich mir ausgedacht habe, ist die Verwendung des unsrt
Stils, der ein optimierter plain
Stil zu sein scheint . dh
\bibliographystyle{unsrt}
\bibliography{bibliography}
Was ist jedoch, wenn mein Stil nicht die Standardeinstellung ist?
Sie haben Ihre eigene Frage beantwortet --- unsrt
ist zu verwenden, wenn Sie Verweise auf ne in der Reihenfolge ihres Auftretens auflisten möchten.
Vielleicht möchten Sie aber auch einen Blick auf natbib werfen , ein äußerst flexibles Zitierpaket. Ich kann mir nicht vorstellen, ohne sie zu leben.
Ich bin ein bisschen neu in Bibtex (und in Latex im Allgemeinen) und möchte diesen alten Beitrag wiederbeleben, da ich festgestellt habe, dass er in vielen meiner Google-Suchanfragen zur Bestellung einer Bibliographie in Latex aufgetaucht ist.
Ich gebe eine ausführlichere Antwort auf diese Frage in der Hoffnung, dass dies einigen Anfängern helfen könnte, die mit den gleichen Schwierigkeiten konfrontiert sind wie ich.
Hier ist ein Beispiel für die Haupt-.tex-Datei, in der die Bibliographie aufgerufen wird:
\documentclass{article}
\begin{document}
So basically this is where the body of your document goes.
``FreeBSD is easy to install,'' said no one ever \cite{drugtrafficker88}.
``Yeah well at least I've got chicken,'' said Leeroy Jenkins \cite{goodenough04}.
\newpage
\bibliographystyle{ieeetr} % Use ieeetr to list refs in the order they're cited
\bibliography{references} % Or whatever your .bib file is called
\end{document}
... und ein Beispiel für die .bib-Datei selbst:
@ARTICLE{ goodenough04,
AUTHOR = "G. D. Goodenough and others",
TITLE = "What it's like to have a sick-nasty last name",
JOURNAL = "IEEE Trans. Geosci. Rem. Sens.",
YEAR = "xxxx",
volume = "xx",
number = "xx",
pages = "xx--xx"
}
@BOOK{ drugtrafficker88,
AUTHOR = "G. Drugtrafficker",
TITLE = "What it's Like to Have a Misleading Last Name",
YEAR = "xxxx",
PUBLISHER = "Harcourt Brace Jovanovich, Inc."
ADDRESS = "The Florida Alps, FL, USA"
}
Beachten Sie, dass die Verweise in der .bib-Datei in umgekehrter Reihenfolge aufgeführt sind, die Verweise jedoch in der Reihenfolge, in der sie im Dokument angegeben sind.
Weitere Informationen zur Formatierung Ihrer .bib-Datei finden Sie hier: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
mit unsrt
dem problem ist das format. Verwenden Sie \bibliographystyle{ieeetr}
diese Option, um Referenzen in der Reihenfolge des Zitierens im Dokument abzurufen.
Das datatool- Paket bietet eine gute Möglichkeit, die Bibliographie nach einem beliebigen Kriterium zu sortieren, indem sie zuerst in ein Datenbankformat konvertiert wird.
Kurzes Beispiel, von hier genommen und für die Aufzeichnung gepostet:
\documentclass{article}
\usepackage{databib}
\begin{document}
% First argument is the name of new datatool database
% Second argument is list of .bib files
\DTLloadbbl{mybibdata}{acmtr}
% Sort database in order of year starting from most recent
\DTLsort{Year=descending}{mybibdata}
% Add citations
\nocite{*}
% Display bibliography
\DTLbibliography{mybibdata}
\end{document}
Wenn Sie zufällig verwenden amsrefs
, überschreiben sie alle oben genannten Punkte - kommentieren Sie also Folgendes aus:
\usepackage{amsrefs}
Ich benutze natbib
in Kombination mit bibliographystyle{apa}
. Z.B:
\begin{document}
The body of the document goes here...
\newpage
\bibliography{bibliography} % Or whatever you decided to call your .bib file
\usepackage[round, comma, sort&compress ]{natbib}
bibliographystyle{apa}
\end{document}