Ordene la bibliografía alfabéticamente cuando el primer autor sea el mismo usando el estilo de bibliografía simple

Ordene la bibliografía alfabéticamente cuando el primer autor sea el mismo usando el estilo de bibliografía simple

Tengo muchos artículos escritos por Lionel Ho y compañeros de trabajo. Yo uso natbibpaquete y plainnatestilo. 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:

ingrese la descripción de la imagen aquí

Intenté borrar la sortopció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 \noopsortmacro 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.bsty chicago.bsten 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 copia plainnat.bsty llame a la copia, por ejemplo plainnat-mod.bst.No edite un archivo original de la distribución TeX directamente.

  • Abra los archivos plainnat-mod.bsty chicago.bsten un editor de texto. El programa que utilices para editar tus archivos tex funcionará bien.

  • En los archivos plainnat-mod.bsty chicago.bst, localice la función llamada sort.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ón sort.format.names. Copie y pegue las 21 líneas (1407 a 1427) de la función sort.format.namesen chicago.bstel lugar plainnat-mod.bstdonde acaba de eliminar un montón de líneas.

  • Cierre el archivo chicago.bst, guárdelo y ciérrelo plainnat-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!

información relacionada