Pregunta

Por defecto (utilizando el estilo plain ) BibTeX ordena las citas alfabéticamente.

¿Cómo ordenar las citas por orden de aparición en el documento?

¿Fue útil?

Solución

Hay tres buenas respuestas a esta pregunta.

  • Utilice el estilo de bibliografía unsrt , si está satisfecho con su formato, de lo contrario,
  • Utilice makebst ( enlace) herramienta para diseñar su propio estilo de bibliografía

Y mi recomendación personal:

  • Utilice el paquete biblatex ( enlace) . Es la herramienta de bibliografía más completa y flexible del mundo LaTeX.

Usando biblatex , escribirías algo como

\documentclass[12pt]{article}
\usepackage[sorting=none]{biblatex}
\bibliography{journals,phd-references} % Where journals.bib and phd-references.bib are BibTeX databases
\begin{document}
\cite{robertson2007}
\cite{earnshaw1842}
\printbibliography
\end{document}

Otros consejos

Cambiar

\bibliographystyle{plain}

a

\bibliographystyle{ieeetr}

Luego reconstrúyalo varias veces para reemplazar los archivos .aux y .bbl que se crearon cuando usó el estilo simple.

O simplemente elimine los archivos .aux y .bbl y reconstrúyalos.

Si usas MiKTeX, no deberías necesitar descargar nada extra.

Solo una breve nota: estoy usando una versión modificada de plain.bst sentado en el directorio con mis archivos de Latex; Resulta que tener una clasificación por orden de aparición es un cambio relativamente fácil; solo encuentra el código:

...
ITERATE {presort}

SORT
...

... y coméntalo: lo cambié a:

...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...

... y luego, después de ejecutar bibtex , pdflatex , pdflatex , las citas se ordenarán por orden de aparición (es decir, , serán sin clasificar :)).

¡Salud!

EDIT: me di cuenta de que lo que escribí está en realidad en el comentario de @ChrisN: " puede editarlo para eliminar el comando SORT " ;)

Lo mejor que se me ocurrió es usar el estilo unsrt , que parece ser un estilo simple modificado. es decir,

\bibliographystyle{unsrt}
\bibliography{bibliography}

Sin embargo, ¿qué pasa si mi estilo no es el predeterminado?

Ha respondido a su propia pregunta --- unsrt se utilizará cuando desee que las referencias se enumeren en el orden de aparición.

Pero también puede querer echar un vistazo a natbib , un paquete de citas extremadamente flexible. No puedo imaginar vivir sin él.

Soy un poco nuevo en Bibtex (y en Latex en general) y me gustaría revivir este viejo post ya que descubrí que surgió en muchas de mis consultas de búsqueda de Google sobre el orden de una bibliografía en Latex.

Le ofrezco una respuesta más detallada a esta pregunta con la esperanza de que pueda ayudar a algunos novatos que enfrentan las mismas dificultades que yo.

Este es un ejemplo del archivo principal .tex en el que se llama la bibliografía:

\documentclass{article}
\begin{document}

So basically this is where the body of your document goes.

``FreeBSD is easy to install,'' said no one ever \cite{drugtrafficker88}.

``Yeah well at least I've got chicken,'' said Leeroy Jenkins \cite{goodenough04}.

\newpage
\bibliographystyle{ieeetr} % Use ieeetr to list refs in the order they're cited
\bibliography{references} % Or whatever your .bib file is called
\end{document}

... y un ejemplo del propio archivo .bib:

@ARTICLE{ goodenough04,
AUTHOR    = "G. D. Goodenough and others", 
TITLE     = "What it's like to have a sick-nasty last name",
JOURNAL   = "IEEE Trans. Geosci. Rem. Sens.",
YEAR      = "xxxx",
volume    = "xx",
number    = "xx",
pages     = "xx--xx"
}
@BOOK{ drugtrafficker88,
AUTHOR    = "G. Drugtrafficker", 
TITLE     = "What it's Like to Have a Misleading Last Name",
YEAR      = "xxxx",
PUBLISHER = "Harcourt Brace Jovanovich, Inc."
ADDRESS   = "The Florida Alps, FL, USA"
}

Tenga en cuenta que las referencias en el archivo .bib se enumeran en orden inverso, pero las referencias se enumeran en el orden en que se citan en el documento.

Puede encontrar más información sobre el formato de su archivo .bib aquí: http: // es .wikibooks.org / wiki / LaTeX / Bibliography_Management

A menudo utilizo el estilo de bibliografía natbib porque nos proporciona un conjunto de formatos y etiquetas bastante completo para nosotros.

con unsrt el problema es el formato. use \ bibliographystyle {ieeetr} para obtener referencias en el orden de citas en el documento.

El paquete datatool ofrece una buena manera de clasificar la bibliografía por un criterio arbitrario, al convertirla primero en algún formato de base de datos.

Ejemplo corto, tomado desde aquí y publicado para el registro:

\documentclass{article}

\usepackage{databib}

\begin{document}
% First argument is the name of new datatool database
% Second argument is list of .bib files
\DTLloadbbl{mybibdata}{acmtr}
% Sort database in order of year starting from most recent
\DTLsort{Year=descending}{mybibdata}
% Add citations
\nocite{*}

% Display bibliography
\DTLbibliography{mybibdata}
\end{document}

Si estás usando amsrefs , se anularán todos los anteriores, así que comenta:

\usepackage{amsrefs}

Uso natbib en combinación con bibliographystyle {apa} . Por ejemplo:

\begin{document}

The body of the document goes here...

\newpage

\bibliography{bibliography} % Or whatever you decided to call your .bib file 

\usepackage[round, comma, sort&compress ]{natbib} 

bibliographystyle{apa}
\end{document}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top