Exemples complets de thèses LaTex avec bibliographie et table des matières par chapitre

L’objectif de cet article est de donner un exemple complet de structures de fichiers LaTeX pour la rédaction de thèses. Voici le cadre général :

  • Un document maître dans lequel sont inclus des fichiers contenant chacun un chapitre
  • Une table des matières générale
  • Une table des matières par chapitre
  • Une bibliographie numérotée automatiquement et ordonnée dans l’ordre d’apparition des références dans le texte.
  • La bibliographie sera par chapitre ou non suivant le choix

Noms des différents fichiers :

  • these.tex : le document maître
  • intro.tex : fichier contenant l’introduction
  • chap1.tex : fichier contenant le chapitre 1
  • chap2.tex : fichier contenant le chapitre 2
  • conclu.tex : fichier contenant la conclusion
  • annexe.tex : fichier contenant une annexe

Un des points crucial est de bien s’organiser. Une organisation possible est d’avoir dans un dossier l’ensemble des fichiers latex qui seront inclus dans le document maître ainsi qu’un dossier contenant l’ensemble des figures incluses dans la thèse.

Bibliographie en fin de manuscrit

On commence par le document maître : these.tex. Le document ci-dessous répond aux contraintes évoquées plus haut avec une unique bibliographie en fin de thèse.

\documentclass{book}
 
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{lipsum}
 
% permet de faire une table des matieres par chapitre
\usepackage[french]{minitoc}
 
% ajoute (entre autre) la bibliographie dans la table des matieres 
\usepackage[nottoc]{tocbibind}
 
% biblio ordonnee classique
\bibliographystyle{unsrt}
 
\title{Exemple de thèse \LaTeX{} qui se veut minimal}
\author{G. Vallverdu}
\date{\today}
 
\begin{document}
 
% le titre
\maketitle
 
% preparation des minitocs
\dominitoc
 
% table des matieres generale
\tableofcontents
 
% inclusion des chapitres
\include{intro}
 
\include{chap1}
 
\include{chap2}
 
\include{conclu}
 
\appendix
 
\include{annexe}
 
% bibliographie
\bibliography{allbiblio}
 
\end{document}

Voici les autres fichiers :

 
%
% contenu du fichier : intro.tex
%
\chapter*{Introduction}
% pour faire apparaitre l'introduction dans le sommaire et que les minitocs soient au bon
% endroit
\addstarredchapter{Introduction générale} 
 
% Pour que l'entete soit correcte car chapter* ne redefinit pas l'entete.
\markboth{INTRODUCTION}{}
 
\lipsum[22-26]
 
% 
% contenu du fichier : chap1.tex
%
\chapter{Premier chapitre}
 
\minitoc
 
\section{Citations}
 
Ici on cite un article de Dudarev\cite{Dudarev1998}, puis un sur 
Bader\cite{Henkelman2006} et un petit dernier\cite{Blochl1994}. 
Le tout pour tester la bibliographie.
 
\lipsum[6-8]
 
\section{Paragraphe}
 
\lipsum[9-12]
 
%
% contenu du fichier : chap2.tex
%
\chapter{Second chapitre}
 
\minitoc
 
\section{Citations}
 
On remet une petite couche de biblio\cite{Kresse1993}. Toujours pour voir si la
bibliographie est bonne\cite{Kresse1996}.
 
\lipsum[13-16]
 
\section{Texte}
 
\lipsum[17-21]
 
%
% contenu du fichier : conclu.tex
%
\chapter*{Conclusion}
% pour faire apparaitre l'introduction dans le sommaire
\addcontentsline{toc}{chapter}{Conclusion}
 
% Pour que l'entete soit correcte car chapter* ne redefinit pas l'entete.
\markboth{CONCLUSION}{}
 
\lipsum[22-25]
 
%
% contenu du fichier : annexe.tex
%
\chapter{Une annexe}
 
\lipsum[26-27]

Il manque le fichier allbiblio.bib qui contient les références :

%
% contenu du fichier : allbiblio.bib
%
@ARTICLE{Kresse1993,
  author = {Kresse, G. and Hafner, J.},
  title = {\textit{Ab initio} molecular dynamics for liquid metals},
  journal = {Phys. Rev. B},
  year = {1993},
  volume = {47},
  pages = {558--561},
  month = {Jan},
  issue = {1},
  publisher = {American Physical Society},
}
 
@ARTICLE{Blochl1994,
  author = {Bl\"ochl, P. E.},
  title = {Projector augmented-wave method},
  journal = {Phys. Rev. B},
  year = {1994},
  volume = {50},
  pages = {17953--17979},
  month = {Dec},
  issue = {24},
  publisher = {American Physical Society},
}
 
@ARTICLE{Dudarev1998,
  author = {Dudarev, S. L. and Botton, G. A. and Savrasov, S. Y. and Humphreys,
	C. J. and Sutton, A. P.},
  title = {Electron-energy-loss spectra and the structural stability of nickel
	oxide: An LSDA+U study},
  journal = {Phys. Rev. B},
  year = {1998},
  volume = {57},
  pages = {1505--1509},
  month = {Jan},
  issue = {3},
  publisher = {American Physical Society},
}
 
@ARTICLE{Henkelman2006,
  author = {Henkelman, G.a and Arnaldsson, A.b and Jonsson, H.b c},
  title = {A fast and robust algorithm for Bader decomposition of charge density},
  journal = {Computational Materials Science},
  year = {2006},
  volume = {36},
  pages = {354-360},
  number = {3},
  note = {cited By (since 1996) 559}
}
 
@ARTICLE{Kresse1996,
  author = {G. Kresse and J. Furthmüller},
  title = {Efficiency of ab-initio total energy calculations for metals and
	semiconductors using a plane-wave basis set},
  journal = {Computational Materials Science},
  year = {1996},
  volume = {6},
  pages = {15 - 50},
  number = {1},
}

Dernier point : la compilation. Elle peut se faire soit avec latex soit avec pdflatex en procédant de la façon suivante :

  1. (pdf)latex these.tex
  2. (pdf)latex these.tex
  3. bibtex these.aux
  4. (pdf)latex these.tex
  5. (pdf)latex these.tex

Il est nécessaire de compiler plusieurs fois le document avec latex ou pdflatex pour que la table des matières et les références soient bonnes. bibtex permet de générer la bibliographie. Le résultat :

these_simple.pdf

L’ensemble des fichiers :

these_simple.zip

Bibliographie par chapitre

Il existe plusieurs possibilités pour faire une bibliographie par chapitre. La plus simple et qui répond réellement aux attentes d’une bibliographie numérotée automatiquement dans l’ordre d’apparition des références dans le texte consiste à utiliser le paquet chapterbib. Le principe est de placer dans chaque document pour lesquels on veut une bibliographie, les commandes \bibliography et \bibliographystyle.

Le document maître est peu différent du précédent. Les commandes \bibliography et \bibliographystyle ont disparu et on ajoute \usepackage[sectionbib]{chapterbib}. L’option sectionbib permet de définir l’environnement bibliographie comme une section au lieu d’un chapitre ce qui est plus cohérent avec la classe book :

\documentclass{book}
 
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{lipsum}
 
% permet de faire une table des matieres par chapitre
\usepackage[french]{minitoc}
 
% bibliographie par chapitre :
%     * mettre \bibliography et \bibliographystyle dans chaque fichier inclu
\usepackage[sectionbib]{chapterbib}
 
\title{Exemple de thèse \LaTeX{} avec la bibliographie par chapitre qui se veut minimal}
\author{G. Vallverdu}
\date{\today}
 
\begin{document}
 
% le titre
\maketitle
 
% preparation des minitocs
\dominitoc
 
% table des matieres generale
\tableofcontents
 
% inclusion des chapitres
\include{intro}
 
\include{chap1}
 
\include{chap2}
 
\include{conclu}
 
\appendix
 
\include{annexe}
 
\end{document}

Voici les nouveaux fichiers chap1.tex et chap2.tex, les autres n’ont pas changé :

%
% contenu du fichier chap1.tex
%
\chapter{Premier chapitre}
 
\minitoc
 
\section{Citations}
 
Ici on cite un article de Dudarev\cite{Dudarev1998}, puis un sur 
Bader\cite{Henkelman2006} et un petit dernier\cite{Blochl1994}. 
Le tout pour tester la bibliographie par chapitre.
 
\lipsum[6-8]
 
\section{Paragraphe}
 
\lipsum[9-12]
 
% bibliographie pour chapterbib uniquement
\bibliographystyle{unsrt}
\bibliography{allbiblio}
 
%
% contenu du fichier chap2.tex
%
\chapter{Second chapitre}
 
\minitoc
 
\section{Citations}
 
On remet une petite couche de biblio\cite{Kresse1993}. Toujours pour voir si la
bibliographie est bien par chapitre\cite{Kresse1996}.
 
\lipsum[13-16]
 
\section{Texte}
 
\lipsum[17-21]
 
% bibliographie pour chapterbib uniquement
\bibliographystyle{unsrt}
\bibliography{allbiblio}

Le fichier allbiblio.bib est le même pour les deux chapitres et est identique à celui donné plus haut. Enfin la compilation. Comme précédemment il est possible de compiler avec latex ou pdflatex et il faut compiler plusieurs fois pour que les citations et les références soient bonnes. De plus, comme on a cette fois une bibliographie par chapitre, il faut exécuter bibtex pour chaque chapitre contenant une bibliographie :

  1. (pdf)latex these.tex
  2. (pdf)latex these.tex
  3. bibtex chap1.aux
  4. bibtex chap2.aux
  5. (pdf)latex these.tex
  6. (pdf)latex these.tex

Le résultat est le suivant :

these_chapterbib.pdf

L’ensemble des fichiers :

these_chapterbib.zip

Bonne rédaction !

Bibliographie par section

Suite aux commentaires, voici une bibliographie par section. Dans ce cas j’ai utilisé la classe article au lieu de book. Il ne faut pas oublier le principe de base de chapterbib qui est de créer une bibliographie chaque fois qu’un fichier tex est inclus via la commande include.

L’ensemble des fichiers :

chapterbib_section.zip