Template de thèse LaTeX

À propos

Un template LaTeX pour écrire sa thèse, qui utilise la plupart des packages nécessaires, ainsi qu'une configuration respectant la typographie française.

(Since the template is designed for french typography, this documentation is now in french. This is only for the LaTeX configuration. The Makefile is not specificaly tuned for french typography and could be used for other purposes.)

Télécharger la dernière version

Changelog

Documentation

Vue générale

Pour récupérer la liste des commandes disponibles :

{prompt}$ make help
Help :
-----------
 - make all : builds these.pdf without title, thanks, resumé
 - make rtf : same as make all, but generates a RTF file (requires latex2rtf)
 - make pdf : builds the full manuscript
 - make finalize : recompiles the pdf without re-generating the these.tex file
 - make clean : cleans folders
 - make proper : make clean + delete these.{pdf,tex,rtf}
-----------
 - make intro : builds a pdf containing the introduction only
 - make chapterX : chapters matching regular expression X
 - make conclu : conclusion only
 - make annexeX : same as chapterX, for appendix
 - make biblio : builds a pdf containing all the references (nocite{*})
 - make misc : builds a pdf containing misc stuff (like title, thanks, ...)
-----------
 - make help : prints this help
 More doc. at http://www.irisa.fr/prive/Antoine.Morvan/template_these/
-----------

Le Makefile génère le fichier these.tex, qui est ensuite compilé par pdflatex. Le fichier these.tex inclut les fichiers contenus dans le dossier ./sources suivant la règle de Makefile qui est appelée. Par exemple la règle intro ('make intro') génère le fichier these.tex suivant :

{prompt}$ make intro > /dev/null && more these.tex 
\documentclass[a4paper,11pt]{report}
\newcommand{\preprint}{YES}
\input{sources/config.tex}
\begin{document}
\tableofcontents%%{Table des matières}
\markboth{Table des matières}{Table des matières}
\input{sources/intro.tex}
\appendix
%%annexes%%
\printglossary
\input{biblio/biblio.tex}
\end{document}

Configuration

La configuration se fait principalement dans les fichiers suivants :

La configuration par défaut devrait être suffisante pour la plupart des manuscrits.

Rédiger la thèse

Note : consulter les Petites leçons de la typographie avant de commencer à rédiger.

Fichiers :

Pour ajouter des chapitres, il faut créer des nouveaux dossiers avec un nom commençant par chapter dans le dossier ./sources, et contenant un fichier main.tex. Par exemple :

./sources/chapter3_some_id/main.tex

Lors que le Makefile génère le fichier these.tex, il cherche automatiquement les dossiers commençant par chapter dans le dossier ./sources/. Il génère dans ce fichier une commande \input{} pour chacun des fichiers main.tex contenus dans les dossiers des chapitres, dans l'ordre lexicographique.

En utilisant la règle make chapterX, le Makefile ne génère de commande \input{} que pour les chapitres dont le dossier respecte l'expression régulière chapterX. Par exemple la commande make chapter3 utilisée avec le dossier précédemment créé introduit la commande LaTeX suivante dans le fichier these.tex :

\input{sources/chapter3_some_id/main.tex}

Note

L'exemple présenté ci-dessus utilise des chiffres pour identifiers les différents chapitres. Cependant il est possible d'utiliser des lettres ou des nombres. Dans le cas où il y a plus de 10 chapitres, il faut faire attention à commencer le chapitre 01 et nom le chaptre 1. En Effet chapter1 et chapter10 respectent tous les 2 l'expression régulière chapter1*.

Avec ce qui vient d'être dit, on remarque qu'il est possible de générer plusieurs chapitres à la fois en créant une expression régulière qui respecte plusieurs chapitres. Par exemple make chapter[1-3] génère des commandes \input{} pour les chapitres 1 à 3, make chapter[25] pour les chapitres 2 et 5.

Cliquer sur les liens pour plus d'infos sur les expressions régulières shell utilisées par la fonction wildcard.

Grâce à ces expressions régulières il est possible de définir des règles personnalisées pour générer un ensemble de chapitres. En ajoutant

regle_perso: chapter[1-3]

à la fin du Makefile, on crée une règle qui génère automatiquement les chapites 1 à 3 lorsque l'on tape make regle_perso. Ces règles personnalises peuvent servir à regrouper les chapitres en parties, ou thème. Par exemple :

part1: chapter[1-3]
part2: chapter[45]
part3: chapter[6-9]
state_of_the_art: chapter[1246]
contribs: chapter[357]
implemresults: chapter[89]

Le Makefile ne génère pas de commande LaTeX pour les parties (commande \part{Titre partie}. Pour avoir un manuscrit découpé en parties, il suffit d'ajouter cette commande au début du fichier main.tex du premier chapitre de la partie :

\part{Première partie}

\chapter{premier chapitre}

super chapitre !

Au sein des fichiers main.tex des chapitres, la syntaxe est du LaTeX standard, supportant les accents et caractèrs spéciaux. Il s'assurer que les fichiers .tex soient bien encodés en UTF-8. Il est possible de découper les chapitres en plusieurs fichiers, un par section par exemple :

\input{sources/chapter1_some_id/section1_some_specific_topic.tex}

ou d'inclure des images :

\includegraphics[width=5cm]{images/chapter1/some_picture.png}

Note : les annexes fonctionnent exactement comme les chapitres.

Pour plus d'informations sur LaTeX : WikiBooks.

Page de titre et résumé

La page de titre et le résumé sont construits séparément. En effet ces deux pages doivent généralement respecter une charte graphique qui dépend de l'université ou de l'école doctorale. Ces deux pages sont construites dans le dossier ./miscpages par un deuxième Makefile.

L'objectif de ce 2eme Makefile est de constuire deux fichiers PDFs, un pour la page de titre et un pour la page de résumé (4eme de couverture). Par défaut, la page de titre est générée à partir du fichier LaTeX miscpages/title.tex et des informations contenues dans le fichier sources/infos_titlepage.tex. Le résumé est construit à partir du fichier miscpages/resume.tex. Certaines écoles fournissent la page de garde et de résumé, qu'il faut intégrer dans le PDF final. Il faut alors modifier le Makefile pour qu'il construise les fichiers title.pdf et resume.pdf, ou tout simplement préparer ces fichiers à la main et faire en sorte que le Makefile n'y touche pas. La seule contrainte est que chacun de ces deux fichiers ne doit faire qu'une seule page.

Une fois les deux fichiers miscpages/title.pdf et miscpages/resume.pdf générés, ils sont inclus par les fichiers sources/frontmatter.tex et sources/backmatter.tex.

Glossaire et Notations

Les définitions du glossaire sont déclarées dans le fichier sources/definitions.tex. Chaque déclaration est de la forme :

\newglossaryentry{identifiant}{
name={Acronyme},
description={description de l'acronyme},
first={command l'acronyme est affiché la première fois qu'il apparait dans le texte}}

Pour utiliser un acronyme, il suffit ensuite d'utiliser la commande \gls{identifiant}. À chaque chapitre, le compteur de références est remis à zéro, et l'acronyme est affiché tel qu'il est décris dans le champ first.

Les notations (la nomenclature) doit être activée dans le Makefile (cf. ci-dessus). Chaque notation est définie grâce à la commande :

\nomenclature{$symbole$}{Description}

La table des notations (apparaissant au début du document) affiche la liste des symboles, leur définition, et la page à laquelle ils sont définis. Le comportement est différent du glossaire, dans lequel l'acronyme est définis dans un premier temps, puis référencé par la suite.
Note : cf. ici pour les problèmes de compatibilité entre TeXnic Center et la nomenclature.

Compatibilité et dépendances

Ce template fonctionne avec les packets TeXLive disponibles sur la majorité des distributions Linux. Il fonctionne aussi avec Miktex 2.9 exécuté depuis Cygwin sur les systèmes Windows. D'après certains, le template fonctionnerait sur systèmes Mac OSX, mais sérieusement, qui utilise Mac ?

Le Makefile fait appel à divers outils, disponibles sur la plupart des distributions Linux, ainsi que sous Cygwin et Mac OSX :

Note : avec certaines anciennes versions du packet LaTeX hyperref l'option hidelinks n'est pas définie. Il suffit de l'enlever de la commande hypersetup dans le fichier sources/config.tex.

Anciennes versions

Contact

cf. author's page

Last update : 4 april 2013
Valid HTML! Valid CSS!