Comment commander des citations par apparence en utilisant BibTeX?
Par défaut (en utilisant le style plain
) BibTeX commande les citations par ordre alphabétique.
Comment commander les citations par ordre d'apparition dans le document?
11 réponses
Il y a trois bonnes réponses à cette question.
- Utilisez le style
unsrt
bibliographie, si vous êtes satisfait de sa mise en forme sinon - Utilisez le
makebst
(lien) outil pour concevoir votre propre style de bibliographie
Et ma recommandation personnelle:
- Utilisez le paquet
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}
Changer
\bibliographystyle{plain}
À
\bibliographystyle{ieeetr}
Puis reconstruisez-le plusieurs fois pour remplacer les fichiers .aux
et .bbl
qui ont été créés lorsque vous avez utilisé le style simple.
Ou supprimez simplement les fichiers .aux
et .bbl
et reconstruisez.
Si vous utilisez MiKTeX, vous ne devriez pas avoir besoin de télécharger quoi que ce soit de plus.
Juste une brève 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 commentez - le-je l'ai tourné vers:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... et puis, après avoir couru bibtex
, pdflatex
, pdflatex
- les citations seront triées par ordre d'apparition (c'est-à-dire qu'elles ne seront pas triées :)).
Cheers!
Modifier: juste réalisé que ce que j'ai écrit est en fait dans le commentaire de @ ChrisN: "pouvez-vous le modifier pour supprimer la commande de tri" ;)
Le meilleur que j'ai trouvé est d'utiliser le style unsrt
, qui semble être un style plain
modifié. c'est à dire
\bibliographystyle{unsrt}
\bibliography{bibliography}
Cependant, que se passe-t-il si mon style n'est pas le style par défaut?
Vous avez répondu à votre propre question - - - unsrt
doit être utilisé lorsque vous voulez que les références à ne soient listées dans l'ordre d'apparition.
Mais vous pouvez aussi jeter un oeil à natbib, un paquet de citations extrêmement flexible. Je ne peux pas imaginer vivre sans elle.
Je suis un peu nouveau à Bibtex (et à Latex en général) et je voudrais faire revivre cet ancien post car je l'ai trouvé dans beaucoup de mes demandes de recherche Google sur la commande d'une bibliographie en Latex.
Je fournis une réponse plus verbeuse à cette question dans l'espoir que cela pourrait aider certains novices là-bas face aux mêmes difficultés que moi.
Voici un exemple du principal .fichier tex 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 de la .Bib fichier 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 les références dans le .fichier bib sont répertoriés dans l'ordre inverse, mais les références sont listées dans l'ordre où ils sont cités dans le document.
Plus d'informations sur le formatage de votre .le fichier bib peut être trouvé 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 pour nous.
Avec unsrt
le problème est le format. utilisez \bibliographystyle{ieeetr}
pour obtenir les références par ordre de citation dans le document.
Le paquet datatool offre une bonne façon de trier la bibliographie par un critère arbitraire, en la convertissant d'abord en un format de base de données.
Exemple court, pris à partir 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}
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}