
Я пытаюсь отсортировать библиографию для класса Springer svmono с использованием стиля spbasic. Springer рекомендует chapterbib для библиографии по главам. Мне нужно отсортировать ссылки в порядке их появления.
Другие ответы предлагают редактировать файл стиля spbasic. Я сделал это, но это тоже не работает. Фактически, вы можете использовать unsrtnat вместо spbasic в следующем примере и все равно получить отсортированные по алфавиту ссылки.
Вот минимальный рабочий пример (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}