<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\chapter{AmĂ©liorer son texte et sa mise en forme}

\epigraph{La perfection est atteinte, non pas lorsqu'il n'y a plus rien Ă&nbsp; ajouter, mais lorsqu'il n'y a plus rien Ă&nbsp; retirer.}{Antoine \textsc{de Saint-ExupĂ©ry}}

\label{chap-texte-details}\lettrine{S}{i} tu sais dĂ©sormais Ă©crire des paragraphes, faire une page de garde simple, afficher un sommaire ou utiliser des listes sous \LaTeX{}, il existe encore plein d'autres fonctionnalitĂ©s sympathiques pour complĂ©ter ces Ă©lĂ©ments. Et je les recense justement dans ce chapitre !

\section{Changer la police d'Ă©criture}

\subsection*{Introduction}

\label{chgt-police}Changer de police constitue un vaste dĂ©bat sous \LaTeX{}. Tout d'abord, pourquoi vouloir changer ? La police proposĂ©e ne convient-elle pas ? Ou est-ce par habitude d'utiliser auparavant une autre police sous Word ? \`A moins que ton Ă©cole impose une police spĂ©cifique pour ton rapport ?

Ensuite, quelle police prĂ©fĂ¨res-tu utiliser ? Avec empattement\footnote{Mode de terminaison d'un caractĂ¨re : \url{http://fr.wikipedia.org/wiki/Empattement_(typographie)}.}, sans empattement ? Mais surtout, si tu dois Ă©crire des formules mathĂ©matiques, la nouvelle police possĂ¨de-t-elle les caractĂ¨res nĂ©cessaires sous un format Ă©quivalent ? Je pense notamment aux symboles courants $\sum$ ou $\int$, sans parler des lettres grecques. \\

Il existe de multiples faĂ§ons de changer de police sous \LaTeX{} : de maniĂ¨re locale, pour pouvoir juste profiter d'un effet de style ; puis, de maniĂ¨re globale, donc sur tout le document. Et il faut au prĂ©alable connaĂ®tre la police que tu aimerais utiliser.

Naturellement, si tu tiens Ă&nbsp; conserver la police native de \LaTeX{}, tu sais dĂ©jĂ&nbsp; ce que tu dois renseigner dans le prĂ©ambule et tu peux lire la suite pour te cultiver, sans forcĂ©ment devoir l'appliquer.

\subsection*{Empattement et machine Ă&nbsp; Ă©crire}

Tout comme il est possible de mettre un bout de texte en gras grĂ˘ce Ă&nbsp; la commande \verb?\textbf{&lt;texte&gt;}?, tu peux choisir d'enlever l'empattement (\textit{sans serif}) d'un bout de texte grĂ˘ce Ă&nbsp; la commande \verb?\textsf{&lt;texte&gt;}?. Tu peux aussi choisir de le mettre en valeur diffĂ©remment grĂ˘ce Ă&nbsp; la mise en forme \og machine Ă&nbsp; Ă©crire \fg{} (\textit{typewriter}) avec la commande \verb?\texttt{&lt;texte&gt;}?. \\

Si tu veux appliquer un tel changement sur plusieurs paragraphes, tout comme \verb?\textbf{&lt;texte&gt;}? a pour Ă©quivalent \verb?{\bfseries{}&lt;texte&gt;}?, nous avons donc Ă&nbsp; disposition le \verb?\sffamily? et le \verb?\ttfamily?. 

LĂ&nbsp; encore, il faut dĂ©limiter les paragraphes concernĂ©s avec des accolades \verb?{? et \verb?}? ou utiliser de telles commandes Ă&nbsp; l'intĂ©rieur d'un environnement, ou encore utiliser directement un environnement : \verb?\begin{sffamily}? fonctionne parfaitement ! 

Et si jamais tu veux annuler ces modifications (localement ou sur un paragraphe) et donc retrouver la traditionnelle police avec empattement, les commandes \verb?\textrm{&lt;texte&gt;}? et \verb?{\rmfamily{}&lt;texte&gt;}? sont disponibles. \\

Enfin, si tu veux faire de telles modifications sur tout le document, tu peux aussi renseigner une des commandes suivante dans le prĂ©ambule :

\begin{code}{}
% Avec empattement (dĂ©faut)
\renewcommand{\familydefault}{\rmdefault}

% Sans empattement
\renewcommand{\familydefault}{\sfdefault}

% Machine Ă&nbsp; Ă©crire
\renewcommand{\familydefault}{\ttdefault}
\end{code}

\begin{attention}{Ordre de prioritĂ© des commandes}
Les commandes globales sont exĂ©cutĂ©es en premier lors de la compilation. Elles sont donc supplantĂ©es par l'utilisation des environnements, eux-mĂŞmes Ă©crasĂ©s par les commandes locales comme \verb?\texsf{&lt;texte&gt;}?.

Il faut donc bien rĂ©flĂ©chir au rĂ©sultat souhaitĂ©, ainsi qu'Ă&nbsp; l'ordre d'utilisation des commandes prĂ©cĂ©demment dĂ©crites pour y parvenir.
\end{attention}

Voyons maintenant un exemple pour comprendre le fonctionnement de ces nouvelles commandes :

\begin{codedisplay}{L'empattement et la machine Ă&nbsp; Ă©crire}
Texte \textsf{sans empattement} ou au format \texttt{machine Ă&nbsp; Ă©crire}. \\[\baselineskip]

{\sffamily{}C'est amusant Ă&nbsp; faire surtout avec plusieurs paragraphes. \\

Il faut bien tout encadrer avec des \textrm{accolades !}} \\[\baselineskip]

\begin{bfseries}
\ttfamily{}Sinon, je peux aussi la jouer retro sur plusieurs paragraphes, Ă&nbsp; l'intĂ©rieur d'un environnement !
\end{bfseries}
\end{codedisplay}

Bien, maintenant que nous avons vu quelques spĂ©cificitĂ©s quant Ă&nbsp; l'empattement du texte, passons au changement de police.

\subsection*{Les packages de police}

Depuis le dĂ©but de ce guide, je prĂ©conise fortement d'utiliser le package \verb?lmodern? et de s'y tenir. Il existe toutefois d'autre packages qui peuvent le substituer et qui permettent donc d'utiliser de nouvelles polices sous \LaTeX{} : \verb?bookman?, \verb?chancery?, \verb?charter?, \verb?ebgaramond? \&amp; \verb?ebgaramond-maths? (police Garamond), \verb?fourier?, \verb?mathpazo?, \verb?mathptmx? (police Times), \verb?newcent?, \verb?tgbonum?, etc. (liste non exhaustive).

Les packages \verb?times? et \verb?palatino? sont \textbf{obsolĂ¨tes} et sont donc dĂ©conseillĂ©s Ă&nbsp; l'usage. D'autres peuvent ĂŞtre utilisĂ©s, comme \verb?helvet? ou \verb?courier?, mais sans rĂ©sultat pour ma part (aucun changement de police). \\

L'utilisation d'un autre package de police que \verb?lmodern? est donc encore un sujet dĂ©licat, sur lequel il faut ĂŞtre mĂ©fiant et faire des essais au prĂ©alable. Tu peux parfois rencontrer des bizarreries, des erreurs insoupĂ§onnĂ©es. 

Mais si tu veux faire des essais, je recommande particuliĂ¨rement le site suivant : \url{http://www.tug.dk/FontCatalogue/}. En quelque sorte, il s'agit d'une bibliothĂ¨que qui recense les polices accessibles sous \LaTeX{}. Attention Ă&nbsp; bien lire l'aide et les indications affichĂ©es : certaines polices ne fonctionnent qu'avec le moteur de compilation \XeLaTeX{} ! \\

Enfin, il est possible d'appeler tous ces packages localement\footnote{L'appel peut se faire aussi globalement si la commande est appelĂ©e en tout dĂ©but de document.} grĂ˘ce Ă&nbsp; la commande suivante :

\begin{code}{}
\fontfamily{&lt;code-police&gt;}\selectfont
\end{code}

Quant au choix de \verb?&lt;code-police&gt;?, tu peux par exemple renseigner \verb?ptm?, ce qui est Ă©quivalent Ă&nbsp; utiliser le package \verb?mathptmx? (police Times). 

Une liste dĂ©taillĂ©e (mais non exhaustive) est disponible en annexes, page \pageref{annexes-code-police}. Et si tu veux plus d'explications, tu peux te rendre sur le site : \url{https://fr.overleaf.com/learn/latex/Font_typefaces}.

\begin{attention}{La petite subtilitĂ©}
Certaines polices ne font pas la pluie et le beau temps. Par exemple, tu peux ĂŞtre amenĂ© Ă&nbsp; cumuler les commandes, comme mettre du texte en gras et en italique. Jusque lĂ&nbsp;, tout va bien, tu peux mĂŞme le faire de deux faĂ§ons : \begin{center} \verb?\textit{\textbf{test}}? \quad ou \quad  \verb?\textbf{\textit{test}}? \end{center}

As-tu dĂ©jĂ&nbsp; utilisĂ© les petites majuscules ? C'est trĂ¨s propre et vraiment agrĂ©able Ă&nbsp; lire. Pour rappel, tu peux utiliser \verb?\textsc{Texte}? ou \verb?{\scshape{}Paragraphes}?. Toutefois, essaye maintenant : \begin{center} \verb?\textbf{\textsc{Texte}}? \quad et \quad \verb?\textsc{\textbf{Texte}}? \end{center}

Ben zut alors, aucune petites majuscules avec le package \verb?lmodern?. C'est parce que cette police ne gĂ¨re pas une telle configuration. Changer de police est une solution possible : le package \verb?mathptmx?(police Times) est compatible, par exemple.

Fort heureusement, c'est un cas d'utilisation extrĂŞmement rare. C'Ă©tait surtout pour te faire toucher du doigt cette petite subtilitĂ©. Dans ce genre de situation, il faut mieux se rĂ©signer et faire avec le package \verb?lmodern?, pour limiter les problĂ¨mes et les complications.
\end{attention}

\subsection*{Utiliser une police externe Ă&nbsp; \LaTeX{}}

Il n'y a apparemment qu'un seul moyen de pouvoir utiliser une police d'Ă©criture non disponible nativement (ou via des packages) sous \LaTeX{}. Loin de moi l'idĂ©e que la police par dĂ©faut me dĂ©plaise, bien au contraire.

Toutefois, quand il faut taper un rapport officiel et qu'une police spĂ©cifique de Word est imposĂ©e -- Calibri ou Cambria par exemple, Times reste disponible avec le package \verb?mathptmx? --, il n'y a pas d'autres solutions. \\

\textcolor{red!70!black}{\textbf{Cette solution fonctionne uniquement grĂ˘ce Ă&nbsp; une compilation sous \XeLaTeX{}}} (ou \LuaLaTeX{}). Le rĂ©sultat est Ă&nbsp; la hauteur de nos attentes : accents affichĂ©s et utilisation de toutes les autres commandes exactement de la mĂŞme faĂ§on que sous \pdfLaTeX{} (mathĂ©matiques, images, tableaux\dots{}). 

Elle permet d'utiliser toutes les polices disponibles sur ton ordinateur, y compris des polices tĂ©lĂ©chargĂ©es et ajoutĂ©es manuellement par la suite.

Pour tout faire fonctionner correctement, il faut utiliser le prĂ©ambule  suivant :

\begin{code}{Changer de police}
\documentclass[a4paper, 12pt]{report}

% XeLaTeX / LuaLaTeX
\usepackage{fontspec} % Pour le changement de police
\setmainfont{&lt;nom-police&gt;} % Appel de la police (#17)
% Par exemple, &lt;nom-police&gt; = Arial ou Cambria ou Calibri
\usepackage{polyglossia} % Equivalent de babel
\setdefaultlanguage{french} % ParamĂ©trage franĂ§ais

% Autres packages


\begin{document}

Lorem ipsum dolor

\end{document}
\end{code}

\begin{attention}{\textit{Nota Bene}}
La modification de la police d'Ă©criture n'est pas recommandĂ©e dans le cas d'un document qui contient des formules. Les symboles utilisĂ©s par \LaTeX{} peuvent ne pas ĂŞtre (ou ne sont gĂ©nĂ©ralement pas) dĂ©finis dans cette nouvelle police.

Normalement, \LaTeX{} gĂ©nĂ©rera malgrĂ© tout les formules mathĂ©matiques avec la police par dĂ©faut soit Computer Modern.
\end{attention}

Dans le cas d'une \textcolor{orange}{\textbf{modification locale de la police}} d'Ă©criture, il faut utiliser la commande \verb?\fontspec{&lt;nom-police&gt;}?, ce qui donne l'exemple suivant : 

\begin{code}{Changement local de police}
\documentclass[a4paper, 12pt]{report}

% XeLaTeX / LuaLaTeX
\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{polyglossia}
\setdefaultlanguage{french}


\begin{document}

Lorem ipsum dolor {\fontspec{Cambria}nam dui ligula} nulla malesuada porttitor !

\end{document}
\end{code}

\begin{attention}{Quelques petits changements d'habitude\dots{}}
Il faut enfin savoir qu'utiliser ce nouveau prĂ©ambule n'est pas sans de lĂ©gĂ¨res consĂ©quences sur des commandes usuelles : \verb?\degres{}? et \verb?\og mot \fg{}? sont dĂ©finies grĂ˘ce au package \verb?babel?.

Tu peux dĂ©cider de l'ajouter avant l'appel de \verb?polyglossia?, ce qui permet de conserver \verb?\degres{}?. Sinon, tu peux directement Ă©crire le symbole au clavier (sous \Windows{}, \keys{\shift + $\degres{}~)_{~]}$}). Toutefois, les guillemets franĂ§ais sont mal dĂ©finis avec ce nouveau package\dots{} \\

La seule solution consiste donc Ă&nbsp; utiliser les commandes suivantes plus gĂ©nĂ©riques : 

\begin{code}{Guillemets franĂ§ais avec \verb?polyglossia?}
\guillemotleft{} % Guillemet franĂ§ais ouvrant
\guillemotright{} % Guillemet franĂ§ais fermant
\end{code}
\end{attention}

\subsection*{Bilan}

Nous avons donc vu :

\begin{itemize}[label = \ding{213}]
\item comment modifier l'empattement du texte ;

\item comment utiliser un package de police sous \LaTeX{} ;

\item comment utiliser une police externe Ă&nbsp; \LaTeX{}, en compilant sous \XeLaTeX{} et grĂ˘ce au package \verb?fontspec?. \\
\end{itemize}

Changer la police peut se rĂ©vĂ©ler amusant pour certaines rĂ©alisations personnelles mais il faut passer sous \XeLaTeX{} dans le pire des cas, ce qui peut augmenter le temps de compilation -- qui reste raisonnable malgrĂ© tout, je te rassure, tout au plus de l'ordre de quelques dizaines secondes. 

Le format par dĂ©faut proposĂ© depuis le dĂ©but de ce guide convient tout Ă&nbsp; fait et permet de te dĂ©marquer des autres rĂ©alisations. AprĂ¨s tout, ne s'agit-il pas d'une marque de fabrique signĂ©e \LaTeX{} ?

\section{Changer la taille de police}

Si tu es amenĂ© Ă&nbsp; changer de police, tu peux  aussi faire face Ă&nbsp; un autre problĂ¨me : la taille du texte n'est pas automatiquement la mĂŞme d'une police Ă&nbsp; une autre. Certes, il existe des commandes gĂ©nĂ©riques comme \verb?\large?, \verb?\Large?, \verb?\LARGE?, \verb?\huge? ou \verb?\Huge? pour augmenter la taille du texte mais il peut arriver que ce soit totalement insuffisant. Heureusement, il y a une commande toute prĂŞte dans ce cas : 

\begin{code}{Changer la taille de police}
Lorem ipsum dolor {\fontsize{&lt;taille1&gt;}{&lt;taille2&gt;}\selectfont{}nam dui ligula} nulla malesuada porttitor !
% &lt;taille1&gt; : taille de la police (13mm, 215pt, etc.)
% &lt;taille2&gt; : espacement entre les lignes
\end{code}

\verb?&lt;taille2&gt;? remplace alors (localement) la valeur par dĂ©faut de la commande \verb?\baselineskip?. Naturellement, cette commande \verb?\fontsize? s'utilise surtout pour faire un gros titre, dĂ©limitĂ© par un environnement -- \verb?center? par exemple -- pour ne pas affecter le reste du document. 

Et si tu ne sais pas quelle valeur choisir pour \verb?&lt;taille2&gt;?, je ne rĂ©flĂ©chis plus personnellement et prends toujours la moitiĂ© de \verb?&lt;taille1&gt;?, arrondie si besoin.

\section{Inclure des fichiers PDF}

\label{fusion-pdf}Tu es pauvre ? Tu ne veux pas payer Adobe et toutes les options inutiles qu'il propose, dont la fusion de fichiers PDF ? Peu importe : \LaTeX{} sait faire du trĂ¨s bon boulot, gratuitement. \\

Pour inclure des fichiers PDF, il faut utiliser le package \verb?pdfpages? et utiliser la commande : 

\begin{code}{Inclure un fichier PDF}
% Compilation sous pdfLaTeX / XeLaTeX / LuaLaTeX
\includepdf[pages = debut-fin]{&lt;nom-PDF&gt;}
\end{code}

La commande insĂ¨re le document \verb?&lt;nom-PDF&gt;? Ă&nbsp; l'endroit oĂą la commande est appelĂ©e. Le document doit se situer dans le mĂŞme dossier que le fichier \verb?.tex?. Sinon, il faut prĂ©ciser le chemin complet du document. Si tu Ă©cris \verb?[pages = -]?, le document entier sera inclus. 

Du coup, il ne te reste plus qu'Ă&nbsp; placer cette commande autant de fois que le nombre de fichiers Ă&nbsp; fusionner et le rĂ©sultat \LaTeX{} contiendra donc tes diffĂ©rents fichiers les uns Ă&nbsp; la suite des autres. Et si jamais tu veux mĂ©langer les pages, tu peux renseigner l'option \verb?pages? de la maniĂ¨re suivante par exemple : \verb?pages = {1,3,2,4,6,5}?.

Tu peux aussi te servir de cette commande pour insĂ©rer une page d'un rapport PDF dans ton propre rapport ou un tableau Excel exportĂ© en PDF : c'est des fois plus simples que de tout recopier sous \LaTeX{}.

\begin{attention}{\textit{Nota Bene}}
Le paramĂ¨tre \verb?&lt;nom-PDF&gt;? ne doit contenir ni espace ni accent. C'est le mĂŞme principe que pour les images. \\

Pour rappel, la \textbf{compilation} doit se faire \textbf{uniquement} avec \pdfLaTeX{} ou \XeLaTeX{} (ou \LuaLaTeX{}).
\end{attention}

Il existe d'autres options, comme faire une rotation Ă&nbsp; la page (\verb?landscape?, \verb?angle = &lt;rotation&gt;?), ajuster automatiquement le format (\verb?fitpaper?), etc. Pour les connaĂ®tre ou si tu en as besoin, je te laisse consulter la documentation du package : \url{https://www.ctan.org/pkg/pdfpages}. \\

Pour prĂ©senter un point plus technique, il est possible de rĂ©aliser des rĂ©fĂ©rences sur un tel fichier (renvoi de pages) mais il existe une astuce pour faire en sorte que le renvoi et le numĂ©ro de page correspondent.

Pour ce faire, il faut crĂ©er un compteur\footnote{Si tu es curieux, tu peux commencer Ă&nbsp; approcher la notion de compteur ici : \url{http://fr.wikibooks.org/wiki/LaTeX/Programmer_avec_LaTeX\#Compteurs}} dans le prĂ©ambule de la maniĂ¨re suivante : \verb?\newcounter{pdfpage}?, puis procĂ©der ainsi (utilisation de l'option \verb?pagecommand? de \verb?\includepdf?) :

\begin{code}{RĂ©fĂ©rence d'un fichier PDF insĂ©rĂ©}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{pdfpages} % Le package
\newcounter{pdfpage} % Le compteur

\usepackage{hyperref}


\begin{document}

J'ai beaucoup de texte Ă&nbsp; Ă©crire \dots{}

% Enlever le % ci-aprĂ¨s
%\includepdf[pages = -, pagecommand = {\refstepcounter{pdfpage}\label{reference}}]{&lt;nom-PDF&gt;}

% pagecommand : faire un peu ce qu'on veut
% refstepcounter : permet le bon renvoi
% label : crĂ©ation de la rĂ©fĂ©rence

Je viens d'intĂ©grer un document trĂ¨s important. Pour le consulter, aller Ă&nbsp; la page \pageref{reference}.

\end{document}
\end{code}

Si cette solution fonctionne pour un document d'une page, il faut ruser pour l'appliquer sur un document plus long ou pour diffĂ©rents documents :

\begin{code}{RĂ©fĂ©rence de plusieurs fichiers PDF insĂ©rĂ©s}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{pdfpages} % Le package
\newcounter{pdfpage} % Le compteur

\usepackage{hyperref}


\begin{document}

%\includepdf[pages = -1, pagecommand = {\refstepcounter{pdfpage}\label{ref-debut}}]{&lt;nom-PDF&gt;} % DĂ©but document
%\includepdf[pages = 2-12]{&lt;nom-PDF&gt;} % Document
%\includepdf[pages = 13-, pagecommand = {\refstepcounter{pdfpage}\label{ref-fin}}]{&lt;nom-PDF&gt;} % Fin document

Le document insĂ©rĂ© est disponible de la page \pageref{ref-debut} Ă&nbsp; \pageref{ref-fin}.

\end{document}
\end{code}

\begin{attention}{NumĂ©rotation des PDF insĂ©rĂ©s}
Par dĂ©faut, la numĂ©rotation des pages se poursuit lors de l'inclusion de fichiers PDF avec la commande \verb?\includepdf?. Il faut donc veiller Ă&nbsp; ce que ces derniers n'en aient pas (pour Ă©viter les incohĂ©rences) ou supprimer l'insertion du numĂ©ro de page grĂ˘ce Ă&nbsp; \verb?pagecommand?.
\end{attention}

Cette derniĂ¨re idĂ©e tombe Ă&nbsp; pic : Ă©tudions dĂ©sormais la gestion des en-tĂŞtes et pieds de page !

\section{En-tĂŞtes et pieds de page}

Par dĂ©faut, \LaTeX{} propose principalement trois styles pour les en-tĂŞtes et pieds de page. Ces derniers peuvent ĂŞtre appelĂ©s \textbf{n'importe oĂą dans le document} grĂ˘ce Ă&nbsp; la commande \verb?\pagestyle{&lt;style&gt;}? : \\

\begin{itemize}[label = \ding{213}]
\item le style \verb?empty? : aucune en-tĂŞte et aucun pied de page ne seront affichĂ©s. Pour utiliser ce style, il faut donc utiliser la commande \verb?\pagestyle{empty}? ;
	
\item le style \verb?plain? \textcolor{brown!70!black}{(\textit{style par dĂ©faut})} : seul le numĂ©ro de page est affichĂ©, au centre du pied de page. Comme c'est le style par dĂ©faut, il n'y a aucune commande Ă&nbsp; indiquer. 

Toutefois, si jamais tu as utilisĂ© un autre style et que tu veux revenir Ă&nbsp; celui-ci, son appel se fait donc grĂ˘ce Ă&nbsp; la commande \verb?\pagestyle{plain}? ;
	
\item le style \verb?headings? : apparemment, les en-tĂŞtes et les pieds de page sont dĂ©finis automatiquement selon la classe de document utilisĂ©e. Je ne l'ai encore jamais utilisĂ© jusqu'Ă&nbsp; prĂ©sent. \\
\end{itemize}

Bon, il faut reconnaĂ®tre que nous n'allons pas aller bien loin avec ces maigres possibilitĂ©s. For heureusement, il existe un package indispensable, spĂ©cialisĂ© dans la personnalisation des en-tĂŞtes et pieds de page : le package \verb?fancyhdr?.

Ce package permet de dĂ©finir son propre style pour pouvoir l'appeler encore plus facilement par la suite Ă&nbsp; l'intĂ©rieur de ton document. Tu peux le crĂ©er grĂ˘ce Ă&nbsp; la commande \verb?\fancypagestyle? et en respectant la syntaxe gĂ©nĂ©rale suivante : 

\begin{code}{CrĂ©ation d'un style de page}
% Dans le prĂ©ambule de ton fichier .tex

\usepackage{fancyhdr}
\fancyhf{} % Tout effacer
\fancypagestyle{&lt;nom-style&gt;}{
	% DĂ©finition du style
	&lt;en-tĂŞte&gt;
	&lt;pied&gt;
}
\pagestyle{&lt;nom-style&gt;}
\end{code}

Comme tu peux le constater, tu dĂ©finis le style et tu lui associes un nom, ce qui te permet de l'appeler Ă&nbsp; ta guise par la suite, surtout si tu veux basculer avec un style natif de \LaTeX{} (\verb?empty? ou \verb?plain? par exemple).

Quant Ă&nbsp; la dĂ©finition du style en elle-mĂŞme, tu peux dĂ©finir les en-tĂŞtes et pieds de page respectivement grĂ˘ce aux commandes :

\begin{code}{}
\fancyhead[&lt;zone&gt;]{&lt;contenu&gt;} % Perso en-tĂŞte
\fancyfoot[&lt;zone&gt;]{&lt;contenu&gt;} % Perso pied
\end{code}

Si \verb?&lt;contenu&gt;? est totalement libre (choix de l'utilisateur), \verb?&lt;zone&gt;? est dĂ©fini de la maniĂ¨re suivante :

\begin{table}[H]
\centering
\begin{tabular}{ll}
\verb?&lt;zone&gt;? &amp; {Description} \\ \midrule
\verb?L? &amp; champ gauche pour toutes les pages \\
\verb?LE? &amp; champ gauche pour les pages paires \\
\verb?LO? &amp; champ gauche pour les pages impaires \\
\verb?C? &amp; champ central pour toutes les pages \\
\verb?CE? &amp; champ central pour les pages paires \\
\verb?CO? &amp; champ central pour les pages impaires \\
\verb?R? &amp; champ droit pour toutes les pages \\
\verb?RE? &amp; champ droit pour les pages paires \\
\verb?RO? &amp; champ droit pour les pages impaires
\end{tabular}
\end{table}

Par ailleurs, il existe quelques commandes pratiques pour \verb?&lt;contenu&gt;? :

\begin{itemize}[label = \ding{118}]
\item \verb?\thepage? : affiche le numĂ©ro de la page courante ;
	
\item \verb?\thesection? : affiche le numĂ©ro de la section courante ;
	
\item \verb?\thechapter? avec un document de classe \verb?book? ou \verb?report? : affiche le numĂ©ro du chapitre courant ;
	
\item \verb?\leftmark? : avec un document de classe \verb?article?, affiche le nom de la section courante ; avec un document de classe \verb?book? ou \verb?report?, affiche le nom du chapitre courant ;
	
\item \verb?\rightmark? : avec un document de classe \verb?article?, affiche le nom de la sous-section courante ; avec un document de classe \verb?book? ou \verb?report?, affiche le nom de la section courante. \\
\end{itemize}

Enfin, tu peux dĂ©finir les Ă©paisseurs des traits de sĂ©paration grĂ˘ce aux commandes : 

\begin{code}{}
\renewcommand{\headrulewidth}{Ă©paisseur} % SĂ©parateur en-tĂŞte
\renewcommand{\footrulewidth}{Ă©paisseur} % SĂ©parateur pied
\end{code}

Je pense t'avoir bien assommĂ© avec toute cette thĂ©orie. Si tu veux connaĂ®tre la personnalisation que j'utilise pour ce guide, la voici :

% Espace volontaire dans le code (\headrule) ou pas de cĂ©sure par listing (commande trop longue)
\begin{code}{Configuration personnelle de \verb?fancyhdr?}
\usepackage{fancyhdr, fourier-orns} % En-tĂŞtes et pieds de pages
\fancyhf{} % Tout effacer
\fancypagestyle{main}{
	\renewcommand{\headrule}{\hrulefill\raisebox{-2.1pt} {\quad\decofourleft\decotwo\decofourright\quad}\hrulefill}
	\fancyhead[L]{\textsc{\nouppercase{\leftmark}}} % Mettre l'en-tĂŞte en small capitals
	\renewcommand{\footrulewidth}{0pt}
	\fancyfoot[C]{\thepage}
}
\end{code}

Pour info, sache que je n'ai rien inventĂ©. J'ai trouvĂ© le code dans la documentation du package \verb?fancyhdr? et je l'ai adaptĂ©. Comme quoi, tu peux faire de belles dĂ©couvertes avec un peu de lecture technique ! Et comme un petit exemple ne fait jamais de mal, voici un autre exemple, illustrĂ© cette fois :

\begin{coderesult}{Utilisation concrĂ¨te de \verb?fancyhdr?}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{lipsum, fancyhdr, pifont}
\fancyhf{} % Tout effacer
% Autre personnalisation
\fancypagestyle{main}{
	\renewcommand{\headrule}{\hspace*{\fill} \ding{118} \quad \ding{118} \quad \ding{118} \hspace*{\fill}}
	\fancyfoot[LO]{\thepage\quad\hrulefill}
}


\begin{document}

\pagestyle{main}
\lipsum[1-3]

\newpage

\pagestyle{plain}
\lipsum[4-6]

\end{document}
\end{coderesult}

\begin{attention}{\LaTeX{} et les pages paires \&amp; impaires}
\og Dis donc, je viens d'essayer ton exemple mais l'affichage sur les pages paires et impaires ne fonctionne pas ! M'aurais-tu menti ??? \fg{} \\

Et oui, cela ne fonctionne pas et je voulais que tu touches du doigt ce problĂ¨me, au moins une fois, pour pouvoir en ĂŞtre conscient. 

Un document de classe \verb?report? est, par dĂ©faut, considĂ©rĂ© pour ĂŞtre imprimĂ© uniquement en recto, mĂŞme si tu peux choisir recto-verso au moment de l'impression (via les options proposĂ©es par l'imprimante). \LaTeX{} ne fait donc pas la diffĂ©rence entre les pages paires et impaires. \\

Pour rĂ©soudre ce problĂ¨me, il faut donc dire Ă&nbsp; \LaTeX{} que ton document est en recto-verso. C'est possible grĂ˘ce Ă&nbsp; une \textbf{option} supplĂ©mentaire dans le \verb?documentclass? : \verb?twoside?.

Cette option entraĂ®ne alors des marges diffĂ©rentes selon les pages paires et impaires. \`A la lecture depuis ton Ă©cran, le rĂ©sultat peut paraĂ®tre dĂ©stabilisant\dots{} et pourtant, si tu y rĂ©flĂ©chis 2 minutes 15, c'est parfaitement logique si tu veux faire relier ton rapport !

Toutefois, \emph{si tu tiens Ă&nbsp; avoir une feuille centrĂ©e,} avec des marges identiques Ă&nbsp; gauche et Ă&nbsp; droite, le package \verb?geometry? constitue alors la seule solution.
\end{attention}

Bon, que me reste-t-il Ă&nbsp; prĂ©senter ? Ah, je sais : une petite astuce, simple et courte, histoire de ce se reposer un peu.

\section{Centrer verticalement du texte}

\`A l'heure actuelle, la solution la plus simple et fonctionnelle pour centrer verticalement du texte -- comme un rĂ©sumĂ© par exemple -- repose sur la commande \verb?\vspace*{\fill}? : 

\begin{codedisplay}{Centrage vertical}
\vspace*{\fill}
Paragraphe Ă&nbsp; centrer

verticalement sur la page
\vspace*{\fill}
\end{codedisplay}

ConcrĂ¨tement, \verb?\fill? est une distance Ă©lastique propre Ă&nbsp; \LaTeX{}. Ici, il s'agit de l'espace blanc restant sur la page, interprĂ©tĂ© verticalement grĂ˘ce Ă&nbsp; la commande \verb?\vspace*? (un \verb?\vspace? forcĂ©, pour faire simple). Et comme la commande complĂ¨te est utilisĂ©e 2 fois, \LaTeX{} centre verticalement le texte.\footnote{Il s'agit d'une explication ``imagĂ©e', pour comprendre le fonctionnement gĂ©nĂ©ral de cette formule. Je pense que les notions en jeu sont plus complexes et je ne me suis pas encore penchĂ© sur le sujet.}

Tu peux toutefois avoir un rĂ©sultat plus personnalisable grĂ˘ce Ă&nbsp; la commande \verb?\stretch{i}? Ă&nbsp; la place de \verb?\fill?, avec \verb?i? un nombre strictement positif.

\begin{coderesult}[comment style = {raster columns = 3, drop lifted shadow}]{Centrage simple \&amp; personnalisĂ©}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern, lipsum}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\begin{document}

\vspace*{\fill}
\lipsum[1-2]
\vspace*{\fill}

\newpage

\vspace*{\fill}
\lipsum[3-4]
\vspace*{\stretch{4}}

\end{document}
\end{coderesult}

Techniquement, la commande \verb?\vfill? existe et reste bien plus simple Ă&nbsp; Ă©crire\dots{} sauf que, pour ma part, elle fonctionne une fois sur deux, voire jamais ! Pourquoi ? Je n'ai pas encore trouvĂ© d'explications satisfaisantes Ă&nbsp; ce sujet. \\

S'il faut aussi \textcolor{blue!75!green}{centrer le texte horizontalement, l'environnement \verb?center? convient parfaitement.} 

La commande \verb?\hfill? doit plutĂ´t ĂŞtre utilisĂ©e pour Ă©quilibrer l'espacement entre des blocs, comme des \verb?minipage? ou l'intĂ©rieur d'un tableau par exemple.

En cas de problĂ¨me ou si \verb?hfill? ne fournit pas le rĂ©sulta escomptĂ©, tu peux aussi forcer le centrage horizontal avec les commandes \verb?\hspace*{\fill}? ou \verb?\hspace*{\stretch{i}}?.

\section{GĂ©nĂ©rer une bibliographie}

\label{generer-bibliographie}Comme \LaTeX{} peut vraiment tout faire, en ce qui concerne le traitement de texte, pourquoi se priver et ne pas gĂ©nĂ©rer facilement de (magnifiques) bibliographies ? \\

Si je commence Ă&nbsp; avoir un peu d'expĂ©rience avec les bibliographies, je n'en rĂ©alise pas tous les jours pour en comprendre toutes les subtilitĂ©s. Si mes explications te semblent un peu confuses, n'hĂ©site pas Ă&nbsp; te rĂ©fĂ©rer aux sites suivants pour saisir les bases et complĂ©ter mes explications :

\begin{itemize}[label = \ding{213}]
\item \url{http://www.tuteurs.ens.fr/logiciels/latex/bibtex.html} ;

\item \url{http://www.xm1math.net/doculatex/bibtex.html}.
\end{itemize}

\subsection*{CrĂ©ation de la base de donnĂ©es bibliographiques}

Sous \LaTeX{}, la premiĂ¨re Ă©tape est la crĂ©ation Ă&nbsp; proprement parler de ta bibliographie, sous la forme d'une ``base de donnĂ©es''. Pour cela, ouvrons notre Ă©diteur \LaTeX{} (\Texmaker{}) puis crĂ©ons un nouveau document. LĂ&nbsp;, renseignons les lignes suivantes qui nous serviront de test par la suite :

\begin{code}{Une premiĂ¨re bibliographie}
@Article{Johnson,
	author = {Edgar G. Johnson and Alfred O. Nier},
	title = {Angular Aberrations in Sector Shaped Lenses},
	journal = {Physical Review},
	year = {1953},
	volume = {91},
	number = {1},
}

@Phdthesis{Zoran,
	author = {Zoran Racic},
	title = {\'Etude et essais du spectromĂ¨tre Ă&nbsp;  plasma},
	publisher = {UniversitĂ© Pierre et Marie Curie},
	year = {1996}
}

@Misc{opensource,
	author = {{Open Source Initiative}},
	title = {The Open Source Definition},
	howpublished = {\url{http://opensource.org/osd}},
	note = {accĂ¨s le 10/10/2017}
}
\end{code}

Ensuite, il faut enregistrer le fichier. Ce doit sĂ»rement ĂŞtre un peu la mĂŞme recette pour tous les Ă©diteurs de texte en gĂ©nĂ©ral. Sous \Texmaker{}, il faut procĂ©der ainsi : \begin{enumerate}
\item Barre de menus.

\item \verb?Fichier? puis \verb?Enregistrer sous?.

\item Donner un nom au fichier, comme \verb?biblio_type.bib?. \\
\end{enumerate}

L'extension \verb?.bib? correspond au format employĂ© sous \LaTeX{} pour gĂ©rer une base de donnĂ©es bibliographique. C'est trĂ¨s important car, lors de la compilation, \LaTeX{} va chercher un fichier \verb?.bib?, le lire et crĂ©er la bibliographie en consĂ©quence.

\begin{conseil}{Le conseil personnel}
Je recommande de conserver le fichier \verb?biblio_type.bib? dans un dossier Ă&nbsp; part en tant que \textit{template}. Ainsi, tu n'auras pas Ă&nbsp; le crĂ©er Ă&nbsp; chaque fois mais juste Ă&nbsp; faire un copier-coller du fichier en question. \\

Ensuite, je ne vais pas m'Ă©tendre sur les diverses possibilitĂ©s de renseigner une bibliographie (article, thĂ¨se, livre, site Internet\dots{}). Internet fournit suffisamment d'exemples et \Texmaker{} propose des commandes Ă&nbsp; trous : dans la barre de menus, choisir \verb?Bibliographie? puis \verb?Bibtex? puis sĂ©lectionner le type de document Ă&nbsp; renseigner pour la bibliographie. \\

Personnellement, je viens d'en apprendre un peu plus sur les bibliographies grĂ˘ce Ă&nbsp; des explications dĂ©veloppĂ©es dans l'ouvrage \textit{\LaTeX{} - How To}, disponible au format numĂ©rique ici mĂŞme : \url{http://www.latex-howto.be/book/download_fr} (chapitre 10 pour les bibliographies). 
\end{conseil}

Si notre base de donnĂ©es bibliographiques est dĂ©sormais crĂ©Ă©e, il peut ĂŞtre intĂ©ressant de comprendre son fonctionnement et la syntaxe employĂ©e dans les fichiers \verb?.bib? : \begin{itemize}[label = \ding{118}]
\item une entrĂ©e dans la base de donnĂ©es bibliographique commence \textbf{toujours} par un arobase \verb?@?, suivi du nom du document (parmi ceux disponibles), comme \verb?Article? ou \verb?Phdthesis? dans le cas prĂ©sent ;

\item le premier Ă©lĂ©ment qui arrange juste aprĂ¨s -- hormis les accolades de sĂ©paration obligatoires -- est un mot, qui va servir de clef, de rĂ©fĂ©rence pour appeler cette entrĂ©e bibliographique par la suite.

Comme pour les Ă©tiquettes, il est donc \textbf{interdit} de mettre des espaces ou ces accents !

\item ensuite, il faut renseigner les diffĂ©rents champs de ton entrĂ©e bibliographique (auteur, Ă©diteur, titre, annĂ©e, etc.), avec les donnĂ©es de chaque champ entre accolades et une sĂ©paration des champs par une virgule.

Certains champs sont obligatoires, d'autres optionnels. Si tu ajoutes une entrĂ©e bibliographique par l'intermĂ©diaire de \Texmaker{}\footnote{Pour rappel, dans la barre de menus, choisir \verb?Bibliographie? puis \verb?Bibtex? puis sĂ©lectionner le type de document Ă&nbsp; renseigner pour la bibliographie.}, ces derniers sont facilement repĂ©rables : ils commencent par \verb?OPT? ;

\item enfin, s'il y a plusieurs auteurs, il faut bien les sĂ©parer par un \verb?and?, et non une virgule ou un \verb?&amp;? (esperluette). 

Et si jamais il y a un prĂ©nom ou un nom composĂ©, il faut ``doubler les accolades'' pour bien sĂ©parer le prĂ©nom du nom ou le formatage final lors de la crĂ©ation te semblera bizarre ! Par exemple : \verb?author = {AndrĂ© {Mouche Baie}}?.
\end{itemize}

\subsection*{GĂ©nĂ©ration de la bibliographie}

Bon, nous avons crĂ©Ă© la bibliographie. Il faut maintenant indiquer Ă&nbsp; \LaTeX{} de la gĂ©nĂ©rer et de l'introduire dans le document. Pour ce faire, il faut utiliser les commandes suivantes, \textbf{dans cet ordre et Ă&nbsp; l'endroit oĂą doit apparaĂ®tre la bibliographie :} \begin{itemize}[label = \ding{213}]
\item \verb?\bibliographystyle{smfplain}? : pour gĂ©nĂ©rer la bibliographie avec des normes franĂ§aises. Sans le \verb?smf?, la bibliographie est gĂ©nĂ©rĂ©e selon des normes amĂ©ricaines.\footnote{Il existe d'autres formats franĂ§ais de bibliographie mais \verb?smfplain? constitue une bonne entrĂ©e en matiĂ¨re. SMF est l'acronyme de SociĂ©tĂ© MathĂ©matique de France.}

Par exemple, le \verb?and? dans le fichier \verb?.bib? pour sĂ©parer les auteurs reste tel quel avec le format amĂ©ricain \verb?plain?, alors qu'il est remplacĂ© par un \verb?et? avec le format franĂ§ais \verb?smfplain? (entre autres modifications donc) ;

\item \verb?\?\verb?bibliography{&lt;nom_fichier&gt;}? : pour indiquer le fichier \verb?.bib? qui contient notre bibliographie. Ici, \verb?&lt;nom_fichier&gt;? = \verb?biblio_type?. \\
\end{itemize}

Puis vient la compilation. Il faut alors procĂ©der de la maniĂ¨re suivante : \begin{enumerate}
\item Lancer la compilation sous \pdfLaTeX{}, pour la premiĂ¨re compilation du document.

\item Lancer \BibTeX{}, pour la gĂ©nĂ©ration de la bibliographie dans des fichiers annexes (cf. les options \Texmaker{} pour connaĂ®tre le raccourci clavier associĂ©).

\item Relancer \pdfLaTeX{} deux fois, pour l'intĂ©gration de la bibliographie et la bonne implĂ©mentation des rĂ©fĂ©rences et du sommaire.
\end{enumerate}

\begin{conseil}{Le conseil personnel}
Changer la \og compilation rapide \fg{} de \Texmaker{} avec un choix qui intĂ¨gre le moteur \BibTeX{} simplifie aussi grandement la vie.
\end{conseil}

Maintenant, si tu as lancĂ© la compilation, tu dois te dire que c'est nul car rien n'apparaĂ®t\dots{} et c'est normal ! \LaTeX{} ne va pas gĂ©nĂ©rer une bibliographie si tu n'y fais pas rĂ©fĂ©rence. 

Te souviens-tu de la clef/Ă©tiquette crĂ©Ă©e lors de la crĂ©ation de ta base de donnĂ©es \verb?.bib? ? C'est ici qu'elle entre en jeu avec la commande \verb?\cite{&lt;clef&gt;}?. Il te suffit donc de placer cette commande Ă&nbsp; l'endroit oĂą tu souhaites faire une rĂ©fĂ©rence Ă&nbsp; ta bibliographie.

Et voilĂ&nbsp;, c'est tout. Il ne faut pas en savoir plus pour gĂ©nĂ©rer une bibliographie. Tu as donc dĂ©sormais toutes les cartes en main pour t'y mettre et expĂ©rimenter.

\begin{conseil}{Faire fonctionner \verb?hyperref? avec la bibliographie}
Il peut ĂŞtre frustrant que les liens dans la bibliographie ne soient pas coupĂ©s, ou qu'un clic sur un Ă©lĂ©ment citĂ© ne renvoie pas Ă&nbsp; sa ligne dans la bibliographie. \\

Pour ce faire, il faut charger les packages ci-aprĂ¨s, \textbf{dans l'ordre suivant} (ou il y aura des conflits entre les packages et des erreurs de compilation) :

\begin{code}{\verb?hyperref? et la bibliographie}
\usepackage[nottoc, notlof, notlot]{tocbibind} % Pour inclure la bibliographie dans le sommaire
\usepackage[hyphens]{url} % Pour couper les urls dans la bibliographie
\usepackage[breaklinks]{hyperref} % Inclure les autres options dĂ©jĂ&nbsp; abordĂ©es
\usepackage[hyphenbreaks]{breakurl} % Idem package url
\end{code}
\end{conseil}

Du coup, pour rĂ©sumer tout ce qui a Ă©tĂ© vu durant cette partie, ton fichier \verb?.tex? doit ressembler Ă&nbsp; :

\begin{code}{Bibliographie : code complet}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[nottoc, notlof, notlot]{tocbibind} % Pour inclure la bibliographie dans le sommaire
\usepackage[hyphens]{url} % % Pour des cĂ©sures correctes dans les URLs, y compris dans la bibliographie
\usepackage[pdfauthor = {{PrĂ©nom Nom}}, pdftitle = {{Titre document}}, pdfstartview = Fit, pdfpagelayout = SinglePage, pdfnewwindow = true, bookmarksnumbered = true, breaklinks, colorlinks, linkcolor = red, urlcolor = black, citecolor = cyan, linktoc = all]{hyperref} % Renvois -- Options Adobe/lecteur PDF
\usepackage[hyphenbreaks]{breakurl} % Idem package url


\begin{document}

Mon document se rĂ©fĂ¨re Ă&nbsp; \cite{Johnson, Zoran} mais des rĂ©ponses sont aussi disponibles sur Internet \cite{opensource}.
% PossiblitĂ© de cumuler les \cite dans une mĂŞme commande

\bibliographystyle{smfplain}
% Enlever le % ci-aprĂ¨s
%\bibliography{biblio_type}

\end{document}
\end{code}

Tous ces Ă©lĂ©ments te semblent compliquĂ©s ? C'est bien normal au dĂ©but. LĂ&nbsp; encore, il faut comprendre que tu sĂ©pares le fond de la forme : tu crĂ©es une base de donnĂ©es bibliographique, totalement dĂ©sordonnĂ©e, puis \LaTeX{} affiche uniquement les Ă©lĂ©ments auxquels tu fais rĂ©fĂ©rence. 

En parallĂ¨le, \LaTeX{} gĂ¨re automatiquement la mise en forme de la bibliographie et classe de lui-mĂŞme les auteurs par ordre alphabĂ©tique ! Pas mal, non ? C'est donc un peu compliquĂ© au dĂ©but mais c'est extrĂŞmement puissant.

\subsection*{Ajout manuel d'une bibliographie}

Toutefois, si jamais tu n'as que 2-3 rĂ©fĂ©rences Ă&nbsp; faire, il existe une maniĂ¨re plus simple de gĂ©nĂ©rer une bibliographie. Tu peux la crĂ©er toi-mĂŞme grĂ˘ce Ă&nbsp; l'environnement \verb?thebibliography?. 

Il suffit alors de compiler seulement 2 fois avec \pdfLaTeX{} pour bien intĂ©grer les rĂ©fĂ©rences et c'est tout ! Nul besoin dĂ©sormais de passer par \BibTeX{}. \\

Je te laisse reprendre le code ci-aprĂ¨s et digĂ©rer les commentaires qui suivent :

\begin{code}{Ajout manuel d'une bibliographie}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\begin{document}

La bibliothĂ¨que propose trois livres \cite{latexpratique, texbook, latexcompanion} : les livres \cite{latexpratique, latexcompanion} traitent de \LaTeX{} ; le livre \cite{texbook} traite de \TeX{}.

\begin{thebibliography}{KNU90}
\bibitem{latexpratique} Christian \textsc{Rolland}. \emph{\LaTeX{} par la pratique}. O'Reilly, 1999.

\bibitem[KNU90]{texbook} Donald E. \textsc{Knuth}. \emph{The \TeX{}book}. Addison-Wesley, 1990.

\bibitem{latexcompanion} Frank \textsc{Mittelbach} et Michel \textsc{Goosens}. \emph{The \LaTeX{} Companion}. Addison-Wesley, 2004.
\end{thebibliography}

\end{document}
\end{code}

Pour comprendre ce qu'il se passe, voici quelques explications : \begin{itemize}[label = \ding{118}]
\item dĂ©but de la crĂ©ation manuelle de la bibliographie avec l'appel suivant : \verb?\begin{thebibliography}{&lt;affichage&gt;}?.

\verb?&lt;affichage&gt;? est une notion assez particuliĂ¨re que je vais dĂ©tailler ci-aprĂ¨s. Elle reste toutefois \textbf{optionnelle} mais il faut laisser les doubles accolades \verb?{}? aprĂ¨s l'appel de l'environnement \verb?thebibliography?, sous peine de rencontrer des erreurs lors de la compilation ;

\item crĂ©ation d'une entrĂ©e dans la bibliographie grĂ˘ce Ă&nbsp; la commande suivante : \verb?\bibitem[&lt;rĂ©f&gt;]{&lt;clef&gt;}?, suivie de l'entrĂ©e en question (titre, auteur, etc.).

Ici, aucun formatage n'est appliquĂ©e (titre en italique, nom de l'auteur en majuscules ou en petites capitales\dots{}) donc tu dois le faire et respecter les rĂ¨gles en vigueur !

\verb?&lt;rĂ©f&gt;? est lui aussi optionnel. Il permet de mettre un nom comme rĂ©fĂ©rence Ă&nbsp; la place de la numĂ©rotation, utilisĂ©e par dĂ©faut. \\
\end{itemize}

Et c'est maintenant qu'il y a une subtilitĂ© Ă&nbsp; saisir ! Si tu choisis d'utiliser une \verb?&lt;rĂ©f&gt;? de ton cru, comme \verb?KNU90? dans l'exemple fourni, tu peux constater que l'alignement dans la bibliographie n'est pas des plus esthĂ©tiques.

Intervient alors \verb?&lt;affichage&gt;? : il faut renseigner la valeur la plus longue (en terme de nombre de caractĂ¨res) parmi les \verb?&lt;rĂ©f&gt;? dĂ©finies. \LaTeX{} procĂ¨de alors au dĂ©calage de toutes les entrĂ©es dans ta bibliographie : tout est dĂ©sormais bien alignĂ© !

\subsection*{Bilan : de la bonne crĂ©ation d'une bibliographie}

Pourquoi se priver d'un tableau synthĂ©tique pour rĂ©sumer toutes ces nouvelles notions ? Comparons donc l'usage d'un fichier \verb?.bib? Ă&nbsp; l'environnement \verb?thebibliography?.

\begin{longtable}{p{0.45\linewidth}p{0.45\linewidth}}
{\hspace*{\fill}\verb?.bib?\hspace*{\fill}} &amp; {\hspace*{\fill}\verb?thebibliography?\hspace*{\fill}} \\ \midrule
\endhead
&amp; \hfill\textit{(suite sur la page suivante)} \\
\endfoot
\multicolumn{2}{@{\hrulefill}c@{\hrulefill}}{\raisebox{-3pt}{~~\textsc{Fin du tableau}~~}}
\endlastfoot
Base de donnĂ©es \verb?.bib? &amp; Dans le fichier \verb?.tex? \\
\textcolor{Red}{Fichier supplĂ©mentaire Ă&nbsp; gĂ©rer} &amp; \textcolor{Green}{Dans le code} \\
\textcolor{Green}{Gestion automatique de la mise en forme} (remplissage de champs dans une ``base de donnĂ©es'') &amp; \textcolor{Red}{Mise en forme par l'utilisateur} \\
\textcolor{Green}{Classement par ordre alphabĂ©tique des auteurs} (par nom) &amp; \textcolor{Red}{EntrĂ©es bibliographiques affichĂ©es dans l'ordre de leur crĂ©ation} \\
\textcolor{Green}{CohĂ©rence de la bibliographie} (affichage des rĂ©fĂ©rences citĂ©es) &amp; \textcolor{Red}{Affichage de toute la bibliographie crĂ©Ă©e} \\
Compilation sous \pdfLaTeX{} + inclure \BibTeX{} &amp; Tous les modes de compilation tolĂ©rĂ©s, pas besoin de \BibTeX{}
\end{longtable}

Pour conclure, il n'y a pas de bonnes ou de mauvaises mĂ©thodes. Tout dĂ©pend uniquement de l'utilisation que tu dois en faire.

\textcolor{cyan!70!black}{\emph{Personnellement},} pour une courte bibliographie, je la ferai dĂ©sormais Ă&nbsp; la main, quitte Ă&nbsp; la gĂ©nĂ©rer avec \BibTeX{} initialement pour voir la mise en forme, comme c'est conĂ§u pour.

Sinon, Ă&nbsp; partir de 4-5 ouvrages Ă&nbsp; citer, je ne rĂ©flĂ©chis plus et j'implĂ©mente tout dans un fichier \verb?.bib?. \\

Allez, passons Ă&nbsp; la cerise sur le gĂ˘teau : la gĂ©nĂ©ration d'un index. Ce serait dommage de s'en priver !

\section{GĂ©nĂ©rer un index}

\label{generer-index}\begin{definition}{DĂ©finition d'un index}
{\noindent\huge\bfseries\color{gray!75}\og}

L'index est un outil du livre qui consiste en une liste organisĂ©e d'Ă©lĂ©ments appelĂ©s termes (mots, concepts, objets\dots{}) jugĂ©s pertinents pour le lecteur, accompagnĂ©s de leur adresse -- c'est-Ă&nbsp;-dire la place oĂą ils sont Ă©voquĂ©s dans l'ouvrage. Il permet au lecteur de localiser rapidement un Ă©lĂ©ment dans l'ouvrage, sans ĂŞtre contraint de le lire intĂ©gralement. 

{\hfill\huge\bfseries\color{gray!75}\fg} \\

\begin{flushright}
WikipĂ©dia -- Disponible sur :

\url{https://fr.wikipedia.org/wiki/Index_terminologique}
\end{flushright}
\end{definition}

Pour ĂŞtre un poil plus prĂ©cis, l'organisation d'un index se fait dans l'ordre alphabĂ©tique. Tu conviendras que c'est quand mĂŞme nettement plus pratique pour rechercher une information.

Et pour cette fois, je ne vais pas prĂ©senter le cas minimal qui fonctionne sous \LaTeX{} car le rĂ©sultat est relativement moche Ă&nbsp; mon sens. C'est pourquoi je vais plutĂ´t directement te dĂ©crire la solution finale, entiĂ¨rement personnalisable. C'est parti !

\subsection*{PrĂ©ambule et paramĂ©trage}

Pour commencer, il faut charger le package \verb?imakeidx? qui permet de personnaliser l'index, et d'en gĂ©rer plusieurs si besoin, comme nous le verrons par la suite. 

Par dĂ©faut, le package lance la compilation intermĂ©diaire avec le moteur \verb?MakeIndex?, pour crĂ©er l'index avant de l'intĂ©grer au document. Il n'y a pas besoin de compiler une seconde fois le document pour une fois -- mais tu es toujours contraint de le faire si tu as des rĂ©fĂ©rences ou un sommaire. \\

Juste aprĂ¨s avoir chargĂ© ce package, il faut indiquer Ă&nbsp; \LaTeX{} de prĂ©parer l'index, grĂ˘ce Ă&nbsp; la commande \verb?\makeindex? et les options recommandĂ©es suivantes :

\begin{code}{}
\makeindex[title = {&lt;titre_index&gt;}, options = {-s index-style.ist}]
\end{code}

\verb?index-style.ist? est un fichier spĂ©cifique aux index sous \LaTeX{} et qui permet de le styliser grĂ˘ce Ă&nbsp; une syntaxe spĂ©cifique\footnote{L'extension \verb?.ist? signifie probablement \og index style \fg{}.}. \LaTeX{} va donc utiliser ce fichier\dots{} Ă&nbsp; condition qu'il existe ! Il va donc falloir le crĂ©er. \\

Si l'environnement \verb?filecontents? est disponible par dĂ©faut sous \LaTeX{}, il est contraignant pour 2 raisons : il doit ĂŞtre placĂ© avant le \verb?\documentclass? et il permet de crĂ©er un fichier mais ne le remplace pas s'il a Ă©tĂ© modifiĂ© entre temps. Il faut donc constamment supprimer le fichier manuellement si tu veux faire des tests pour personnaliser ton index Ă&nbsp; ta guise.

Fort heureusement, il existe le package Ă©ponyme qui permet d'Ă©viter tous ces tracas et solutionne ces problĂ¨mes. Je recommande donc de charger les lignes suivantes dans le prĂ©ambule pour commencer :

\begin{code}{Personnalisation de l'index : fichier de style}
\usepackage{filecontents}

\begin{filecontents*}{index-style.ist}
% DĂ©finition "en-tĂŞte"
headings_flag 1
heading_prefix "\\vspace{26pt}{\\bfseries\\huge{}"
heading_suffix "}\\vspace{13pt}"

% Cas particuliers
symhead_positive "Symboles"
symhead_negative "symboles"
numhead_positive "Nombres"
numhead_negative "nombres"

% Style entre une entrĂ©e et le numĂ©ro de page
delim_0 "\\hspace{6pt}\\dotfill\\hspace{6pt}"
delim_1 "\\hspace{5pt}\\dotfill\\hspace{5pt}"
delim_2 "\\hspace{4pt}\\dotfill\\hspace{4pt}"
\end{filecontents*}
\end{code}

Libre Ă&nbsp; toi de te contenter de ma feuille de style personnelle, ou d'en dĂ©velopper une qui sied plus Ă&nbsp; ton goĂ»t. Tu trouveras toutes les possibilitĂ©s de personnalisation sur le site : \url{https://www.overleaf.com/learn/latex/Indices} (aller Ă&nbsp; la fin de l'article).

La syntaxe est trĂ¨s simple : renseigner l'Ă©lĂ©ment Ă&nbsp; personnaliser (cf. le lien prĂ©cĂ©dent avec la liste complĂ¨te), dĂ©limiter le groupe de commande pour la personnalisation par des apostrophes (\verb?"&lt;cmde(s)&gt;"?) et enfin, le plus important, doubler les \textit{backslash} pour appeler une commande \LaTeX{}.

\begin{conseil}{Bonus personnalisation}
J'ai eu Ă&nbsp; dĂ©velopper une solution pour colorer le numĂ©ro de page de chaque entrĂ©e d'un index, pour le faire ressortir et faciliter la lecture. AprĂ¨s de nouveaux essais, je me suis rendu compte que cette personnalisation ne fonctionne pas sans le package \verb?hyperref?, et se rĂ©vĂ¨le mĂŞme inutile si l'option \verb?colorlinks? est utilisĂ©e -- mais reste utile avec l'option \verb?hidelinks?, mĂŞme si je ne recommande pas son utilisation. 

De plus, les couleurs pour les rĂ©fĂ©rences, dĂ©finies par l'intermĂ©diaire du package \verb?hyperref?, restent prioritaires sur cette personnalisation. \\

Je reporte donc ici le code initialement utilisĂ©, en apartĂ©. Peut-ĂŞtre qu'il fera gagner du temps Ă&nbsp; quelqu'un ou pourra servir dans un autre contexte :

\begin{code}{Personnalisation (inutile) des rĂ©fĂ©rences de l'index}
% Mise en rouge du numĂ©ro de page
encap_prefix "{\\color{red}\\"
encap_infix "{"
encap_suffix "}}"
\end{code}
\end{conseil}

Pour terminer sur la personnalisation de l'index, je recommande de charger le package \verb?idxlayout? avec les options \verb?totoc? et \verb?unbalanced?, afin d'inclure par la suite l'index dans le sommaire et de garantir un affichage sur une colonne sur la derniĂ¨re page de l'index. 

Tu penses peut-ĂŞtre que je suis tatillon mais tu verras avec le temps qu'un index sur 2 colonnes est le plus pratique et lisible. Malheureusement, sans ce package et cette option, la derniĂ¨re page peut avoir un affichage curieux. 

Ce package propose d'autres options, comme le choix du nombre de colonnes, la distance entre chaque colonne ou encore l'ajout d'un sĂ©parateur (trait vertical d'Ă©paisseur paramĂ©trable) entre tes colonnes (\verb?columns?, \verb?columnsep? et \verb?rule?). Pour plus de dĂ©tails, se rĂ©fĂ©rer Ă&nbsp; la documentation officielle du package : \url{https://ctan.org/pkg/idxlayout}.

\subsection*{CrĂ©ation d'entrĂ©es et de l'index}

Maintenant que nous nous sommes occupĂ©s de la personnalisation de l'index, voyons comment ajouter des entrĂ©es Ă&nbsp; celui-ci. \\

Pour ajouter une entrĂ©e Ă&nbsp; ton index, il suffit de la placer Ă&nbsp; l'endroit souhaitĂ© dans le document avec la commande \verb?\index{&lt;entrĂ©e&gt;}?. Toutefois, il faut savoir que le classement alphabĂ©tique du moteur \verb?MakeIndex? ne fonctionne pas avec les accents. Il faut donc ruser avec un \verb?@?, de la maniĂ¨re suivante :

\begin{code}{CrĂ©ation d'une entrĂ©e accentuĂ©e dans l'index}
\index{&lt;entrĂ©e_sans_accent&gt;@&lt;entrĂ©e_avec_accent&gt;}
\end{code}

Il est possible de crĂ©er une sous-liste dans l'index avec un \verb?!? : 

\begin{code}{CrĂ©ation d'une sous-liste dans l'index}
\index{&lt;entrĂ©e_principale&gt;!&lt;entrĂ©e_secondaire&gt;}
\end{code}

Il existe aussi d'autres possibilitĂ©s de formatage d'une entrĂ©e :

\begin{code}{Autres options disponibles avec \texttt{\textbackslash{}index}}
% Indexage de pages multiples
\index{Mecanique quantique@MĂ©canique quantique!Histoire|(}
En 1901, Max Planck 
... \newpage
et c'est ainsi que se termine l'histoire !
\index{Mecanique quantique@MĂ©canique quantique!Histoire|)}

% Formatage du numĂ©ro de page
\index{Cochon|textbf}
% Cumul de commands imposibles en l'Ă©tat
% Personnaliser le fichier .ist en consĂ©quence si besoin

% CrĂ©er un "renvoi" Ă&nbsp; une autre entrĂ©e (manuel)
\index{Pierrot|see{Pierre}}

% CrĂ©er un "renvoi" Ă&nbsp; d'autres entrĂ©es (manuel)
\index{Pierre|see{Pierre, diminutif}}

% Autre possibilitĂ© de "renvoi"
\index{Jen|seealso{Jenny}}
\end{code}

Enfin, il faut dire Ă&nbsp; \LaTeX{} de gĂ©nĂ©rer l'index. Pour cela, il faut juste utiliser la commande \verb?\printindex{}? Ă&nbsp; l'endroit voulu, un peu comme pour le sommaire ou la bibliographie. Et voilĂ&nbsp;, c'est tout. Ok pour toi ? Voyons le rĂ©sultat final sur un exemple concret dans ce cas.

\begin{coderesult}[run pdflatex]{GĂ©nĂ©rer un index}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor}

\usepackage{imakeidx} 
\makeindex[title = {Index test}, options = {-s index-style.ist}]
\usepackage[totoc, unbalanced]{idxlayout}
% Index par dĂ©faut sur 2 colonnes

\usepackage{filecontents} % Pour pouvoir rĂ©Ă©crire directement sur le document + dĂ©finition dans le prĂ©ambule possible (et non avant documentclass)
\begin{filecontents*}{index-style.ist}
headings_flag 1
heading_prefix "\\vspace{26pt}{\\bfseries\\huge{}"
heading_suffix "}\\vspace{13pt}\\nopagebreak{}"

symhead_positive "Symboles"
symhead_negative "symboles"
numhead_positive "Nombres"
numhead_negative "nombres"

delim_0 "\\hspace{6pt}\\dotfill\\hspace{6pt}"
delim_1 "\\hspace{5pt}\\dotfill\\hspace{5pt}"
delim_2 "\\hspace{4pt}\\dotfill\\hspace{4pt}"
\end{filecontents*}

\usepackage[colorlinks]{hyperref}


\begin{document}

\tableofcontents{}
\vspace{2\baselineskip}

Texte\index{Texte} \\

Autre essai \index{Essai a confirmer@Essai Ă&nbsp; confirmer} et j'ajouterai aussi \index{Ajout!Ajout1} que les combinaisons sont possibles \index{Ajout!Ajout teste@Ajout testĂ©} !

% Pour ajouter un petit texte au dĂ©but de l'index
\setindexprenote{Ceci est mon index ! \\}
\printindex{}

\end{document}
\end{coderesult}

\begin{attention}{Texte au dĂ©but de l'index}
Le package \verb?imakeidx? fournit la commande \verb?\indexprologue{&lt;texte&gt;}?, qui ne fonctionne plus suite Ă&nbsp; l'utilisation du package \verb?idxlayout?. C'est pourquoi il faut employer la commande associĂ©e Ă&nbsp; ce dernier package, soit \verb?\setindexprenote{&lt;texte&gt;}?.

Le package \verb?idxlayout? fournit alors l'option \verb?notesep? pour personnaliser l'espacement entre ce texte et le dĂ©but de l'index le cas Ă©chĂ©ant. C'est en tout cas plus pratique et plus propre que d'indiquer un saut de ligne \verb?\\? manuellement Ă&nbsp; chaque fois.
\end{attention}

\begin{conseil}{Un autre moteur utile pour gĂ©nĂ©rer un index}
Si \verb?MakeIndex? est le moteur historique pour gĂ©nĂ©rer des index, d'autres solutions ont vu le jour, notamment pour prendre en compte les mots accentuĂ©s lors du tri alphabĂ©tique de l'index.

Le moteur \verb?xindy? (ou \verb?texindy? pour la version adaptĂ©e Ă&nbsp; \LaTeX{}) en fait partie. Son utilisation devient apparemment indispensable si l'index est automatisĂ© par l'intermĂ©diaire de commandes, avec la prĂ©sence d'entrĂ©es accentuĂ©es. \\

Le package \verb?imakeidx? propose justement l'option \verb?xindy?, pour gĂ©nĂ©rer l'index avec ce moteur \verb?texindy?. Malheureusement, rien ne fonctionne actuellement de mon cĂ´tĂ©\footnote{Moteur \verb?texindy? \og not found \fg{} apparemment, alors que \MiKTeX{} montre qu'il est bien installĂ© selon toute vraisemblance.}\dots{} et \verb?MakeIndex? me convient trĂ¨s bien pour le moment !

Si jamais tu veux plus d'informations, j'ai dĂ©couvert ce nouveau moteur par l'intermĂ©diaire du site suivant : \url{https://geekographie.maieul.net/169}.
\end{conseil}

\subsection*{GĂ©nĂ©rer plusieurs index}

GrĂ˘ce au package \verb?imakeidx?, il est possible de gĂ©nĂ©rer plusieurs index. Il suffit juste de leur donner un nom (option \verb?name = &lt;nom_index&gt;?) lors de la mise en place de l'index dans le prĂ©ambule avec la commande \verb?\makeindex?, puis d'indiquer ce mĂŞme nom lors de l'ajout d'une entrĂ©e de la maniĂ¨re suivante : \verb?\index[&lt;nom_index&gt;]{&lt;entrĂ©e&gt;}?.

Dans le mĂŞme esprit, l'appel de l'index se fait alors de la maniĂ¨re suivante : \verb?\printindex[&lt;nom_index&gt;{}?. \\

Sans refaire un exemple concret avec un aperĂ§u du rĂ©sultat, voici un cas simple d'utilisation :

\begin{code}{GĂ©nĂ©rer plusieurs index}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[makeindex]{imakeidx}
\makeindex[name = indexA, title = {Index A}]
\makeindex[name = indexB, title = {Index B}]
\usepackage[totoc, unbalanced]{idxlayout}


\begin{document}

Texte\index[indexA]{Texte} % Va dans l'index 1

\newpage

Autre essai \index[indexA]{Essai a confirmer@Essai Ă&nbsp; confirmer} et j'ajouterai aussi \index[indexB]{Ajout!Ajout 1} que les combinaisons sont possibles \index[indexB]{Ajout!Ajout teste@Ajout testĂ©}

\setindexprenote{Ceci est mon index !}
\printindex[indexA]{}

% \setindexprenote Ă&nbsp; rĂ©initialiser (contrairement Ă&nbsp; \indexprologue)
\setindexprenote{}
\printindex[indexB]{}

\end{document}
\end{code}

\subsection*{La petite filouterie}

Enfin, il est possible d'utiliser un index pour classer des donnĂ©es (liste de films, jeux, pistes musicales par nom d'auteur\dots{}). Au lieu de tenir un Excel (tri facilitĂ©), tu peux renseigner tous ces Ă©lĂ©ments grĂ˘ce Ă&nbsp; une entrĂ©e d'un index et \LaTeX{} se charge de faire le tri. 

Il y a une toute petite astuce Ă&nbsp; connaĂ®tre : supprimer le numĂ©ro de page. En effet, ici, toutes nos entrĂ©es doivent ĂŞtre affichĂ©es sur une page bidon. Dans le cas contraire, l'index ne sera pas gĂ©nĂ©rĂ© (ou sera vide). Toutefois, nous n'avons pas besoin des numĂ©ros de page. Il faut donc procĂ©der ainsi :

\begin{code}{Un index (bidon ?) sans les numĂ©ros de page}
\documentclass[a4paper, 12pt]{report}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[makeindex]{imakeidx}
\makeindex[title = {Liste de films}]
\usepackage[totoc, unbalanced]{idxlayout}

\usepackage[colorlinks]{hyperref}


\begin{document}

Texte bidon\index{Film 1}\index{Film 2} \newpage

{
% Suppression du numĂ©ro de page dans l'index
\def\hyperpage#1{}
% CrĂ©ation de l'index
\printindex{}
}

\end{document}
\end{code}

Si tu essayes ce code, tu devrais te rendre compte qu'il fonctionne uniquement parce que le package \verb?hyperref? est appelĂ©, comme la commande \verb?\hyperpage? est redĂ©fini localement comme Ă©tant vide.

De plus, cette solution permet de supprimer seulement le numĂ©ro de page. Il reste encore la virgule de sĂ©paration, prĂ©sente par dĂ©faut. Il faut donc reprendre le fichier de personnalisation en \verb?.ist? et l'adapter Ă&nbsp; ce nouveau besoin.</pre></body></html>