Tengo muchos artículos escritos por Lionel Ho y compañeros de trabajo. Yo uso natbib
paquete y plainnat
estilo. Cuando compilo, la bibliografía no está ordenada por el apellido del segundo autor. ¿Cómo puedo resolverlo?
\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}
El resultado:
Intenté borrar la sort
opción.
\usepackage[comma,authoryear,round]{natbib}
Pero el resultado es el mismo
Respuesta1
Una solución rápida a su problema podría ser similar al siguiente código:
% 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...
La \noopsort
macro no hace nada en lo que respecta a LaTeX, pero desempeña un papel durante las operaciones de BibTeX. Básicamente, BibTeX "ve" 3 entradas, con campos de año proporcionados por "a2007", "b2008" y "c2012"; adivina cómo se clasifican. Las partículas "a", "b" y "c" "desaparecen" durante el procesamiento posterior por parte de LaTeX.
Una solución más completa, para garantizar que la clasificación se realice automáticamente según los apellidos de todos los autores, implica modificar (una copia del) archivo plainnat.bst
. Te sugiero proceder de la siguiente manera:
Busque los archivos
plainnat.bst
ychicago.bst
en su distribución TeX. (¿Por quéchicago.bst
, podrías preguntar? Es porque es un estilo babero que realiza una clasificación basada en los apellidos de todos los autores). Haga una copiaplainnat.bst
y llame a la copia, por ejemploplainnat-mod.bst
.No edite un archivo original de la distribución TeX directamente.Abra los archivos
plainnat-mod.bst
ychicago.bst
en un editor de texto. El programa que utilices para editar tus archivos tex funcionará bien.En los archivos
plainnat-mod.bst
ychicago.bst
, localice la función llamadasort.format.names
. (En mis copias de estos archivos, la función comienza en la línea 1207 y la línea 1407, respectivamente).En el archivo
plainnat-mod.bst
, elimine las 29 líneas (1207 a 1235) de la funciónsort.format.names
. Copie y pegue las 21 líneas (1407 a 1427) de la funciónsort.format.names
enchicago.bst
el lugarplainnat-mod.bst
donde acaba de eliminar un montón de líneas.Cierre el archivo
chicago.bst
, guárdelo y ciérreloplainnat-mod.bst
. Guarde el último archivo en el directorio donde se encuentra su archivo tex principal o en un directorio buscado por BibTeX. Si elige la última opción, asegúrese de actualizar adecuadamente la base de datos de nombres de archivos de su distribución TeX.En su archivo tex principal, cambie la instrucción
\bibliographystyle{plainnat-mod}
a\bibliographystyle{plainnat}
. Luego, realice un ciclo de recompilación completo (latex, bibtex y latex dos veces más) para propagar completamente todos los cambios.
¡Feliz BibTeXing!