Lionel Ho と同僚が書いた記事がたくさんあります。natbib
パッケージとplainnat
スタイルを使用しています。コンパイルすると、参考文献が第 2 著者の姓でソートされません。どうすれば解決できますか?
\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}
結果:
sort
オプションを消してみた
\usepackage[comma,authoryear,round]{natbib}
しかし結果は同じだ
答え1
問題を簡単に修正するには、次のコードを実行する必要があります。
% 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...
この\noopsort
マクロは、LaTeX に関しては何もしませんが、BibTeX の操作中に役割を果たします。基本的に、BibTeX は、年フィールドが「a2007」、「b2008」、および「c2012」である 3 つのエントリを「認識」します。これらがどのようにソートされるか想像してみてください。「a」、「b」、および「c」の粒子は、LaTeX による後続の処理中に「消えます」。
より徹底的な修正として、すべての著者の姓に従って自動的にソートが実行されるようにするには、ファイル (のコピー) を変更しますplainnat.bst
。次の手順を実行することをお勧めします。
TeX ディストリビューションでファイル
plainnat.bst
と を見つけます。(なぜ なのかと疑問に思うかもしれません。これは、すべての著者の姓に基づいてソートを実行する bib スタイルだからです。) のコピーを作成し、そのコピーを と呼びます。chicago.bst
chicago.bst
plainnat.bst
plainnat-mod.bst
TeX ディストリビューションのオリジナルファイルを直接編集しないでください。ファイルをテキスト エディターで開きます
plainnat-mod.bst
。Texchicago.bst
ファイルの編集に使用するプログラムで問題ありません。ファイルと で
plainnat-mod.bst
、chicago.bst
という関数を見つけますsort.format.names
。(これらのファイルの私のコピーでは、関数はそれぞれ 1207 行目と 1407 行目から始まります。)ファイル で
plainnat-mod.bst
、関数 の 29 行すべて (1207 行目から 1235 行目まで) を削除しますsort.format.names
。 の関数 から 21 行すべて (1407 行目から 1427 行目まで) をコピーして、で行を削除した場所に貼り付けsort.format.names
ます。chicago.bst
plainnat-mod.bst
ファイルを閉じ
chicago.bst
、ファイルを保存して閉じますplainnat-mod.bst
。後者のファイルは、メインの tex ファイルがあるディレクトリか、BibTeX によって検索されるディレクトリに保存します。後者のオプションを選択する場合は、TeX ディストリビューションのファイル名データベースを適切に更新してください。メインの tex ファイルで、命令
\bibliographystyle{plainnat-mod}
を に変更します\bibliographystyle{plainnat}
。次に、完全な再コンパイル サイクル (latex、bibtex、latex をさらに 2 回) を実行して、すべての変更を完全に伝播します。
BibTeXを楽しんでください!