Tenho muitos artigos escritos por Lionel Ho e colegas de trabalho. Eu uso natbib
pacote e plainnat
estilo. Quando compilo, a bibliografia não é ordenada pelo sobrenome do segundo autor. Como posso resolver isso?
\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}
O resultado:
Eu tentei apagar a sort
opção
\usepackage[comma,authoryear,round]{natbib}
Mas o resultado é o mesmo
Responder1
Uma solução rápida para o seu problema pode seguir as linhas do código a seguir:
% 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...
A \noopsort
macro não faz nada, no que diz respeito ao LaTeX, mas desempenha um papel durante as operações do BibTeX. Basicamente, o BibTeX “vê” 3 entradas, com campos de ano fornecidos por “a2007”, “b2008” e “c2012”; adivinhe como eles são classificados. As partículas "a", "b" e "c" "desaparecem" durante o processamento subsequente pelo LaTeX.
Uma correção mais completa, para garantir que a classificação seja realizada automaticamente de acordo com os sobrenomes de todos os autores, envolve a modificação (uma cópia) do arquivo plainnat.bst
. Sugiro que você proceda da seguinte forma:
Encontre os arquivos
plainnat.bst
echicago.bst
em sua distribuição TeX. (Por quechicago.bst
, você pode perguntar? É porque é um estilo babador que realiza a classificação com base nos sobrenomes de todos os autores.) Faça uma cópiaplainnat.bst
e chame a cópia, digamosplainnat-mod.bst
.Não edite diretamente um arquivo original da distribuição TeX.Abra os arquivos
plainnat-mod.bst
echicago.bst
em um editor de texto. O programa que você usa para editar seus arquivos tex funcionará bem.Nos arquivos
plainnat-mod.bst
echicago.bst
, localize a função chamadasort.format.names
. (Nas minhas cópias desses arquivos, a função começa na linha 1207 e na linha 1407, respectivamente.)No arquivo
plainnat-mod.bst
, exclua todas as 29 linhas (1207 a 1235) da funçãosort.format.names
. Copie e cole todas as 21 linhas (1407 a 1427) da funçãosort.format.names
nochicago.bst
localplainnat-mod.bst
onde você acabou de excluir um monte de linhas.Feche o arquivo
chicago.bst
, salve e feche o arquivoplainnat-mod.bst
. Salve o último arquivo no diretório onde seu arquivo tex principal está localizado ou em um diretório pesquisado pelo BibTeX. Se você escolher a última opção, certifique-se de atualizar o banco de dados de nomes de arquivos da sua distribuição TeX adequadamente.No seu arquivo tex principal, altere a instrução
\bibliographystyle{plainnat-mod}
para\bibliographystyle{plainnat}
. Em seguida, execute um ciclo completo de recompilação (látex, bibtex e látex mais duas vezes) para propagar totalmente todas as alterações.
Feliz BibTeXing!