
Estoy usando natbib
paquete y plainnat
estilo para mis citas y referencias. Desafortunadamente, cuando cito diferentes artículos del mismo autor, pero con diferentes coautores, la bibliografía se ordena por clave.
Por ejemplo:
La clave para Ho, Meyn es Ho2006
, para Ho, Lambling es Ho2011
, y para Ho, Dreyfus es Ho2012
. Ciertamente, LaTeX está considerando las claves antes del apellido del segundo autor.
¿¿¿Cómo puedo resolverlo???
Respuesta1
Como se mencionó en los comentarios anteriores de su publicación original, el MWE es necesario para que otros descubran qué está tratando de lograr y cómo está tratando de lograrlo. Sin eso, no puedo estar seguro de responder a su pregunta, pero aun así proporcionaré aquí información que puede resultarle útil.
Las entradas en su captura de pantalla parecen ser del article
tipo. Si esto es cierto, natbib
ordenará plainnat
estos artículos de la siguiente manera. Nota: Estoy usando la versión 2007 de plainnat.bst
, que es la última a partir de esta publicación en 2022.
La
presort
función (que comienza en la línea #1313) aplica laauthor.sort
regla (en la línea #1326).La
author.sort
función (que comienza en la línea #1248) primero prueba si elauthor
campo está vacío. Como el tuyo no lo es, la función pasa tuauthor
campo a lasort.format.names
función.Pegué una copia de la
sort.format.names
función (comenzando en la línea #1207) a continuación para ayudar con esta explicación. Según el ejemplo anterior, parece que sus entradas tienen 6, 4 o 7 autores, respectivamente, considerando el punto y coma como delimitadores y un punto para finalizar elauthor
bloque. El código aquí parece funcionar como se muestra en la captura de pantalla, ordenado por primer autor y luego por año para cada una de sus entradas. Notarás la función referente alyear
campo, que entra en juego:a. Después de ordenar por primer autor Y
b. Hay más autores para ir además de "otros" Y
C. Hay más de dos autores en total Y
d. La función está en el segundo autor (segunda vez a través del
while
bucle)mi. ENTONCES, ordene por año.
Tenga en cuenta que el idioma del archivo BST implementa una notación de sufijo.
FUNCTION {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{
s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
nameptr #1 >
{
" " *
namesleft #1 = t "others" = and
{ "zzzzz" * }
{ numnames #2 > nameptr #2 = and
{ "zz" * year field.or.null * " " * }
'skip$
if$
t sortify *
}
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
No obstante, hay una respuesta a una publicación de TeX Stack Exchange.aquíque describe cómo personalizar el plainnat.bst
archivo para abordar la clasificación sin autor.