Commit 9dd1ed31 authored by Entéocline's avatar Entéocline

Modulation, partie 1 + Makefile + s/href/hyperref

parent 32d5b31d
......@@ -15,3 +15,6 @@ stash
*.tmp
*.out
*.auxlock
*.blg
old.tex
SOURCE=latex-guide.tex
AUX=latex-guide.aux
EXEM=ex.aux
all:
pdflatex --enable-write18 ${SOURCE}
bibtex ${AUX}
bibtex ${EXEM}
pdflatex ${SOURCE}
pdflatex ${SOURCE}
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
\part{\LaTeX~:~Pour l'utilisateur avancé}
\section{Personnaliser la mise en page}
\subsection{Changer les titres des parties et des sections}
\label{subsec:titresections}
\subsection{Gérer les marges avec \texttt{geometry}}
L'extension \texttt{geometry} permet d'affiner la mise en page en définissant la taille des marges. C'est une manipulation fréquente, la taille des marges par défaut étant assez importante.
Pour l'utiliser, il suffit d'entrer la commande \verb=\geometry{<options>}= dans le préambule pour définir une nouvelle géométrie globale ou de passer ces mêmes options lors du chargement de l'extension : \verb+\usepackage[<options>]{geometry}+.\\
Il est possible de définir une nouvelle géométrie à l'intérieur du document avec \verb=\newgeometry{}= et de restaurer celle par défaut avec \verb=\restoregeometry=.\\
Voici les options que vous pouvez fixer :
\begin{itemize}
\item \texttt{lmargin} : taille de la marge de gauche (l=\emph{left}) (alias : \texttt{left}, \texttt{inner}) ;
\item \texttt{rmargin} : taille de la marge de droite (r=\emph{right}) (alias : \texttt{right}, \texttt{outer}) ;
\item \texttt{hmargin} : définit à la fois \texttt{lmargin} et \texttt{rmargin} ;
\item \texttt{tmargin} : taille de la marge du haut (t=\emph{top}) (alias : \texttt{top}) ;
\item \texttt{bmargin} : taille de la marge du bas (b=\emph{bottom}) (alias : \texttt{bottom}) ;
\item \texttt{vmargin} : définit à la fois \texttt{tmargin} et \texttt{bmargin}.
\item \texttt{margin} : définit la taille de toutes les marges.
\end{itemize}
% inner/outer pas différents pour oneside/twoside ?
\medbreak
Ce qui peut par exemple donner : \verb+\geometry={hmargin=2cm,vmargin=1.5cm}+.
Les marges sont sans influence sur les en-têtes et pieds de pages. Pour les personnaliser, il vaut mieux utiliser \texttt{fancyhdr}, présenté au paragraphe suivant.\\
\texttt{geometry} possède bien d'autres options, pour personnaliser la portion de page accessible à l'écriture (layout) ou écraser les dimensions de pages définies nativement par \LaTeX{}, mais celles sur les tailles des marges sont les plus utilisées. Pour plus de détails, consultez (comme toujours) la documentation de l'extension.
\subsection{Des en-têtes et pieds de pages personnalisés avec \texttt{fancyhdr}}
\section{Personnaliser ses tableaux}
\label{sec:supertab}
Cette partie présente des techniques permettant un réglage plus fin des tableaux. Si vous n'êtes pas à l'aise avec l'utilisation des tableaux, lisez d'abord le~\ref{subsec:tableaux} page~\pageref{subsec:tableaux}.
\subsection{Aérer son tableau}
Si votre tableau contient des données qui prennent une place verticale conséquente, comme des fractions, vous pourrez avoir envie de l'aérer pour en augmenter la lisibilité. La hauteur des lignes se modifie à l'aide de \verb=\renewcommand{\arraystretch}{nouvelle valeur}=.\\
Cette modification étant une redéfinition de l'option globale \verb=\arraystretch=, elle s'appliquera à tous les tableaux qui la suivront. Si vous voulez revenir à un tableau normal, il faudra réutiliser la commande avec la valeur par défaut qui est $1.0$.\\
Voici un exemple :
\begin{LTXexample}[preset=\renewcommand{\arraystretch}{1.0}]
\begin{tabular}{|c|c|}
\hline
$\frac{1}{2}$ & $\int x^2 d^3 x$ \\
\hline
\end{tabular}
\renewcommand{\arraystretch}{2.0}
\begin{tabular}{|c|c|}
\hline
$\frac{1}{2}$ & $\int x^2 d^3 x$ \\
\hline
\end{tabular}
\end{LTXexample}
\subsection{Définition groupée de colonnes}
Si vous voulez créer un tableau à 11 colonnes mais que vous n'avez pas la motivation d'écrire
\begin{center}\verb+{|c|c|c|c|c|c|c|c|c|c|c|}+\end{center}
pour déclarer vos colonnes\footnote{Je confirme, je viens de le faire, et c'était pénible.}, cette section est faite pour vous !
Il est en effet possible de définir les groupes de colonnes identiques en une seule fois à l'aide de la syntaxe \verb=*{nombre}{description}=.\\
C'est particulière utile pour des tableaux qui contiennent beaucoup de colonnes et/ou ont des déclarations de colonnes complexes.
L'exemple suivant vous montre comment déclarer un tableau à 11 colonnes centrées.
\begin{LTXexample}[width=0.45\textwidth,preset=\renewcommand{\arraystretch}{1.0}]
\begin{tabular}{|*{11}{c|}}
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 \\
\hline
\end{tabular}
\end{LTXexample}
\subsection{Fusionner des colonnes}
Il est très simple de fusionner des colonnes. Il suffit d'utiliser la commande
\begin{center}\verb=\multicolumn{nombre de colonnes à fusionner}{description de la nouvelle colonne}{contenu}=\end{center}
Voici un exemple :
\begin{LTXexample}
\begin{tabular}{|c|c|c|}
\hline
A & \multicolumn{2}{c|}{B} \\
\hline
1 & 2 & 3 \\
\hline
\end{tabular}
\end{LTXexample}
\subsection{Fusionner des lignes}
Comme \LaTeX{} lit les tableaux en ligne, fusionner des lignes est un peu plus subtil. Vous aurez besoin de l'extension \texttt{multirow}.\\
La commande à utiliser est :
\verb=\multirow{nombre de lignes à fusionner}*{contenu}=\footnote{Cette syntaxe chamanique est due au fait qu'il y a normalement un second argument qui correspond à la largeur de la case : \verb=\multirow{nombre de lignes}{largeur}{contenu}=. Et comme \verb=\multirow{nombre de lignes}{}{contenu}= conduit a une largeur nulle, la solution pour utiliser la largeur naturelle du texte est d'utiliser une \verb=*= à la place du groupe vide. Pour plus d'informations sur le traitement des commandes voir au \ref{subsubsec:groupevide}.} \\
Voici un exemple :
\begin{LTXexample}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
a & b & \multirow{2}*{coucou} & d & e & f\\
\hline
g & h & & i & j & k\\
\hline
\end{tabular}
\end{LTXexample}
Ce n'est bien sur pas très satisfaisant, les cases sont bien fusionnées mais le séparateur \verb=\hline= écrit par dessus\dots La solution est alors d'utiliser la commande \verb=\cline{intervalle}=, voyez plutôt :
\begin{LTXexample}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
a & b & \multirow{2}*{coucou} & d & e & f\\
\cline{1-2} \cline{4-6}
g & h & & i & j & k\\
\hline
\end{tabular}
\end{LTXexample}
\section{Gestion avancée des figures}
\subsection{Mettre plusieurs figures en une seule avec \texttt{subfig}}
L'extension \texttt{subfig}\footnote{Elle a pour objectif de remplacer l'extension \texttt{subfigure} devenue obsolète.} permet de placer plusieurs sous-flottants à l'intérieur d'un environnement flottant (image ou tableau). Elle se charge avec \verb|\usepackage[lofdepth,lotdepth]{subfig}|\footnote{les options \verb=lofdepth= et \verb=lotdepth= permettent une numérotation appropriée des sous-figures, avec une sous-numérotation comme pour les sous-sections}.
La principale commande de cette extension est \verb%\subfloat[<titre>]{<contenu>}%. Elle doit s'utiliser à l'intérieur d'un environnement flottant. Le contenu peut être une image (si \verb|subfloat| est dans une \verb|figure|) ou un tableau (si \verb|subfloat| est dans une \verb|table|).
Il est possible d'attribuer une étiquette à chaque sous-figure. On peut leur faire référence avec \verb=\ref{}= ou \verb=\subref{}=, l'exemple suivant parlant de lui-même :
\begin{LTXexample}[preset=\let\label\orilabel,width=0.45\textwidth]
\begin{figure}[ht]
\subfloat[Ensemble de Mandebrot]{
\includegraphics[width=3.5cm]
{images/mandelbrot.png}
\label{subfig:mandelbrot}
}
\subfloat[Choux romanesco]{
\includegraphics[width=3.5cm]
{images/romanesco.jpg}
\label{subfig:romanesco}
}
\caption{Deux belles fractales}
\label{fig:fractales}
\end{figure}
\vskip0.2cm
La figure \ref{fig:fractales} pr\'esente deux
fractales : le c\'elèbre ensemble de
Mandelbrot \subref{subfig:mandelbrot}
et un choux \\romanesco \subref{subfig:romanesco}.\\
Ce sont les sous-figures \ref{subfig:mandelbrot} et
\ref{subfig:romanesco}.
\end{LTXexample}
%\startaurel Il y a aussi minipage mais je connais pas trop, est-ce que ça ajoute des trucs ou est-ce qu'on peut se contenter de subfig ? \closeaurel
%\startenteo Je pense que subfig suffit. L'environnement minipage peut faire ça aussi, mais beaucoup d'autres choses également ; c'est un environnement extrêmement puissant qui mérite sa propre section. \closeenteo
\subsection{Entourer une figure de texte avec \texttt{wrapfig}}
L'extension \texttt{wrapfig} permet de placer images et tableaux sans briser le déroulement du texte, mais en permettant plutôt à celui-ci d'envelopper ces derniers. Il introduit pour ceci deux environnements : \verb|wrapfigure| et \verb|wraptable|.\\
Afin d'avoir un rendu correct, quelques avertissements sont toutefois de mise :
\begin{itemize}
\item cet effet a un but purement esthétique et est normalement inutile dans un travail académique comme un compte-rendu ou un article scientifique, les flottants usuels étant bien plus clairs à la lecture ;
\item il faut que l'image ait une largeur sensiblement plus petite que le texte qui l'enveloppe ;
\item il faut éviter de placer le flottant à cheval sur un changement de page ;
\item il faut entourer le flottant de texte brut, et éviter d'utiliser une équation ou un titre de section ;
\item il faut placer l'environnement entre deux paragraphes ; s'il est à l'intérieur d'un paragraphe, il faut le placer à proximité d'un changement de ligne (naturel ou provoqué).
\end{itemize}
La syntaxe des appels aux environnements \verb|wrapfigure| et \verb|wraptable| est la suivante :
\begin{center}\verb|\begin{wrapfigure}[<nombre de lignes>]{<placement>}[<surplomb>]{<largeur>}|\end{center}
Les arguments obligatoires sont la largeur de la figure et son placement par rapport au texte.
Les paramètres de placement usuels sont :
\begin{itemize}
\item \verb|r| ou \verb|R| pour un placement à droite du texte ;
\item \verb|l| ou \verb|L| pour un placement à gauche du texte.
\end{itemize}
La différence est que la minuscule demande de placer l'objet \og en dur \fg{} (ce n'est pas un flottant), à l'endroit précis de l'appel, tandis que la majuscule crée un environnement flottant qui optimise son placement. Utiliser une minuscule permet donc un contrôle plus fin mais peut provoquer des dépassements de marge si le placement est mauvais.
Si vous utilisez un document de type \verb|twoside| (voir section \ref{subsec:documentclass}), où les marges intérieures et extérieures sont différenciées, vous pouvez aussi utiliser les placements suivants :
\begin{itemize}
\item \verb|i| ou \verb|I| pour un placement vers la marge intérieure ;
\item \verb|o| ou \verb|O| pour un placement vers la marge extérieure.
\end{itemize}
Enfin concernant les options (facultatives donc), le nombre de lignes permet d'imposer à l'objet une certaine hauteur afin de coïncider avec le nombre de lignes choisi, et le surplomb est une largeur qui autorise l'objet à déborder sur la marge (qui vaut \verb|0pt| par défaut).
Voici un exemple (le texte a été généré à l'aide de l'extension \verb|lipsum|) :
\begin{LTXexample}[width=0.50\textwidth]
\begin{wrapfigure}{R}{4.0cm}
\includegraphics[width=3.5cm]
{images/romanesco.jpg}
\end{wrapfigure}
\lipsum[74]
\end{LTXexample}
\section{Mathématiques avancées}
\label{sec:advmath}
%\starttouille Ceci sont des pistes de choses qui pourraient se trouver dans cette partie, mais je ne compte pas la rédiger, du moins pas dans un futur proche. Je pourrais m'y atteler après avoir fini Bibtex, je vous la laisse en attendant.\\
%le "displaystyle" (amsmath), tfrac et dfrac (apparence également des sommes affectée, avec bornes qui passent sur le côté)\\
%mathtools paquet potentiellement plus puissant que amsmath ?\\
%amsmath a des flèches extensibles (xleftarrow \& xrightarrow)\\
%Théorème et définitions : amsthm, ntheorem (second apparemment mieux).\\
%Paquet dirac/macros\closetouille
\subsection{Ecrire les équations sur plusieurs lignes}
Les environnements \verb|equation| et \verb|displaymath| (celui définit par \verb|\[ \]|, pour plus d'informations sur ces environnements voir au \ref{subsec:envmath}) sont limités à l'écriture sur une seule ligne.\\
Pour écrire des mathématiques sur plusieurs lignes vous pouvez utilisez l'un des environnements lités ci-dessous. Ils nécessitent l'extension \verb|amsmath| pour fonctionner.
\begin{itemize}
\item \verb|multline| est le plus basique, il permet d'écrire une grosse équation sur plusieurs lignes en utilisant des retours à la ligne
\item \verb|align| permet d'aligner les lignes en un certain point (par exemple aligner des égalités succesives sur le signe =). Vous devez pour ceci spécifier le point d'alignement comme dans un tableau à l'aide du caractère réservé \verb|&|. Chaque ligne est numérotée
\item \verb|split| fait la même chose que \verb|align| mais ne numérote pas chaque ligne et doit être utilisé dans \verb|equation| ou \verb|displaymath|
\end{itemize}
Voici un exemple pour chacun d'eux :
\begin{LTXexample}[width=0.48\textwidth]
\begin{multline}
(a+b)^5 = a^5 + 5 a^4 b + 10 a^3 b^2 \\
+ 10 a^2 b^3 + 5 a b^4 + b^5
\end{multline}
\begin{align}
ax^2 + bx + c &= 0 \\
a\left(x + \frac{b}{2a} \right)^2 -
\frac{b^2}{4a} + c &= 0 \\
2a \left(x + \frac{b}{2a} \right)
&= \pm \sqrt{b^2-4ac}
\end{align}
\begin{equation}
\begin{split}
[MA,B] &= MAB - BMA \\
&= MAB - MBA + MBA - BMA \\
&= M(AB-BA) + (MB-BM)A \\
&= M[A,B] + [M,B]A
\end{split}
\end{equation}
\end{LTXexample}
\subsection{Les matrices et l'environnement array}
\label{subsec:array}
%\startaurel array, pmatrix, bmatrix, Bmatrix, vmatrix \closeaurel
\subsection{Ecrire des théorèmes comme un vrai prof de maths}
%\startaurel amsthm ou ntheorem, a voir lequel est mieux \closeaurel
\section{\texttt{siunitx} : le paquet du physicien}
\label{sec:siunitx}
\begin{quote}
Physical quantities have both numbers and units, and each physical quantity should be expressed as the product of a number and a unit.%\\ \null\hfill --- Joseph Wright
\end{quote}
C'est avec cette phrase que commence la documentation de \texttt{siunitx}, extension de Joseph Wright. \'Ecrire des nombres avec leurs unités peut devenir laborieux, notamment en environnement mathématique : espacement mauvais, caractères en italique \dots Cette extension permet d'écrire de façon correcte et constante nombres et unités, seuls ou ensemble, dans n'importe quel environnement. Par défaut, elle respecte les conventions usuelles, mais permet la personnalisation jusqu'aux moindres détails. Le principal avantage est de pouvoir
modifier le rendu de tous les nombres et unités d'un seul coup, en modifiant les options souhaitées.
\subsection{Chargement de l'extension et régionalisation}
L'extension se charge comme toutes les autres, en l'invoquant dans le préambule du document avec la syntaxe habituelle : \verb=\usepackage[<options>]{siunitx}=. Les options peuvent aussi être placées en argument de la commande \verb=\sisetup{}= pour une modification globale (jusqu'à la fin du document ou au prochain \verb|\sisetup{}|) ou en option des commandes de l'extension avec la syntaxe \verb+\commande[<options>]{<argument>}+ pour une modification locale.
Par défaut, \texttt{siunitx} est adaptée pour les conventions anglo-saxonnes, ce qui implique que le point est affiché comme séparateur des décimales. La première chose à faire, si jamais vous rédigez en français, est donc d'indiquer à l'extension qu'il faut utiliser d'autres conventions : \verb+locale=FR+.
À partir de là, vous avez trois solutions. Soit vous vous contentez des paramètres par défaut, qui sont globalement bons et devraient satisfaire les utilisations les plus courantes ; soit vous activez l'option \texttt{strict} (utilisable dans le préambule seulement), qui fait se comporter l'extension selon les règles officielles du Bureau International des Poids et Mesures ; soit vous explorez l'immensité des options qu'offrent les 101 pages de documentation de \texttt{siunitx}, dont une partie a
été sélectionnée et est présentée par la suite. Cette dernière est très riche et complète : elle sera régulièrement mentionnée.
\subsection{Des chiffres et des lettres}
\label{subsec:SI-input}
Avant de présenter les commandes ajoutées par l'extension, prenons un instant pour regarder comment parler à \texttt{siunitx}, c'est-à-dire comment s'exprimer correctement (indépendamment de ce qui sera affiché après compilation), que ce soit pour les nombres ou les unités, afin de produire des résultats tels que \SI{3e8}{\metre\per\second} ou \ang{45}.
\subsubsection{Les nombres}
Pour les nombres, outre les chiffres de 0 à 9, on peut utiliser \texttt{i} et \texttt{j} pour indiquer un nombre complexe ; les caractères \texttt{dDeE} pour marquer les puissances de 10 ; un point ou une virgule pour séparer parties entière et décimale ; des parenthèses, les caractères \texttt{+} et \texttt{-} ou les commandes \verb=\pm= et \verb=\mp= pour ajouter vos incertitudes ; \texttt{x} et \texttt{/} pour multiplier et diviser respectivement, et enfin tout ce que \LaTeX{} supporte de base comme comparateur si vous en avez besoin (les chevrons ouvrant et
fermant, le symbole \texttt{=}, \verb=\approx=, \verb=\sim=, l'ensemble \verb=\ge \geq \gg= et identiquement \verb=\le \leq \ll=).
\begin{LTXexample}
\num{0.5x3e8}, \num{34,5(2)}, \num{34,5 \pm 0,2}
\end{LTXexample}
\subsubsection{Les unités}
Pour les unités, il existe deux méthodes. La première consiste à écrire les unités comme on le ferait en mode mathématiques dans \LaTeX{} ; par exemple : \verb=J.mol^{-1}.K^{-1}= donne \si{J.mol^{-1}.K^{-1}}, \verb=kg~m/s= donne \si{kg~m/s}. Dans ce mode, le point et le tilde servent à multiplier des unités et la mise en indice et en exposant fonctionnent normalement.\\
La seconde, bien que moins pratique \emph{a priori}, permet d'écrire les unités comme on pourrait les lire en anglais. Voici quelques exemples :
\begin{LTXexample}[width=0.33\textwidth]
\si{\joule\per\mole\per\kelvin}\\
\si{\metre\per\second\squared}, \si{\metre\per\square\second}\\
\si{\kilogram\metre\squared}, \si{\kilogram\square\meter}
\end{LTXexample}
Son principal avantage réside dans l'accès à la personnalisation \emph{a posteriori}, car utiliser des macros pour appeler les unités et tout ce qui se trouve autour signifie que l'on peut personnaliser le rendu une fois la rédaction finie.\\
Pour cette seconde méthode, le tableau ci-dessous résume les commandes qui ne sont pas des unités :
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
Commandes & Effets & Remarques \\
\hline
\verb=\square=, \verb=cubic=, \verb=\raiseto{n}= & \'Eleve au carré, au cube, à la puissance $n$ & S'applique à l'unité suivante \\
\hline
\verb=\squared=, \verb=cubed=, \verb=\tothe{n}= & \'Eleve au carré, au cube, à la puissance $n$ & S'applique à l'unité précédente\\
\hline
\verb=\per= & Fait \og diviser \fg{} par l'unité suivante & S'applique à l'unité suivante\\
\hline
\verb=\of{}= & Permet de faire des indices & \verb=\mol\of{cat}= : \si{\mol\of{cat}}\\
\hline
\end{tabular}
\end{center}
\subsubsection{Préfixes et unités prédéfinis}
Tous les préfixes classiques (de yocto à yotta) sont supportés, de même que les unités du Système International et de nombreuses variations trouvées en physique et en chimie. Plusieurs constantes sont également définies. Les tableaux 1 à 6 de la documentation (pages 8 à 10) résument tout ceci de façon très claire.
Voici quelques exemples :
\begin{LTXexample}
\si{\metre} \si{\milli\second} \si{\clight}\\
\si{\degreeCelsius} \si{\mega\ohm} \si{\planckbar}
\end{LTXexample}
%\starttouille J'ai supprimé les noms des macros pour gagner en lisibilité, mais je me demande si j'ai pas perdu de l'intérêt au passage. Le problème est que si je liste, mettons, degré Celcius, degré, c, eV, ångström et mmHg, c'est pas complet pour ceux qui veulent hbar et la charge de l'électron, et pas intéressant pour ceux qui veulent u ou ua ...\closetouille \\
%\startaurel Oui c'est le problème d'avoir des dizaines et des dizaines d'unités en physique, mais je mettrais quand même un tableau d'exemples non exhaustif, genre les exemples communs à tous la plupart des domaines de la physique et pas les trucs spécialisés comme mmHg et l'ångström, ça fait comprendre la puissance de l'extension et ça donne envie de lire la doc \closeaurel
%\\ \starttouille Bah ... \url{http://texdoc.net/texmf-dist/doc/latex/siunitx/siunitx.pdf}\\
%Reprendre tout le tableau 1 ou presque, \si{\degreeCelsius}, J, rad, \si{\degree}, \si{\clight} ?\closetouille
Un nombre certain d'abréviations (tableau 21, à partir de la page 35 de la documentation) sont chargées avec l'extension et rendent l'écriture plus rapide\footnote{Attention avec le \si{\kWh} : les heures ont tendance à se détacher du reste en cas d'opération (\si{\per\kWh}). Une solution est de redéfinir la commande, bien que le BIPM ne l'approuverait pas.} (\verb=\km\per\ms= : \si{\km\per\ms}). Les unités binaires (bit et \emph{byte}, avec les préfixes kibi, mebi, \dots) requièrent l'activation de l'option \texttt{binary-units}.
De nombreuses unités de \og spécialiste \fg{} (l'année lumière, le barn, le gauss, \dots) ne sont plus définies par défaut depuis la version 2 de l'extension : la page 39 de la documentation précise lesquelles et donne les commandes pour les définir.
\subsection{Les macros : \texttt{num}, \texttt{si}, \texttt{SI} et \texttt{ang}}
Elles s'utilisent de la façon suivante :
\begin{itemize}
\item Nombres : \verb|\num[<options>]{nombre}| (\num{3.14})
\item Angles : \verb|\ang[<options>]{deg;min;sec}| (\ang{3;1;4})
\item Unités : \verb|\si[<options>]{unité}| (\si{\metre\per\second})
\item Nombres avec unités : \verb|\SI[<options>]{nombre}[unité à gauche]{unité}| (\SI[per-mode=symbol]{1.99}[\$]{\per\kg}\footnote{Ici l'option \texttt{per-mode=symbol} est utilisée.})
\end{itemize}
Si jamais vous avez besoin de faire des listes ou des intervalles de nombres (i.e. \og 1, 2 et 3 \fg{} ou \og \SI{10}{m} à \SI{25}{m} \fg{}), il existe les commandes \texttt{numlist}, \texttt{numrange}, \texttt{SIlist} et \texttt{SIrange}. Ces dernières ne seront pas couvertes, plus d'informations sur les pages 6, 8 et 64 de la documentation. De même, l'extension rajoute un type de colonne pour tableau, \texttt{S}, dont le comportement par défaut est d'aligner verticalement les séparateurs
décimaux : plus d'informations page 13 de la documentation.
%\startaurel Que pensez vous de mettre une petit exemple d'utilisation de \verb|\newcommand| dans ce contexte (ainsi qu'une référence à la partie macros) ? J'aime bien utiliser SIunits avec des macros maisons par flemme de réécrire plein de fois les mêmes unités ;) \closeaurel
%\\ \starttouille Plaît-il ? Je ne saisis pas bien ce que tu veux ni ce que tu fais, tu aurais un exemple ? \closetouille\\
%\startaurel par exemple \verb|\newcommand{\acc}{\si{\metre\per\square\second}}|, ou encore \\ \verb|\newcommand{\calor}{\si{\joule\per\mol\per\kervin}}|, c'est très utile si on utilise plusieurs fois une unité compliquée\closeaurel
%\\ \starttouille C'est mal ce que tu fais mon garçon, car tu ne peux pas utiliser ta superbe unité dans \verb|\SI| du coup. Il vaut mieux utiliser ce qui se trouve juste après, à savoir \verb|\DeclareSIUnit\acc{\metre\per\square\second}|. De plus, les alias d'unités (comme \verb|\pm| pour picomètre) ne fonctionne qu'en argument type <unité>, du coup si ça marche pareil (ça devrait, j'ai plus la doc en tête), tu peux utiliser n'importe quel alias, même si c'est le nom d'une macro et que tu le sais pas. \closetouille
\subsection{Définir ses unités, modifier les options}
Certains souhaitant utiliser l'extension pourront avoir l'impression qu'il manque certaines unités ou que des constantes ne sont pas définies comme à leur habitude, notamment pour la vitesse de la lumière, cette dernière étant représentée par \si{\clight} plutôt que $c$.
Dans tous les cas, il faut utiliser la commande \verb|\DeclareSIUnit|. On peut l'utiliser pour (re)définir constantes (\verb|\DeclareSIUnit\clight{\ensuremath{\mathit{c}}}|) et unités (\verb|\DeclareSIUnit\kWh{kWh}| pour éviter le souci mentionné plus tôt). La définition d'unités peut inclure des options, afin de commander le
comportement de ladite unité. Par exemple, les degrés sont définis par défaut de sorte à ne pas présenter d'espace après le nombre : \verb|\DeclareSIUnit[number-unit-product = {}]\degree{\SIUnitSymbolDegree}|.
Pour des raisons de cohérence, les unités doivent être définies dans le préambule, afin qu'une même commande ait le même comportement à travers tout le document.
On peut également définir de nouveaux préfixes ou des macros pour des exposants d'ordre supérieur : cf. la sous-section 4.5 à partir de la page 12 de la documentation.
\subsection{Personnalisation : maîtriser la saisie}
Dans la sous-section~\ref{subsec:SI-input}, nous avons détaillé ce qui pouvait être utilisé par défaut dans un argument de type `nombre' et `unité'. Quelques options n'ont pas été mentionnées.
Le tableau 14 page 20 de la documentation résume les options disponibles et leurs valeurs par défaut. Ces valeurs sont très satisfaisantes et il n'y a \emph{a priori} rien à modifier. Si vous souhaitez utiliser le symbole $\geqslant$ (\texttt{geqslant}), présent dans \texttt{amssymb}, comme comparateur, vous pouvez écrire quelque chose ressemblant à ceci : \verb|\SI[input-comparators=\geqslant]{\geqslant 3}{m}|, produisant : \SI[input-comparators=\geqslant]{\geqslant 3}{m}.
Pour les unités, une option intéressante est \texttt{sticky-per}, qui permet d'appliquer automatiquement \verb|\per| à toutes les unités suivantes :
\begin{LTXexample}
\si{\joule\per\mol\kelvin}\\
\si[sticky-per]{\joule\per\mol\kelvin}
\end{LTXexample}
\subsection{Personnalisation : maîtriser le rendu}
Pour pouvoir produire le bon texte en sortie, l'extension fait \emph{parser} au compilateur toutes les occurrences de nombres et d'unités que vous avez placé dans les macros, ce qui peut rendre la compilation très longue si votre document en contient beaucoup. Vous pouvez assigner la valeur \texttt{false} aux options \texttt{parse-numbers} et \texttt{parse-units} pour alléger les compilations intermédiaires par exemple.
L'extension essaie de respecter les conventions établies et par conséquent, elle aura tendance à ne pas prendre en compte les modificateurs appliqués au texte autour (gras, italique, \dots), ce qui peut être gênant lorsque l'on essaie de mettre en avant certains résultats. L'option \texttt{detect-all} (par opposition à \texttt{detect-none}) permet de modifier ce comportement\footnote{Pour un réglage plus fin, voir le tableau 12 page 17 de la documentation.}.
\begin{LTXexample}[width=0.35\textwidth]
\textbf{Vitesse du son : \SI{300}{m/s}}\\
\textbf{Vitesse du son : \SI[detect-all]{300}{m/s}}
\end{LTXexample}
Quand on écrit un nombre négatif, on met un moins devant. Quand on écrit un nombre positif, on met plus rarement un signe `plus' devant ; si vous en avez besoin, il faut activer \texttt{retain-explicit-plus}.
Une modification très esthétique proposée par l'extension est le regroupement en paquets de 3 chiffres des nombres. Par défaut, cela se fait à partir de 5 chiffres (d'un côté ou de l'autre du séparateur), ce qu'on peut activer dès 4 chiffres (milliers non-nuls) avec l'option \verb|group-minimum-digits=4|. On peut aussi désactiver l'option \texttt{group-digits} en lui assignant \texttt{false} (par défaut : \texttt{true}). Une activation partielle est permise avec \texttt{decimal} et \texttt{integer}.
Les incertitudes sont affichées par défaut entre parenthèses. Activer l'option \texttt{separate-uncertainty} permet d'avoir le symbole $\pm$.
\begin{LTXexample}
\[ \num{1.23(4)} ~ \num{1.23\pm0.04} \]
\[ \num[separate-uncertainty]{1.23(4)} \]
\end{LTXexample}
Pour ceux qui font de l'astrophysique, il est courant d'avoir les symboles d'unités au-dessus du séparateur décimal. Cela tombe bien, il y a une option pour cela : \texttt{angle-symbol-over-decimal}. Cela permet d'écrire quelque chose comme \ang[angle-symbol-over-decimal]{3.14;;} plutôt que \ang{3.14} (même si cela peut poser problème : \ang[angle-symbol-over-decimal]{3.14;15;} contre \ang{3.14;15;}).
Pour les gens qui ont encore des problèmes avec les conversions des sous-multiples, il est possible de laisser \texttt{siunitx} s'en charger. En effet, si une hypothétique grandeur de \SI{15}{\mV\per\uA} a été mesurée, l'extension écrit \SI[prefixes-as-symbols=false]{15}{\mV\per\uA} en passant l'option \texttt{prefixes-as-symbols} en \texttt{false}. Cette option va supprimer les sous-multiples et les transformer automatiquement en la bonne puissance de 10.
La personnalisation peut aller vraiment très loin, avec encore l'écriture scientifique automatisée (et même à une puissance de 10 fixée), la modification des différents symboles, des espacements et de leur placement (unité complexe, séparateur entiers-décimales, séparateur nombre-puissance de 10, changer l'espace fine entre les unités pour autre chose, \ldots ), le comportement des nombres dans les tableaux (sous-section 5.14 de la documentation, à partir de la page 46), \dots{} Encore une fois, l'éloge de la documentation très complète pour cette extension très performante et personnalisable est de mise ; il ne faut pas hésiter à la consulter, elle est claire et l'extension a forcément une solution à votre problème.
\newpage
\section{Gestion automatique de la bibliographie : Bib\TeX}
\label{sec:biblio}
Indispensable à tout travail de recherche (rapport de stage, mémoire, thèse ou article), la bibliographie peut s'avérer imposante (jusqu'à plus d'une centaine de références pour les \emph{reviews} scientifiques qui couvrent toutes les découvertes d'un domaine par exemple). Heureusement, \LaTeX{} (et même \TeX{}) ont été pensés pour. Mais avant de détailler la puissance de Bib\TeX{}, parlons rapidement de la solution de plus bas niveau, qui peut s'avérer commode pour un nombre de références limitées : l'environnement \texttt{thebibliography}.
\subsection{\texttt{thebibliography}}
Cet environnement propose une solution très manuelle pour introduire ses références dans son texte, et la rédaction se fait sous forme de liste. Mettons que vous ayiez travaillé sur les donuts pendant votre stage de L3. Vous aurez sans doute besoin de mentionner les travaux de Homer J. Simpson sur le sujet :
\begin{LTXexample}
\begin{thebibliography}{Sim96}
\bibitem[Sim96]{Simpson96} H. J. Simpson, \emph{Sugar
intake as a function of donuts eaten}, 1996
\bibitem[Sim98]{Simpson98} H. J. Simpson, \emph{Optimal
dispersion of chocolate chips on donuts}, 1998
\end{thebibliography}
\end{LTXexample}
Prenons les éléments un par un.
Tout d'abord, l'ouverture de l'environnement \texttt{thebibliography} nécessite un argument supplémentaire et obligatoire, ici `\texttt{Sim96}'. Cet argument doit être une chaîne de caractères (au contenu arbitraire) dont la longueur est la longueur maximale de l'étiquette des références (pour des raisons d'alignement). C'est cette même étiquette que l'on retrouve en option de la commande \verb=\bibitem= et c'est ce qui apparaîtra si vous citez\footnote{Citer une référence se fait de la même façon qu'en utilisant bib\TeX{}, avec la commande \verb|\cite{}| ; voir au~\ref{subsubsec:citer}.} la référence dans le document. Il est possible d'avoir des références numérotées automatiquement, en ne précisant pas d'étiquette, mais il faut quand même donner un second argument à l'ouverture de l'environnement (par exemple `\texttt{9}' ou `\texttt{n}' si on n'a pas plus de 9 références, `\texttt{99}' ou `\texttt{ab}' pour 99, etc.), comme suit :
\begin{LTXexample}
\begin{thebibliography}{0}
\bibitem{Simpson96} H. J. Simpson, \emph{Sugar
intake as a function of donuts eaten}, 1996
\bibitem{Simpson98} H. J. Simpson, \emph{Optimal
dispersion of chocolate chips on donuts}, 1998
\end{thebibliography}
\end{LTXexample}
Après l'option de \verb=\bibitem= vient l'argument, obligatoire, qui est la clé. C'est votre repère interne, qui est l'équivalent du \texttt{label} pour la commande \texttt{ref}. Une norme tacite est d'utiliser le nom de l'auteur suivi de l'année (et des caractères `a', `b', `c',\ldots pour différencier deux références du même auteur et de la même année), bien que vous êtes complètement libre de choisir ce que vous voulez.
Enfin, il faut écrire la référence à proprement parler, qui sera affichée telle que vous l'avez écrite. C'est là où cet environnement montre ses limites et où Bib\TeX{} rentre en jeu, comme nous allons le voir immédiatement.
\subsection{Bib\TeX}
Bib\TeX{} est intégré à \LaTeX{} et ne nécessite pas de charger d'extension supplémentaire pour fonctionner. Il s'appuie sur un fichier annexe, à l'extension `\texttt{.bib}' et contenant la bibliographie, pour fonctionner. C'est ce qui fait toute sa flexibilité, car l'on pourra utiliser tout ou une partie de ce fichier par la suite (et même plusieurs fichiers en même temps) pour générer automatiquement des environnements \texttt{thebibliography} avec des styles différents.
\subsubsection{Le fichier \texttt{.bib}}
Ce fichier contient vos entrées bibliographiques, mais sans en inclure l'apparence -- le style, que l'on abordera par la suite, s'en chargera. Ces entrées sont de la forme :
\begin{lstlisting}
@<type>{<clé>,
<champ1> = "<valeur>",
<champ2> = "<valeur>",
...
<champn> = "<valeur>"
}
\end{lstlisting}
De manière générale, il faut retenir que l'on peut entourer les \texttt{<valeur>} par des guillemets ou des accolades, mais l'on préfère l'usage des premières. Les dernières ont une autre utilité : placer un mot entre accolades permet également de préserver la casse (i.e. éviter que \og pH \fg{} ne devienne \og PH \fg{} ou que \og LaTeX \fg{} ne devienne \og latex \fg{}\footnote{On évitera de placer entre accolades une seule lettre (qui empêcherait \LaTeX{} d'optimiser le placement des lettres) ou tout un titre (par cohérence avec le fait d'utiliser un style défini).}), sauf dans le cas où l'on a besoin d'un accent sans support de l'UTF-8\footnote{Si cela devait arriver, placer la lettre accentuée entre accolades devrait éviter les erreurs (e.g. \verb|{\'e}|).}. Pour résumer, \verb|"Titre"| ou \verb|{Titre}| et \verb|"{Titre}"| ou \verb|{{Titre}}| sont les syntaxes acceptées.\\
Il ne faut pas oublier les virgules qui séparent les différents champs, et contrairement à du code \LaTeX{}, le symbole `\%' ne permet pas de passer du texte en commentaire (par contre, supprimer l'arobase avant le type rendra l'entrée invisible).
Il existe plusieurs types par défaut (\texttt{article}, \texttt{book}, \texttt{master-} et \texttt{phdthesis}, \ldots), avec chacun leurs champs obligatoires et facultatifs. Ceux-ci sont référencés dans le tableau~\ref{tab:bibtypes} page~\pageref{tab:bibtypes}. Si vous citez des travaux académiques, n'hésitez pas à aller sur Google Scholar\footnote{Google Books propose la même chose pour les livres.} : il est possible d'y exporter les références au format Bib\TeX{}, avec les champs déjà remplis. Lors d'une recherche, il y a un lien \emph{Citer} sous chaque
article ; cliquer dessus ouvre une \emph{pop-up}, dans laquelle il y a un nouveau lien \emph{BibTeX}, qui affiche le texte à copier-coller. Si vous avez un compte Google, il est possible de modifier les paramètres afin que le lien \emph{Citer} ouvre directement le code Bib\TeX{}.
\begin{landscape}
\begin{figure}[p]
\begin{center}
\begin{tabular}{|*{14}{c|}}
\hline
& article & book & booklet & inbook &incollection &inproceedings& manual & masterthesis & misc & phdthesis & proceedings & techreport & unpublished\\
\hline
address & & $\circ$ & $\circ$ & $\circ$ &$\circ$ &$\circ$ & $\circ$ & $\circ$ & & $\circ$ & $\circ$ & $\circ$ & $\circ$ \\
\hline
annote & & & & & & & & & & & & & \\
\hline
author & $\bullet$ &$\dagger$& $\circ$ & $\dagger$ & $\bullet$ & $\bullet$ & $\circ$ & $\bullet$ & $\circ$ & $\bullet$ & & $\bullet$ & $\bullet$ \\
\hline
booktitle & & & & & $\bullet$ & $\bullet$ & & & & & & & \\
\hline
chapter & & & & $\dagger$-2 & $\circ$ & & & & & & & & \\
\hline
crossref & & & & & & & & & & & & & \\
\hline
edition & & $\circ$ & & $\circ$ & $\circ$ & & $\circ$ & & & & & & \\
\hline
editor & &$\dagger$& & $\dagger$ & $\circ$ & $\circ$ & & & & & $\circ$ & & \\
\hline
howpublished & & & $\circ$ & & & & & & $\circ$ & & & & \\
\hline
institution & & & & & & & & & & & & $\bullet$ & \\
\hline
journal & $\bullet$ & & & & & & & & & & & & \\
\hline
key & & & & & & & & & & & & & \\
\hline
month & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ \\
\hline
note & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\circ$ & $\bullet$ \\
\hline
number & $\circ$ & $\circ$ & & $\ddagger$ & $\ddagger$ & $\ddagger$ & & & & & $\ddagger$ & $\circ$ & \\
\hline
organization & & & & & & $\circ$ & $\circ$ & & & & $\circ$ & & \\
\hline
pages & $\circ$ & & & $\dagger$-2 & $\circ$ & $\circ$ & & & & & & & \\
\hline
publisher & & $\bullet$ & & $\bullet$ & $\bullet$ & $\circ$ & & & & & $\circ$ & & \\
\hline
school & & & & & & & & $\bullet$ & & $\bullet$ & & & \\
\hline
series & & $\circ$ & & $\circ$ & $\circ$ & $\circ$ & & & & & $\circ$ & & \\
\hline
title & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ & $\circ$ & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ \\
\hline
type & & & & $\circ$ & $\circ$ & & & $\circ$ & & $\circ$ & & $\circ$ & \\
\hline
volume & $\circ$ & $\circ$ & & $\ddagger$ & $\ddagger$ & $\ddagger$ & & & & & $\ddagger$ & & \\
\hline
year & $\bullet$ & $\bullet$ & $\circ$ & $\bullet$ & $\bullet$ & $\bullet$ & $\circ$ & $\bullet$ & $\circ$ & $\bullet$ & $\bullet$ & $\bullet$ & $\circ$ \\
\hline
\end{tabular}
\caption{Types d'entrées bibliographiques et champs. $\bullet$ : obligatoire ; $\circ$ : facultatif ; $\dagger$ : obligatoire, mutuellement exclusif ; $\ddagger$ : facultatif, mutuellement exclusif. Exceptés \texttt{annote}, \texttt{crossref} et \texttt{key} (à l'usage bien plus rare), tout champ ni obligatoire ni facultatif est ignoré.}
\label{tab:bibtypes}
\end{center}
\end{figure}
\end{landscape}
Quelques remarques à propos de divers champs, les autres étant assez explicites :
\begin{itemize}
\item \texttt{author} : Bib\TeX{} accepte les formats \texttt{prénom nom} et \texttt{nom, prénom}. Dans le premier cas, s'il s'agit d'un nom à particule, il faut utiliser des accolades pour éviter que la particule ne soit considérée comme un \emph{middle name} si courant chez les américains : \verb|Martin {Du Pont}|. S'il y a plusieurs auteurs, il faut les séparer avec \texttt{and}.
\item \texttt{booktitle} : Ne remplace pas le champ \texttt{title} ; il s'agit là d'indiquer le nom du livre dont on cite une partie (et le titre de cette partie ira dans \texttt{title}).
\item \texttt{chapter} : Numéro de chapitre.
\item \texttt{crossref} : Permet d'indiquer une entrée \og parent \fg{}, dont les valeurs des différents champs seront héritées. Intéressant si l'on a plusieurs \texttt{inproceedings} inclus dans le même \texttt{proceedings} par exemple. À destination des utilisateurs avancés.
%\starttouille J'aimerais bien renvoyer vers une ressource qui explique, car l'usage semble assez spécifique et limité (et plein de soucis techniques aussi), mais j'ai rien trouvé qui explique la base proprement. Peut-être dans le livre de Knuth ou Lamport, mais je ne les ai pas. \closetouille
\item \texttt{edition} : \emph{First} ou \emph{Second} par exemple.
\item \texttt{key} : À ne pas confondre avec la clé qui sert à citer, ce champ permet de classer correctement une entrée et de créer une étiquette correcte (pour le style \texttt{alpha}) si l'\og auteur \fg{} n'est pas disponible (champ \texttt{author}, parfois complété par d'autres selon le type de document). Voir au~\ref{subsubsec:bibreflist} ci-après pour les styles.
\item \texttt{pages} : Nombre ou intervalle : 42, 3--14\footnote{Notez l'usage du tiret double \verb|--|.}, 628+, \ldots
\end{itemize}
Par défaut, Bib\TeX{} ne propose pas de champ tel que \texttt{url}. Vous pouvez soit utiliser les champs \texttt{howpublished} ou \texttt{note} (\verb|note="\url{https://www.google.fr}"|\footnote{\verb|\url| nécessite l'extension \texttt{url}, ou mieux, \texttt{href}.}), soit utiliser \texttt{natbib} (cf. sous-section~\ref{subsec:natbib}), auquel cas le champ \texttt{url} est supporté et vous pouvez y écrire \verb|url="https://www.google.fr"|.
Il est tout à fait possible d'insérer des commandes \LaTeX{} dans les différents champs, mais il faut prendre soin de les entourer d'accolades si la casse compte (typiquement, \verb|\LaTeX|).
Pour les différents types non-évidents, \texttt{booklet} désigne toute impression reliée sans maison d'édition ou institution. \texttt{inproceedings} désigne un article présenté à une conférence (\texttt{proceedings}), et possède l'alias \texttt{conference} par compatibilité avec \texttt{Scribe}. \texttt{inbook} convient pour une partie de livre sans titre ou nom propre (un chapitre, un ensemble de pages) quand \texttt{incollection} convient pour une partie de livre ayant son propre titre.
\subsubsection{Introduire la bibliographie dans le document}
\label{subsubsec:bibreflist}
Une fois votre (ou vos) fichier(s) contenant votre bibliographie prêt(s), il faut indiquer au compilateur où aller le(s) chercher. Il faut utiliser les commandes suivantes :
\begin{lstlisting}
\bibliographystyle{<style>}
\bibliography{<fichier1>,<fichier2>,...}
\end{lstlisting}
La première définit le style utilisé. Il en existe 4 de base, tous des variations de \texttt{plain}.
\begin{itemize}
\item \texttt{plain} affiche une référence par son étiquette entre crochets, cette dernière étant un numéro (ex: [3]). La bibliographie est triée par ordre alphabétique des noms d'auteurs (un article de Dupont apparaîtra avant un article de Durand dans la liste).
\item \texttt{abbrv} va tenter de raccourcir le plus possible la bibliographie (en remplaçant les prénoms par leur première lettre par exemple).
\item \texttt{alpha}, lui, remplace l'étiquette par une combinaison `début de nom+année' (ex: [Dup99], [BMP16] pour plusieurs auteurs (ici l'exemple de ce document))
\item \texttt{unsrt} enfin, contrairement à \texttt{plain}, trie la bibliographie dans l'ordre où vous avez cité les références.
\end{itemize}
La seconde commande indique au compilateur où se trouvent les entrées à référencer et effectue le rendu au niveau de la commande -- elle se trouve donc généralement en fin de fichier, avant le \verb|\end{document}| ou les annexes. L'extension \texttt{.bib} est présupposée et vous n'avez pas à l'indiquer. Si votre bibliographie (nommée \texttt{ref.bib}) se trouve dans un autre dossier (le dossier \texttt{\textasciitilde/LaTeX/biblio/}) que le dossier courant (\texttt{\textasciitilde/LaTeX/article/}), vous pouvez indiquer un chemin relatif (e.g. \verb|../biblio/ref|) ou absolu (e.g. \verb|~/LaTeX/biblio/ref|).\\
Il est possible d'indiquer plusieurs fichiers ici (attention, pas d'espaces !), et c'est là où Bib\TeX{} montre sa flexibilité. Vous êtes astrophysicien ; vous avez fait une première bibliographie \texttt{trousnoirs.bib} lors de votre stage de M2, puis une autre, \texttt{supernovas.bib}, pour votre thèse. Si vous souhaitez rédiger un article sur la vie des étoiles, vous pouvez utiliser \verb|\bibliography{trousnoirs,supernovas}| et citer des références des deux ensembles !
Peut-être pensez-vous alors que c'est idiot, car il y a sans doute plusieurs références indésirables si l'on procède ainsi. En effet, et c'est pour cela que si vous ne citez rien dans votre document, aucune référence n'apparaît.
Par défaut, la bibliographie est nommée \emph{References} (resp. \emph{Références}) pour les articles et \emph{Bibliography} (resp. \emph{Bibliographie}) pour les rapports et livres en anglais (resp. français si vous avez paramétré \texttt{babel} en français). Si vous souhaitez renommer la section, vous pouvez le faire avec la commande suivante (placée avant\linebreak \verb|\bibliography{}|) :
\begin{itemize}
\item \verb|\renewcommand{\refname}{<nom>}| pour un article
\item \verb|\renewcommand{\bibname}{<nom>}| pour un rapport ou un livre
\end{itemize}
\subsubsection{Citer}
\label{subsubsec:citer}
La commande permettant de citer une référence dans le texte est \verb|\cite{<clé>}| : elle fait alors apparaître l'étiquette idoine (définie par le style, mentionné précédemment) entre crochets. Vous pouvez citer plusieurs références à la fois : \verb|\cite{<clé1>,<clé2>,...}|. Il est aussi possible de passer du texte supplémentaire en option : \verb|\cite[p.~3]{Simpson96}|.
Une fois qu'une référence est citée, elle apparaît dans la bibliographie. Si vous souhaitez que des éléments non explicitement cités y apparaissent, il vous faut utiliser \verb|\nocite{<argument>}|. Utilisable n'importe où dans le document, vous pouvez y passer une ou plusieurs clé(s) ou une astérisque (\verb|*|) en argument ; dans ce dernier cas, toutes les entrées présentes dans le fichier \texttt{.bib} sont ajoutées à la bibliographie.
\subsubsection{Compilation}
Pour afficher correctement la bibliographie, le compilateur a besoin d'effectuer plusieurs étapes. Il faut d'abord compiler une première fois, afin qu'il enregistre qu'on appelle une bibliographie. Ensuite, il faut exécuter Bib\TeX{}, pour qu'à partir de la bibliographie (\texttt{.bib}) soit créé un fichier \texttt{.bbl}, qui contient les entrées bibliographiques et le style (le \texttt{thebibliography} automatisé). Enfin, il faut compiler normalement deux fois de plus, pour intégrer la bibliographie au document et mettre en place les références.
Pour exécuter Bib\TeX{}, chaque support fonctionne différemment, mais les IDE (TeXmaker, TeXworks, \ldots) ont un bouton Bib\TeX{} quelque part et la commande à utiliser en terminal n'est autre que \verb|bibtex|\footnote{\emph{Nota Bene} : il faut entrer \verb|bibtex fichier.aux| ou \verb|bibtex fichier| et non \verb|bibtex fichier.tex|.}.
Ces étapes sont résumées dans la sous-section~\ref{subsec:compbib}.
\subsubsection{Exemple}
%%% Exemple 1 : montre plein d'entrées, mais lourd
% Modifié après commit cafc7a8fc545f7989fe1c7d20c9d846c8cf2266a
%%% Exemple 2 : trop court/simple ?
\begin{mdframed}
Comme l'a écrit le grand penseur et érudit de notre temps Homer Simpson, \og la vie vient du sucre, et le sucre vient du \emph{doghnut} \fg{}\citeex{Simpson96}. Même si l'intégralité de son oeuvre est courte, ses travaux ont encore un impact direct sur notre société, comme ses travaux sur les éclats de chocolat\citeex{Simpson98}\nociteex{Simpson00}.
\bibliographystyleex{alpha}
% On utilise alpha pour pas perturber la numérotation de la biblio générale
\bibliographyex{exemple}
\end{mdframed}
Le code correspondant est le suivant :
\begin{lstlisting}[breaklines=true]
Comme l'a écrit le grand penseur et érudit de notre temps Homer Simpson, \og la vie vient du sucre, et le sucre vient du \emph{doghnut} \fg{}\cite{Simpson96}. Même si l'intégralité de son oeuvre est courte, ses travaux ont encore un impact direct sur notre société, comme ses travaux sur les éclats de chocolat\cite{Simpson98}\nocite{Simpson00}.
\bibliographystyle{alpha}
\bibliography{exemple}