Bibliographie in umgekehrter Reihenfolge des Eingangs in .bib

Bibliographie in umgekehrter Reihenfolge des Eingangs in .bib

Wenn ich tippe:

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

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

Die gewünschte Reihenfolge ist

[1] BBB, Artikel 2, ...

[2] AAA, Artikel 1,.

Mit anderen Worten: Ich will das Gegenteil von dem, was \bibliographystyle{unsrt}ich bekomme. Jemand?

BEARBEITEN. Ich erweitere die Frage, indem ich weitere Informationen hinzufüge. Ich möchte Dateien aus publications.bib mithilfe des Multibib-Pakets importieren.

 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}

Antwort1

Sie können den Bibliographiestil verwenden plain. Die Schritte zur Zusammenstellung werden durch die Regeln von dargestellt 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}

Mit dem Ergebnis: Bildbeschreibung hier eingeben

Antwort2

Wenn die .bibDatei keine ungewöhnlichen Angaben enthält, das heißt, sie enthält nur @articleoder @bookEinträge (alle Arten von Einträgen werden unterstützt, aber nicht @STRINGoder @COMMENT), sollte Folgendes ausreichen.

Wir lesen die .bibDatei, erstellen eine Liste der Schlüssel in umgekehrter Reihenfolge und geben dann den entsprechenden \nociteBefehl ein.

\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}

Die filecontents*Umgebung dient lediglich dazu, das Beispiel in sich geschlossen zu machen.

Bildbeschreibung hier eingeben

Die Methode ist ähnlich der in verwendeten usebib.sty. Das @wird aktiviert und so definiert, dass es bis zur ersten Klammer liest; dann wird ein weiteres Makro aufgerufen, das den gesamten Eintrag aufnimmt und ein weiteres aufruft, das den Schlüssel isoliert und ihn links von einer Kommalistenvariablen hinzufügt. Nachdem die zu lesende Datei beendet wurde, \nocitewird ein Befehl mit dem (erweiterten) Inhalt der Clist als Argument ausgegeben.

verwandte Informationen