
Vor einiger Zeit habe ich den folgenden Code aus dem Internet kopiert und eingefügt, um Veröffentlichungen zu kategorisieren.
Nun stelle ich fest, dass die Publikationsreihenfolge nicht mit der Reihenfolge übereinstimmt, die ich im Literaturverzeichnis definiere. Welchen Befehl muss ich dem \renewenvironment{thebibliography}
Block hinzufügen, damit meine Reihenfolge unsortiert ist? Das einfache Setzen des Bibliografiestils funktioniert mit diesem angepassten Code nicht.
Ich habe es versucht \renewcommand{\bibliographystyle}{\unsrt}
, aber ich bin schlecht in LaTeX und weiß nicht, was ich eigentlich tue.
Ich verwende multibib
und moderncv
Overleaf.
Hier ist mein Code:
\makeatletter\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}\makeatother
\makeatletter
\renewenvironment{thebibliography}[1]%
{%
\subsection{\refname}%
\small%
\begin{list}{\bibliographyitemlabel}%
{%
\setlength{\topsep}{0pt}%
\setlength{\labelwidth}{\hintscolumnwidth}%
\setlength{\labelsep}{\separatorcolumnwidth}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy\clubpenalty4000\widowpenalty4000%
}%
{%
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
\end{list}%
}
\makeatother
\usepackage{multibib}
\newcites{journal,preprint,bthesis}{{Journals},{Technical Reports \& Pre-prints},{Bachelor Thesis}}
Antwort1
Sie haben uns kein kompilierbares MWE gezeigt, also habe ich einfach ein kürzeres Vorlagenbeispiel verwendet, das Sie mit Klasse moderncv
, Version 2.0.0, der aktuellen Version, finden können. Wenn Sie eine ältere verwenden, empfehle ich Ihnen, sie zu aktualisieren! Oder teilen Sie uns in Ihrer Frage mit, welche Version Sie verwenden. Sie haben uns auch nicht gezeigt, wie und welche Bib-Einträge Sie in welcher Reihenfolge zitiert haben, und Sie haben uns nicht die verwendeten Bib-Dateien gezeigt. Bitte stellen Sie Ihre Frage beim nächsten Mal so vollständig wie möglich.
Im Folgenden habe ich einfach die Daten moderncv
der Version 2.0.0 verwendet.
Den relevanten Teil zum Zitieren und Erstellen der Bibliographien können Sie im folgenden Codeabschnitt sehen:
%in your preamble:
\newcites{book,misc}{{Books},{Others}} % <==============================
% in your code:
% Publications from a BibTeX file using the multibib package
\section{Publications}
\nocitebook{book1,book2}
\bibliographystylebook{unsrt} % unsrt plain <=================================
\bibliographybook{publications} % 'publications' is the name of a BibTeX file
\nocitemisc{misc1,misc2,misc3}
\bibliographystylemisc{unsrt} % unsrt plain <=================================
\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
Der Befehl \nocitebook{book1,book2}
zitiert zuerst book1
, dann book2
. Mit dem Befehl \bibliographystylebook{unsrt}
wählen Sie den Bibliographiestil, in diesem Fall unsrt
, das heißt, die Bibliographieeinträge werden in der Reihenfolge angezeigt, in der sie zitiert wurden. Dasselbe gilt für den zweiten multibib
, für den dritten müssen Sie dies ein drittes Mal tun multibib
.
Die Verwendung multibib
hat die übliche Kompilierungskette geändert. Bei den beiden oben gezeigten Multibibs müssen Sie mit folgendem kompilieren:
pdflatex mwe.tex
, angenommen, Ihr Lebenslauf ist in der Datei gespeichertmwe.tex
. Nach dem Erstellen des Lebenslaufs finden Sie zwei Dateienbook.aux
undmisc.aux
im selben Verzeichnis wiemwe.tex
. In Ihrem Fall sollten Sie drei Dateien findenjournal.aux
,preprint.aux
undbthesis.aux
.bibtex book
um die erste Multibib-Bibliographie aufzubauen.bibtex misc
um die zweite Bibliographie aufzubauen.pdflatex mwe.tex
zweimal, um wie üblich die richtigen Seitenzahlen, das Inhaltsverzeichnis usw. zu erhalten.
Mit der aktuellen Version moderncv
(2.0.0) müssen Sie den Block nicht in Ihren Code kopieren \renewenvironment{thebibliography}[1]%
. Natürlich müssen Sie die von Ihnen verwendeten Multibibs \newcites{journal,preprint,bthesis}{{Journals},{Technical Reports \& Pre-prints},{Bachelor Thesis}}
in der Präambel definieren (wie ich es für die beiden Bib-Dateien in diesem Beispiel getan habe).
Mit folgendem kompilierbaren MWE (unter Verwendung der Bib-Datei publication.bib
aus moderncv
der Vorlage):
% pdflatex mwe.tex
% bibtex book
% bibtex misc
% pdflatex mwe.tex
% pdflatex mwe.tex
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage[scale=0.75]{geometry}
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{[email protected]}
\homepage{www.johndoe.com}
\social[linkedin]{john.doe}
\social[twitter]{jdoe}
\social[github]{jdoe}
\extrainfo{additional information}
\photo[64pt][0.4pt]{example-image-golden-upright}
\quote{Some quote}
\setlength{\footskip}{70pt}
\makeatletter
\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
\makeatother
\usepackage{multibib}
\newcites{book,misc}{{Books},{Others}} % <==============================
\begin{document}
\makecvtitle
\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\section{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}
\section{Extra 2}
\cvlistdoubleitem{Item 1}{Item 4}
\cvlistdoubleitem{Item 2}{Item 5\cite{book1}}
\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
\section{References}
\begin{cvcolumns}
\cvcolumn{Category 1}{\begin{itemize}\item Person 1\item Person 2\item Person 3\end{itemize}}
\cvcolumn{Category 2}{Amongst others:\begin{itemize}\item Person 1, and\item Person 2\end{itemize}(more upon request)}
\cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).}
\end{cvcolumns}
% Publications from a BibTeX file using the multibib package
\section{Publications}
\nocitebook{book1,book2}
\bibliographystylebook{unsrt} % unsrt plain <=================================
\bibliographybook{publications} % 'publications' is the name of a BibTeX file
\nocitemisc{misc1,misc2,misc3}
\bibliographystylemisc{unsrt} % unsrt plain <=================================
\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
\end{document}
Sie erhalten das Ergebnis:
Damit Sie sicher sein können, dass Sie mein angegebenes MWE testen können, hier die Beispiel-Bib-Datei publication.bib
:
%% start of file `publications.bib'.
%% Copyright 2006-2012 Xavier Danaux (xdanaux at gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
@BOOK{book1,
author = {John Doe and Author 1},
title = {Title},
publisher = {Publisher},
edition = {edition},
year = {year},
}
@BOOK{book2,
author = {John Doe and Author 2},
title = {Title},
publisher = {Publisher},
edition = {edition},
year = {year},
}
@MISC{misc1,
author = {John Doe},
title = {Title},
year = {year},
}
@MISC{misc2,
author = {John Doe and Author 3},
title = {Title},
year = {year},
}
@MISC{misc3,
author = {John Doe},
title = {Title},
year = {year},
}
%% end of file `publications.bib'.