Comment gérer plusieurs bibliographies ?

recherche d'un mot
* 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 %%%%

Retour à la FAQ LaTeX
Proposition de modification de la FAQ LaTeX :
bayartb at edgard point fdn point fr
Commentaire sur la version HTML de cette FAQ :
Fabien Torre
© Copyright 1997 Marie-Paule Kluth. Tous droits réservés.

Valid XHTML 1.0! Valid CSS!