
Ich versuche, die Bibliographie für die Springer-SVmono-Klasse im SPBasic-Stil zu sortieren. Springer empfiehlt für eine kapitelweise Bibliographie „ChapterBib“. Ich muss die Referenzen in der Reihenfolge ihres Auftretens sortieren.
In den anderen Antworten wird vorgeschlagen, die spbasic-Style-Datei zu bearbeiten. Das habe ich getan, aber das funktioniert auch nicht. Tatsächlich können Sie im folgenden Beispiel unsrtnat anstelle von spbasic verwenden und erhalten trotzdem alphabetisch sortierte Referenzen.
Hier ist ein minimal funktionierendes Beispiel (test.tex):
\documentclass[english,graybox,envcountchap,sectrefs]{svmono}
\usepackage{filecontents}
\begin{filecontents}{ref.bib}
@Article{Schauer2005,
author = {T. Schauer and N. O. Neg{\aa}rd and F. Previdi and K. J. Hunt and M. H. Fraser and E. Ferchland and J. Raisch},
title = {Online identification and nonlinear control of the electrically stimulated quadriceps muscle},
journal = {Control Eng. Pract.},
year = {2005},
volume = {13},
number = {9},
pages = {1207--1219},
month = sep,
timestamp = {2017-07-12},
}
@Article{Seel.Werner.ea2016,
author = {Thomas Seel and Cordula Wener and J{\"{o}}rg Raisch and Thomas Schauer},
title = {Iterative Learning Control of a Drop Foot Neuroprosthesis - Generating Physiological Foot Motion in Paretic Gait by Automatic Feedback Control},
journal = {Control Eng. Pract.},
year = {2016},
volume = {48},
pages = {87--97},
month = mar,
timestamp = {2017-07-12},
}
@Article{Wang.Saberi.ea2013,
Title = {Consensus in the network with uniform constant communication delay},
Author = {Xu Wang and Ali Saberi and Anton A. Stoorvogel and H{\r{a}}vard Fj{\ae}r Grip and Tao Yang},
Journal = {Automatica},
Year = {2013},
Pages = {2461--2467},
Volume = {49},
Timestamp = {2014.08.25}
}
\end{filecontents}
\begin{filecontents}{Chapter1.tex}
\chapter{Chapter1}
Some claim (see, e.g., \cite{Wang.Saberi.ea2013}, \cite{Seel.Werner.ea2016}, and \cite{Schauer2005})
\begin{btSect}[spbasic]{ref}
\btPrintCited
\end{btSect}
\end{filecontents}
\begin{filecontents}{Chapter2.tex}
\chapter{Chapter2}
Some claim (see, e.g., \cite{Seel.Werner.ea2016,Schauer2005,Wang.Saberi.ea2013})
\begin{btSect}[spbasic]{ref}
\btPrintCited
\end{btSect}
\end{filecontents}
\usepackage[numbers,sort&compress,sectionbib]{natbib}
\usepackage[dot]{bibtopic}
\usepackage{chapterbib}
\begin{document}
\author{Author name(s)}
\title{Book title}
\maketitle
\include{Chapter1}
\include{Chapter2}
\end{document}
Wenn ich dies unter Windows kompiliere, d. h.
pdflatex test
bibtex test.1
bibtex test.2
pdflatex test
pdflatex test
Ich bekomme
Einige behaupten (siehe beispielsweise [3], [2] und [1]),
in Kapitel 1. Ich erwarte
Einige behaupten (siehe beispielsweise [1], [2] und [3]),
stattdessen. Wie erreiche ich, dass die Referenzen in der Reihenfolge ihres Auftretens sortiert werden?
Ich bin überzeugt, dass meine Änderungen an spbasic richtig sind, da der folgende Code wie erwartet funktioniert (dasselbe ref.bib wie oben):
\begin{filecontents}{Chapter1.tex}
\chapter{Chapter1}
Some claim (see, e.g., \cite{Wang.Saberi.ea2013}, \cite{Seel.Werner.ea2016}, and \cite{Schauer2005})
\end{filecontents}
\begin{filecontents}{Chapter2.tex}
\chapter{Chapter2}
Some claim (see, e.g., \cite{Seel.Werner.ea2016,Schauer2005,Wang.Saberi.ea2013})
\end{filecontents}
\usepackage[numbers,sort&compress,sectionbib]{natbib}
\begin{document}
\author{Author name(s)}
\title{Book title}
\maketitle
\include{Chapter1}
\include{Chapter2}
\bibliographystyle{spbasic-unsrt}
\bibliography{ref}
\end{document}
Das heißt, mein spbasic-unsrt.bst sortiert die Referenzen in der Reihenfolge ihres Auftretens, solange die Bibliographie global ist. Sobald ich bibtopic und chapterbib hinzufüge, um eine kapitelweise Bibliographie zu erhalten, wird die Sortierung wieder auf alphabetisch zurückgesetzt.
Irgendwelche Ideen, um das zu beheben?
Antwort1
OK, ich habe es herausgefunden. Das Bibtopic-Paket unterstützt keine unsortierte Bibliographie. Außerdem wird Bibtopic nicht benötigt, um eine kapitelweise Bibliographie zu erhalten. Chapterbib funktioniert einwandfrei. Der folgende Code führt zum erwarteten Verhalten:
\documentclass[english,graybox,envcountchap,sectrefs]{svmono}
\usepackage{filecontents}
\begin{filecontents}{ref.bib}
@Article{Schauer2005,
author = {T. Schauer and N. O. Neg{\aa}rd and F. Previdi and K. J. Hunt and M. H. Fraser and E. Ferchland and J. Raisch},
title = {Online identification and nonlinear control of the electrically stimulated quadriceps muscle},
journal = {Control Eng. Pract.},
year = {2005},
volume = {13},
number = {9},
pages = {1207--1219},
month = sep,
timestamp = {2017-07-12},
}
@Article{Seel.Werner.ea2016,
author = {Thomas Seel and Cordula Wener and J{\"{o}}rg Raisch and Thomas Schauer},
title = {Iterative Learning Control of a Drop Foot Neuroprosthesis - Generating Physiological Foot Motion in Paretic Gait by Automatic Feedback Control},
journal = {Control Eng. Pract.},
year = {2016},
volume = {48},
pages = {87--97},
month = mar,
timestamp = {2017-07-12},
}
@Article{Wang.Saberi.ea2013,
Title = {Consensus in the network with uniform constant communication delay},
Author = {Xu Wang and Ali Saberi and Anton A. Stoorvogel and H{\r{a}}vard Fj{\ae}r Grip and Tao Yang},
Journal = {Automatica},
Year = {2013},
Pages = {2461--2467},
Volume = {49},
Timestamp = {2014.08.25}
}
\end{filecontents}
\begin{filecontents}{Chapter1.tex}
\chapter{Chapter1}
Some claim (see, e.g., \cite{Wang.Saberi.ea2013}, \cite{Seel.Werner.ea2016}, and \cite{Schauer2005})
\bibliographystyle{unsrtnat}
\bibliography{ref}
\end{filecontents}
\begin{filecontents}{Chapter2.tex}
\chapter{Chapter2}
Some claim (see, e.g., \cite{Seel.Werner.ea2016,Schauer2005,Wang.Saberi.ea2013})
\bibliographystyle{unsrtnat}
\bibliography{ref}
\end{filecontents}
\usepackage[numbers,sort&compress,sectionbib]{natbib}
\usepackage{chapterbib}
\begin{document}
\author{Author name(s)}
\title{Book title}
\maketitle
\include{Chapter1}
\include{Chapter2}
\end{document}