Ist es möglich, die Reihenfolge der Referenzen anhand der Reihenfolge in der .bib
Datei zu sortieren?
Antwort1
Hier ist eine Lösung, die funktionieren sollte mitbeliebigBib-Datei, darunter eine, in der die Einträge in umgekehrter alphabetischer Reihenfolge sortiert wurden.
Fügen Sie zunächst die folgende Anweisung oben in die Bib-Datei ein:
@preamble{ "\newcommand{\noop}[1]{}" }
Auf den ersten Blick \noop
scheint die Anweisung sinnlos zu sein, da sie mit ihrem Argument nichts tut. Dies gilt zwar für dieLaTeX-Satzlaufen, es istnichtgilt für dieBibTeX-SortierungPhase. Tatsächlich ersetzt BibTeX während der Sortierphase seiner Aufgabe " " \noop{abc}
durch abc
und betrachtet es abc
als Teil des Materials, das alphabetisch sortiert werden muss.
Zweitens, vorausgesetzt, Sie haben weniger als 26*26=676 Einträge in der Bib-Datei, fügen Sie im \noop{aa}
Feld jedes einzelnen Eintrags unmittelbar (ohne Leerzeichen) vor dem Nachnamen des ersten Autors die Anweisungen , \noop{ab}
, ..., \noop{az}
, \noop{ba}
, , ... ein:\noop{bb}
author
@article{xyz,
author = "Dane \noop{aa}Miller and Jane Smith",
...
}
@book{123,
author = "Jill \noop{ab}Anderson and Bill Carlson",
...
}
...
@techreport{johnson:2012,
author = "\noop{ac}Johnson, Jimmy",
...
}
(Wenn Sie mehr als 676 Einträge haben, erweitern Sie einfach die Stringlänge des Arguments von \noop
entsprechend, z. B. auf aaaa
, aaab
, usw.)
Drittens: Verwenden Sie unbedingt eine Bibliographie-Datei, die die Bibliographieeinträge alphabetisch sortiert. Der Sinn der \noop
Anweisungen sollte nun klar sein:Sortierzwecke, die relevanten Nachnamen sind „aaMiller“, „abAnderson“ und „acJohnson“, und daher werden die drei Einträge in derselben Reihenfolge sortiert, in der sie in der Bib-Datei vorkommen (und nicht Anderson gefolgt von Johnson gefolgt von Miller). Später, wenn LaTeX seinen Schriftsatz durchführt, verwirft es die Präfixe aa
, ab
, usw. und die Namen werden korrekt gesetzt.
Antwort2
Eine Lösung von @egreg wurde in diesem Thread bereitgestellt:https://tex.stackexchange.com/a/56640/204235
\nocite{*}
kann am Anfang von Dokumenten vor etwaigen Zitaten hinzugefügt werden. Ihre Bibliografie wird in der Reihenfolge Ihres gedruckt .bib
und Sie können weiterhin Zitate hinzufügen, bei denen die Nummerierung aus Ihrem verwendet wird .bib
.