Par défaut (en utilisant le plain
style) BibTeX trie les citations par ordre alphabétique.
Comment classer les citations par ordre d'apparition dans le document?
Par défaut (en utilisant le plain
style) BibTeX trie les citations par ordre alphabétique.
Comment classer les citations par ordre d'apparition dans le document?
Réponses:
Il y a trois bonnes réponses à cette question.
unsrt
style de bibliographie, si vous êtes satisfait de sa mise en forme, sinonmakebst
(lien) pour concevoir votre propre style de bibliographieEt ma recommandation personnelle:
biblatex
package (lien) . C'est l'outil de bibliographie le plus complet et le plus flexible du monde LaTeX.En utilisant biblatex
, vous écririez 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}
\addbibresource{journals.bib,phd-references.bib}
Changement
\bibliographystyle{plain}
à
\bibliographystyle{ieeetr}
Reconstruisez-le ensuite plusieurs fois pour remplacer les fichiers .aux
et .bbl
créés lors de l'utilisation du style brut.
Ou simplement supprimer les .aux
et .bbl
fichiers et reconstruire.
Si vous utilisez MiKTeX, vous ne devriez pas avoir besoin de télécharger quoi que ce soit supplémentaire.
unsrt
serait mieux que ieeetr
puisque ce dernier est destiné au papier IEEE qui a une mise en forme légèrement différente. unsrt
et abbrv
produit le même type de formatage. Vous voudrez peut-être jeter un oeil à ce lien
biblatex
centrée sur Will Robertson est finalement la voie à suivre pour la communauté LaTeX, le manque continu de support intégré de LyX est un énorme (et de plus en plus embarrassant) bloqueur. Cela fait huit ans que cette question a été posée pour la première fois! Je ne critiquerai jamais les priorités des développeurs de LyX. Nous sommes en 2016. Les voitures sans conducteur et les superordinateurs portables sont une chose, mais ici nous restons - enchaînés à la même pierre de honte BibTeX exécrable. biblatex
Juste une brève note - j'utilise une version modifiée de plain.bst assise 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 commentez - je l'ai transformé en:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... puis, après l' exécution bibtex
, pdflatex
, pdflatex
- les citations seront triées par ordre d'apparition (qui est, ils seront :) non triés).
À votre santé!
EDIT: vient de réaliser que ce que j'ai écrit est en fait dans le commentaire de @ChrisN: " pouvez-vous le modifier pour supprimer la commande SORT ";)
Le meilleur que j'ai trouvé est d'utiliser le unsrt
style, qui semble être un plain
style modifié . c'est à dire
\bibliographystyle{unsrt}
\bibliography{bibliography}
Mais que faire si mon style n'est pas celui par défaut?
Vous avez répondu à votre propre question --- unsrt
doit être utilisé lorsque vous souhaitez que les références à ne soient répertoriées dans l'ordre d'apparition.
Mais vous voudrez peut-être aussi jeter un œil à natbib , un paquet de citation extrêmement flexible. Je ne peux pas imaginer vivre sans.
Je suis un peu nouveau pour Bibtex (et pour Latex en général) et je voudrais faire revivre cet ancien article car je l'ai trouvé dans de nombreuses recherches sur Google concernant la commande d'une bibliographie dans Latex.
J'apporte une réponse plus détaillée à cette question dans l'espoir que cela puisse aider certains novices confrontés aux 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 le document.
Vous trouverez plus d'informations sur le formatage de votre fichier .bib ici: http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
avec unsrt
le problème est le format. utiliser \bibliographystyle{ieeetr}
pour obtenir les références par ordre de citation dans le document.
Le paquetage datatool offre un bon moyen de trier la bibliographie selon un critère arbitraire, en la convertissant d'abord en un format de base de données.
Exemple court, tiré d'ici et publié 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}
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}