2

I am trying to sort bibliography for the Springer svmono class using the spbasic style. Springer recommends chapterbib for chapterwise bibliography. I need to sort the references in the order of their appearance.

The other answers suggest editing the spbasic style file. I did that, but that does not work either. In fact, you can use unsrtnat instead of spbasic in the following example and still get alphabetically sorted references.

Here is a minimal working example (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}

When I compile this on windows, i.e.,

pdflatex test
bibtex test.1
bibtex test.2
pdflatex test
pdflatex test

I get

Some claim (see, e.g., [3], [2], and [1])

in Chapter 1. I am expecting

Some claim (see, e.g., [1], [2], and [3])

instead. How do I get the references to sort in the order of appearance?

I am convinced that my modifications to spbasic are correct because the following code works as expected (same ref.bib as above):

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

That is, my spbasic-unsrt.bst sorts the references in the order of their appearance as long as the bibliography is global. As soon as I add bibtopic and chapterbib to get chapterwise bibliography, the sorting reverts back to alphabetical.

Any ideas to fix this?

2

OK, I figured it out. The bibtopic package does not support unsorted bibliography. Also, bibtopic is not needed to get chapterwise bibliography. Chapterbib works just fine. The following code yields expected behavior:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.