Ich habe viele Artikel von Lionel Ho und seinen Kollegen. Ich verwende natbib
Paket und plainnat
Stil. Beim Kompilieren wird die Bibliographie nicht nach dem Nachnamen des zweiten Autors sortiert. Wie kann ich das lösen?
\documentclass[10pt,a4paper]{article}
\usepackage[top=1cm,bottom=1cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[comma,authoryear,round,sort]{natbib}
\bibliographystyle{plainnat}
\setcitestyle{citesep={;},yysep={;}}
\begin{filecontents*}{\jobname.bib}
@Article{Ho2012,
author = {Ho, Lionel and Dreyfus, J. and Boyer, J. and Lowe, T. and Bustamante, H. and Duker, P. and Meli, T. and Newcombe, G.},
title = {Fate of...},
year = {2012},
}
@Article{Ho2007,
author = {Ho, Lionel and Hoefel, D. and Saint, C. P. and Newcombe, Gayle},
title = {Isolation...},
year = {2007},}
@Article{Ho2008,
author = {Ho, Lionel and Slyman, Najwa and Kaeding, Uwe and Newcombe, Gayle},
title = {Optimizing...},
year = {2008},}
\end{filecontents*}
\begin{document}
\citep{Ho2012,Ho2007,Ho2008}
\bibliography{\jobname}
\end{document}
Das Ergebnis:
Ich habe versucht, die sort
Option zu löschen
\usepackage[comma,authoryear,round]{natbib}
aber das Ergebnis ist das gleiche
Antwort1
Eine schnelle Lösung für Ihr Problem könnte in etwa dem folgenden Code entsprechen:
% start of bib file
@preamble{ " \providecommand{\noopsort[1]{}} " }
@Article{Ho2012,
author = {Ho, Lionel and Dreyfus, J. and Boyer, J. and Lowe, T. and Bustamante, H. and Duker, P. and Meli, T. and Newcombe, G.},
title = {Fate of...},
year = {\noopsort{c}2012},}
@Article{Ho2007,
author = {Ho, Lionel and Hoefel, D. and Saint, C. P. and Newcombe, Gayle},
title = {Isolation...},
year = {\noopsort{a}2007},}
@Article{Ho2008,
author = {Ho, Lionel and Slyman, Najwa and Kaeding, Uwe and Newcombe, Gayle},
title = {Optimizing...},
year = {\noopsort{b}2008},}
% bib file continues...
Das \noopsort
Makro tut nichts, soweit es LaTeX betrifft, aber es spielt eine Rolle bei den Operationen von BibTeX. Im Grunde „sieht“ BibTeX 3 Einträge, wobei die Jahresfelder „a2007“, „b2008“ und „c2012“ sind. Raten Sie mal, wie sie sortiert werden. Die Partikel „a“, „b“ und „c“ „verschwinden“ bei der nachfolgenden Verarbeitung durch LaTeX.
Eine gründlichere Lösung, um sicherzustellen, dass die Sortierung automatisch nach den Nachnamen aller Autoren erfolgt, besteht in der Änderung (einer Kopie) der Datei plainnat.bst
. Ich schlage vor, Sie gehen folgendermaßen vor:
Suchen Sie die Dateien
plainnat.bst
undchicago.bst
in Ihrer TeX-Distribution. (Warumchicago.bst
, fragen Sie sich vielleicht? Weil es sich um einen Bib-Stil handelt, der zufällig die Sortierung auf Grundlage der Nachnamen aller Autoren durchführt.) Erstellen Sie eine Kopie vonplainnat.bst
und rufen Sie die Kopie beispielsweise aufplainnat-mod.bst
.Bearbeiten Sie eine Originaldatei der TeX-Distribution nicht direkt.Öffnen Sie die Dateien
plainnat-mod.bst
inchicago.bst
einem Texteditor. Das Programm, das Sie zum Bearbeiten Ihrer Tex-Dateien verwenden, ist dafür geeignet.Suchen Sie in den Dateien
plainnat-mod.bst
undchicago.bst
nach der Funktion namenssort.format.names
. (In meinen Kopien dieser Dateien beginnt die Funktion jeweils in Zeile 1207 und Zeile 1407.)Löschen Sie in der Datei
plainnat-mod.bst
alle 29 Zeilen (1207 bis 1235) der Funktionsort.format.names
. Kopieren Sie alle 21 Zeilen (1407 bis 1427) der Funktion und fügen Sie siesort.format.names
anchicago.bst
der Stelle ein, anplainnat-mod.bst
der Sie gerade einige Zeilen gelöscht haben.Schließen Sie die Datei
chicago.bst
, und speichern und schließen Sie die Dateiplainnat-mod.bst
. Speichern Sie die letztere Datei entweder in dem Verzeichnis, in dem sich Ihre Haupt-Tex-Datei befindet, oder in einem Verzeichnis, das von BibTeX durchsucht wird. Wenn Sie die letztere Option wählen, aktualisieren Sie unbedingt die Dateinamendatenbank Ihrer TeX-Distribution entsprechend.Ändern Sie in Ihrer Haupt-Tex-Datei die Anweisung
\bibliographystyle{plainnat-mod}
in\bibliographystyle{plainnat}
. Führen Sie dann einen vollständigen Neukompilierungszyklus durch (Latex, Bibtex und noch zweimal Latex), um alle Änderungen vollständig zu propagieren.
Viel Spaß beim BibTeXen!