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?

206
demandé sur Enamul Hassan 2008-09-28 02:34:06

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}
154
répondu Will Robertson 2014-03-20 16:12:35

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.

102
répondu Riaz 2018-04-01 07:57:47

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" ;)

16
répondu sdaau 2011-07-03 10:23:29

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?

14
répondu Brendan 2014-04-14 17:03:26

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.

11
répondu lindelof 2008-09-27 22:53:17

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

4
répondu HeWhoLikesWaffles 2014-08-15 15:15:29

J'utilise souvent le style de bibliographie natbib car il fournit un ensemble assez complet de formats ainsi que des balises pour nous.

3
répondu Tung 2012-11-29 16:38:53

Avec unsrt le problème est le format. utilisez \bibliographystyle{ieeetr} pour obtenir les références par ordre de citation dans le document.

2
répondu Thiem Nguyen 2012-06-05 13:04:39

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}
0
répondu kebs 2013-05-28 08:42:29

Si vous utilisez amsrefs, ils remplaceront tout ce qui précède - alors commentez:

\usepackage{amsrefs}

0
répondu Guest 2013-08-13 19:52:21

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}
0
répondu Tshilidzi Mudau 2017-01-15 14:05:14