Bibliografía en orden inverso al de entrada en .bib

Bibliografía en orden inverso al de entrada en .bib

Cuando escribo:

@ARTICLE{article1,
  author  = {AAA}, 
  title = {New Method1},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article2,
  author  = {BBB}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}

el orden deseable es

[1] BBB, artículo 2,...

[2] AAA, Artículo 1,..

En otras palabras, quiero lo contrario de lo que \bibliographystyle{unsrt}me dan. ¿Alguien?

EDITAR. Amplié la pregunta agregando más información. Quiero importar archivos desde publicaciones.bib usando el paquete multibib.

 documentclass[11pt,a4paper,sans]{moderncv}
 \moderncvstyle{classic}                            
 \moderncvcolor{blue}                             

\makeatletter
\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
\makeatother
\renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}

% bibliography with mutiple entries
\usepackage{multibib}

\newcites{article}{{Articles}}

.
.
.

\section{Publications}

\nocitearticle{article1, article2}
\bibliographystylearticle{unsrt}
\bibliographyarticle{publications}  

\end{document}

Respuesta1

Puedes utilizar el estilo bibliografía plain. Los pasos de compilación se muestran según las reglas de arara.

% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{article1,
  author  = {AAA}, 
  title = {New Method1},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article2,
  author  = {BBB}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}
\end{filecontents}

\begin{document}
\cite{article2} and \cite{article1}
\bibliography{\jobname}
\bibliographystyle{plain}
\end{document}

Con el resultado: ingrese la descripción de la imagen aquí

Respuesta2

Si el .bibarchivo no tiene nada extraño, es decir, contiene solo entradas @articleo @book(se admiten todo tipo de entradas, pero no @STRINGo @COMMENT), lo siguiente debería ser suficiente.

Leemos el .bibarchivo creando una lista de claves en orden inverso y luego emitimos el \nocitecomando correspondiente.

\begin{filecontents*}{\jobname.bib}
@ARTICLE{article1,
  author  = {AAA}, 
  title = {New Method1},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article2,
  author  = {BBB}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article3,
  author  = {CCC}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article4,
  author  = {DDD}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}

@ARTICLE{article5,
  author  = {EEE}, 
  title = {New Method2},
  year    ={2013},
  journal = {SuperJournal},
}
\end{filecontents*}

\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\readbib}{ m }
 {
  \makaroni_readbib:n { #1 }
 }
\clist_new:N \g_makaroni_keys_clist

\group_begin:
\char_set_catcode_active:n { `\^^A }
\cs_new_protected:Npn \makaroni_readbib:n #1
 {
  \group_begin:
  \char_set_catcode_active:n { `\@ }
  \group_begin:
  \char_set_lccode:nn { `\^^A } { `\@ }
  \tl_to_lowercase:n
   {
    \group_end:
    \cs_set_eq:NN ^^A \__makaroni_active_at:w
   }
  \input{#1.bib}
  \group_end:
  \exp_args:Nx \nocite { \g_makaroni_keys_clist }
 }
\group_end:

\cs_new_protected:Npn \__makaroni_active_at:w #1#
 {
  \__makaroni_process_entry:n
 }
\cs_new_protected:Npn \__makaroni_process_entry:n #1
 {
  \__makaroni_add_key:w #1 \q_stop
 }
\cs_new_protected:Npn \__makaroni_add_key:w #1 , #2 \q_stop
 {
  \clist_gput_left:Nn \g_makaroni_keys_clist { #1 }
 }
\ExplSyntaxOff

\begin{document}

\readbib{\jobname}

\bibliographystyle{unsrt}
\bibliography{\jobname}

\end{document}

El filecontents*entorno es sólo para que el ejemplo sea autónomo.

ingrese la descripción de la imagen aquí

El método es similar al empleado en usebib.sty. El @se activa y se define para leer hasta la primera llave; luego se llama a otra macro que absorbe toda la entrada y llama a otra que aísla la clave, agregándola a la izquierda de una variable de lista de comas. Luego, después de finalizar la lectura del archivo, \nocitese emite un comando con el contenido de la lista (expandido) como argumento.

información relacionada