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

31 réflexions au sujet de « Exemples complets de thèses LaTex avec bibliographie et table des matières par chapitre »

  1. Merci beaucoup pour cet exemple de thèse simple ! Je suis en phase de remise en forme d’un mémoire, et les modèles demandant 36 000 dépendances ne manquent pas, mais sont inutilement lourd finalement 🙁 Re-merci donc !

  2. Bonjour,

    Merci beaucoup pour ce super exemple très pratique qui m’a aidé puisque je suis en pleine rédaction de ma thèse.
    Par contre j’ai un problème que je n’ai pas pu résoudre, c’est que les débuts de chapitre sont toujours à gauche (page impaire à gauche) , même la table des matières et tout, alors que la « class (book) » est par défaut « openright » non.

    Est que vous pouvez m’aider sur ce point
    Merci

  3. Merci M. Salvato.

    J’ai un autre problème. Je veux mettre la bibliographie par section. Mes sections sont longues et chacune a alors sa bibliographie personnelle avec un nom différent des autres.
    Je parviens appeler le fichier avec les sections (commande \include). Mais la compilation de bibtex ne marche.

    Aussi est-il obligé de mettre les commandes \lipsum? car mes sections ont plusieurs paragraphes.
    Merci de votre réponse

  4. Une avancée.

    Je parviens à avoir la bibliographie par section. Mais un autre bug: Les références ne s’affichent pas dans le texte. Bizarre. J’utilise le style abvr dans bibliographystyle.

    Mais de l’aide.

      1. Bonjour
        Si vous voulez une bibliographie par section c’est que vous utilisez probablement la classe article et non book. Je suis donc reparti de la classe article.
        Chez moi ça fonctionne. J’ai rajouté en bas de l’article un lien vers un zip contenant les fichiers tex.

        En ce qui concerne la commande lipsum. C’est juste une commande permettant d’écrire une quantité de paragraphe (valeurs entre crochets). Elle n’a pas d’autre utilité que d’ajouter du texte pour faire des exemples.

        Voici le lien :
        http://gvallver.perso.univ-pau.fr/latex/chapterbib_section.zip

        Par contre je n’ai pas trouvé le style bibliographique dont vous parlez. Mais je doute que le style ait une importance.
        Germain

  5. MERCIIIIIIIIIIIIIIIIIIIII 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 fois

  6. Bonjour,
    merci de fournir cet exemple. J’ai toutefois un problème car si le fichier biblio est bien inclu à la fin de chaque chapitre, il affiche toutes les références de tous les chapitres.
    J’utilise le style achemso (mais il semble que cela ne change rien).
    Merci de l’aide
    Romain

    1. Bonjour
      Je viens d’essayer, avec les fichiers que je donne ça fonctionne à condition de changer le style bibliographique par achemso dans chaque fichier chapXX.tex et de rajouter dans le préambule l’utilisation de natbib (avant l’appel à chapterbib) :

      \usepackage[sort&compress,numbers,super]{natbib}

      Il peut être utile aussi de rajouter dans le préambule :

      \AtBeginDocument{\nocite{achemso-control}}

      Pour l’utilisation du style achemso tu peux voir cette question sur StackExchange.

      Germain

  7. Merci beaucoup pour les documents intéressants. J’ai quelques interrogations par rapport aux documents LaTex.
    1. Est ce que je peux les utiliser sous Windows
    2. Quelle distribution LaTex serait compatible avec vos templates LaTex
    Merci

  8. Bonjour et encore merci de nous faire partager tes trucs et astuces avec Latex. J’ai cependant une question. Je tente de faire la meme organisation que vous en ayant une biblio par chapitre et tout fonctionne bien. Par contre, pour des raisons d’organisation je voudrais pouvoir avoir mon chap1.tex et chap1.bib dans un sous repertoire distinct, un sous repertoire par chapitre, afin de mieux m’y retrouver. Mais à ce moment là, ça ne fonctionne plus. Je ne sais pas trop ou chercher.

    Merci beaucoup pour votre aide.

    Olivier

  9. bonjour, Merci pour ces exemples très très utiles, j’ai une petite question : comment faire pour classer les références bibliographique par ordre d’apparition dans le texte. je ne sais pas trop ou chercher là.
    Merci d’avance

  10. Par contre si je change le document class en article,
    j’obtient cet erreur:

    «  » » » » »
    Package minitoc Error: E0037
    (minitoc) The \dominitoc command is incomplete
    (minitoc) with the document class
    «  » » » » » »

    Merci d’avance.

    Cordialement.

    1. Bonjour

      Si tu n’utilises pas la classe book les commandes sont un peu différentes. Pour la classe article, si tu veux une toc par section, regarde la documentation page 33 (tableau 1.2). Il faut utiliser la commande \dosecttoc au lieu de \dominitoc dans le préambule et la commande \secttoc après chaque section au lieu de la commande \minitoc.

      Germain

  11. Merci pour votre exemple,

    je voudrais savoir, svp, le texte est dans quel fichier ? enfaîte à chaque fois vous utilisez les commandes (\lipsum) mais je voit pas d’ou vous importez votre texte?

    Merci de votre réponse.

  12. Bonjour,

    J’expose le problème que je rencontre. Je suis en train de réaliser un document comprenant de très nombreux chapitres (30) et je voudrait avoir une biblio par chapitres:
    Les fichiers sont organisés tel qu’il y à dans un dossier le .main, le .bib et chaque chapitres est dans un sous dossier contenant les images et les .tex correspondant.

    -) Si je respecte votre exemple en écrivant
    \bibliographystyle{unsrt}
    \bibliography{allbiblio}
    dans les .tex des chapitres il n’y à aucune biblio dans le document et de même en écrivant \bibliography{../allbiblio} étant donné que le .bib est dans le dossier parent.

    -) Si j’inclu ces mêmes lignes dans le .main entre chaque \includefrom{nom-du-sous-dossier} la biblo apparait complète à la fin de chaque chapitres et cela me convient évidement pas!! En plus je veut les compiler de manière indépendante (\includeonly{}) et ne pas avoir toutes les pages biblio avant le chapitre que je veut lire

    Je suis désemparé (j’ai parcouru tout le web et chercher des heures et des heures…), c’est me semble t’il quelque chose de très classique qui ne devrait pas prendre des heures ou jours avec latex à mettre en place.

    J’espère qu’ici quelqu’un arrivera à m’aider. Merci d’avance

    PF

    1. Bonjour
      Si je comprend bien tu essayes d’utiliser chapterbib. En parcourant très rapidement la doc je me demande si le problème ne viendrait pas des commandes \includefrom ou \includeonly. Chapterbib semble écrit pour être utilisé avec la commande \include uniquement. Sinon dans la doc il conseille d’utiliser l’environnement cbunit. Regarde peut être de ce coté là.
      Sinon il faudra que tu te tournes vers un forum spécialisé du genre stackexchange (http://tex.stackexchange.com/).
      Germain

  13. Bonjour, Merci infiniment pour cet exemple de these simple et beau , j’ai essayé plusieurs modeles mais ceci est tréeeeeeeeees adequat avec ce que je veux merci

  14. Bonjour
    J’ai un problème avec les images… J’ai mis le package graphics, je fais includegraphics{chemin} et dans le pdf au lieu de l’image j’ai le chemin de l’image…
    Merci pour le modèle

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

54 − = 49