Comment gérer plusieurs bibliographies ?

* Le package 'chapterbib' permet d'inclure une bibliographie par chapitre. Il est disponible sur ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/cite/. Les bibliographies réparties peuvent alors apparaître comme section de ce chapitre grâce à la commande : \usepackage[sectionbib]{chapterbib}. * Le package 'bibunits', de A. Fernandez, permet de partager une bibliographie en plusieurs unités, chacune attenante à une section, ou à un chapitre d'un article ou d'un livre donné. Exemple : ////////////// fichier rapport.tex ///////////// \documentclass[a4paper]{report} \usepackage{bibunits} \usepackage{french} \begin{document} \chapter{Algorithmes.} Présentation d'algorithmes. \nocite* \bibliographystyle{alpha} \bibliography{alg} \chapter{Géométrie.} Texte sur la géométrie. \nocite* \bibliographystyle{plain} \bibliography{geom} \end{document} ////////////// fichier alg.bib ///////////// @UNPUBLISHED{algg, author = MPK, title = Algorithmes et rythmes, note = RAS, } ////////////// fichier geom.bib ///////////// @INBOOK{geomm, author = Me again, title = Principes de géométrie, chapter = Les droites, publisher = Home publishing, year = 1997, } %%%% fin exemple %%%% * Le package 'bibtopics', de P. Basso, permet de contruire une bibliographie générale comportant des rubriques diverses (livres, articles, thèses, ...) ou des sujets divers (physique, mathématiques, ...). Il est disponible par ftp sur ftp://ftp.gutenberg.eu.org/pub/gut/contrib/. Remarque : pour les versions récentes de LaTeX, il peut être nécessaire d'inclure les lignes : \makeatletter \let\if@openbib\iffalse \makeatother dans le préambule du document. * Voici un petit fichier 'multibib.sty' de V. Henn, créé en recopiant les définitions LaTeX des commandes relatives à la gestion des bibliographies, et en les rendant paramétrables. Les commandes qui ont été définies sont : \newbibliographyGENE{biblio} pour déclarer une bibliographie biblio. \citeGENE{biblio}{clé} pour appeler une référence. \bibliographystyleGENE{biblio-x}{alpha} pour définir le style de biblio. \bibliographyGENE{biblio}{fichier-biblio1} pour faire référence au fichier fichier-biblio1.bib qui contient les références. %%%% debut macro %%%% %% A sauver dans multibib.sty %%%%%% biblio generique %%%%%%%% \newcommand\newbibliographyGENE[1]{% \expandafter\expandafter\expandafter\newwrite\@nameuse{@#1aux} \immediate\expandafter\expandafter\openout\ at nameuse{@#1aux}=#1.aux %\expandafter\expandafter\expandafter\show\@nameuse{@#1aux} } \def\citeGENE#1{\@ifnextchar [{\@tempswatrue\@citexGENE{#1}}% {\@tempswafalse\@citexGENE{#1}[]}} \def\@citexGENE#1[#2]#3{\if@filesw\immediate\expandafter% \expandafter\expandafter\write\@nameuse{@#1aux}{\string% \citation{#3}}\fi \let\@citea\@empty \@cite{\@for\@citeb:=#3\do {\@citea\def\@citea{,\penalty\@m\ }% \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2% \else##1##2\fi}}% \expandafter\@tempa\@citeb\@nil \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning {Citation `\@citeb' on page \thepage \space undefined}}% \hbox{\csname b@\@citeb\endcsname}}}{#2}} \def\bibliographyGENE#1#2{\if@filesw\immediate\expandafter% \expandafter\expandafter\write\@nameuse{@#1aux}{\string% \bibdata{#2}}\fi \ at input{#1.bbl}} \def\bibliographystyleGENE#1#2{\if@filesw\immediate\expandafter% \expandafter\expandafter\write\@nameuse{@#1aux} {\string\bibstyle{#2}}\fi} \def\nociteGENE#1#2{\@bsphack \if@filesw\immediate\write\@nameuse{@#1aux}{\string% \citation{#2}}\fi \@esphack} %%%% fin macro %%%% Exemple d'utilisation : Les fichiers gene.bib et speci.bib contiennent respectivement une référence bibliographie de clé cle-gene et cle-speci. \documentclass{report} \usepackage{multibib} \usepackage{french} \begin{document} \newbibliographyGENE{Toto} \newbibliographyGENE{Titi} \chapter{Introduction.} blabla bla \citeGENE{Toto}{cle-gene} et \citeGENE{Titi}{cle-speci} rebla rebla rebla \bibliographystyleGENE{Toto}{plain} \bibliographyGENE{Toto}{gene} \bibliographystyleGENE{Titi}{alpha} \bibliographyGENE{Titi}{speci} \end{document} il faut alors compiler de la manière suivante : latex fichier-source bibtex Toto bibtex Titi latex fichier-source latex fichier-source %%%% fin exemple %%%%