Par défaut (en utilisant le style plain
), BibTeX classe les citations par ordre alphabétique.
Comment ordonner les citations par ordre d'apparition dans le document?
Il y a trois bonnes réponses à cette question.
unsrt
, si sa mise en forme vous convient, sinonmakebst
(lien) pour concevoir votre propre style de bibliographie.Et ma recommandation personnelle:
biblatex
(lien) . C'est l'outil de bibliographie le plus complet et le plus flexible du monde LaTeX.En utilisant biblatex
, vous écrivez quelque chose comme
\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}
Changement
\bibliographystyle{plain}
à
\bibliographystyle{ieeetr}
Reconstruisez ensuite plusieurs fois pour remplacer les fichiers .aux
et .bbl
créés lors de l'utilisation du style brut.
Ou simplement supprimez les fichiers .aux
et .bbl
et reconstruisez-les.
Si vous utilisez MiKTeX, vous ne devriez pas avoir besoin de télécharger quoi que ce soit de plus.
Le meilleur que j'ai trouvé est d'utiliser le style unsrt
, qui semble être un style modifié plain
. c'est à dire.
\bibliographystyle{unsrt}
\bibliography{bibliography}
Mais que se passe-t-il si mon style n’est pas celui par défaut?
Juste une petite note - J'utilise une version modifiée de plain.bst assis dans le répertoire avec mes fichiers Latex; il s'avère que le tri par ordre d'apparition est un changement relativement facile; il suffit de trouver le morceau de code:
...
ITERATE {presort}
SORT
...
... et le commenter - je l'ai tourné à:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... et ensuite, après avoir exécuté bibtex
, pdflatex
, pdflatex
, les citations seront triées par ordre d'apparition (c'est-à-dire qu'elles ne seront pas triées :)).
À votre santé!
EDIT: je viens de me rendre compte que ce que j’écris est en fait dans le commentaire de @ChrisN: " pouvez-vous le modifier pour supprimer la commande SORT ";)
Vous avez répondu à votre propre question ---unsrt
doit être utilisé lorsque vous souhaitez des références à ne énumérées dans l'ordre d'apparition.
Mais vous voudrez peut-être aussi jeter un œil à natbib , un paquet de citations extrêmement flexible. Je ne peux pas imaginer vivre sans elle.
Je suis un peu nouveau dans Bibtex (et dans Latex en général) et je voudrais faire revivre cet ancien message, car je l'ai trouvé dans de nombreuses requêtes de recherche Google concernant la commande d'une bibliographie dans Latex.
J'apporte une réponse plus verbeuse à cette question dans l'espoir que cela pourrait aider certains novices qui rencontrent les mêmes difficultés que moi.
Voici un exemple du fichier .tex principal dans lequel la bibliographie est appelée:
\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}
... et un exemple du fichier .bib lui-même:
@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"
}
Notez que les références dans le fichier .bib sont répertoriées dans l'ordre inverse mais les références sont répertoriées dans l'ordre dans lequel elles sont citées dans l'article.
Plus d'informations sur le formatage de votre fichier .bib peuvent être trouvées ici: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
J'utilise souvent le style de bibliographie natbib
car il fournit un ensemble assez complet de formats ainsi que des balises.
avec unsrt
le problème est le format. utilisez \bibliographystyle{ieeetr}
pour obtenir les références par ordre de citation dans le document.
Si vous utilisez amsrefs
, ils remplaceront tout ce qui précède - alors commentez:
\usepackage{amsrefs}
J'utilise natbib
en combinaison avec bibliographystyle{apa}
. Par exemple:
\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}
Le paquet datatool offre un moyen agréable de trier la bibliographie selon un critère arbitraire, en la convertissant d’abord dans un format de base de données.
Petit exemple, pris d'ici et posté pour l'enregistrement:
\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}