chapterbib 出現順に並べ替える

chapterbib 出現順に並べ替える

私は spbasic スタイルを使用して Springer svmono クラスの参考文献を並べ替えようとしています。Springer は章ごとの参考文献に chapterbib を推奨しています。参考文献を出現順に並べ替える必要があります。

他の回答では、spbasic スタイル ファイルを編集することを提案しています。私はそれを実行しましたが、それでもうまくいきませんでした。実際、次の例では、spbasic の代わりに unsrtnat を使用しても、アルファベット順にソートされた参照を取得できます。

以下に最小限の動作例を示します (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}

これをWindowsでコンパイルすると、

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

私は

ある人は次のように主張している(例えば、[3]、[2]、[1]を参照)。

第1章で期待しているのは

ある人は次のように主張している(例えば、[1]、[2]、[3]を参照)。

代わりに、参照を出現順に並べ替えるにはどうすればよいですか?

次のコードは期待どおりに動作するため、spbasic への変更が正しいと確信しています (上記と同じ ref.bib)。

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

つまり、私の spbasic-unsrt.bst は、参考文献がグローバルである限り、参照をその出現順に並べ替えます。章ごとの参考文献を取得するために bibtopic と chapterbib を追加するとすぐに、並べ替えはアルファベット順に戻ります。

これを修正するアイデアはありますか?

答え1

わかりました。bibtopic パッケージは、ソートされていない参考文献をサポートしていません。また、章ごとの参考文献を取得するのに bibtopic は必要ありません。Chapterbib は問題なく動作します。次のコードは、期待どおりの動作をします。

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

関連情報