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

Réseaux de bravais

Voici un document regroupant les 14 réseaux de bravais avec les schémas dessinés avec tikz. Le document tableau_bravais.pdf contient uniquement un tableau qui résume les 14 réseaux de bravais.

Bravais : Réseau monoclinique

Fichier source : bravais.tex

Fichier pdf : bravais.pdf

Fichier pdf contenant un tableau résumant les 14 réseaux de bravais : tableau_bravais.pdf

Les acides aminés

Florian Hollandt a posté sur texample.net, une figure avec tous les acides aminés en Tikz (voir ici). J’ai repris ses dessins pour en faire des commandes du type \AAA{scale} où scale est un facteur d’échelle entre 0 et 1 et AAA représente le code à trois lettres d’un acide aminé, par exemple thr pour une thréonine. Donc dans le code latex, \thr{scale} dessine une thréonine, la taille étant contrôlée par scale.

Exemples d'acides amines

Fichier source : acide-amine.sty

Fichier pdf : acide-amine.pdf

Critère de liaison hydrogène

En simulation classique, on utilie un critère géométrique pour savoir si une liaison hydrogène existe ou pas. Ce critère est résumé sur ce schéma.

Critère de liaison hydrogène

Fichier source : schema_LH.tex

Fichier pdf : schema_LH.pdf

Schema expliquant le principe du bootstrap

Le bootstrap consiste à re-échantillonner un échantillon de taille limité, sans rajouter de nouvelles données. Il permet d’obtenir des informations sur les incertitudes statistiques liées à un échantillon de taille limité.

Schema bootsrap

A la limite où N tend vers l’infini, la distribution des valeurs moyennes calculée à partir des échantillons de bootstrap est égale à la distribution des valeurs moyennes obtenue à partir de TOUS les échantillons de N éléments que l’on peut construire à partir de l’espace complet. La largeur de la distribution donne donc une évaluation de la qualité de l’échantillon.

Fichier source : bootstrap.tex

Fichier pdf : bootstrap.pdf

Conditions périodiques aux limites

Schéma représentant les conditions périodiques aux limites couramment utilisées dans les simulations en phase condensée. Les molécules d’eau sons des fichiers png (4 fichiers) qui sont contenus dans l’archive.

Conditions périodiques aux limites

Fichier source : periodic_bound.tex

Fichier pdf : periodic_bound.pdf

Fichier zip avec les images

Diagramme de Perrin-Jablonski

Schéma de Perrin-Jablonski, représentant les niveaux électroniques et vibrationnels d’une molécule ainsi que les transitions radiatives ou non radiatives pouvant se produire.

Schéma de Perrin-Jablonski

Fichier source : jablonski.tex

Fichier pdf : jablonski.pdf

Icônes pour un cours : cours.sty

Ce paquet définit un jeu de quatre icones (ci-contre), créés avec Tikz. Associé à chaque icone, le paquet met à disposition trois environnements : question, remarque et attention qui disposent le texte en couleur avec l’icone sur la gauche.

Icones pour les cours

cours.sty : le package.

exemple_cours.tex : fichier exemple

exemple_cours.pdf : fichier pdf de exemple_cours.tex

Entête LaTex pour les examens à l’UPPA : examenUPPA.sty

Ce paquet permet de créer facilement l’entête des sujets de contrôles continus ou d’examens de l’université de Pau et des pays de l’Adour. Il introduit deux commandes spéciales : \makeentete et \nomPrenomGroupe. La première permet de créer l’entête, la seconde permet de faire afficher la demande du nom du prénom et du groupe de l’étudiant directement sur le sujet.

Entête examen UPPA

Les fichiers tex et pdf ci-dessous contiennent un exemple d’utilisation du packages :

examenUPPA.sty : le package.

exemple_examenUPPA.tex : fichier exemple pour le paquet examenUPPA.sty

exemple_examenUPPA.pdf : fichier pdf obtenu à partir de exemple_examenUPPA.tex

Mes macros LaTex : mes_macros.sty

Ce paquet définit un ensemble de commandes qui sont de simples racourcis (énumération, vecteurs, opérateurs …) et d’autres plus complexes, principalement en lien avec la chimie quantique.

Paires libres dessinée avec mes_macros.stycases quantiques dessinée avec mes_macros.sty

Les commandes avancées de ce paquets permettent ou simplifient :

  • Le dessin de paires d’électrons
  • Le dessin de cases quantiques (OA, principe de hund)
  • Le dessin de diagramme d’orbitale moléculaire
  • L’écriture de configuration électronique (Z = 1 – 86)

Les dessins utilises Tikz. Des exemples sont disponibles dans le fichier tex et le fichier pdf ci-dessous.

mes_macros.sty

mes_macros.tex : fichier exemple pour le paquet mes_macros.sty

mes_macros.pdf : fichier pdf obtenu à partir de mes_macros.tex

Le fichier suivant est un script python qui affiche une configuration électronique pour un nombre d’électrons donné. Dans le paquet mes_macros.sty il y a une macro LaTeX du même genre, cependant elle est écrite sans aucune finesse. Si quelqu’un est capable de convertir mon script python en Tex je suis preneur !

configElec.py