![Bibliographie in umgekehrter Reihenfolge des Eingangs in .bib](https://rvso.com/image/266401/Bibliographie%20in%20umgekehrter%20Reihenfolge%20des%20Eingangs%20in%20.bib.png)
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:
Antwort2
Wenn die .bib
Datei keine ungewöhnlichen Angaben enthält, das heißt, sie enthält nur @article
oder @book
Einträge (alle Arten von Einträgen werden unterstützt, aber nicht @STRING
oder @COMMENT
), sollte Folgendes ausreichen.
Wir lesen die .bib
Datei, erstellen eine Liste der Schlüssel in umgekehrter Reihenfolge und geben dann den entsprechenden \nocite
Befehl 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.
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, \nocite
wird ein Befehl mit dem (erweiterten) Inhalt der Clist als Argument ausgegeben.