Question

Par défaut (en utilisant le style plain ), BibTeX classe les citations par ordre alphabétique.

Comment classer les citations par ordre d'apparition dans le document?

Était-ce utile?

La solution

Il y a trois bonnes réponses à cette question.

  • Utilisez le style de bibliographie unsrt , 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 é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}

Autres conseils

Changer

\bibliographystyle{plain}

à

\bibliographystyle{ieeetr}

Ensuite, reconstruisez-le plusieurs fois pour remplacer les fichiers .aux et .bbl créés lors de l'utilisation du style brut.

Ou supprimez simplement les fichiers .aux et .bbl et reconstruisez-les.

Si vous utilisez MiKTeX, vous ne devriez rien télécharger de plus.

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 commentez-le - je l'ai transformé en:

...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...

... puis, après avoir exécuté bibtex , pdflatex , pdflatex , les citations seront triées par ordre d'apparition (c'est-à-dire , ils seront non triés :)).

Salut!

EDIT: je viens de me rendre compte que ce que j’ai écrit se trouve dans le commentaire de @ChrisN: " pouvez-vous le modifier pour supprimer la commande SORT ". ;)

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}

Cependant, que se passe-t-il si mon style n'est pas celui par défaut?

Vous avez répondu à votre propre question --- unsrt doit être utilisé lorsque vous souhaitez des références à ne répertoriées dans l'ordre d'apparition.

Mais vous pouvez également consulter natbib , un package de citation extrêmement flexible. Je ne peux pas imaginer vivre sans elle.

Je suis un peu nouveau sur Bibtex (et sur Latex en général) et je voudrais faire revivre cet ancien post car je l'ai trouvé dans de nombreuses requêtes de recherche Google concernant la commande d'une bibliographie dans Latex.

Je réponds plus verbeusement à cette question dans l'espoir que cela puisse aider certains novices à faire face aux mêmes difficultés que moi.

Voici un exemple du fichier .tex principal dans lequel la bibliographie s'appelle:

\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 dans l’ordre dans lequel elles sont citées.

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.

Le package datatool constitue un bon moyen de trier la bibliographie par un critère arbitraire, en la convertissant d'abord en certains format de base de données.

Petit exemple, tiré du d'ici et publié pour mémoire:

\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}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top