2008-09-27 6 views
197

Standardmäßig (BibTeX plain) bestellt Zitate alphabetisch.Wie man Zitate mit BibTeX nach Erscheinungsbildern sortiert?

Wie die Zitate nach der Reihenfolge des Auftretens im Dokument zu bestellen?

+24

Hilfreiche Frage (upvoted), aber sollte das nicht zu http://tex.stackexchange.com/ gehören? –

+8

@ChthonicProject, ich glaube nicht, dass tex.stackexchange.com bis 2010 gestartet ist und diese Frage ist von 2008. Auch wäre die Frage zu alt, um zu migrieren, also lebt es hier weiter. –

Antwort

140

Es gibt drei gute Antworten auf diese Frage.

  • Verwenden Sie die unsrt Bibliographie Stil, wenn Sie mit seiner Formatierung zufrieden sind sonst
  • die makebst(link) Werkzeug Verwenden Sie Ihre eigenen Bibliographie Stil

Und meine persönliche Empfehlung zu entwerfen:

  • Verwenden Sie das biblatex Paket . Es ist das umfassendste und flexibelste Literaturverzeichnis in der LaTeX-Welt.

Mit biblatex, würden Sie so etwas wie

\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} 
+1

Ein offensichtlicher Vorteil des biblatex-Pakets, das mich dazu gebracht hat, diese Antwort zu akzeptieren, ist, dass es erlaubt, Referenzstile mit TeX-Makros anstatt mit seltsamen BibTeX-Voodoo zu bearbeiten. Andere Pakete können für eine schnellere/zuverlässigere Lösung besser sein. – Brendan

+0

Ich muss das hinzufügen, wenn Sie biblatex verwenden. Es wäre besser, stattdessen \ addbibresource \ bibliography zu verwenden. So '\ addbibresource {journals.bib, phd-references.bib}' – Custodio

10

Das beste, was ich mit kam, ist die Verwendung der unsrt-Stil, der ein zwicker plain Stil scheint. d. h.

\bibliographystyle{unsrt} 
\bibliography{bibliography} 

Wie auch immer, wenn mein Stil nicht der Standard ist?

+3

Wenn Sie einen benutzerdefinierten BibTeX-Stil verwenden, können Sie ihn bearbeiten, um den Befehl SORT zu entfernen? – ChrisN

+0

Standardmäßig empfiehlt die Wiki-Seite Ihnen einfach. Wenn Sie unachtsam kopieren und einfügen, verwenden Sie einfach statt unsrt Stil. http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management –

11

Sie haben Ihre Frage selbst beantwortet - unsrt ist zu verwenden, wenn Sie Referenzen zu ne in der Reihenfolge des Auftretens aufgelistet haben möchten.

Sie können aber auch einen Blick auf natbib werfen, ein äußerst flexibles Zitierpaket. Ich kann mir nicht vorstellen, ohne sie zu leben.

+7

natbib betrifft nur den Satz der \ cite-Befehle im Dokument selbst. Nachdem das gesagt wurde, wird es mit unsrtnat.bst verteilt, um den vom ursprünglichen Poster angestrebten Effekt zu erzielen. (Ich würde heute biblatex über Natbib empfehlen, es sei denn absolute Stabilität ist am wichtigsten.) –

2

mit unsrt das Problem ist, das Format schreiben. Verwenden Sie \bibliographystyle{ieeetr}, um Referenzen in der Reihenfolge der Zitation im Dokument zu erhalten.

+0

Ihre Behauptung über das Format scheint der akzeptierten (und stark aufgestuften) Antwort zu widersprechen. Könnten Sie das klären? – Zero3

92

ändern

\bibliographystyle{plain} 

zu

\bibliographystyle{ieeetr} 

es dann ein paar Mal neu erstellen die .aux und .bbl Dateien zu ersetzen, die gemacht wurden, wenn Sie den Normalstil verwendet.

Wenn Sie MiKTeX verwenden, sollten Sie nichts extra herunterladen müssen.

+2

Danke! Ausgezeichnete und einfache Lösung! –

+0

Super! Funktioniert out of the box ohne irgendwelche Komplikationen, danke –

+0

Großartig! Danke für die einfache Lösung. – Faq

12

Nur eine kurze Anmerkung - Ich benutze eine modifizierte Version von plain.bst sitzt im Verzeichnis mit meinen Latex-Dateien; Es stellt sich heraus, dass das Sortieren nach der Reihenfolge der Erscheinung eine relativ einfache Änderung ist; finden nur das Stück Code:

... 
ITERATE {presort} 

SORT 
... 

... und kommentieren - ich wandte es sich an:

... 
%% % avoid sort: 
%% ITERATE {presort} 
%% 
%% SORT 
... 

...und dann, nach dem Lauf , pdflatex, pdflatex - die Zitate werden nach der Reihenfolge ihres Auftretens sortiert (das heißt, sie werden unsortiert :)).

Prost!

EDIT: nur klar, dass was ich geschrieben habe tatsächlich im Kommentar von @ChrisN ist: „können Sie sie bearbeiten den Befehl SORT entfernen“;)

3

Ich benutze oft die Bibliographie Stil natbib, weil es liefert ziemlich vollständige Reihe von Formaten sowie Tags für uns.

0

Das Paket datatool bietet eine gute Möglichkeit, die Bibliographie nach einem beliebigen Kriterium zu sortieren, indem man es zuerst in ein Datenbankformat umwandelt.

Kurz Beispiel genommen from here und für das Protokoll geschrieben:

\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} 
0

Wenn Sie zufällig amsrefs zu verwenden werden sie alle die oben außer Kraft setzen - so kommentieren Sie:

\usepackage{amsrefs}

+0

Willkommen bei Stack Overflow! Ihre Antwort scheint die gestellte Frage nicht wirklich zu beantworten. Ihre Informationen könnten wertvoll sein, aber es ist wahrscheinlich besser als Kommentar zu einer der anderen Antworten geeignet (sobald Sie die erforderliche Reputation erhalten haben, um Kommentare zu posten). – Zero3

4

I Ich bin ein bisschen neu für Bibtex (und für Latex im Allgemeinen) und möchte diesen alten Beitrag wiederbeleben, da ich festgestellt habe, dass er in vielen meiner Google-Suchanfragen bezüglich der Bestellung einer Bibliographie in Latex auftaucht.

Ich biete eine ausführlichere Antwort auf diese Frage in der Hoffnung, dass es einigen Novizen da draußen helfen könnte, die die gleichen Schwierigkeiten haben wie ich. Hier

ist ein Beispiel für die Haupt .tex-Datei, in der die Bibliographie genannt:

\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" 
} 

Hinweis der Verweise in der .bib-Datei werden in umgekehrter Reihenfolge aufgelistet, aber die Verweise werden in der Reihenfolge aufgeführt, in der sie in der Veröffentlichung zitiert werden.

Mehr Informationen über die Formatierung Ihrer bib-Datei finden Sie hier: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management

0

I natbib mit bibliographystyle{apa} in Kombination verwendet werden. ZB:

\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} 
Verwandte Themen