Retour

camille.tex

Télécharger le fichier Fichier PDF
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{fvrb-ex}
\usepackage{pstricks,pst-text}
\usepackage{tabularx}
\usepackage{picinpar}
\usepackage{fancyvrb}
\usepackage{geometry}
\usepackage{pifont}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{array}
\usepackage{tabularx}
\usepackage{hhline}
\usepackage{multirow}
\usepackage[frenchb]{babel}
 
\def\casevide{%
  \begin{pspicture}(0,0)(3mm,2.5mm)
    \psframe(0,-.5mm)(3mm,2.5mm)
  \end{pspicture}
}
\def\casecochee{%
  \begin{pspicture}(0,0)(3mm,2.5mm)
    \psframe(0,-.5mm)(3mm,2.5mm)
    \psline(0,-.5mm)(3mm,2.5mm)
    \psline(0mm,2.5mm)(3mm,-.5mm)
  \end{pspicture}
}
 
\def\caseplus{%
  \begin{pspicture}(0,0)(3mm,2.5mm)
    \psframe(0,-.5mm)(3mm,2.5mm)
    \psline(1.5mm,0.2mm)(1.5mm,1.8mm)
    \psline(0.8mm,1mm)(2.3mm,1mm)
  \end{pspicture}
}
 
\newenvironment{display}{\par\nobreak\smallskip
  \begingroup\parskip=0pt\obeylines}%
{\endgroup\par\smallskip\noindent\aftergroup\ignorespaces}
 
\geometry{a4paper,twoside,left=1.4cm,right=1.4cm,marginparwidth=1.2cm,%
  marginparsep=3mm,top=2cm,bottom=2cm}
\setlength{\parindent}{8mm}
\setlength{\parskip}{4pt plus2pt minus1pt}
 
\pagestyle{headings}
\thispagestyle{empty}
\begin{document}
\makeatletter
\def\boi{\(\backslash\)}
\def\fichier#1{\bgroup\catcode`\:=\active\@fichier{#1}\egroup}
\def\@fichier#1{\def:{\string:}\texttt{#1}}
\def\ordre#1{\texttt{#1}}
\def\horizontal{\fvset{xrightmargin=0.5\hsize,frame=single,numbers=left,%
label=\emph{Source}}}
\def\vertical{\fvset{xrightmargin=0pt,frame=single,numbers=left,%
label=\emph{Source},}}
\makeatother
 
{\Large Lycée Camille Guérin\hfill
Année scolaire 2001-2002}\par
\vfill
\begin{center}
  \begin{minipage}{8cm}
    \hrule\par
    \vspace{2mm}
    \begin{center}
    \Huge \bfseries Stage \LaTeX\par
    \LARGE Niveau débutant\par
    \end{center}
    \hrule\par
  \end{minipage}
\end{center}
 
\vfill\vfill
\null\hfill Jean-Côme \textsc{Charpentier}\\
\null\hfill Dernière modification : \today
\newpage\thispagestyle{empty}\null\par\newpage\pagenumbering{roman}
\tableofcontents
\newpage\pagenumbering{arabic}
\section{Logiciel libre, \TeX{} et \LaTeX}\label{libre}
\subsection{Historique}
\begin{window}[0,l,%
  \begin{minipage}{4.5cm}
    \includegraphics[scale=0.9]{stallman.ps}
  \end{minipage}
  ,{}]
  \noindent
  Dans les années 1970, Richard~\textsc{Stallman} (photo ci-contre) a
  commencé à travailler au laboratoire d'intelligence artificielle du MIT.
  \`A l'époque, le laboratoire pouvait être qualifié de communauté dans
  laquelle le logiciel était partagé sans se poser de question (partage qui
  avait lieu également avec l'extérieur). Cette équipe avait confectionné le
  système d'exploitation des gros ordinateurs de l'université.  Au début des
  années 1980, l'université a renouvelé son parc informatique et a acquis des
  ordinateurs disposant d'un système propriétaire. La communauté n'a pas
  survécu à cela et les personnes sont parties chacune de leur côté.
  Richard~\textsc{Stallman} était profondément attaché à la notion de liberté
  et de partage et a moins bien supporté cet état de fait que les autres. Il a
  alors décidé de reconstruire tout un système d'exploitation
  multi-plate-forme (c'est-à-dire pouvant fonctionner sur de multiples
  ordinateurs différents) en reprenant les idées de liberté : ce projet s'est
  appelé GNU car il devait se fonder sur le système Unix (GNU signifie GNU is
  Not Unix, \textsc{Stallman} aime beaucoup les acronymes récursifs !)
\end{window}
 
Cette décision est lourde de conséquences : afin de mener son projet à
bien, il va devoir démissionner du MIT en 1984 pour éviter que son travail ne
tombe automatiquement dans le domaine du logiciel propriétaire. En fait, c'est
un de ces premiers programmes --- Emacs, un traitement de texte --- qui va le
faire connaître et attirer vers lui une nouvelle communauté de développeurs.
 
Le projet va prendre beaucoup d'ampleur. \`A côté du développement
proprement dit, Richard~\textsc{Stallman} va devoir mettre sur pied une
structure juridique permettant de protéger les logiciels libres. En 1991, avec
l'arrivée de Linux, le couple GNU/Linux peut enfin proposer un système complet
entièrement libre.
 
\begin{window}[0,l,%
  \begin{minipage}{3cm}
    % \vspace*{3mm}
    \includegraphics[scale=.55]{don.ps}
  \end{minipage}
  ,{}]
  \noindent
  Donald \textsc{Knuth}, un informaticien de renommé mondiale, a entrepris la
  rédaction d'une véritable bible de la programmation : \textsl{The Art of
    Computer Programming}. Au début, l'ouvrage est composé de façon
  traditionnelle avec des caractères en plomb et tout allait très bien. Puis,
  au cours des années 70, les premières photocomposeuses apparaissent et la
  qualité devient trop médiocre aux yeux de \textsc{Knuth}.  Il décide
  alors de concevoir un logiciel permettant de composer des textes avec une
  qualité professionnelle. Dès le départ, il se fixe comme but d'arriver à un
  produit qui devra être parfait (ou presque) et qui devra le rester au cours
  du temps !
 
  \noindent
  Ce travail va prendre un certain temps et, après la première version sortie
  à la fin des années 1970, la correction de quelques erreurs amène à la
  version finale au tout début des années 1980. Cette dernière version a été
  définitivement gelée et fonctionne ainsi depuis plus de vingt ans sans que
  le besoin impérieux d'ajouter des fonctionnalités se fasse sentir.  Lorsque
  \TeX{} a été rendu public, de nombreux utilisateurs l'ont enrichi et, au
  cours du temps, il est devenu de plus en plus facile de réaliser de
  multiples types de compositions avec cet outil. Citons par exemple la
  réalisation de formules ou molécules chimiques, de diagrammes physiques, de
  partitions musicales, de textes arabes, etc. Une autre voie a été de doter
  les distributions de programmes annexes permettant de gérer le PostScript,
  le PDF, le langage HTML, etc.
\end{window}
 
\begin{window}[0,l,%
  \begin{minipage}{3cm}
    % \vspace{5mm}
    \includegraphics[scale=.4277]{lamport.ps}
  \end{minipage}
  ,{}]
  \noindent
  Dès le début des années 1980, un de ces développeurs,
  Leslie~\textsc{Lamport}, a créé une surcouche à \TeX{} -- \LaTeX --
  permettant une approche plus intuitive du langage et qui en a standardisé
  l'utilisation. Le principe qui a guidé l'élaboration de \LaTeX{} était de
  faire en sorte que l'utilisateur se concentre plus sur la structure du
  document que sur les détails de composition. \LaTeX{} propose pour cela
  toute une gamme de commandes de haut niveau construites à partir de \TeX{}
  mais dont les détails n'ont pas obligatoirement besoin d'être connus de
  l'utilisateur. Actuellement, il y a beaucoup plus d'utilisateurs de \LaTeX{}
  que de \TeX, cela a pour conséquence que de nombreuses extensions du langage
  ont été développées en \LaTeX{} et qu'elles ne fonctionnent pas toutes sous
  \TeX{}.
\end{window}
 
\subsection{Que signifie logiciel libre ?}
Lorsque \TeX{} fut au point, \textsc{Knuth} en confia la garde à l'American
Mathematical Society et livra le source du programme au monde du logiciel
libre. Il est peut-être utile de faire ici une petite mise au point sur ce que
signifie la notion de logiciel libre à propos de laquelle beaucoup de bêtises
ont été dites ; la floraison de termes plus ou moins synonymes et/ou homonymes
n'a certainement pas contribué à rendre les choses facilement intelligibles.
 
En premier lieu, il faut absolument distinguer la notion de logiciel gratuit
et de logiciel libre. Ce n'est pas parce qu'un logiciel est gratuit qu'il doit
être considéré comme un logiciel libre et un logiciel libre n'est pas
nécessairement gratuit.
 
Pour clarifier un peu les choses dans une jungle relativement inextricable,
j'appellerai <<~logiciel libre~>> un logiciel distribué sous la licence GPL
(General Public Licence). En résumé, voici les principaux points de cette
licence :
\begin{itemize}
\item tout le monde peut utiliser le logiciel ;
\item le source du programme doit obligatoirement être fourni avec la
  distribution contenant le programme ;
\item le point précédent est là pour permettre à quiconque de modifier le
  logiciel, soit pour l'adapter à des besoins particuliers, soit pour
  l'améliorer ;
\item on a le droit de redistribuer les copies dans la mesure où on fournit
  également le source du programme.
\end{itemize}
Si un logiciel répond à ces exigences, il peut être qualifié de logiciel libre
sinon, ce n'est pas un logiciel libre. Par exemple, une montagne de logiciels
freeware ne sont pas des logiciels libres (source non disponible, interdiction
de modifier le programme sans l'accord du propriétaire, \ldots).
 
On remarquera qu'il n'est jamais fait mention explicite d'argent. S'il est
précisé que tout le monde peut redistribuer des copies, il n'est absolument
pas interdit de les faire payer. En pratique, c'est d'ailleurs ce qui se passe
pour les distributions occupant beaucoup de place mémoire et qui seraient très
pénibles de rapatrier via internet.
 
Le projet GNU a inventé une licence couvrant le logiciel libre qu'il a appelée
<<~copyleft~>>. Elle protège le logiciel en empêchant, par exemple, une
entreprise de modifier le programme et de déclarer alors que ce programme
modifié n'est plus libre. En effet, il y a deux obligations pour le logiciel
libre. La première est qu'une version modifiée d'un logiciel libre est
ipso facto un logiciel libre, couverte par la même licence. La seconde est que
la prise de cette licence est irrévocable : le développeur d'un programme
donne irrémédiablement son produit à la communauté.
 
 
\subsection{Avantages et inconvénients de \TeX}
\textbf{Inconvénients.}
 
Je vais avoir quelques difficultés à être impartial car j'ai du mal à voir des
inconvénients à \TeX{} ! En fait, je reprendrai les arguments avancés contre
\TeX{} et qui sont tout à fait légitimes même si je ne partage pas ces idées :
\begin{enumerate}
\item Il s'agit d'un langage de programmation. Pour ceux qui sont habitués à
  travailler sous un traitement de texte plus classique, le mieux à faire est
  d'oublier à peu près tout ce qu'ils ont appris : la suite sera plus facile !
\item \`A ma connaissance, il n'y a qu'une seule distribution (payante et qui
  ne fonctionne que sous Macintosh) permettant de voir le résultat au fur et à
  mesure de la frappe. Il y a également le logiciel Lyx qui n'est pas vraiment
  wysiwyg mais qui s'en rapproche, on peut aussi citer le logiciel Scientific
  Workplace. Avec une distribution classique, il faut
  taper le source (décrire le document), le compiler puis visualiser ou
  imprimer le fichier de sortie.
\item La prise en main du logiciel demande un effort non négligeable en raison
  du nombre de commandes à connaître. Les non anglophones seront
  particulièrement désavantagés !
\item Certaines mises en forme sont assez lourdes à gérer. En particulier, on
  pourra citer les tableaux.
\end{enumerate}
 
\textbf{Avantages.}
 
Comment arrive-t-on à concevoir un logiciel qui est utilisé depuis vingt ans
sans que des mises à jour ne soient nécessaires ? Je ne peux pas expliquer
toutes les idées de l'auteur de \TeX{} dans ce manuel et je ne les connais
d'ailleurs pas toutes. Pour en avoir une petite idée, voici quelques
caractéristiques de \TeX{} qui font sa force :
\begin{enumerate}
\item La qualité typographique est impressionnante. Il faut faire des efforts
  pour obtenir un document peu esthétique.
\item Le source étant un fichier texte, il n'y a aucun problème de format
  propriétaire. D'autre part, la taille des fichiers est très petite (1\,000
  fois plus qu'un texte contenant beaucoup de formules mathématiques fait sous
  Word) ce qui constitue un avantage énorme en cas de travail via internet ou
  d'échange par disquettes.
\item \TeX{} a été porté sur toutes les plates-formes possibles et
  imaginables. En fait, je ne connais aucune machine avec laquelle il soit
  impossible de travailler avec \TeX.
\item \TeX{} est libre.
\item \TeX{} a été très rapidement gelé, ce qui fait que tous les documents
  sont lisibles sur n'importe quelle installation. Par exemple, le manuel de
  \TeX{} que \textsc{Knuth} a écrit en 1982 est toujours lisible à l'heure
  actuelle. Inversement, un fichier écrit sur la dernière distribution pourra
  être compilé correctement sur une machine disposant d'une très vieille
  distribution.
\item Le fichier de sortie créé par \TeX{} est indépendant du
  périphérique. Cela fait que, hormis les problèmes de qualité, le résultat
  sera strictement identique quel que soit l'imprimante utilisée, que se soit
  une jet d'encre à 180 dpi datant de 10 ans ou la dernière laser couleur
  à 2\,400 dpi.
\item Le fichier construit avec \TeX{} place les différents éléments avec une
  unité de longueur appelée le point d'échelle qui correspond exactement à
  \(2^{-16}\) point typographique, ce qui nous donne \(5,36\times10^{-6}\)\,mm.
  \`A titre indicatif, la plus petite longueur d'onde visible (violet) vaut
  environ \(400\times10^{-6}\)\,mm. Autrement dit, même en concevant des
  périphériques d'impression de plus en plus perfectionnés, \TeX{} sera
  toujours capable de gérer des différences de tailles très largement
  invisibles à l'\oe il ; tout au plus, pourrait-on regretter que \TeX{}
  devienne insuffisant pour fabriquer des microfilms lisibles au microscope
  électronique !
\end{enumerate}
 
\section{Installation d'une distribution}\label{installation}
\subsection{Que faut-il ?}
Une distribution ne contient pas que le seul programme \TeX. Tout seul, \TeX{}
ne servirait pas à grand chose car, dans les caractéristiques originales du
logiciel, \textsc{Knuth} a séparé le placement des différents éléments dans la
page et la forme de ces différents éléments. Par exemple, le présent
paragraphe commence par la lettre <<~U~>>. Cette lettre doit être placée à un
endroit très précis sur la page.  C'est le rôle de \TeX{} de le déterminer en
se servant de quelques renseignements succincts sur cette lettre (hauteur,
profondeur, largeur et divers renseignements un peu plus exotiques). En
revanche, \TeX{} ne sait absolument pas que cette lettre se dessine avec un
trait courbe plus épais à gauche qu'à droite, surmonté d'empattements variés.
Le dessin proprement dit de la lettre est confié à un autre programme
(METAFONT), également créé par \textsc{Knuth} en même temps que \TeX. Ces deux
programmes constituent le tandem de base de la distribution.
 
Que trouvons-nous à côté de ces deux programmes ? En fait, tout plein de
choses, des fichiers décrivant les fontes de caractères, des programmes
permettant d'organiser les index, les bibliographies, des bibliothèques de
commandes préprogrammées, des formats (fichiers décrivant les grandes lignes
de la présentation d'un document) et d'autres choses plus ou moins exotiques.
 
Le tout fait plusieurs centaines de fichiers et une distribution classique
peut très bien atteindre 100, 200 ou 300\,Mo. L'installation complète de la
distribution \TeX live occupe 1,5\,Go du disque dur.
 
\subsection{Distribution \TeX live}
Durant ce stage, nous utiliserons la distribution \TeX live distribuée, entre
autre, par l'association GUTenberg. Il s'agit d'une distribution classique du
système \TeX{} permettant une installation sous Unix, Windows ou Macintosh.
Plus exactement, nous utiliserons la distribution prévue pour Windows et c'est
la procédure d'installation sous ce système qui est décrit ci-dessous. Une
installation sous Linux est beaucoup plus simple : pour ceux qui dispose d'un
environnement Linux, en général, l'installation d'un système \TeX{} se fait
lors de l'installation du système d'exploitation lui-même.
 
Pour installer cette distribution sur votre ordinateur, vous devez vous
trouver devant le clavier, l'ordinateur allumé et le système Windows attendant
votre bon vouloir. Introduisez le Cédérom.
 
Si l'ordinateur n'est pas prévu pour lancer automatiquement les Cédéroms,
allez dans le menu \ordre{démarrer}, item \ordre{Exécuter\ldots} et recherchez
sur le Cédérom le fichier \fichier{Autorun.exe}. Lancez ce programme et vous
serez revenu dans le même chemin.
\begin{itemize}
\item une page d'accueil vous souhaite la bienvenue, cliquez sur le bouton
  \ordre{Install TeX on Hard Disk} (le premier en haut) ;
\item le programme d'installation proprement dit démarre (TeXlive Setup
  Wizard) et propose de cocher la case \ordre{Quick install} ; comme on
  souhaite contrôler le processus, on laissera cette case non cochée, cliquez
  donc directement sur \ordre{Suivant};
\item la fenêtre suivante permet de spécifier la source servant à
  l'installation ; tout est très bien (normalement, la seule case cochée est
  \ordre{CDROM/Flat directory} et la zone de texte doit correspondre à la
  lettre du lecteur de Cédérom), cliquez sur \ordre{Suivant}.
\item la fenêtre suivante permet de spécifier les différents répertoires
  principaux qui seront gérés par le système \TeX{} ; là aussi, c'est très
  bien comme cela et cliquez sur \ordre{Suivant}
\end{itemize}
 
La procédure de création des fichiers temporaires est effectuée (très rapide)
et la fenêtre sur laquelle il va falloir ne pas aller trop vite apparaît. Il
s'agit d'indiquer ce qu'on veut réellement installer. Si on ne veut pas se
poser de question, on peut toujours cocher la case \casevide \verb+texlive+
qui procédera à l'installation de \ldots\ tout ! C'est bien de ne pas se poser
de question mais c'est un peu lourd à supporter pour le disque dur puisque
cela produira une copie de 1,5 Go de données. Dans ce manuel, on va essayer
d'être plus subtil !
 
Cliquez sur la case \caseplus pour développer l'arborescence. En cliquant sur
le texte du package, on a accès à une brève description (en anglais) dans le
cadre en bas à droite. Il peut être intéressant d'étudier attentivement ces
packages si vous avez besoin de choses particulières (création de partitions
musicales, de diagrammes d'échecs, de texte en japonais, coréen, chinois,
grec, \ldots, de diagrammes physiques complexes, de structures moléculaires,
etc. La suite du texte ne fera que charger les packages particulièrement
utiles et plus ou moins nécessaires à tout le monde. Si on veut, ce serait
tous les packages utiles pour une série de trois stages (débutant,
perfectionnement, expert).
 
L'item \ordre{tex-basic} est déjà coché. Il s'agit de tout ce qui est
absolument indispensable au bon fonctionnement d'une plate-forme
\TeX-\LaTeX. Cochez de plus la case \ordre{tex-langfrench}, la case
\ordre{tex-latex} qui doit d'ailleurs être déjà cochée car essentielle, la case
\ordre{tex-latexextra} bien que nombre des packages qui en dépendent ne soient
pas forcément très utiles, la case \ordre{tex-mathextra} indispensable pour un
travail sérieux en édition scientifique, la case \ordre{tex-pdftex} pour
pouvoir produire des documents PDF, la case \ordre{tex-pictures} pour pouvoir
manipuler tout plein de jolis dessins, la case \ordre{tex-psfonts} pour
disposer de quelques fontes PostScript et la case \ordre{ps-utils} pour
manipuler les fichiers PostScript. Pour la dernière case --
\ordre{win32-support} -- déroulez l'arborescence en cliquant au niveau de la
case \caseplus{} afin de choisir les packages :
\begin{itemize}
\item \ordre{gs-free} qui permet de visualiser les documents PostScript ;
\item \ordre{TeXShell} qui sera l'éditeur orienté \TeX-\LaTeX{} servant tout
  au long de ce stage.
\end{itemize}
Une fois que \LaTeX{} ne vous posera plus de problème, il sera peut être utile
de charger plutôt \ordre{ntemacs}, sans doute plus rebutant mais ô combien
plus puissant.
 
Avant de valider cette étape en cliquant sur \ordre{Suivant}, fouillez bien
dans toute l'arborescence pour voir l'étendue des possibilités et charger les
extensions qui vous seront utiles. Normalement, la case \ordre{Document Files}
est cochée. C'est très bien comme cela, la documentation disponible sur toute
distribution est une vraie mine d'or.
 
Une fois que vous êtes certain d'avoir coché les cases indiquées ci-dessus,
cliquez sur le bouton \ordre{Suivant}. Une fenêtre indiquera le récapitulatif
de tout ce qui a été demandé jusqu'ici : ce qui est très long. Il faut avoir
confiance, cliquez sur \ordre{Suivant} ce qui débutera l'installation.
 
Celle-ci commence par la procédure d'installation de GhostScript que vous
validez en cliquant sur le bouton \ordre{setup}. La fenêtre suivante vous
propose d'installer le logiciel dans le répertoire \verb+c:\gs+ et de mettre
le nom \verb+GhostScript+ au niveau du menu. Il n'y a pas de raison de
refuser, cliquez sur \ordre{Install}. L'installation de GhostScript est très
rapide.
 
L'installation du reste du système \TeX{} se déroule dans la foulée. Chez moi,
avec un disque dur tournant à 7200 T/mn, un processeur Pentium 700, une RAM de
128 Mo et un lecteur de Cédérom 52\(\times\), cela a pris un peu plus de dix
minutes. Vous pouvez donc aller prendre un café.
 
Une fenêtre indique que tous les packages ont été installés dans le répertoire
adéquat (enfin, j'espère). Cliquez sur \ordre{Suivant}. La configuration du
système est alors lancée (une trentaine de seconde). Cliquez sur
\ordre{Suivant}.
 
La procédure d'installation s'achève par un message de félicitations et une
petite windoserie vous invitant à redémarrer l'ordinateur (case que vous
laisserez cochée si vous voulez utiliser \TeX{} immédiatement). Pour les cases
\ordre{View the documentation} et \ordre{View the log file}, je vous propose
de ne pas les cocher. Cliquez sur le bouton \ordre{Reboot} (en laissant le
Cédérom en place). L'ordinateur redémarre.
 
\'Eventuellement, quelques fenêtres restent ouvertes (en particulier celle de
GhostScript) : vous pouvez les fermer. Dans le menu
\ordre{Démarrer/Programmes} doit se trouver les items \ordre{GhostScript} et
\ordre{GsView} qui permettent de lancer le visualisateur PostScript et l'item
\ordre{TeXlive} qui permet d'obtenir de la documentation, de lancer le
visualisateur dvi, l'éditeur TeXShell et de désinstaller la distribution \TeX
live.
 
Lancer \TeX Shell pour les dernières modifications. Dans le menu
\ordre{Options/Program Calls ...}, le texte correspondant à la troisième ligne
(\ordre{DVI Previewer} doit être \ordre{windvi "\%P\%F.dvi"} au lieu de
l'appel au logiciel yap qui y figure par défaut. Dans le menu \ordre{Options},
cliquer sur l'item \ordre{WordWrap} ce qui permettra d'avoir des retours à la
ligne automatique lors de la frappe
 
Ouf ! Vous voilà en présence d'une plate-forme encore peu personnalisée mais
néanmoins fonctionnelle. \TeX Shell est relativement facilement configurable
mais il faut faire l'effort de lire son menu \ordre{Help} pour comprendre
comment cela fonctionne. Pour l'instant, ce qui est proposé par défaut
suffira.
 
\section{Premiers documents}\label{premier}
Un des aspects les plus déroutant de \LaTeX, lorsqu'on est habitué à des
traitements de texte de type Word, est qu'il ne s'agit pas d'un environnement
Wysiwyg (What You See Is What You Get : ce qu'on voit est ce qu'on obtient).
Comme c'est le premier reproche fait à \LaTeX, une petite mise au point
s'impose. Tout d'abord, le Wysiwyg n'est qu'à peu près Wysiwyg : l'affichage
écran ne peut de toute façon pas rendre toutes les nuances possibles au niveau
d'une impression, même sur une imprimante actuelle très bas de gamme. D'autre
part, il faut se persuader que la prétendue supériorité du Wysiwyg n'est en
fait qu'une histoire d'habitude. Passer de Word à \LaTeX{} demande donc de
perdre certaines habitudes, ce qui n'est jamais agréable au départ. Je pense
même (et je suis loin d'être le seul à le penser) que le Wysiwyg est plus un
défaut qu'une qualité : elle oblige l'utilisateur à faire plus attention à la
forme physique qu'à la forme logique d'un document. C'est également la porte
ouverte à tout un tas de mauvaises habitudes typographiques. Pour clore le
sujet, je pense que pour une lettre à un ami ou une feuille d'exercices
destinée à des élèves, ce n'est pas excessivement important, en revanche, dès
que le travail commence à être un peu plus conséquent, la supériorité de
\LaTeX{} (ou de \TeX) est manifeste. Dernier reproche fait à \LaTeX{} : les
documents demandent plus de temps à être tapés. C'est évident lorsqu'on ne
connaît pas encore bien le logiciel ; c'est complètement faux dès qu'on
commence à en avoir une certaine habitude.
 
Produire un document en utilisant \LaTeX{} se fait en deux étapes. La première
consiste à taper le source du document et la seconde consiste à le compiler.
On retrouve donc les deux étapes essentielles de beaucoup de langages de
programmation. En théorie, il faut donc un éditeur de texte pour produire
le source puis un appel à un programme qui va se charger de traduire le source
en un fichier décrivant le document d'une façon facilement compréhensible pour
l'ordinateur (donc totalement incompréhensible pour l'humain). Avec \TeX Shell,
les choses sont un peu plus simples car cet éditeur de texte propose, via des
menus et boutons, d'automatiser les différentes étapes de compilation. Je ne
rentrerai donc pas dans les détails techniques en renvoyant le stagiaire
curieux vers les livres cités en bibliographie.
 
En fait, lorsqu'il est indiqué qu'un document se fait en deux étapes : saisie
du source puis compilation, on laisse de côté une phase quelquefois pénible,
voire très irritante qui est celle de la correction d'erreurs. Avec
l'expérience, le temps passé à traquer les erreurs diminue mais il faut se
préparer, les premiers temps, à quelques ennuis, surtout lorsqu'on demandera
des choses très spéciales à \LaTeX.
 
Voici le source d'un document relativement minimal. Les explications suivent :
\begin{verbatim}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\begin{document}
  Mes premiers pas avec \LaTeX{} sont un peu émouvants. Pour les premiers
  exemples, il faudra taper exactement ce qui est proposé, en faisant bien
  attention ! Une fois la compilation effectuée, on peut
  \begin{itemize}
    \item visualiser le document à l'écran ;
    \item imprimer le document ;
    \item convertir le document en fichier PostScript ;
    \item et plein d'autres choses.
  \end{itemize}
\end{document}
c'est fini.
\end{verbatim}
 
Le résultat est montré page ci-contre.
 
Un document \LaTeX{} commence obligatoirement par la déclaration
\begin{display}
\verb+\documentclass{+\textit{classe\_document}\verb+}+
\end{display}\textit{classe\_document} est un des mots-clés suivants :
\begin{itemize}
\item \verb+book+ ;
\item \verb+report+ ;
\item \verb+article+ ;
\item \verb+slides+ ;
\item \verb+letter+.
\end{itemize}
Il s'agit de la \emph{classe} du document. Théoriquement, \verb+book+ est
destiné à taper le source d'un livre, \verb+report+ d'un rapport (ouvrage
moins important qu'un livre), \verb+article+ d'un \ldots\ article (document
encore moins important qu'un rapport), \verb+slides+ de transparents et
\verb+letter+ de lettres. Les deux dernières classes sont un peu spéciales et
nous n'en parlerons pas. En revanche, les trois premières sont d'un usage
courant.
 
Les deux lignes suivantes commencent par \verb+\usepackage+. Il s'agit d'un
appel à une bibliothèque de commandes appelée \emph{extension} ou
\emph{package} permettant d'automatiser certaines actions. La syntaxe générale
de cette commande est :
\begin{display}
  \verb+\usepackage[+\textit{options}\verb+]{+\textit{nom\_extension}\verb+}+
\end{display}
 
Dans notre exemple, on trouve :
\begin{display}
  \verb+\usepackage[T1]{fontenc}+
\end{display}
qui permet de taper directement les lettres accentuées (\TeX{} est un logiciel
américain fait à une époque où le codage ASCII ne prenait pas en compte les
lettres dites européennes). On trouve également :
\begin{display}
  \verb+\usepackage[frenchb]{babel}+
\end{display}
qui permet de se plier aux règles de la typographie française\footnote{En
  fait, il existe deux façons d'indiquer qu'on est français : celle utilisée
  ici et l'appel au package \texttt{french}. En ce qui concerne les points
  abordés dans ce manuel, cela ne fera aucune différence.}. Nous allons
immédiatement voir en quoi cela consiste.
 
La ligne suivante dit :
\begin{display}
  \verb+\begin{document}+
\end{display}
ce qui indique que le document proprement dit va débuter après cette ligne. Le
document prend fin avec la commande :
\begin{display}
  \verb+\end{document}+
\end{display}
et c'est pourquoi le texte << c'est fini >> (dernière ligne du source) n'a pas
été pris en compte dans le document final.
 
\newpage\thispagestyle{empty}
\vspace*{-6.1cm}
\noindent
\hspace*{-3.825cm}\includegraphics{exemple.ps}\vfill
\newpage
 
La partie située entre \verb+\documentclass+ et \verb+\begin{document}+
s'appelle le \emph{préambule} et la partie située entre le
\verb+\begin{document}+ et le \verb+\end{document}+ s'appelle le \ldots\
\emph{document}. Jusqu'au chapitre~\ref{extension} (page~\pageref{extension}),
le préambule sera toujours :
\begin{display}
  \verb+\documentclass{article}+
  \verb+\usepackage[T1]{fontenc}+
  \verb+\usepackage[frenchb]{babel}+
\end{display}
et nous ne le spécifierons donc plus, ainsi que le couple :
\begin{display}
  \verb+\begin{document}+
  \verb+\end{document}+
\end{display}
 
Regardons maintenant ce qui a été produit. On voit que les coupures de lignes
n'ont pas du tout lieu au même endroit que dans le source et que les lignes
produites sont justifiées (alignement au niveau des marges gauche et droite).
\TeX{} calcule automatiquement les endroits où doivent se situer les coupures
et procède, le cas échéant, aux césures de mots (comme atten-tion dans notre
exemple). Dans la plupart des cas, ces coupures sont correctes ; on peut
forcer les coupures de façon manuelle mais, sauf cas particulier, c'est
généralement une très mauvaise idée. D'autre part, une fin de ligne au niveau
du source est comprise comme un espace ce qui fait que les mots <<~premiers~>>
et <<~exemples~>> sont normalement séparés au niveau de la sortie.
 
On notera également que la première ligne du paragraphe est indentée (retrait
vers la droite de la première ligne) alors que le source ne demandait rien. Il
s'agit de la présentation par défaut des paragraphes (en typographie
française). On verra au chapitre~\ref{commande} comment spécifier les formes
que devront avoir les paragraphes.
 
Le terme <<~\verb+\LaTeX{}+~>>, dans le source, a été traduit par <<~\LaTeX~>>
dans le document. De façon générale, tout ce qui commence par une
contre-oblique est une macro (macro-instruction, une sorte de commande en
fait). Ici, le nom de cette commande est \verb+LaTeX+ (notez l'emploi des
majuscules et minuscules, par exemple, la commande \verb+latex+ n'existe pas).
Il s'agit d'une suite d'instructions permettant d'obtenir le curieux logo avec
ses lettres qui ne sont pas alignées verticalement.
 
Le gros bloc :
\begin{display}
  \verb+\begin{itemize}+
  \verb+\item visualiser le document à l'écran ;+
  \verb+\item imprimer le document ;+
  \verb+\item convertir le document en fichier PostScript ;+
  \verb+\item et plein d'autres choses.+
  \verb+\end{itemize}+
\end{display}
a été traduit par une liste d'items. On notera la syntaxe qui permet de
déclarer où commence la liste d'items (\verb+\begin{itemize}+) et où elle se
termine (\verb+\end{itemize}+). Ces blocs qui commencent par un
\verb+\begin{bidule}+ et qui se terminent par un \verb+\end{bidule}+
s'appellent des \emph{environnements}.
 
Voilà pour la partie visible. Maintenant, regardez avec beaucoup d'attention
le point d'exclamation et les points virgules. Avec de bons yeux, on remarque
que l'espace située\footnote{Les espaces horizontales sont des mots féminins
  en typographie.} avant la double ponctuation est plus étroite que celle mise
après. Il s'agit d'une règle de typographie française, l'espace située avant
étant en fait une espace fine insécable. C'est l'appel de
\verb+\usepackage[frenchb]{babel}+ qui a déclenché automatiquement ce
comportement.
 
Dans le même registre, chaque item de la liste débute par un tiret long (un
tiret demi cadratin pour être précis). Sans la précision
\verb+\usepackage[frenchb]{babel}+, le signe au début de chaque item aurait
été un rond noir (~\(\bullet\)~)\footnote{Il s'agit d'une règle beaucoup plus
  controversée. L'auteur du package a cru bon de la mettre !}.
 
On peut remarquer également, et ce n'est pas très esthétique, que les marges
sont très importantes et que le numéro de page est situé très haut dans la
page. Ce comportement malheureux a deux origines. La taille des marges par
défaut est de un pouce (environ 2,54\,cm) ; c'est \textsc{Knuth} qui en a
décidé ainsi et \textsc{Knuth} aime bien les marges importantes. D'autre part,
\TeX{} a été créé par un américain qui devait écrire des textes sur du papier
américain. Or, le format standard outre-atlantique est <<~letter~>> alors
qu'en France, il s'agit du format~A4. Le document a été créé en supposant que
le papier était du type letter ce qui explique la position bizarre du numéro
de page (il suffit de couper la feuille au format letter et on retrouve
quelque chose de plus propre !) Bien évidemment, ce comportement peut être
réglé (Cf.~chapitre~\ref{extension}). Pour le moment, on indiquera qu'on
travaille sur du papier au format~A4 en spécifiant un paramètre optionnel au
niveau de la commande \verb+\documentclass+. En fait, j'avais menti
précédemment en disant que tous nos documents commenceraient par cette
commande ! En réalité, ils commenceront par la commande :
\begin{display}
  \verb+\documentclass[a4paper]{+\textit{classe\_de\_document}\verb+}+
\end{display}
 
Petite cerise sur le gâteau : examinez avec attention le mot <<~effectuée~>>
comme il apparaît sur le document et le mot <<~ef{}fectuée~>> tel qu'il
apparaîtrait sur des traitements de texte peu scrupuleux. Dans le premier cas,
les deux <<~f~>> ont été liés : il s'agit d'une ligature. Un texte
correctement composé doit faire les ligature ff, fi, fl pour f{}f, f{}i et
f{}l afin d'éviter les chocs disgracieux entre ces lettres. \TeX{} gère
également d'autres ligatures permettant d'obtenir les différents types de
tirets:
\begin{display}
  \leavevmode\hbox to1cm {<<~-~>>\hss} (trait d'union) obtenu avec %
    <<~\verb+-+~>> ; 
  \leavevmode\hbox to1cm {<<~--~>>\hss} (tiret demi cadratin) obtenu avec %
    <<~\verb+-+\verb+-+~>> ;
  \leavevmode\hbox to1cm {<<~---~>>\hss} (tiret cadratin) obtenu avec %
    <<~\verb+-+\verb+-+\verb+-+~>>. 
\end{display}
 
Ce premier exemple a permis de présenter le processus général pour obtenir un
document et de voir les notions de classe de document, d'extension (ou
package), de préambule, de macro (ou commande) et d'environnement. Un dernier
mot pour spécifier ce qu'est exactement un nom de macro et pourquoi les
accolades qui suivent \verb+\LaTeX+ n'ont pas été traduites par des accolades
au niveau du document final.
 
\LaTeX{} permet d'écrire n'importe quel caractère au niveau du source (les
caractères accentués nécessitant quand même la présence d'un
\verb+\usepackage[T1]{fontenc}+ au niveau du préambule) sauf les dix
caractères suivants qui ont chacun un rôle très particulier. Une utilisation
erronée de ces caractères produira invariablement des erreurs lors de la
compilation et des résultats surprenants au niveau de la sortie.
 
\noindent
\begin{tabular}{*{5}{|c|m{2.2cm}|}}
\hline
\verb+\+ & \raggedright début de nom de macro &
\verb+%+ & commentaire &
\verb+~+ & \raggedright espace insécable &
\verb+{+ & \raggedright début de groupe &
\verb+}+ & {\raggedright fin de groupe} \\\hline
\verb+$+ & \raggedright mode mathématique &
\verb+_+ & indice &
\verb+^+ & exposant &
\verb+#+ & \raggedright paramètre de macro &
\verb+&+ & {\raggedright \hbox{colonne de} tableau} \\\hline
\end{tabular}
\par\noindent
Les cinq symboles de la ligne du bas ne seront vus que plus tard. Nous allons
terminer cette présentation rapide en expliquant sommairement la signification
des cinq symboles de la ligne supérieure.
 
\verb+\+ sert à indiquer une macro, les caractères qui suivent donnant le
nom de cette macro. \TeX{} a des règles qui peuvent sembler bizarres pour
déterminer ce qu'est un nom de macro. Une série de lettres (majuscules et/ou
minuscules) qui se suivent déterminent un nom de macro, un caractère autre
qu'une lettre (y compris un des 10 symboles spéciaux) détermine seul un nom de
macro. Voici quelques exemples pour bien comprendre :
\begin{display}
  \verb+\bonjour+ est la macro \verb+bonjour+ ;
  \verb+\\bonjour+ est la macro \verb+\+ suivie du texte <<~bonjour~>> ;
  \verb+\\\bonjour+ est la macro \verb+\+ suivie de la macro \verb+bonjour+ ;
  \verb*+\ + où \verb*+ + désigne un espace est la macro \verb*+ + (le nom %
  est constitué par un espace : bizarre n'est-ce pas ?) ;
  \verb+\formatA4+ est la macro \verb+formatA+ suivie du texte <<~4~>>.
\end{display}
On notera le piège du dernier exemple (les chiffres ne sont pas des lettres).
 
Le caractère \verb+%+ introduit un commentaire, c'est-à-dire un texte
apparaissant dans le source mais n'ayant aucune influence au niveau du
document\footnote{Ce n'est pas tout à fait vrai mais c'est une bonne
  approximation de la vérité. Voir page~\pageref{recette} pour l'influence que
  peut avoir un \texttt{\%} pour le document.}. Un commentaire se termine à la
fin d'une ligne du source (voir l'exemple suivant pour mieux comprendre). Les
commentaires sont particulièrement utiles pour mettre des notes explicatives
au niveau du source sans que celles-ci n'influencent le résultat.
 
Le caractère \verb+~+ permet de placer une espace insécable. Les espaces
insécables sont obligatoires entre certains mots. Par exemple entre un prénom
et un nom de famille (\verb+Jean-Côme~Charpentier+), entre certaines
abréviations et le numéro qui va avec (\verb+page~4+, \verb+Cf.~6.4+,
etc.). Pour une liste des situations exigeant une espace insécable, on pourra
se reporter à [LEX].
 
Les caractères \verb+{+ et \verb+}+ sont très importants sous \TeX. Ils
délimitent des \emph{groupes}. Expliquer en détails ce qu'est un groupe
sortirait du cadre de ce stage. Pour simplifier à outrance, disons qu'un
groupe délimite une zone à l'intérieur de laquelle on peut obtenir des
comportements qui n'existeront plus à l'extérieur de ce groupe. Dans le source
on a employé la construction \verb+\LaTeX{}+, c'est-à-dire la macro
\verb+LaTeX+ suivie d'un groupe vide. Sans ce groupe vide, le source :
\begin{display}
  \verb+Mes premiers pas avec \LaTeX sont un peu émouvants+
\end{display}
aurait produit la sortie suivante :
\begin{display}
  Mes premiers pas avec \LaTeX sont un peu émouvants
\end{display}
car l'espace qui suit la macro \verb+LaTeX+ ne sert qu'à indiquer que le nom
de la macro se termine et cet espace disparaît une fois ce rôle terminé. C'est
heureux, sinon il serait difficile d'écrire quelque chose comme <<~Le \LaTeX
book~>> qui a bien le droit d'exister après tout ! La première idée serait de
mettre deux espaces à la suite : le premier pour stopper le nom de macro et le
second pour obtenir une espace véritable au niveau de la sortie.
Malheureusement cette idée brillante est inopérante à cause d'une règle de
\TeX{} qui remplace une séquence quelconque d'espaces au niveau du source par
un seul espace. De même, les espaces situés en début de ligne dans le source
ne sont pas pris en compte (l'exemple suivant utilise ces règles pour
permettre une présentation lisible). Par conséquent, dans la syntaxe
\verb+\LaTeX{}+, les accolades ne produisent rien (il s'agit d'un groupe vide)
mais elles ont quand même le rôle de stopper le nom de la macro, << \verb+{+
>> n'étant pas une lettre. Ainsi, l'espace qui suite le groupe vide n'a plus
ce rôle de fin de nom de macro et reprend son comportement normal pour
désigner une espace au niveau de la sortie (suis-je assez clair ?).  L'exemple
suivant utilise deux autres façons d'obtenir une espace après une macro.
 
Voici le second exemple qui va tenter d'illustrer tout ce qui vient d'être
vu. \`A partir de maintenant, les sources ne présenteront pas le préambule
mais il faudra absolument le spécifier. Le source sera présenté sur
la droite de la page, le résultat correspondant étant présenté à gauche en
vis-à-vis. Pour faciliter les explications, les lignes du source seront
numérotées.
 
\horizontal
\begin{SideBySideExample}
  Le second exemple de source {\LaTeX} va
  permettre d'illustrer les points que nous
  venons de voir. Dans les exemples, nous
  avons vu la macro dont le nom était
  constitué uniquement d'un espace. Ce
  source \LaTeX\ en donne une utilisation
  possible.
 
  Cet exemple va présenter les
  caractéristiques telles que
     la     gestion      des     espaces,
     les commentaires, % comme celui-ci
     les espaces insécables et
     une toute petite illustration de ce
        qu'il est possible de faire avec
                            les groupes.
\end{SideBySideExample}
 
On notera les deux façons supplémentaires d'écrire le mot <<~\LaTeX~>> en
mettant une espace à la suite, le fait que le commentaire
<<~\verb+comme celui-ci+~>> (ligne~12) n'apparaît pas au niveau de la sortie,
et les ribambelles d'espaces au niveau du source qui n'ont donné qu'une seule
espace au niveau du document final (lignes~10 à~16).
 
Une ligne vide au niveau du source indique un saut de paragraphe.  Ici, pour
des raisons de commodités, les paragraphes ne présentent ni indentation, ni
espaces verticaux entre eux : dans un exemple réel, ils seraient présents.
 
\smallskip
\begin{SideBySideExample}
  Le second exemple de source {\LaTeX} va
  permettre d'illustrer les points que nous
  venons de voir. Dans les exemples, nous
  avons vu la macro dont le nom était
  constitué uniquement d'un espace. Ce
  source~\LaTeX\ en donne une utilisation
  possible.
\end{SideBySideExample}
 
Le troisième exemple montre la puissance de \TeX{}. Le premier paragraphe a
été repris tel quel sauf qu'on a placé une espace insécable entre deux mots
(\verb+source~\LaTeX+ en ligne~6). \TeX{} a alors repris tous les calculs de
coupure de ligne afin de présenter un résultat correct. Si les mot
<<~source~\LaTeX~>> avaient été déplacés sur la quatrième ligne du paragraphe,
les lignes précédentes auraient été trop serrées (elles auraient présenté des
espaces trop étroites entre les mots). \TeX{} a alors complètement revu les
coupures de lignes, dès la troisième ligne dans l'exemple, en élargissant un
peu plus les lignes précédentes. Pour \TeX, il était préférable de rendre les
lignes un peu plus lâches que de les serrer. Les calculs entrant en jeu sont
très compliqués et assurent d'avoir un résultat proche de celui obtenu de la
part d'un typographe professionnel.
 
Ces deux derniers exemples montrent qu'un source \LaTeX{} n'a rien de vraiment
compliqué lorsque la présentation voulue n'appelle pas de constructions
spéciales. Pour obtenir des résultats non standard, il va falloir faire appel
à des macros et des environnements. La suite de ce manuel se charge de cette
présentation. Le logiciel \TeX{} connaît environ 300~commandes qu'on appelle
des \emph{primitives} car elles sont construites à l'intérieur même du
logiciel. Le format Plain \TeX{} (une bibliothèque de macros incontournables)
en déclare environ 300~autres : ces 600~commandes sont la base d'un travail
sous \TeX. \LaTeX, en tant que surcouche de \TeX{}, en définit très
approximativement autant que \TeX{} et Plain \TeX{} réunis ce qui fait qu'au
final, un utilisateur dispose de plus de 1\,000 commandes pour indiquer ce
qu'il veut faire. Ce nombre est assez colossal et apprendre par c\oe ur la
syntaxe et le rôle de ce millier de commandes est une tâche aussi ardue
qu'inutile (sauf si vous vous destinez à devenir gourou de \LaTeX, et encore
\ldots).
 
En premier lieu, un utilisateur lambda n'a pas besoin, loin s'en faut, de
toutes ces commandes (ou macros). La plupart du temps, un document n'en
nécessite qu'un petit nombre et, normalement, est constitué pour l'essentiel
de texte brut. Par exemple, pour écrire ce manuel jusqu'à cette ligne,
l'auteur a utilisé exactement 78 macros (dont 7 personnelles) et 11
environnements (dont un personnel). Il est clair que, pour l'essentiel, les
macros et environnements utilisés sont très usuels et qu'ils sont connus
après peu de temps de pratique. Il n'en reste pas moins que leur apprentissage
nécessite un petit effort et qu'il faut avoir de la documentation en
permanence lorsqu'on travaille sous \LaTeX{} afin de gérer les situations
exceptionnelles. Nous allons voir que les macros ont des noms qui permettent
souvent de bien s'en souvenir (pour peu que l'anglais ne soit pas complètement
inconnu).
 
\section{Commandes de base}\label{commande}
Dans ce chapitre, nous allons voir les macros et les environnements qu'on doit
absolument connaître. Il s'agit là de gérer la mise en forme des caractères
(caractères spéciaux, forme et taille des caractères) et des paragraphes,
les espacements importants, les différents types de listes et la composition
des formules mathématiques (n'oublions pas que \TeX{} a été créé par un
mathématicien-informaticien pour produire des livres à caractère
scientifique).
 
\subsection{Caractères particuliers}\label{carparticulier}
On a vu précédemment que les 10~caractères \verb+\ % ~ { } $ _ ^ #+ et
\verb+&+ avaient des rôles précis et ne pouvaient pas être employés pour
obtenir les caractères correspondants au niveau de la sortie. Le tableau
\ref{caracterereserve} montre les dix macros permettant de retrouver ces
caractères.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{*{5}{|c|l|}}
      \hline
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c|}{macro} \\\hline
      \(\backslash\) & \verb+\(\backslash\)+ &
      \%         & \verb+\%+         &
      \~{}       & \verb+\~{}+       &
      \{         & \verb+\{+         &
      \}         & \verb+\}+         \\\hline
      \$         & \verb+\$+         &
      \_         & \verb+\_+         &
      \^{}       & \verb+\^{}+       &
      \#         & \verb+\#+         &
      \&         & \verb+\&+         \\\hline
    \end{tabular}
  \end{center}
  \caption{Obtention des caractères réservés}
  \label{caracterereserve}
\end{table}
On voit que pour sept d'entre eux, la macro a le nom du caractère lui-même.
Les exceptions concernent la barre oblique inverse (backslash en anglais),
l'accent circonflexe et le ni\~na.
 
Knuth a expliqué pourquoi il n'a pas voulu utiliser \verb+\\+ comme macro
permettant d'obtenir la barre oblique ; je n'entrerai pas dans les détails.
Remarquons quand même que cette macro doit être entourée des signes \verb+\(+
et \verb+\)+ qui indiquent que l'intérieur est composé en mode mathématique
(Cf. section~\ref{math}).
 
L'accent circonflexe et le ni\~na sont des exceptions car il ne s'agit pas de
macros donnant un caractère mais un accent. Ainsi, \verb+\^+ indique que le
prochain caractère doit avoir un accent circonflexe. Comme nous voulions
l'accent seul, il a suffit de faire suivre cette macro d'un groupe vide.
\verb+\^e+ donne <<~\^e~>>, \verb+\^a+ donne <<~\^a~>> (qui n'existe pas mais
\TeX{} s'en moque). N'importe quel caractère peut être accentué. Ainsi,
\verb+\^c+ donne <<~\^c~>>, \verb+\^b+ donne <<~\^b~>> (on remarquera que
l'accent s'est automatiquement placé plus haut pour cette lettre présentant
une hampe), \verb+\^\$+ donne <<~\^\$~>>. Plus rigolo : avec l'extension
\verb+\usepackage[T1]{fontenc}+ qui permet d'utiliser directement des
caractères accentués, on peut obtenir <<~\^ù~>> avec \verb+\^ù+.
 
En fait, \TeX{} offre la possibilité de placer 14~types d'accents couvrant les
besoins de toutes les langues européennes (Cf. tableau~\ref{accenttexte}).
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{*{3}{|c|l|l|}}
      \hline
      caract.  & \multicolumn{1}{c|}{code} & \multicolumn{1}{c||}{nom} &
      caract.  & \multicolumn{1}{c|}{code} & \multicolumn{1}{c||}{nom} &
      caract.  & \multicolumn{1}{c|}{code} & \multicolumn{1}{c|}{nom} \\\hline
      \'o  & \verb+\'o+  & aigu        &
      \`o  & \verb+\`o+  & grave       & 
      \^o  & \verb+\^o+  & circonflexe \\\hline
      \"o  & \verb+\"o+  & tréma       &
      \~o  & \verb+\~o+  & ni\~na      &
      \=o  & \verb+\=o+  & barre       \\\hline
      \.o  & \verb+\.o+  & point       &
      \u o & \verb+\u o+ & brève       &
      \v o & \verb+\v o+ & tchèque     \\\hline
      \H o & \verb+\H o+ & tréma hongrois &
      \t o & \verb+\t o+ & lien après  &
      \c o & \verb+\c o+ & cédille     \\\hline
      \d o & \verb+\d o+ & point-dessous &
      \b o & \verb+\b o+ & barre-dessous &
      &             &             \\\hline
    \end{tabular}
  \end{center}
  \caption{Accent en mode texte}
  \label{accenttexte}
\end{table}
Certains utilisateurs refusent d'utiliser le \verb+\usepackage[T1]{fontenc}+
et sont donc obligés de taper toutes les lettres accentuées de cette façon.
C'est une question d'habitude, chacun fait comme il l'entend ! En revanche, un
grand nombre de claviers ne proposent pas les capitales accentuées (j'en
profite pour rappeler que les capitales doivent TOUJOURS être accentuées
lorsque le mot comporte un accent) et ces macros deviennent alors
indispensables.
 
On notera la syntaxe un peu différente pour les macros dont le nom est une
lettre (\verb+\u+, \verb+\v+, \verb+\H+, etc.) car une écriture comme
\verb+\vo+ ne produira certainement pas le caractère <<~\v o~>> mais une
erreur de compilation puisque la macro de nom \verb+vo+ n'existe pas. On
aurait pu écrire cela de différentes façons : \verb+\v{}o+, \verb+\v{o}+
produisent le résultat voulu. Si on ne veut pas réfléchir, on peut toujours
écrire de façon systématique le caractère à accentuer dans un groupe.
 
Certains caractères européens ne sont pas souvent présents sur les claviers
d'ordinateur, aussi, \TeX{} déclare les macros du
tableau~\ref{caractereeuropeen} pour pouvoir y accéder.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{*{5}{|c|l|}}
      \hline
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c|}{macro} \\\hline
      \oe & \verb+\oe+ &
      \OE & \verb+\OE+ &
      \ae & \verb+\ae+ &
      \AE & \verb+\AE+ &
      \ss & \verb+\ss+ \\\hline
      \aa & \verb+\aa+ &
      \vrule width0pt height11pt \AA & \verb+\AA+ &
      \o  & \verb+\o+  &
      \O  & \verb+\O+  &
      &            \\\hline
      \l  & \verb+\l+  &
      \L  & \verb+\L+  &
      ?`  & \verb+?`+  &
      !`  & \verb+!`+  &
      &            \\\hline
    \end{tabular}
  \end{center}
  \caption{Caractères européens spéciaux}
  \label{caractereeuropeen}
\end{table}
Les ponctuations espagnoles ?` et !`, appelées par les séquences \verb+?`+ et
\verb+!`+ ne sont en fait pas des macros mais des ligatures. Cette différence
ne présente pas beaucoup d'intérêt pour l'heure. Normalement, un français ne
devrait connaître que les quatre premières macros.
 
Quelques caractères d'usage courant et non forcément disponibles sur les
claviers sont également définis (Cf.~tableau~\ref{symbolespecial}).
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{*{5}{|c|l|}}
      \hline
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c||}{macro} &
      caract.  & \multicolumn{1}{c|}{macro} \\\hline
      \dag       & \verb+\dag+       &
      \ddag      & \verb+\ddag+      &
      \S         & \verb+\S+         &
      \P         & \verb+\P+         &
      \copyright & \verb+\copyright+ \\\hline
      \pounds    & \verb+\pounds+    &
      &  &
      &  &
      &  &
      &  \\\hline
    \end{tabular}
  \end{center}
  \caption{Symboles spéciaux}
  \label{symbolespecial}
\end{table}
 
Nous n'avons présenté que les caractères disponibles par défaut avec \LaTeX{}.
En fait, grâce aux extensions (Cf.~chapitre~\ref{extension}), l'utilisateur a
à sa disposition une bibliothèque prodigieuse de symboles. Les caractères
particuliers vus ici ne sont que ceux des modes textes. Les modes
mathématiques offrent une bien plus grande richesse en raison de la
consommation immodérée de ces symboles par les mathématiciens et physiciens.
 
\subsection{Commandes de fonte}\label{fonte}
Une fonte est l'ensemble des caractères présentant une forme commune (même
taille, même type de dessin) ; le mot de <<~police~>> est un néologisme
informatique qu'il vaut mieux éviter. On peut classer les opérations sur les
fontes en deux grandes catégories : les macros qui vont agir sur la taille du
texte et les macros qui vont agir sur le type des caractères (italique,
romain, sans empattement, etc.).
 
\subsubsection{Taille des caractères}\label{taille}
Si on ne dit rien du tout, les caractères sont pris dans la fonte Computer
Modern (inventée par Knuth et ressemblant un peu à la fonte Times) en taille
10. C'est ce que vous avez sous les yeux en ce moment.
 
Pour changer de taille de caractère, \LaTeX{} propose 10~macros présentées
dans le tableau~\ref{taillecaractere} :
\begin{table}[!htb]
  \begin{center}
    % la longueur et la macro suivantes servent à éviter
    % que les textes très hauts ne touchent les filets du tableau.
    \newlength{\hauteurcellule}
    \newcommand{\vformat}[1]{\settoheight{\hauteurcellule}{#1}%
      \addtolength{\hauteurcellule}{2pt}%
      \rule{0pt}{\hauteurcellule}{#1}}
    \begin{tabular}{|l|m{3cm}|l|}
      \hline
      \multicolumn{1}{|c|}{Macro} &
      \multicolumn{1}{c|}{Nom français} &
      \multicolumn{1}{c|}{Résultat} \\\hline
      \verb+\tiny+ & minuscule & {\tiny Voilà} \\\hline
      \verb+\scriptsize+ & taille scripte & {\scriptsize Voilà} \\\hline
      \verb+\footnotesize+ & \raggedright taille note de bas de page &
      {\footnotesize Voilà} \\\hline
      \verb+\small+ & petit & {\small Voilà} \\\hline
      \verb+\normalsize+ & taille normale & Voilà \\[2pt]\hline
      \verb+\large+ & grand & \vformat{\large Voilà} \\\hline
      \verb+\Large+ & Grand & \vformat{\Large Voilà} \\\hline
      \verb+\LARGE+ & GRAND & \vformat{\LARGE Voilà} \\\hline
      \verb+\huge+ & énorme& \vformat{\huge Voilà} \\\hline
      \verb+\Huge+ & \'Enorme& \vformat{\Huge Voilà} \\\hline
    \end{tabular}
  \end{center}
  \caption{Macros de taille de caractère}
  \label{taillecaractere}
\end{table}
Attention à leur utilisation. Si on met une de ces macros dans le source, tout
le texte qui va suivre sera de la taille spécifiée. Une façon naturelle de
revenir à la taille précédente serait d'écrire \verb+\normalsize+ mais ce
n'est pas une si bonne idée car la taille précédente n'était pas forcément la
taille normale et, en plus, c'est long à écrire ! Une façon beaucoup plus
propre et rapide est d'utiliser un groupe. Petit exemple pour bien comprendre :
\begin{SideBySideExample}
  {\Large Jamais !} Vous entendez ?
  {\LARGE Jamais} je ne le ferrai.
 
  {\tiny D'accord.} Ne vous fâchez pas.
\end{SideBySideExample}
 
\subsubsection{Types de fonte}\label{typefonte}
Il existe 9 paires de macros permettant de spécifier le type de caractère
voulu. Ces macros se répartissent en trois groupes : les macros indiquant la
forme (droit (up), italique (italic), penché (slanted) et petite capitale
(small cap)), les macros indiquant la graisse (moyen (medium) ou gras
(boldface)) et les macros indiquant la famille (romain (roman), sans
empattement (sans serif) et non proportionnel dite type machine à écrire
(typewriter)). Le tableau~\ref{typecaractere} présente ces 18~macros.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|l|l|l|}
      \hline
      \multicolumn{1}{|c|}{Macro I} &
      \multicolumn{1}{c|}{Macro II} &
      \multicolumn{1}{c|}{Résultat} \\\hline
      \multicolumn{3}{|c|}{Macros pour la forme}\\\hline
      \verb+\textup+ & \verb+\upshape+ & \textup{Un exemple pour voir} \\\hline
      \verb+\textit+ & \verb+\itshape+ & \textit{Un exemple pour voir} \\\hline
      \verb+\textsl+ & \verb+\slshape+ & \textsl{Un exemple pour voir} \\\hline
      \verb+\textsc+ & \verb+\scshape+ & \textsc{Un exemple pour voir} \\\hline
      \multicolumn{3}{|c|}{Macros pour la graisse}\\\hline
      \verb+\textmd+ & \verb+\mdseries+ & \textmd{Un exemple pour voir}\\\hline
      \verb+\textbf+ & \verb+\bfseries+ & \textbf{Un exemple pour voir}\\\hline
      \multicolumn{3}{|c|}{Macros pour la famille}\\\hline
      \verb+\textrm+ & \verb+\rmfamily+ & \textrm{Un exemple pour voir}\\\hline
      \verb+\textsf+ & \verb+\sffamily+ & \textsf{Un exemple pour voir}\\\hline
      \verb+\texttt+ & \verb+\ttfamily+ & \texttt{Un exemple pour voir}\\\hline
    \end{tabular}
  \end{center}
  \caption{Macros de type de caractère}
  \label{typecaractere}
\end{table}
 
Les premières lignes de chaque série de macros (\verb+\textup+, \verb+\textmd+,
\verb+\textrm+ et les macros de type II correspondantes) sont les types par
défaut des caractères.
 
La différence entre les macros de type~I et celles de type~II porte sur la
façon d'indiquer ce qui va être affecté par le changement. Les macros de
type~II se comportent comme les macros de changement de taille vues
précédemment. Les macros de type~I n'affectent que ce qui suit
immédiatement. Voici un exemple pour bien comprendre :
\begin{SideBySideExample}
  {\sffamily {\bfseries Qui}, sur la terre,
    voudrait utiliser du {\bfseries gras}
    sans empattement ?}
 
  \textbf I want \textbf that !
\end{SideBySideExample}
 
On notera la possibilité de mélanger les styles et l'utilisation de groupes à
l'intérieur de groupes pour limiter certaines actions comme il a été fait au
premier paragraphe.
 
Les macros de type~I semblent assez peu utiles. Dans le second paragraphe,
seul le <<~t~>> du mot <<~that~>> a été mis en gras, et écrire :
\begin{display}
  \verb+\textbf t\textbf h\textbf a\textbf t+
\end{display}
pour obtenir le résultat voulu (<<~that~>> entièrement en gras) est visiblement
idiot. En fait, là aussi, il faut penser au groupe.
\begin{SideBySideExample}
  \textbf I want \textbf{that}
\end{SideBySideExample}
 
C'est le groupe entier qui a été maintenant mis en gras. Du coup, l'emploi des
macros de type~I ou de type~II est plus ou moins une affaire de goût puisque
la seule différence va être de placer la macro soit juste avant le groupe
(type~I), soit à l'intérieur du groupe (type~II). La pratique montre que les
utilisateurs choisissent souvent le type~I pour de petits textes
(quelques mots) et le type~II pour des passages plus importants. Le stage de
perfectionnement en indiquera la raison.
 
Notez que la déclaration \verb+\textbfthat+ aurait conduit à une erreur de
compilation puisque l'ordinateur aurait cherché à savoir ce que devait faire
la macro dont le nom est \verb+textbfthat+ et que cette prétendue macro
n'existe pas !
 
Il existe une macro particulière qui se charge d'écrire un texte en italique à
condition que les caractères en cours ne soit justement pas en italique. Si le
texte en cours est composé en italique, cette macro remet le texte droit. Il
s'agit de la macro \verb+\emph+ (de \emph{emphasis} en anglais) et son
comportement est exactement celui qu'il faut avoir lorsqu'on désire mettre un
mot en évidence dans un passage.
\begin{SideBySideExample}
  Dans le livre \textit{\LaTeX{} est
    \emph{meilleur} que les autres}.
 
  Nous verrons que \LaTeX{} est
  \emph{meilleur} que les autres.
\end{SideBySideExample}
 
\subsection{Commandes de paragraphe}\label{paragraphe}
Un paragraphe est, par défaut, indenté et justifié (les bords gauche et droit
étant alignés avec les marges gauche et droite). Il est quelquefois
souhaitable de ne pas obtenir cette présentation et \LaTeX{} offre un choix
plantureux de commandes permettant d'obtenir des effets très spéciaux. Il est
hors de question de faire le tour de la question et nous nous contenterons de
citer les macros les plus utiles.
 
Avant de voir ces macros, il est bon de savoir qu'un paragraphe, pour \TeX,
est un texte qui se termine soit par une ligne vide (comme on a déjà vu), soit
par la macro \verb+\par+\footnote{En réalité, il y a d'autres possibilités que
  nous ne verrons pas dans ce manuel.}.
 
Il existe quatre présentations classiques de paragraphe : justifié (ce qui est
la présentation par défaut), au fer à gauche\footnote{La dénomination exacte
  serait plutôt <<~en drapeau au fer à gauche~>> ce qui est plus explicite.}
(seul le bord gauche du paragraphe est aligné avec la marge), au fer à droite
(le bord droit du paragraphe aligné avec la marge de droite) et centré. Pour
obtenir les trois dernières présentations, il existe à chaque fois une macro
et un environnement. Voyons les environnements en premier :
\begin{SideBySideExample}
  Voici un paragraphe normal (avec une
  indentation de première ligne nulle pour
  gagner de la place). Cet exemple suffit
  à voir l'alignement des bords gauche et
  droit.
 
  \begin{flushright}
    Voici un paragraphe au fer à droite où
    l'alignement ne se fait plus qu'au
    niveau du bord droit. La syntaxe
    anglaise peut être traduite par
    \emph{aligné~à~droite}.
  \end{flushright}\par % pour changer un peu
  \begin{flushleft}
    Un paragraphe au fer à gauche. La syntaxe
    anglaise est évidemment cohérente en
    remplaçant droite~par~gauche.
  \end{flushleft}
 
  \begin{center}
    Paragraphe centré. Seules les lignes
    relativement courtes ont un intérêt sinon,
    on ne voit pas très bien le caractère
    centré de la chose !
  \end{center}
\end{SideBySideExample}
 
Les macros permettant d'obtenir ces présentations sont respectivement
\verb+\raggedleft+, \verb+\raggedright+ et \verb+\centering+. On notera
l'inversion de \emph{left} et \emph{right}. Cela s'explique par la traduction
de \emph{flush} qui veut dire ici \emph{aligné} et de \emph{ragged} qui
signifie \emph{déchiqueté} ; si un paragraphe est aligné d'un côté, il est
déchiqueté de l'autre !
 
Attention, ces macros portent sur tout ce qui suit, il est donc nécessaire de
les inclure dans des groupes si on ne veut pas que leurs actions se
poursuivent jusqu'à la fin du document.
\begin{SideBySideExample}
  {\raggedleft Voici un paragraphe au fer à
    droite où l'alignement ne se fait plus
    qu'au niveau du bord droit. La syntaxe
    anglaise peut être traduite par
    \emph{déchiqueté~à~gauche}.\par}
  {\raggedright Un paragraphe au fer à gauche.
    La syntaxe anglaise est évidemment
    cohérente en remplaçant gauche~par~droite.
    \par}
  {\centering Paragraphe centré. Seules les
    lignes relativement courtes ont un intérêt
    sinon, on ne voit pas très bien le
    caractère centré de la chose !\par}
\end{SideBySideExample}
 
On notera que le paragraphe a été déclaré à l'intérieur des accolades
externes. En effet, ces macros ne portent que sur des paragraphes (c'est
logique) donc n'auront aucune action sur une portion de texte qui n'est pas un
paragraphe.
\begin{SideBySideExample}
  {\centering Exemple qui tombe à l'eau.}\par
  {\centering C'est mieux ainsi !\par}
\end{SideBySideExample}
 
La dernière chose que nous allons voir ici à propos de la forme des
paragraphes est l'indentation et le saut vertical entre deux paragraphes.
 
\begingroup
\setlength{\parindent}{3cm}%
\setlength{\parskip}{18pt plus4pt minus2pt}%
Les paragraphes commencent par défaut avec un retrait d'alinéa au niveau de
leur première ligne. On peut inhiber cette fonction en faisant précéder le
paragraphe de la macro \verb+\noindent+ comme dans le paragraphe qui suit
immédiatement. On remarquera aussi qu'à partir de ce paragraphe, l'indentation
n'est plus la même que d'habitude ainsi que le saut vertical entre les
paragraphes. Le comportement normal sera retrouvé à la prochaine section.
 
\noindent Ce retrait peut être défini par l'utilisateur. Normalement, ce type
de déclaration se fait au niveau du préambule puisqu'il est rare de changer
d'indentation au milieu d'un document. Ainsi, ce manuel a défini une
indentation de 8\,mm pour l'ensemble du texte mais depuis le paragraphe
précédent et jusqu'à la fin de cette section, l'indentation (horrible) a été
portée à 3\,cm. Ces définitions (ou redéfinitions) ne se font pas à partir
d'une macro mais avec ce que \LaTeX{} appelle des dimen (dimensions). Pour
modifier une dimension, il suffit d'employer la syntaxe :
\begin{display}
  \verb+\setlength{+\textit{dimen}\verb+}{+\textit{longueur}\verb+}+
\end{display}
\TeX{} étant très scrupuleux, il permet d'utiliser toutes les unités
typographiques usuelles anglo-saxonnes et françaises ainsi que les unités
courantes du système internationale plus une unité à lui qui est le point
d'échelle et trois unités qui dépendent de la fonte en cours. Le
tableau~\ref{unite} montre toutes les unités à disposition.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|l|l|l|p{8cm}|}
      \hline
      unité & nom anglais & nom français &
      \multicolumn{1}{c|}{correspondances} \\\hline
      \textbf{1\,bp} & big point & gros point & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=1{,}003\,74\)\,pt\hss}
          \hbox to3.945cm{\(=65\,781\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=0,352\,68\)\,mm\hss}
          \hbox to3.945cm{\(=1{,}388\,55\times10^{-2}\)\,in\hss}}
        \hbox to4cm{\(=0{,}938\,06\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,cc} & cicero & cicéro & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=12,840\,1\)\,pt\hss}
          \hbox to3.945cm{\(=841\,789\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=4{,}512\,51\)\,mm\hss}
          \hbox to3.945cm{\(=0{,}177\,658\)\,in\hss}}
        \hbox to3.945cm{\(=12\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,cm} & centimeter & centimètre & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=28{,}452\,74\)\,pt\hss}
          \hbox to3.945cm{\(=1\,864\,679\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=10\)\,mm\hss}
          \hbox to3.945cm{\(=0{,}393\,692\)\,in\hss}}
        \hbox to3.945cm{\(=26{,}591\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,dd} & didot point & point didot & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=1{,}07\)\,pt\hss}
          \hbox to3.945cm{\(=70\,124\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=0{,}376\,066\)\,mm\hss}
          \hbox to3.945cm{\(=1{,}480\,865\times10^{-2}\)\,in\hss}}
        \hbox to3.945cm{ \hss}\strut}\)\\\hline
      \textbf{1\,in} & inch & pouce & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=72{,}27\)\,pt\hss}
          \hbox to3.945cm{\(=4\,736\,286\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=25{,}4\)\,mm\hss}
          \hbox to3.945cm{ \hss}}
        \hbox to3.945cm{\(=67{,}541\,5\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,pc} & pica & pica & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=12\)\,pt\hss}
          \hbox to3.945cm{\(=786\,432\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=4{,}217\,18\)\,mm\hss}
          \hbox to3.945cm{\(=0{,}166\,031\)\,in\hss}}
        \hbox to3.945cm{\(=11{,}214\,86\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,pt} & point & point & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{ \hss}
          \hbox to3.945cm{\(=65\,536\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{\(=0{,}351\,14\)\,mm\hss}
          \hbox to3.945cm{\(=1{,}382\,446\times10^{-2}\)\,in\hss}}
        \hbox to3.945cm{\(=0{,}934\,57\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,mm} & millimeter& millimètre& \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=2{,}845\,26\)\,pt\hss}
          \hbox to3.945cm{\(=186\,467\)\,sp\hss}}
        \hbox{%
          \hbox to3.945cm{ \hss}
          \hbox to3.945cm{\(=3{,}936\,768\times10^{-2}\)\,in\hss}}
        \hbox to3.945cm{\(=2{,}659\,09\)\,dd\hss}\strut}\)\\\hline
      \textbf{1\,sp} & scale point & point d'échelle & \(\vcenter{\strut\hbox{%
          \hbox to3.945cm{\(=1{,}528\,78\times10^{-5}\)\,pt\hss}
          \hbox to3.945cm{ \hss}}
        \hbox{%
          \hbox to3.945cm{\(=5{,}362\,851\times10^{-6}\)\,mm\hss}
          \hbox to3.945cm{\(=2{,}109\times10^{-7}\)\,in\hss}}
        \hbox to3.945cm{\(=1{,}426\times10^{-5}\)\,dd\hss}\strut}\)
          \\\hline\hline
      \textbf{1\,em} & em-space & cadratin & \(\vcenter{\strut Il s'agit
          normalement de la largeur de la lettre <<~M~>> de la fonte courante
          mais il s'agit en fait d'une unité déclarée par le concepteur de la
          fonte qui a le droit de faire ce qu'il veut.\strut}\)\\\hline
      \textbf{1\,ex} & ex-space & hauteur de `x' & \(\vcenter{\strut Il s'agit
          normalement de la hauteur de la lettre <<~x~>> de la fonte
          courante. La remarque a propos de l'unité \textbf{em}
          s'applique.\strut}\)\\\hline
      \textbf{1\,mu} & math unit & unité mathématique & \(\vcenter{\strut
          Correspond à 1/18\(^{\hbox{\small e}}\) de cadratin dans la fonte
          mathématique courante. Cette unité n'a de sens qu'en mode
          mathématique.\strut}\)\\\hline
    \end{tabular}
  \end{center}
  \caption{Unités de mesures}
  \label{unite}
\end{table}
 
La dimension indiquant l'importance de l'indentation est \verb+\parindent+ et
la syntaxe \LaTeX{} qui a permis de la spécifier à 3\,cm est :
\begin{display}
  \verb+\setlength{\parindent}{3cm}+
\end{display}
 
En plus de l'indentation, on peut également régler les sauts verticaux entre
paragraphes. Là aussi, il existe une dimension qui indique cette distance, en
l'occurrence \verb+\parskip+. On peut évidemment procéder au même type de
réglage que pour l'indentation mais, pour cette dimension, on a tout intérêt à
utiliser une caractéristique fondamentale des dimensions de \TeX{} : il s'agit
en fait de ressorts comportant un certain étirement et compression plutôt que
de longueurs fixes. Le mot-clé \verb+plus+ introduit l'étirement et le
mot-clé \verb+minus+ introduit la compression.
 
Par exemple, dans cette fin de section, la dimension \verb+\parskip+ a été
fixée à :
\begin{display}
  \verb+\setlength{\parskip}{18pt plus4pt minus2pt}+
\end{display}
c'est-à-dire que l'espace entre deux paragraphes est normalement de 18\,points
mais qu'il peut en fait varier entre 22\,points (\(18+4\)) et 16\,points
(\(18-2\)). En dehors de cette fin de section, dans le reste du manuel,
cette dimension a été fixée au niveau du préambule par la syntaxe :
\begin{display}
  \verb+\setlength{\parskip}{4pt plus2pt minus1pt}+
\end{display}
ce qui fait que les paragraphes sont beaucoup moins espacés qu'en ce moment.
 
Le fait de n'avoir spécifié aucun étirement et compression pour la dimension
\verb+\parindent+ fait que ces deux composantes sont nulles. Ainsi,
l'indentation de paragraphe sera toujours exactement de 3\,cm (8\,mm dans le
reste du manuel). C'est un comportement souhaitable pour l'indentation mais
malheureux pour l'espace entre les paragraphes si on souhaite aligner les bas
de pages les uns avec les autres.
 
\`A partir de maintenant, les paragraphes retrouvent leur indentation et leur
saut de paragraphe habituels.
\endgroup
 
\subsection{Espacements}\label{espacement}
Comment indiquer à \LaTeX{} de mettre un certain espace vertical ou horizontal
à un emplacement donné ? La technique horrible et très \og wordienne \fg
consistant à taper une ribambelle d'espaces pour un grand espace horizontal ou
de sauts de paragraphe pour un grand espace vertical et ici totalement
inopérante et c'est tant mieux : rappelons que plusieurs espaces au niveau du
source seront traduits comme étant un seul espace et que plusieurs lignes vides
et/ou commandes \verb+\par+ consécutives seront traduites comme étant une
seule commande \verb+\par+.
 
Les deux commandes de base permettant d'obtenir de telles espacements sont
\verb+\hspace+ et \verb+\vspace+ ; la première pour les espacements
horizontaux et la seconde pour les espacements verticaux. On fera suivre ces
commandes d'un groupe indiquant la longueur voulue. Il devrait être clair
que les commandes \verb+\hspace+ et \verb+\vspace+ n'auront d'action
respectivement qu'à l'intérieur d'un paragraphe et qu'à l'extérieur d'un
paragraphe (réfléchissez).
 
\begin{SideBySideExample}
  Un\hspace{1.2cm}espace important
 
  \vspace{1.2cm}
  Un saut vertical important.
\end{SideBySideExample}
 
En réalité, les dimensions indiquées comme paramètre de ces deux commandes
peuvent comporter une composante d'étirement introduite par le mot \verb+plus+
ainsi qu'une composante de compression introduite par le mot \verb+minus+. On
parle alors de \og ressort \fg plutôt que de \og longueur \fg. Voici un petit
exemple pour bien comprendre.
 
\begin{SideBySideExample}
  Un\hspace{1cm}texte\hspace{1cm}difficile%
  \hspace{1cm}à\hspace{1cm}composer à cause
  des contraintes d'espacement.
 
  Un\hspace{1cm minus4mm}texte%
  \hspace{1cm minus4mm}difficile%
  \hspace{1cm minus4mm}à%
  \hspace{1cm minus4mm}composer à
  cause des contraintes d'espacement.
 
\end{SideBySideExample}
 
Dans les deux cas, le résultat est évidemment assez laid mais c'est ce qu'on a
demandé. Dans le second cas, les espaces indiqués doivent être normalement de
1\,cm mais peuvent se comprimer jusqu'à 6\,mm. Pourquoi, dans le second cas,
les espaces n'ont pas été resserrés au maximum ? Il faut bien comprendre que
la spécification \og \verb+1cm minus4mm+ \fg indique que la largeur doit
\emph{normalement} être de 1\,cm ; ici, c'est à cause de la césure que
\LaTeX{} a préféré réduire un peu cette largeur : il considère qu'une
césure n'est pas une bonne chose (en l'occurrence, une césure est moins bien
qu'une compression de ressort). S'il n'y avait pas eu de césure, c'est la
largeur naturelle (1\,cm) qui aurait été gardée.
 
Tout ce qui vient d'être dit pour le cas horizontal fonctionne de la même
façon pour le cas vertical. Le pendant de la césure, dans le cas vertical, est
la coupure d'un paragraphe en fin de page.
 
Les commandes \verb+\hspace+ et \verb+\vspace+ sont encore plus puissantes que
ce qui vient d'être dit : lorsqu'une commande \verb+\hspace+ survient en début
de ligne ou en fin de ligne, son rôle est inhibé. De même, une commande
\verb+\vspace+ en début ou en fin de page n'a aucune action. C'est une bonne
chose, par exemple, c'est ce qui permet de donner une présentation correcte au
en-têtes de section. De façon terriblement schématique, la commande
\verb+\section+ dans ce document commence par les commandes suivantes :
\begin{display}
  \verb+\par+
  \verb+\vspace{3.5ex plus1ex minus.2ex}+
\end{display}
Cela signifie que l'espacement vertical précédant une en-tête de section sera
normalement de 3,5\,ex mais peut en fait varier entre 3,3\,ex et 4,5\,ex. On
trouve une définition similaire pour l'espace entre deux paragraphes (ressort
\verb+\parskip+) qui est défini de la façon suivante (définition due à
l'auteur du manuel, il ne s'agit pas de la valeur par défaut) :
\begin{display}
  \verb+\setlength{\parskip}{4pt plus2pt minus1pt}+
\end{display}
qui indique que l'espacement entre deux paragraphes sera normalement de
4\,points mais pourra en fait varier entre 3\,points et 6\,points. (Voir
section~\ref{compteurdimension} page~\pageref{defsetlength} pour la macro
\verb+\setlength+.)
 
\`A quoi tout cela peut bien servir ? Les variations sont finalement assez
faible (1\,point vaut environ un tiers de millimètre) et n'auront pas beaucoup
d'influence pour éviter les coupures au milieu d'un paragraphe en fin de
page. La raison de cette laxité dans les espacements verticaux est de
permettre à \LaTeX{} de remplir entèrement la page, c'est-à-dire de commencer
et terminer toutes les pages au même niveau. En pratique, certaines pages
étaient trop difficiles à composer en raison de la présence de blocs verticaux
importants (tableaux par exemple) mais dans l'ensemble, \LaTeX{} ne s'en est
pas trop mal sorti !
 
Que faire si on veut absolument garder l'espacement, qu'on soit en début ou en
fin de ligne dans le cas horizontal ou bien en début ou en fin de page dans le
cas vertical ? \LaTeX{} met à disposition les deux commandes \verb+\hspace*+
et \verb+\vspace*+ qui se comportent strictement comme les commandes non
étoilées correspondantes tout en gardant l'espacement quelque soit la
configuration du texte. Ces commandes sont à employer en sachant bien ce qu'on
veut !
 
\LaTeX{} permet d'utiliser des ressorts tout à fait spéciaux qui présentent
des composantes infinies ! Comment comprendre ce que \LaTeX{} appelle des
infinis ? Le mieux est de se dire qu'un ressort infini rend caduque tout
ressort fini. Les deux commandes que nous aborderons dans ce manuel sont
\verb+\hfill+ et \verb+\vfill+. Commençons par un exemple illustrant le
comportement de la commande \hfill :
\begin{SideBySideExample}
  Un\hfill texte.
 
  Un\hfill autre\hfill texte.
 
  Un\hfill autre\hfill\hfill texte.%
\end{SideBySideExample}
 
Sur ces, on peut voir que le texte s'est étiré sur toute la largeur de la
ligne. En prenant une règle, on pourra vérifier que sur la deuxième ligne, les
mots \og Un \fg, \og autre \fg et \og texte \fg sont séparés par exactement le
même espacement. Plus fort, sur la troisième ligne, il y a deux fois plus
d'espace entre \og autre \fg et \og texte \fg qu'entre \og Un \fg et \og autre
\fg.
 
Bien sûr, cette façon de répartir régulièrement du texte au niveau d'une ligne
a son pendant vertical avec l'emploi de \verb+\vfill+ qui permet de répartir
régulièrement des paragraphes dans une page.
 
Voici un exemple servant à placer un mot sur le premier tiers d'une ligne, la
seconde ligne est là pour faire voir que tout fonctionne correctement.
\begin{SideBySideExample}
  {}\hfill Super\hfill\hfill{}
 
  Super\hfill Super\hfill Super\hfill Super%
\end{SideBySideExample}
La présence des groupes vides est nécessaire car ces commandes en début de
ligne ou en fin de ligne n'ont pas d'action (comme \verb+\hspace+ et
\verb+\vspace+). Il faut donc placer quelque chose qui n'ai aucune
répercussion au niveau du document final : le groupe vide est un candidat
idéal !
 
\subsection{Listes}\label{liste}
\LaTeX{} définit cinq environnements gérant les listes. Deux d'entre eux sont
très sommaires et servent en fait à créer des listes personnalisées ; ils sont
un peu techniques et nous n'en parlerons pas dans ce stage. Restent trois
types de listes prédéfinies dont la syntaxe générale est :
\begin{display}
  \verb+\begin{+\textit{type\_de\_liste}\verb+}+
  \verb+  \item+ \textit{premier élément de la liste}
  \verb+  \item+ \textit{deuxième élément de la liste}
  \verb+    +\(\vdots\)
  \verb+  \item+ \textit{dernier élément de la liste}
  \verb+\end{+\textit{type\_de\_liste}\verb+}+
\end{display}
\textit{type\_de\_liste} pouvant être \verb+itemize+, \verb+enumerate+ ou
\verb+description+. Pour la liste \verb+itemize+, chaque élément de la liste
sera précédé d'un tiret demi-cadratin (avec une francisation par
\verb+\usepackage[frenchb]{babel}+, autrement le caractère utilisé par
défaut par \LaTeX{} est un gros point noir). Pour la liste \verb+enumerate+,
chaque élément de la liste est précédé d'un nombre qui augmente de 1 à chaque
fois qu'on passe à l'élément suivant. Enfin, pour la liste \verb+description+,
c'est l'utilisateur qui indique à chaque fois ce qui doit se trouver au début
des éléments de la liste.
 
Voyons trois exemples simples pour commencer :
\begin{SideBySideExample}
  \begin{itemize}
  \item en français, les premiers éléments
    d'une liste se terminent par un point 
    virgule ;
  \item chaque élément commence par une
    minuscule ;
  \item le dernier élément a un point.
  \end{itemize}
 
  \begin{enumerate}
  \item C'est le premier point.
  \item Voici le deuxième.
  \item Et enfin le dernier.
  \end{enumerate}
 
  \begin{description}
  \item[Un] Article indéfini singulier.
  \item[Deux] Ce n'est plus un article.
    Parfois article introduisant le dual mais
    pas en français.
  \item[Trois et etc.] Définitivement plus des
    articles et toujours pluriels.
  \end{description}
\end{SideBySideExample}
 
Si on veut modifier ponctuellement le symbole de la liste \verb+itemize+, il
suffit d'ajouter le nouveau symbole entre crochets à la suite de la macro
\verb+\item+
\begin{SideBySideExample}
  \begin{itemize}
  \item[\P] une liste avec de jolis symboles ;
  \item[\&] très esthétique ;
  \item[?] et illisible !
  \end{itemize}
\end{SideBySideExample}
 
Les listes peuvent être imbriquées les unes dans les autres. Pour
la liste \verb+enumerate+, chaque niveau dispose de son
propre symbole de numérotation. \LaTeX{} autorise quatre niveaux
d'imbrication ce qui est largement suffisant et déjà pas facile à suivre !
\begin{SideBySideExample}
  Les matières enseignées sont :
  \begin{enumerate}
  \item les mathématiques en raison :
    \begin{enumerate}
    \item de leur rigueur ;
    \item de leur clarté ;
    \item de leur beauté.
    \end{enumerate}
  \item la physique parce que :
    \begin{enumerate}
    \item il faut que tout le monde vive :
      \begin{itemize}
      \item les ingénieurs ;
      \item les profs ;
      \item les autres.
      \end{itemize}
    \item il y en a quand même un peu besoin.
    \end{enumerate}
  \end{enumerate}
\end{SideBySideExample}
 
\subsection{Modes mathématiques}\label{math}
On s'en doute : les modes mathématiques sont destinés à composer des formules
mathématiques mais en fait, on peut utiliser le mode mathématique pour
des constructions qui n'ont rien à voir avec les math. Comme il s'agit d'un
chapitre d'introduction, nous ne verrons cependant que l'aspect purement
mathématique de la chose !
 
Il existe deux modes mathématiques : le mode en texte et le mode hors
texte. Le mode en texte permet de construire une formule destinée à être
incorporée dans le texte d'où une étendue verticale réduite au minimum comme
dans \(\frac{1}{2}x=\frac{x}{2}\). Le mode hors texte qui permet de composer
des formules centrées (par défaut) et qui utilisent toute la ligne rien que
pour elles ce qui permet des espacements verticaux plus généreux. Voici la
même formule en hors texte :
\[\frac{1}{2}x=\frac{x}{2}\]
\LaTeX{} permet des constructions telles que \(\displaystyle
\frac{1}{2}x=\frac{x}{2}\), c'est-à-dire composer une formule en texte comme
elle apparaît en hors texte mais, contrairement à ce que pensent
beaucoup de personnes, c'est une erreur de vouloir le faire. L'interlignage
est complètement détruit ce qui est une faute typographique de débutant !
 
Comment tape-t-on la formule qui a servi d'exemple ? Tout d'abord, il faut
indiquer à \LaTeX{} quand commence et se termine la formule. Le
tableau~\ref{delimiteurmodemath}
suivant résume les possibilités :
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|c|c|l|}
      \hline
      délimiteurs & mode & exemple \\\hhline{|=:=:=|}
      \verb+$+ \ldots\ \verb+$+ & en texte &
      \vrule width0pt height11pt depth5pt
      $\frac{1}{2}x=\frac{x}{2}$ \\\hline
      \verb+\(+ \ldots\ \verb+\)+ & en texte &
      \vrule width0pt height11pt depth5pt
      \(\frac{1}{2}x=\frac{x}{2}\) \\\hline
      \verb+\begin{math}+ \ldots\ \verb+\end{math}+ & en texte &
      \vrule width0pt height11pt depth5pt
      \begin{math}\frac{1}{2}x=\frac{x}{2}\end{math} \\\hhline{|=:=:=|}
      \verb+$$+ \ldots\ \verb+$$+ & hors texte &
      \vrule width0pt height15pt depth9pt
      $\displaystyle\frac{1}{2}x=\frac{x}{2}$\\\hline
      \verb+\[+ \ldots\ \verb+\]+ & hors texte &
      \vrule width0pt height15pt depth9pt
      \(\displaystyle\frac{1}{2}x=\frac{x}{2}\)\\\hline
      \verb+\begin{displaymath}+ \ldots\ \verb+\end{displaymath}+ & hors texte
      & \vrule width0pt height15pt depth9pt
      \(\displaystyle\frac{1}{2}x=\frac{x}{2}\)\\\hline
    \end{tabular}
  \end{center}
  \caption{Délimiteurs des modes mathématiques}
  \label{delimiteurmodemath}
\end{table}
 
Les délimiteurs utilisant le signe dollar sont un codage \TeX. Il est
préférable d'utiliser un des deux codages purement \LaTeX{} pour éviter
certains effets bizarres qui peuvent survenir dans des situations complexes.
J'avoue que faisant la navette entre \TeX{} et \LaTeX{}, j'utilise
essentiellement les dollar mais ce n'est pas bien !
 
Maintenant que nous savons nous mettre en mode mathématique, il reste à voir
ce qu'on peut mettre dedans ! Durant cette première approche, nous ne verrons
que les bases, les compositions plus complexes seront traitées plus tard à la
section~\ref{mathcomplexe} page~\pageref{mathcomplexe}.
 
Dans cette section, nous allons voir un grand nombre de macros permettant des
constructions diverses. \`A part une seule, ces macros sont interdites en
dehors des modes mathématiques : leur utilisation dans du texte provoquera une
erreur lors de la compilation.
 
\subsubsection{Opérations élémentaires}
\TeX{} gère évidemment les lettres et les quatre opérations de base. Examinons
la formule \(x+3=y-5\) obtenue avec le code \verb|\(x+3=y-5\)|. On peut
remarquer que des espaces de tailles variées ont été automatiquement ajoutées
autour des signes plus, moins et égal. En fait, des espaces mis dans le source
n'ont strictement aucune action en mode mathématique (hormis, bien sur, celui
de stopper un nom de macro). Par exemple \verb|\(x + 3   = y - 5\)| aurait
donné strictement le même résultat. On remarquera également que les lettres
sont en italique ; c'est la règle pour les formules de math sauf qu'en France,
la règle complète indique que les majuscules ne doivent pas être en italique
ce que ne fait pas \TeX{} par défaut (dans ce manuel, on transgressera cette
règle typographique et même les majuscules seront en italique).
 
Les signes plus, moins et égal sont présents sur le clavier mais pas ceux de
la multiplication et de la division (celle de l'école primaire). On peut bien
évidemment taper un <<~\verb+/+~>> pour la division mais la macro \verb+\div+
donne le symbole \(\div\). Le signe multiplié est obtenu avec la macro
\verb+\times+ qui donne le symbole \(\times\).
 
\TeX{} est intelligent et la formule \verb+x\times-3+ est comprise comme il se
doit, c'est-à-dire comme le produit de \(x\) et de \(-3\) ce qui fait que les
espaces sont correctement gérées : \(x\times-3\). En définitive, si vous tapez
votre formule correctement, \TeX{} la composera correctement d'un point de vue
typographique.
 
\subsubsection{Structures indispensables}\label{structureindispensable}
Avec les variables et les quatre opérations, on ne fait quand même pas grand
chose. Certaines structures reviennent très souvent dans les formules de
mathématiques.
 
\paragraph{Exposants et indices}
Les exposants et les indices utilisent deux caractères réservés de \TeX{}, à
savoir respectivement \verb+^+ et \verb+_+. Leur syntaxe est on ne peut plus
simple : ce qui suit immédiatement \verb+^+ est placé en exposant (même chose
avec \verb+_+ pour les indices). Il est également possible de mélanger
exposant et indice sans ce soucier de l'ordre de spécification. Dans les
exemples qui suivent, regardez avec attention la hauteur de ces éléments.
\begin{SideBySideExample}
  \(x^2\), \(l^2\),  \(x_2\),     \(y_2\)
  \(x^2\), \(x_i\),  \(x^2_i\) et \(x_i^2\)
  \[x^2\]  \[x_i\]   \[x^2_i\]
  \(x^2\times y^2\), \(x^2y^2\) et \(10^-3\)
\end{SideBySideExample}
 
Le dernier exemple est certainement une faute ; on pensait sans doute à
\(10^{-3}\) en tapant cette formule. \TeX{} a fait ce qu'on lui a demandé, en
l'occurrence écrire 10, suivi de \(-\) en exposant puis un 3 (qui n'est plus en
exposant car ne suivant pas immédiatement le symbole \verb+^+). Pour obtenir
la forme désirée, il faut faire suivre l'accent circonflexe d'un groupe qui
contiendra tout ce qui sera en exposant : la formule correcte est obtenue avec
la syntaxe \verb+10^{-3}+.
 
Un exposant particulièrement utilisé en mathématique est le prime (dérivée
par exemple). \TeX{} permet un raccourci sous la forme :
\begin{SideBySideExample}
  \(f'(x)=2x\)
 
  Si \(f'(x)=2x\) alors \(f''(x)=2\)
    et \(f'''(x)=0\).
\end{SideBySideExample}
 
\noindent
C'est-à-dire que la mise en exposant est automatique. En regardant à la loupe,
on pourra voir que le prime dans la formule mathématique <<~\(f'\)~>> n'a pas
la même forme que l'apostrophe dans le texte <<~Il f'affoit fur le fable~>>.
 
\paragraph{Fractions}
On peut bien sûr employer le symbole \verb+/+ et c'est d'ailleurs mieux dans
les formules en texte car les fractions à barre horizontale dans une formule
en texte sont quelque peu ridicules (comme dans l'exemple \(\frac{1}{2}\)). En
revanche, dans les formules hors texte, il est souvent préférable de
construire une fraction à barre horizontale. Celles-ci se construisent grâce à
la macro \verb+\frac+ suivi de deux groupes : le premier indiquant le
numérateur et le second le dénominateur. Voici un exemple pour clarifier les
idées :
\begin{SideBySideExample}
  \[ \frac{x}{y} \div \frac{y}{x}
     = \frac{x}{y} \times \frac{x}{y}
     = \frac{x^2}{y^2}
  \]
\end{SideBySideExample}
 
En fait, on aurait pu écrire \verb+\frac x y+ à la place de \verb+\frac{x}{y}+
mais c'est une mauvaise habitude car les groupes étaient absolument
obligatoires pour la dernière fraction. Il y a intérêt à automatiser les gestes
lorsqu'on compose des formules mathématiques, les difficultés arrivant bien
trop vite !
 
Le numérateur et le dénominateur sont composés avec un style plus tassé
(équivalent au style en texte). Ainsi, un empilement de fraction peut sembler
un peu bizarre :
\begin{SideBySideExample}
  \[\frac{\frac{x^2}{y^2}}{\frac{y^2}{x^2}}
    = \frac{x^4}{y^4}\]
\end{SideBySideExample}
 
Ce comportement est souvent préférable mais, si on veut absolument avoir la
taille normale hors texte, on peut appeler la macro \verb+\displaystyle+
(\emph{display} étant ici traduit par \emph{hors texte}) et tout ce qui se
trouve à la suite de cette macro à l'intérieur d'un groupe sera mis à la
taille <<~display~>>.
\begin{SideBySideExample}
    \[\frac{\displaystyle\frac{x^2}{y^2}}
           {\displaystyle\frac{y^2}{x^2}}
    = \frac{x^4}{y^4}\]
\end{SideBySideExample}
 
C'est de cette façon qu'on a obtenu l'exemple pas très joli du début de
section : \(\displaystyle\frac{1}{2}x=\frac{x}{2}\) qui faisait peu de cas de
l'interlignage.
\paragraph{Racines}
Peu de chose à dire. La macro \verb+sqrt+ place ce qui suit sous le signe
racine. Comme pour les fractions, il vaut mieux ne pas trop réfléchir et
utiliser systématiquement un groupe après cette macro.
\begin{SideBySideExample}
  \[\sqrt{\sqrt{25}+4} = 3\]
  en texte cela donne :
  \(\sqrt{\sqrt{25}+4} = 3\)
\end{SideBySideExample}
 
La macro \verb+\sqrt+ permet des racines \(n\)ième en précisant le \(n\) entre
crochets juste après la macro.
\begin{SideBySideExample}
    \[f_n(x)=\sqrt[n]{x+1}\]
 
\end{SideBySideExample}
 
\paragraph{Points de suspension}
\LaTeX{} offre quatre type de points de suspension. La macro \verb+\ldots+
spécifie les points de suspension <<~normaux~>>, c'est la seule des quatre
macros à pouvoir être utilisée en dehors des modes mathématiques. On la place
principalement entre deux virgules ou entre des lettres.
 
La macros \verb+\cdots+ place les points un peu plus haut de façon à ce qu'ils
soient alignés avec les signes opératoires usuels (moins, plus, égal, \ldots).
 
La macros \verb+\vdots+ place trois points verticalement \(\bigl(\vdots\bigr)\)
et la macro \verb+\ddots+ les place en diagonal \(\bigl(\ddots\bigr)\). On les
utilise plutôt dans des matrices (Cf.~section~\ref{mathcomplexe}).
\begin{SideBySideExample}
  \[f(x_1,\ldots,x_n) = x_1+\cdots+x_n\]
\end{SideBySideExample}
 
\subsubsection{Symboles en vrac}
Cette section est une véritable caverne d'Ali Baba. Les scientifiques ayant
l'habitude d'utiliser un nombre important de symboles. Nous allons essayer de
classifier un peu tout ceci !
 
\paragraph{Lettres grecques}
Elles sont obtenues en faisant précéder leur nom
d'une contre-oblique. Par exemple \verb+\(\beta\)+ donnera \(\beta\). Les
majuscules sont obtenues en mettant la première lettre de leur nom en
majuscule : \verb+\(\Omega\)+ donnera ainsi \(\Omega\).
 
Seules les lettres n'existant pas dans l'alphabet romain sont spécifiées. Pour
les minuscules, cela n'exclut que le omicron (\verb+\omicron+ est donc une
macro inexistante) obtenu avec un <<~o~>>, en revanche, c'est beaucoup plus
fréquent pour les majuscules puisqu'il n'y a que 11 majuscules grecques
n'ayant pas d'équivalent graphique dans l'alphabet romain
(\verb+\Gamma+~\(\Gamma\), \verb+\Delta+~\(\Delta\), \verb+\Theta+~\(\Theta\),
\verb+\Lambda+~\(\Lambda\), \verb+\Xi+~\(\Xi\), \verb+\Pi+~\(\Pi\),
\verb+\Sigma+~\(\Sigma\), \verb+\Upsilon+~\(\Upsilon\), \verb+\Phi+~\(\Phi\),
\verb+\Psi+~\(\Psi\) et \verb+\Omega+~\(\Omega\)).
 
D'autre part, 6~minuscules présentent deux graphies différentes, à chaque fois
l'une d'elle sera obtenue en faisant précéder le nom de la lettre par
\verb+var+. On a :
\begin{center}
  \begin{tabular}{ll@{\quad et\quad}ll@{\hspace{2cm}}ll@{\quad et\quad}ll}
    \verb+\epsilon+ & \(\epsilon\) & \verb+\varepsilon+ & \(\varepsilon\) &
    \verb+\theta+ & \(\theta\) & \verb+\vartheta+ & \(\vartheta\) \\
    \verb+\pi+ & \(\pi\) & \verb+\varpi+  & \(\varpi\) &
    \verb+\rho+ & \(\rho\) & \verb+\varrho+ & \(\varrho\) \\
    \verb+\sigma+ & \(\sigma\) & \verb+\varsigma+ & \(\varsigma\) & 
    \verb+\phi+ & \(\phi\) & \verb+\varphi+ & \(\varphi\) \\
  \end{tabular}
\end{center}
 
\paragraph{Lettres calligraphiques}
La macro \verb+\mathcal+ permet de faire appel à la fonte
calligraphique. Celle définie par défaut donne le résultat \(\mathcal{A}\),
\(\mathcal{B}\), \ldots, \(\mathcal{Z}\).
\begin{SideBySideExample}
  Soit \(f\) une fonction appartenant à
  \(\mathcal{F}\).
\end{SideBySideExample}
 
\noindent Seules les majuscules sont accessibles.
 
\paragraph{Opérateurs binaires}
En plus des signes \(+\) et \(-\) on trouve un grand nombre d'opérateurs
binaires. Ces signes seront séparés de ce qui les entoure de la même façon que
pour une addition ou une soustraction. La liste complète est donnée au
tableau~\ref{operateurbinaire}.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\pm+       & \(\pm\)       & \verb+\cap+   & \(\cap\) &
      \verb+\vee+     & \(\vee\) \\
      \verb+\mp+       & \(\mp\)       & \verb+\cup+   & \(\cup\) &
      \verb+\wedge+   & \(\wedge\) \\
      \verb+\setminus+ & \(\setminus\) & \verb+\uplus+ & \(\uplus\) &
      \verb+\oplus+   & \(\oplus\) \\
      \verb+\cdot+     & \(\cdot\)     & \verb+\sqcap+ & \(\sqcap\) &
      \verb+\ominus+  & \(\ominus\) \\
      \verb+\times+    & \(\times\)    & \verb+\sqcup+ & \(\sqcup\) &
      \verb+\otimes+  &  \(\otimes\) \\
      \verb+\ast+      & \(\ast\)  & \verb+\triangleleft+ & \(\triangleleft\) &
      \verb+\oslash+  & \(\oslash\) \\
      \verb+\star+     & \(\star\) &\verb+\triangleright+ &\(\triangleright\) &
      \verb+\odot+    & \(\odot\) \\
      \verb+\diamond+  & \(\diamond\)  & \verb+\wr+    & \(\wr\) &
      \verb+\dagger+  & \(\dagger\) \\
      \verb+\circ+     & \(\circ\)     & \verb+\bigcirc+ & \(\bigcirc\) &
      \verb+\ddagger+ & \(\ddagger\) \\
      \verb+\bullet+   & \(\bullet\)&\verb+\bigtriangleup+ &\(\bigtriangleup\)&
      \verb+\amalg+   & \(\amalg\) \\
      \verb+\div+    & \(\div\) &\verb+\bigtriangledown+ &\(\bigtriangledown\)&
       & \\
    \end{tabular}
    \caption{Opérateurs binaires}
    \label{operateurbinaire}
  \end{center}
\end{table}
 
\paragraph{Relations}
En plus des signes \(=\), \(>\) et \(<\), on trouve également un grand nombre
de relations. Ces signes seront séparés de ce qui les entoure par les mêmes
espacements que ceux entourant le signe \(=\). La liste complète est donnée
dans le tableau~\ref{relation}
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\leq+ & \(\leq\) &
      \verb+\geq+ & \(\geq\) &
      \verb+\equiv+ & \(\equiv\) \\
      \verb+\prec+ & \(\prec\) &
      \verb+\succ+ & \(\succ\) &
      \verb+\sim+ & \(\sim\) \\
      \verb+\preceq+ & \(\preceq\) &
      \verb+\succeq+ & \(\succeq\) &
      \verb+\simeq+ & \(\simeq\) \\
      \verb+\ll+ & \(\ll\) &
      \verb+\gg+ & \(\gg\) &
      \verb+\asymp+ & \(\asymp\) \\
      \verb+\subset+ & \(\subset\) &
      \verb+\supset+ & \(\supset\) &
      \verb+\approx+ & \(\approx\) \\
      \verb+\subseteq+ & \(\subseteq\) &
      \verb+\supseteq+ & \(\supseteq\) &
      \verb+\cong+ & \(\cong\) \\
      \verb+\sqsubseteq+ & \(\sqsubseteq\) &
      \verb+\sqsupseteq+ & \(\sqsupseteq\) &
      \verb+\bowtie+ & \(\bowtie\) \\
      \verb+\in+ & \(\in\) &
      \verb+\ni+ & \(\ni\) &
      \verb+\propto+ & \(\propto\) \\
      \verb+\vdash+ & \(\vdash\) &
      \verb+\dashv+ & \(\dashv\) &
      \verb+\models+ & \(\models\) \\
      \verb+\smile+ & \(\smile\) &
      \verb+\mid+ & \(\mid\) &
      \verb+\doteq+ & \(\doteq\) \\
      \verb+\frown+ & \(\frown\) &
      \verb+\parallel+ & \(\parallel\) &
      \verb+\perp+ & \(\perp\) \\
    \end{tabular}
    \caption{Relations}
    \label{relation}
  \end{center}
\end{table}
 
Ces relations peuvent être négativisées en les faisant précéder de la macro
\verb+\not+. Par exemple, la séquence \verb+\(\not\approx\)+ produira le
symbole \(\not\approx\).
 
\paragraph{Grands opérateurs}
Ils sont indiqués par soucis d'exhaustivité mais nous les étudierons à la
section~\ref{mathcomplexe}. Indiquons toutefois que leur taille varie selon
qu'on se trouve en mode en texte ou en mode hors texte. Le
tableau~\ref{grandoperateur} en dresse la liste complète :
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{lll@{\hspace{2cm}}lll@{\hspace{2cm}}lll}
      \verb+\sum+ & \(\sum\) & \(\displaystyle\sum\) &
      \verb+\bigcap+ & \(\bigcap\) & \(\displaystyle\bigcap\) &
      \verb+\bigodot+ & \(\bigodot\) & \(\displaystyle\bigodot\) \\
      \verb+\prod+ & \(\prod\) & \(\displaystyle\prod\) &
      \verb+\bigcup+ & \(\bigcup\) & \(\displaystyle\bigcup\) &
      \verb+\bigotimes+ & \(\bigotimes\) & \(\displaystyle\bigotimes\) \\
      \verb+\coprod+ & \(\coprod\) & \(\displaystyle\coprod\) &
      \verb+\bigsqcup+ & \(\bigsqcup\) & \(\displaystyle\bigsqcup\) &
      \verb+\bigoplus+ & \(\bigoplus\) & \(\displaystyle\bigoplus\) \\
      \verb+\int+ & \(\int\) & \(\displaystyle\int\) &
      \verb+\bigvee+ & \(\bigvee\) & \(\displaystyle\bigvee\) &
      \verb+\biguplus+ & \(\biguplus\) & \(\displaystyle\biguplus\) \\
      \verb+\oint+ & \(\oint\) & \(\displaystyle\oint\) &
      \verb+\bigwedge+ & \(\bigwedge\) & \(\displaystyle\bigwedge\) &
      & & \\
    \end{tabular}
    \caption{Grands opérateurs}
    \label{grandoperateur}
  \end{center}
\end{table}
 
\paragraph{Délimiteurs}
Les délimiteurs sont des symboles qui encadrent une sous-formule. Ils sont
présentés au tableau~\ref{delimiteur} et, comme pour les grands opérateurs,
ils ne seront étudiés qu'à la section~\ref{mathcomplexe}.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+(+ & \((\) & \verb+)+ & \()\) & \verb+\uparrow+ & \(\uparrow\) \\
      \verb+[+ & \([\) & \verb+]+ & \(]\) & \verb+downarrow+ & \(\downarrow\)\\
      \verb+\{+ & \(\{\) & \verb+\}+ & \(\}\) & \verb+\updownarrow+ &
      \(\updownarrow\) \\
      \verb+\lfloor+ & \(\lfloor\) & \verb+\rfloor+ & \(\rfloor\) &
      \verb+\Uparrow+ & \(\Uparrow\) \\
      \verb+\lceil+ & \(\lceil\) & \verb+\rceil+ & \(\rceil\) &
      \verb+\Downarrow+  & \(\Downarrow\) \\
      \verb+\langle+ & \(\langle\) & \verb+\rangle+ & \(\rangle\) &
      \verb+\Updownarrow+ & \(\Updownarrow\) \\
      \verb+/+ & \(/\) & \verb+\backslash+ & \(\backslash\) & \\
      \verb+|+ & \(|\) & \verb+\|+ & \(||\) & \\
    \end{tabular}
    \caption{Délimiteurs}
    \label{delimiteur}
  \end{center}
\end{table}
 
\paragraph{Flèches}
\LaTeX{} propose une vaste panoplie de flèches. Le tableau~\ref{fleche} en
dresse la liste complète.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\leftarrow+ & \(\leftarrow\) &
      \verb+\longleftarrow+ & \(\longleftarrow\) &
      \verb+\uparrow+ & \(\uparrow\) \\
      \verb+\Leftarrow+ & \(\Leftarrow\) &
      \verb+\Longleftarrow+ & \(\Longleftarrow\) &
      \verb+\Uparrow+ & \(\Uparrow\) \\
      \verb+\rightarrow+ & \(\rightarrow\) &
      \verb+\longrightarrow+ & \(\longrightarrow\) &
      \verb+\downarrow+ & \(\downarrow\) \\
      \verb+\Rightarrow+ & \(\Rightarrow\) &
      \verb+\Longrightarrow+ & \(\Longrightarrow\) &
      \verb+\Downarrow+ & \(\Downarrow\) \\
      \verb+\leftrightarrow+ & \(\leftrightarrow\) &
      \verb+\longleftrightarrow+ & \(\longleftrightarrow\) &
      \verb+\updownarrow+ & \(\updownarrow\) \\
      \verb+\Leftrightarrow+ & \(\Leftrightarrow\) &
      \verb+\Longleftrightarrow+ & \(\Longleftrightarrow\) &
      \verb+\Updownarrow+ & \(\Updownarrow\) \\
      \verb+\mapsto+ & \(\mapsto\) &
      \verb+\logmapsto+ & \(\longmapsto\) &
      \verb+\nearrow+ & \(\nearrow\) \\
      \verb+\hookleftarrow+ & \(\hookleftarrow\) &
      \verb+\hookrightarrow+ & \(\hookrightarrow\) &
      \verb+\searrow+ & \(\searrow\) \\
      \verb+\leftharpoonup+ & \(\leftharpoonup\) &
      \verb+\rightharpoonup+ & \(\rightharpoonup\) &
      \verb+\swarrow+ & \(\swarrow\) \\
      \verb+\leftharpoondown+ & \(\leftharpoondown\) &
      \verb+\rightharpoondown+ & \(\rightharpoondown\) &
      \verb+\nwarrow+ & \(\nwarrow\) \\
      \verb+\rightleftharpoons+ & \(\rightleftharpoons\) &
       & & & \\      
    \end{tabular}
    \caption{Flèches}
    \label{fleche}
  \end{center}
\end{table}
 
\paragraph{Symboles inclassables}
Tous ces symboles sont des symboles ordinaires, c'est-à-dire qu'ils se
comporteront comme des lettres au niveau des espacements. Ils sont présentés
au niveau du tableau~\ref{symbolemathdivers}.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\aleph+ & \(\aleph\) & \verb+\prime+ & \(\prime\) &
      \verb+\forall+ & \(\forall\) & \verb+\infty+ & \(\infty\) \\
      \verb+\hbar+ & \(\hbar\) & \verb+\emptyset+ & \(\emptyset\) &
      \verb+\exists+ & \(\exists\) & \verb+\triangle+ & \(\triangle\) \\
      \verb+\imath+ & \(\imath\) & \verb+\nabla+ & \(\nabla\) &
      \verb+\neg+ & \(\neg\) & \verb+\clubsuit+ & \(\clubsuit\) \\
      \verb+\jmath+ & \(\jmath\) & \verb+\surd+ & \(\surd\) &
      \verb+\flat+ & \(\flat\) & \verb+\diamondsuit+ & \(\diamondsuit\) \\
      \verb+\ell+ & \(\ell\) & \verb+\top+ & \(\top\) &
      \verb+\natural+ & \(\natural\) & \verb+\heartsuit+ & \(\heartsuit\) \\
      \verb+\wp+ & \(\wp\) & \verb+\bot+ & \(\bot\) &
      \verb+\sharp+ & \(\sharp\) & \verb+\spadesuit+ & \(\spadesuit\) \\
      \verb+\Re+ & \(\Re\) & \verb+\|+ & \(\|\) &
      \verb+\backslash+ & \(\backslash\) & \verb+\partial+ & \(\partial\) \\
      \verb+\Im+ & \(\Im\) & \verb+\angle+ & \(\angle\) &
      & & & \\
    \end{tabular}
    \caption{Symboles mathématiques divers}
    \label{symbolemathdivers}
  \end{center}
\end{table}
 
\paragraph{Noms de fonctions}
Sous ce terme générique, on trouve tous les mots qui exigent d'être écrits en
caractères romains (alors que par défaut, les lettres sont écrites en
italique). Le tableau~\ref{fonction} indique toutes les possibilités mises à
part les macros \verb+\bmod+ et \verb+\pmod+. \verb+\bmod+ produit le texte
<<~mod~>> mais le considère comme un opérateur binaire (donc avec des espaces
de chaque côté). \verb+\pmod+ est une macro qui écrit <<~mod~>> avec ce qui
suit entre parenthèses. Un petit exemple pour mieux comprendre :
\begin{SideBySideExample}
  \[\inf(a,b) = m \bmod n\]
  \[a \equiv b \pmod{m+n}\]
\end{SideBySideExample}
 
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\arccos+ & \(\arccos\) & \verb+\csc+     & \(\csc\)  &
      \verb+\ker+    & \(\ker\)    & \verb+\min+     & \(\min\)  \\
      \verb+\arcsin+ & \(\arcsin\) & \verb+\deg+     & \(\deg\)  &
      \verb+\lg+     & \(\lg\)     & \verb+\Pr+      & \(\Pr\)   \\
      \verb+\arctan+ & \(\arctan\) & \verb+\det+     & \(\det\)  &
      \verb+\lim+    & \(\lim\)    & \verb+\sec+     & \(\sec\)  \\
      \verb+\arg+    & \(\arg\)    & \verb+\dim+     & \(\dim\)  &
      \verb+\liminf+ & \(\liminf\) & \verb+\sin+     & \(\sin\)  \\
      \verb+\cos+    & \(\cos\)    & \verb+\exp+     & \(\exp\)  &
      \verb+\limsup+ & \(\limsup\) & \verb+\sinh+    & \(\sinh\) \\
      \verb+\cosh+   & \(\cosh\)   & \verb+\gcd+     & \(\gcd\)  &
      \verb+\ln+     & \(\ln\)     & \verb+\sup+     & \(\sup\)  \\
      \verb+\cot+    & \(\cot\)    & \verb+\hom+     & \(\hom\)  &
      \verb+\log+    & \(\log\)    & \verb+\tan+     & \(\tan\)  \\
      \verb+\coth+   & \(\coth\)   & \verb+\inf+     & \(\inf\)  &
      \verb+\max+    & \(\max\)    & \verb+\tanh+    & \(\tanh\) \\
    \end{tabular}
    \caption{Noms de fonction}
    \label{fonction}
  \end{center}
\end{table}
 
\paragraph{accents}
Les macros servant à accentuer en mode texte ne sont quelquefois plus valides
en mode mathématique. Ce dernier offre 10~sortes d'accents plus~2 de taille
variable. Le tableau~\ref{accentmath} montre ces macros.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll@{\hspace{2cm}}ll}
      \verb+\acute+ & \(\acute x\) & \verb+\check+ & \(\check x\) &
      \verb+\grave+ & \(\grave x\) & \verb+\vec+   & \(\vec x\) \\
      \verb+\bar+   & \(\bar x\)   & \verb+\ddot+  & \(\ddot x\) &
      \verb+\hat+   & \(\hat x\)   &
      \verb+\widehat+ & \(\widehat{xy}\qquad \widehat{xyz}\) \\
      \verb+\breve+ & \(\breve x\) & \verb+\dot+   & \(\dot x\) &
      \verb+\tilde+ & \(\tilde x\) &
      \verb+\widetilde+ & \(\widetilde{xy}\qquad \widetilde{xyz}\) \\
    \end{tabular}
    \caption{Accents mathématiques}
    \label{accentmath}
  \end{center}
\end{table}
 
Les deux accents de taille variable n'ont en fait que trois tailles possibles
(les deux plus grandes tailles étant montrées dans le tableau.
 
\paragraph{Synonymes}
Certaines macros sont particulièrement utilisées dans les textes mathématiques
et elles possèdent des synonymes. Ces synonymes ont pour but de leur donner un
nom plus court ou plus parlant (pour un anglophone). Le
tableau~\ref{synonymemath} donne les équivalents possibles.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{l@{ ou }l@{\hspace{2cm}}l@{ ou }l}
      \verb+\not=+ (\(\ne\))         & \verb+\ne+ ou \verb+\neq+ \\
      \verb+\geq+ (\(\ge\))          & \verb+\ge+ &
      \verb+\leq+ (\(\le\))          & \verb+\le+ \\
      \verb+\}+ (\(\rbrace\))        & \verb+\rbrace+ &
      \verb+\{+ (\(\lbrace\))        & \verb+\lbrace+ \\
      \verb+\leftarrows+ (\(\gets\)) & \verb+\gets+ &
      \verb+\rigtarrow+ (\(\to\))    & \verb+\to+ \\
      \verb+\wedge+ (\(\land\))      & \verb+\land+ (logical and) &
      \verb+\vee+ (\(\lor\))         & \verb+\lor+ (logical or) \\
      \verb+\neg+ (\(\lnot\))        & \verb+\lnot+ (logical not) &
      \verb+\ni+ (\(\owns\))         & \verb+\owns+ \\
      \verb+\|+ (\(\Vert\))          & \verb+\Vert+ &
      \verb+|+ (\(\vert\))           & \verb+\vert+ \\
    \end{tabular}
    \caption{Synonymes de macros mathématiques}
    \label{synonymemath}
  \end{center}
\end{table}
 
\section{Quelques présentations plus évoluées}\label{presentation}
\subsection{Structuration des documents}\label{structure}
\subsubsection{Commandes pour le plan}\label{commandeplan}
\LaTeX{} connaît 7~niveaux de plan. Dans l'ordre d'importance on trouve
\verb+\part+, \verb+\chapter+, \verb+\section+, \verb+\subsection+,
\verb+\subsubsection+, \verb+\paragraph+ et \verb+\subparagraph+. La syntaxe
est on ne peut plus simple : il suffit d'indiquer la macro suivie par un
groupe qui donnera le titre. Ainsi les trois titres précédents ont été obtenus
avec les lignes :
\begin{display}
  \verb+\section{Quelques présentations plus évoluées}+
  \verb+\subsection{Structuration des documents}+
  \verb+\subsubsection{Commandes pour le plan}+
\end{display}
 
Pourquoi les titres de chapitre de ce manuel sont composés avec la macro
\verb+\section+ au lieu de la macro \verb+\chapter+ ? C'est que pour limiter
la colère à la photocopie, le style de document est \verb+article+ et non pas
\verb+report+ ou \verb+book+. Dans la classe \verb+article+ la macro
\verb+\chapter+ n'existe pas. D'autre part, la mise en page n'est pas la même
en fonction de la classe de document. Essentiellement, les espaces verticaux
seront plus ou moins importants. Par exemple, un \verb+\chapter+ prendra une
page complète et sera composé sur une page impaire dans le style \verb+book+
alors qu'avec la classe \verb+report+ ce ne sera pas le cas. Il serait trop
long de décrire exactement ce que font ces 7~macros selon les 3~classes
possibles de document. Il suffit d'être logique et tout se passera bien.
 
Les annexes sont introduites par la macro \verb+\appendix+. \`A la suite de
cette macro, les chapitres n'auront plus les mêmes numérotations (emploi de
lettres romaines majuscules, A, B, \ldots, à la place des chiffres arabes) et
le mot <<~Chapitre~>> sera remplacé par le mot <<~Annexe~>>. Attention, ce
dernier point ne sera vrai que si le document est francisé avec, par exemple,
l'appel de \verb+\usepackage[frenchb]{babel}+ au niveau du préambule.
 
Si le document a été correctement structuré avec ces 7~macros, il devient
simplissime de construire la table des matières. En effet, un appel à la macro
\verb+\tableofcontents+ suffit à faire tout le travail. Certaines présentations
nécessitent deux compilations successives pour être correctes. La construction
d'une table des matières fait partie de celles-ci. La première compilation
construit un fichier auxiliaire dans lequel sont rangés les renseignements
concernant les titres (énoncés et numéros de page) et la seconde compilation
lit ce fichier pour construire effectivement la table des matières.
 
\subsubsection{Références}\label{reference}
Faire référence à un emplacement d'un document peut être une tâche ingrate si
elle n'était pas automatisée. En effet, il faudrait être sûr de la page qu'on
veut référencer ainsi que du numéro de titre, de tableau, de figure.
 
Pour cela, il suffit de placer la macro \verb+\label+ suivi d'un groupe donnant
le mot-clé permettant de retrouver cette référence. Ensuite, la macro
\verb+\ref+ suivi d'un groupe ayant le même mot-clé donnera le numéro de la
structure référencée (titre, tableau, figure, équation) et la macro
\verb+\pageref+ donnera son numéro de page. Pour arriver à ceci, \LaTeX{}
écrit ces informations dans une fichier auxiliaire lors de la compilation et
il est nécessaire de compiler le source une seconde fois pour que ces
informations puissent être lues.
 
Par exemple, les trois titres de ce début de chapitre n'étaient pas tout à fait
ceux que j'ai montrés ci-dessus. Sans mensonge cette fois, les titres ont été
tapés comme suit :
\begin{display}
  \verb+\section{Quelques présentations plus évoluées}\label{presentation}+
  \verb+\subsection{Structuration des documents}\label{structure}+
  \verb+\subsubsection{Commandes pour le plan}\label{commandeplan}+
\end{display}
 
Ainsi, la phrase :
\begin{display}
  \verb+Les commandes relatives au plan peuvent être vues à la+
  \verb+section~\ref{commandeplan} page~\pageref{commandeplan}.+
\end{display}
sera composée comme suit :
 
Les commandes relatives au plan peuvent être vues à la
section~\ref{commandeplan} page~\pageref{commandeplan}. (Vous pouvez vérifier,
je suis certain du résultat puisque ce n'est pas moi qui ai écrit les numéros.)
 
\subsection{Table des matières, index}\label{matiereetc}
Comme on vient de le voir, la table des matières est on ne peut plus simple à
produire : il suffit de taper la macro \verb+\tableofcontents+ au niveau où on
veut que celle-ci soit écrite et d'avoir pris soin de construire le plan avec
les macros vues à la section~\ref{commandeplan}.
 
La construction d'un index est un peu plus délicate et je ne décrirai pas
toutes les possibilités. En premier lieu, il faut dire que le document
comportera un index en appelant l'extension \verb+makeidx+ avec la syntaxe :
\begin{display}
  \verb+\usepackage{makeidx}+
\end{display}
puis spécifier, également dans le préambule la macro
\verb+\makeindex+. L'index proprement dit est construit grâce à la macro
\verb+\printindex+ placée là où on veut que l'index soit écrit.
 
Pour mettre un mot dans un index, il suffit d'employer la macro \verb+\index+
suivie par un groupe donnant le mot (ou la suite de mots) à indexer. Cette
macro présente des syntaxes différentes permettant des comportements variées.
Pour ne pas alourdir l'exposé plus que de raison, je n'indiquerai que la plus
utile. Avant de la voir, il faut comprendre le mécanisme avec lequel est
construit l'index.
 
Lors de la compilation, à chaque fois que \LaTeX{} voit la macro
\verb+\index+, il écrit le mot accompagné de son numéro de page dans un
fichier auxiliaire. Ce fichier ne peut pas encore servir à fabriquer
directement l'index car les mots sont rangés dans l'ordre de leur apparition
dans le texte alors qu'un index donne un classement alphabétique. Ce tri est
assuré par un programme externe (\fichier{makeindex}) qu'il faut donc appeler
en donnant le nom du document en paramètre. Ce programme externe construit un
autre fichier où les entrées ont été classées par ordre alphabétique et où les
numéros de page ont été regroupés pour chaque entrée. Une seconde compilation
produira alors un index correct.
 
Maintenant, supposons que l'on veuille faire apparaître le symbole \(\zeta\) au
niveau de l'index tout en voulant le classer comme s'il s'agissait du mot
<<~zeta~>> (entre zester et zétète en quelque sorte). \'Ecrire
\verb+\index{\(\zeta\)}+ ne produira pas ce résultat car \(\zeta\) sera classé
au niveau des mots commençant par le caractère contre-oblique (très au début de
l'index, avant toutes les lettres romaines). Pour pouvoir <<~tromper~>> le
programme chargé du tri, il suffit de taper \verb+\index{zeta@\(\zeta\)}+ où le
caractère \verb+@+ sert à séparer la partie gauche qui servira de référence
pour l'ordre alphabétique de la partie droite qui sera affichée réellement au
niveau de l'index. Cette façon de faire est très utile lorsqu'on met des mots
accentués dans un index car le programme de tri ne range pas les lettres
accentuées au même niveau que les autres lettres.
 
\subsection{En-têtes, pieds de page, notes}\label{enteteetc}
Nous allons voir tous les éléments d'une page qui ne font pas partie du corps
de texte, c'est-à-dire tout ce qui se trouve dans les marges. L'en-tête se
situe au niveau de la marge supérieure, le pied de page et les notes de bas
de page au niveau de la marge inférieure et les notes marginales au niveau des
marges gauche et droite (intérieure et extérieure dans le cas d'un document
composé en recto-verso).
 
Par défaut, \LaTeX{} propose quatre types d'en-tête et pied de page :
\begin{description}
\item[empty] l'en-tête et le pied de page sont vides ;
\item[plain] l'en-tête est vide, le numéro de page est centré au niveau du
  pied de page ;
\item[headings] l'en-tête donne des renseignements sur le titre de chapitre
  (et/ou de section) courant ainsi que le numéro de page (c'est le style qui a
  été choisi pour ce manuel) ;
\item[myheadings] l'en-tête est personnalisée grâce à des macros spéciales
  (nous ne parlerons pas de ce type dans ce manuel).
\end{description}
 
En réalité, les pages de début de chapitre et/ou de section modifient
l'en-tête et le pied de page automatiquement, les règles étant différentes en
fonction de la classe choisie pour le document (\verb+book+, \verb+report+ ou
\verb+article+). Là aussi, nous ne lancerons pas dans l'étude détaillée de
tous les cas possibles ; il suffit de laisser faire \LaTeX{} pour être sûr
d'avoir une présentation acceptable !
 
La macro permettant d'indiquer la forme voulue est \verb+\pagestyle+ suivi
d'un groupe indiquant le type choisi. Normalement, cette indication est donnée
au niveau du préambule puisqu'elle doit porter sur l'ensemble du
document. Ainsi, la commande :
\begin{display}
  \verb+\pagestyle{headings}+
\end{display}
a été écrite dans le préambule de ce manuel.
 
On peut vouloir modifier localement cette présentation. Pour cela, il suffit
d'appeler \verb+\thispagestyle+ suivie, là aussi, d'un groupe indiquant
le type choisi pour la page courante. Seule la page où se situe cette macro
prendra le style précisé, les pages suivantes reprenant le style indiqué avec
la macro générale \verb+\pagestyle+. Il existe une petite exception
(importante en pratique) pour la première page du document. Si on veut obtenir
un style particulier pour cette première page, il faut taper la macro
\verb+\thispagestyle+ au niveau du préambule. Par exemple, l'auteur de ce
manuel a tapé la commande :
\begin{display}
  \verb+\thispagestyle{empty}+
\end{display}
juste avant le \verb+\begin{document}+ afin d'obtenir une page de titre sans
en-tête ni pied de page.
 
Après la page de couverture, ce manuel présente une table des matières dont
les pages sont numérotées en minuscules romaines puis le texte principal
commence en passant à une numérotation arabe et en revenant à la page~1. Tout
ceci est facile à mettre en \oe uvre grâce à la macro \verb+\pagenumbering+
suivi du type de numérotation désirée : \LaTeX{} définit 5 types de
numérotation :
\begin{description}
\item[arabic] donne les numéros 1, 2, 3, 4, \ldots ;
\item[roman] donne les numéros i, ii, iii, iv, \ldots ;
\item[Roman] donne les numéros I, II, III, IV, \ldots ;
\item[alph] donne les numéros a, b, c, d, \ldots ;
\item[Alph] donne les numéros A, B, C, D, \ldots ;
\end{description}
De plus, un appel à la macro \verb+\pagenumbering+ remet le compteur de page
à~1. Ainsi, toujours dans ce manuel, une fois que la page de titre a été
composée, les trois lignes suivantes étaient :
\begin{display}
  \verb+\newpage\pagenumbering{roman}+
  \verb+\tableofcontents+
  \verb+\newpage\pagenumbering{arabic}+
\end{display}
Traduisons ces trois lignes en français :
\begin{itemize}
\item commencer une nouvelle page (\verb+\newpage+) ;
\item passer alors en numérotation romaine en commençant à <<~i~>>
  (\verb+\pagenumbering{roman}+) ;
\item construire la table des matières (\verb+\tableofcontents+) ;
\item commencer une nouvelle page (\verb+\newpage+) ;
\item passer alors en numérotation arabe en commençant à <<~1~>>.
\end{itemize}
Vous pouvez vérifier que c'est effectivement ce qui s'est passé !
 
Il nous reste à voir les notes de bas de page\footnote{Comme celle-là.} et les
notes marginales\marginpar{Comme\\ celle-ci.}. Les notes de bas de page sont
appelées grâce à la macro \verb+\footnote+ suivie d'un groupe donnant le
contenu de la note. En particulier le numéro de l'appel est géré de façon
automatique (par défaut, il est remis à~1 au début de chaque section avec la
classe \verb+article+ ou au début de chaque chapitre avec les classes
\verb+book+ et \verb+report+. Quant aux notes marginales, elles sont appelées
avec la macro \verb+\marginpar+ et sont suivies, là aussi, d'un groupe
indiquant leur contenu.
 
Les notes de bas de page, comme leur nom l'indique, sont placées en bas de
page, séparées du corps de la page par un filet (tout ceci étant bien sûr
paramétrable). Les notes marginales sont écrites dans la marge en face du
paragraphe dans lequel la macro a été appelée. Ainsi, le début du paragraphe
précédent a été tapé de cette façon :
\begin{display}
\verb+Il nous reste à voir les notes de bas de page\footnote{Comme celle-là.} et les+
\verb+notes marginales\marginpar{Comme celle-ci.}. Les notes de bas de page sont+ \ldots
\end{display}
 
\subsection{Tableaux}\label{tableau}
Ah ! Les tableaux ! C'est en partie à l'aisance avec laquelle un utilisateur
construit un tableau compliqué qu'on reconnaît un expert de \LaTeX. Autant
dire qu'il s'agit là d'une notion un peu délicate à manipuler. C'est logique :
construire un tableau est quelque chose de très subtil qui nécessite souvent
une bonne dose de réflexion. Dans cette section, nous ne verrons que les
macros définies directement par \LaTeX{} ; quelques présentations un peu plus
compliquées seront présentées lors de l'étude des extensions
(Cf.~section~\ref{tableaucomplexe}).
 
Un tableau est défini grâce à l'environnement \verb+tabular+ où le groupe qui
suit le \verb+\begin{tabular}+ indique le motif du tableau (nombre et types
  des colonnes). Il y a quatre type de base pour les colonnes :
  \begin{description}
  \item[l] indique une colonne calée à gauche (\textbf left) ;
  \item[r] indique une colonne calée à droite (\textbf right) ;
  \item[c] indique une colonne centrée (\textbf center) ;
  \item[p\{\textmd{\textit{d}}\}]  indique une colonne qui peut accueillir des
    \textbf paragraphes dont la largeur est donnée par la dimension \textit{d}
    (Cf.~tableau~\ref{unite} page~\pageref{unite} pour les unités acceptées).
  \end{description}
 
Nous allons commencer par un tableau très basique : 4 colonnes, une pour
chaque type, sans réglures (les lignes horizontales et verticales). Le motif
sera alors \verb+lcrp{2cm}+ et le tableau complet sera :
\begin{display}
  \verb+\begin{tabular}{lcrp{2cm}}+
  \verb+  +\textit{contenu du tableau}
  \verb+\end{tabular}+
\end{display}
 
Le \textit{contenu du tableau} va indiquer le texte qui va apparaître dans
chaque cellule du tableau. Pour passer d'une cellule à une autre, on emploie
le caractère spécial \verb+&+ et pour passer à la ligne suivante la séquence
de caractères \verb+\\+. Voici deux exemples :
\begin{SideBySideExample}
  \begin{tabular}{lcrp{2cm}}
    gauche & centré & droite &
    paragraphe de deux centimètres \\
    xxx & yyy & zzz & ppp
  \end{tabular}
 
  \vspace{1cm}
  \begin{tabular}{lcrp{2cm}}
    gauche & centré & droite &
    {\raggedright paragraphe de deux
      centimètres\par} \\
    xxxxxxxx &
    yyyyyyyy &
    zzzzzzzz &
    pppppppp
  \end{tabular}
\end{SideBySideExample}
 
Remarquons que les deux tableaux ont exactement le même
motif (\verb+lcrp{2cm}+). Nous pouvons voir que ce motif ne permet pas
d'avoir des tableaux de largeur fixe : le second tableau est plus large que le
premier. Pour les colonnes de type \texttt{l}, \texttt{c} et \texttt{r} la
largeur sera la largeur de la cellule la plus importante (plus les espaces
intercolonnes). En revanche, le rôle même du type \texttt{p} est d'avoir une
taille fixe.
 
Sans précaution particulière, le motif p produit des résultats peu
esthétiques car sa largeur est généralement très faible et le paragraphe est
construit par défaut pour être justifié ce qui est incompatible (voyez le
piètre résultat du premier tableau). La solution est, souvent, de forcer la
composition au fer à gauche grâce à la macro \verb+\raggedright+. N'oublions
pas alors de faire agir cette macro sur un vrai paragraphe (obtenu ici grâce à
la macro \verb+\par+). La présence des accolades peut sembler mystérieuse ;
sans celles-là, il y aurait eu une erreur à la compilation car la macro
\verb+\\+ indique de passer à la ligne suivante mais il s'agit d'une commande
interdite lorsqu'on se trouve entre deux paragraphes. Les accolades permettent
de créer un paragraphe à l'intérieur sans qu'il soit visible à l'extérieur :
tordu n'est-ce pas ? C'est le genre de petite feinte qu'il vaut mieux
connaître pour ne pas perdre trop de temps lors des premiers pas sous \LaTeX.
 
Petit détail sans trop d'importance : la dernière ligne d'un tableau n'a pas
besoin de la séquence \verb+\\+, l'environnement en ajoute une de façon 
automatique si l'utilisateur ne l'a pas spécifié. Plus important : on peut
terminer une ligne avant que toutes les colonnes aient été remplies, les
cellules correspondantes seront vides. Pour un tableau sans réglures, cela n'a
aucune importance, mais avec des réglures, il faut faire attention à ce que
l'on fait car ces dernières disparaîtront également (cela peut très bien être
le résultat voulu).
 
Pour obtenir des tableaux qui en soient vraiment, il reste à gérer les
réglures. Les réglures verticales, celles séparant les colonnes, sont
déclarées au niveau du motif avec le caractère \verb+|+. Les réglures
horizontales sont déclarées dans le contenu du tableau avec la macro
\verb+\hline+ qui fera suite à la fin de ligne. Reprenons l'exemple précédent
en ajoutant des réglures :
\begin{SideBySideExample}
  \begin{tabular}{|l|c|r|||p{2cm}|}
    \hline
    gauche & centré & droite &
    {\raggedright paragraphe de deux
      centimètres\par}\\
    \hline
    xxx & yyy & zzz & ppp\\ 
    \hline\hline
    xxx xxx & yyy yyy & zzz zzz & ppp ppp\\
    \hline
  \end{tabular}
\end{SideBySideExample}
 
L'inclusion d'une triple ligne verticale n'est sans doute pas très heureuse :
elle a été faite pour montrer que c'était possible ! De même, on peut
réaliser une double réglure horizontale (ou triple, quadruple, \ldots) en
répétant la macro \verb+\hline+. Toujours dans le registre des points
inesthétiques, on voit que le \verb+\par+ a introduit un espacement vertical
parasite ; nous verrons lors du stage de perfectionnement comment y remédier.
 
On peut vouloir ne pas tout le temps suivre le motif par défaut du tableau :
c'est extrêmement fréquent pour les lignes de titres qui peuvent être centrées
alors que le reste de la colonne sera calé à gauche par exemple. De plus, il
peut arriver qu'on veuille fusionner deux (ou plus) cellules adjacentes. Pour
toutes ces man\oe uvres, la macro \verb+\multicolumn+ apporte la solution. Sa
syntaxe est un peu lourde :
\begin{display}
  \verb+\multicolumn{+\textit{nb}\verb+}{+\textit{motif}\verb+}{+\textit{texte}\verb+}+
\end{display}\textit{nb} indique le nombre de colonnes devant être fusionnées (pour un
changement de motif sans fusion, on prendra \(\mathit{nb}=1\)), \textit{motif}
est le motif de remplacement pour cette cellule et \textit{texte} est le
texte qui sera placé dans cette cellule. Voici un premier exemple moins
artificiel que les précédents où on ne fait que modifier le motif pour
obtenir une ligne de titre.
\begin{SideBySideExample}
  \begin{tabular}{|l|r|l|}
    \hline
    \multicolumn{1}{|c|}{Corps} &
    \multicolumn{1}{c|}{\O\ (km)} &
    \multicolumn{1}{c|}{densité} \\ \hline
    Soleil   & 1\,392\,000 & 1,409 \\
    Mercure  &      4\,840 & 5,50  \\
    Vénus    &     12\,390 & 5,25  \\
    Terre    &     12\,760 & 5,517 \\
    Mars     &      6\,800 & 3,94  \\ \hline
  \end{tabular}
\end{SideBySideExample}
 
On remarquera le petit jonglage au niveau des formats des macros
\verb+\multicolumn+ pour garder les mêmes réglures que le tableau.
 
La macro \verb+\,+ n'a rien à voir avec les tableaux : il s'agit d'une espace
fine (on verra les différents types d'espaces à la
section~\ref{mathcomplexe}).
 
L'exemple suivant illustre l'utilisation de la macro \verb+multicolumn+ pour
fusionner plusieurs cellules. En raison de la taille nécessaire,
exceptionnellement, le résultat sera présenté sous le source :
\vertical
\begin{Example}
  \begin{tabular}{|l||c|c|c||c|c|c|}
    \hline
    \multicolumn{1}{|c}{} &
    \multicolumn{6}{c|}{système RVB} \\ \hline
     & \multicolumn{3}{c||}{couleur primaire} &
       \multicolumn{3}{c|}{couleur secondaire} \\ \hline
    nom         & rouge & vert & bleu & jaune & magenta & cyan \\ \hline
    composition & R     & V    & B    & RV    & RB      & VB   \\ \hline 
  \end{tabular}
\end{Example}
\horizontal
 
En premier lieu, on peut remarquer que le motif est un peu répétitif et on
conçoit que pour un motif devant désigner 10 cellules centrées avec une ligne
verticale entre chaque cellule, l'écriture :
\begin{display}
  \verb+|c|c|c|c|c|c|c|c|c|c|+
\end{display}
sera un peu embêtante à taper, sans compter les risques d'erreur (taper 9 ou 11
cellules au lieu de 10). \LaTeX{} permet un raccourci d'écriture sous la forme
:
\begin{display}
  \verb+|*{10}{c|}+
\end{display}
qui indique que le motif sera constitué d'un <<~\verb+|+~>>, puis d'une
répétition de 10 fois le texte <<~\verb+c|+~>> ce qui donnera bien le résultat
souhaité. L'astérisque est suivi de deux groupes : le premier indique le
nombre de répétitions et le second groupe le sous-motif qui devra être
répété. Dans notre exemple, cela vaut à peine le coup puisque il n'y a que
deux répétitions. Enfin ! Pour des raisons pédagogiques, voici la traduction
du motif précédent :
\begin{display}
  \verb+|l|*{2}{|c|c|c|}+
\end{display}
 
Un esprit torturé pourra remarquer que le motif répété est lui-même constitué
d'une répétition de sous-motifs et pourra penser à écrire un motif du type :
\begin{display}
  \verb+|l|*{2}{|*{3}{c|}}+
\end{display}
Cela marchera parfaitement mais on ne peut raisonnablement pas recommander ce
genre d'acrobaties en raison de la lisibilité plus que douteuse du source pour
un humain normalement constitué !
 
Plus important en pratique, le tableau précédent aurait pu être plus
logiquement présenté sous la forme :
 
\noindent
\begin{tabular}{|l|c|c|c||c|c|c|}
  \cline{2-7}
  \multicolumn{1}{c|}{} &
  \multicolumn{6}{c|}{système RVB} \\ \cline{2-7}
  \multicolumn{1}{c|}{} &
  \multicolumn{3}{c||}{couleur primaire} &
  \multicolumn{3}{c|}{couleur secondaire} \\ \hline
  nom         & rouge & vert & bleu & jaune & magenta & cyan \\ \hline
  composition & R     & V    & B    & RV    & RB      & VB   \\ \hline 
\end{tabular}
 
Pour cela, il va falloir supprimer certaines parties de quelques
réglures. Pour les réglures verticales, il n'y a pas de problème particulier :
il suffit d'employer \verb+\multicolumn+ en redéfinissant le motif de la
cellule pour faire disparaître la réglure. Ainsi, dans l'exemple précédent,
les deux cellules vides étaient définies de la façon suivante :
\begin{display}
  \verb+\multicolumn{1}{c|}{} +
\end{display}
Donc sans réglure verticale à gauche mais quand même la réglure verticale à
droite et un texte vide (on notera que le choix de \verb+c+ au lieu de
\verb+l+ ou \verb+r+ n'a strictement aucune importance).
 
Pour les réglures horizontales, il va falloir disposer d'une autre macro que
\verb+\hline+ puisque celle-ci trace une réglure sur toute la largeur du
tableau. La macro magique qui permet de réaliser des réglures horizontales
partielles est \verb+\cline+ suivi par un groupe indiquant sur quelles
cellules adjacentes doit s'étendre la réglure ; ceci est précisé avec la
syntaxe \verb+{+\textit{colonne\_début}\verb+-+\textit{colonne\_fin}\verb+}+
où \textit{colonne\_début} et \textit{colonne\_fin} sont les numéros de
colonne dans le tableau. Dans notre exemple, on veut avoir des réglures
horizontales s'étendant de la colonne~2 jusqu'à la colonne~7. Le source complet
est :
\begin{display}
\verb+\begin{tabular}{|l|c|c|c||c|c|c|}+
\verb+  \cline{2-7}+
\verb+  \multicolumn{1}{c|}{} &+
\verb+  \multicolumn{6}{c|}{système RVB} \\ \cline{2-7}+
\verb+  \multicolumn{1}{c|}{} &+
\verb+  \multicolumn{3}{c||}{couleur primaire} &+
\verb+  \multicolumn{3}{c|}{couleur secondaire} \\ \hline+
\verb+  nom         & rouge & vert & bleu & jaune & magenta & cyan \\ \hline+
\verb+  composition & R     & V    & B    & RV    & RB      & VB   \\ \hline+
\verb+\end{tabular}+
\end{display}
 
Cette section a été un peu longue mais patience, il ne reste plus qu'un point
à découvrir sur la gestion de base des tableaux. Considérons le tableau
suivant :
 
\begin{tabular}{*{2}{@{Le nombre }l@{ est }r@{ premier\hspace{1cm}}}}
  2  &     & 3  &     \\
  4  & non & 5  &     \\
  6  & non & 7  &     \\
  8  & non & 9  & non \\
  10 & non & 11 &     \\
\end{tabular}
 
Cela n'a rien de particulièrement excitant ! De plus, avec ce qui a été
présenté jusqu'à maintenant, il est tout à fait possible de le composer même
si cela va entraîner un côté un peu pénible. En fait, le côté un peu magique
de l'affaire et qui ne transparaît pas au niveau de la sortie est que le corps
de ce tableau a été tapé sous la forme :
\begin{display}
\verb+2  &     & 3  &     \\+
\verb+4  & non & 5  &     \\+
\verb+6  & non & 7  &     \\+
\verb+8  & non & 9  & non \\+
\verb+10 & non & 11 &     \\+
\end{display}
On voit que seules les éléments variables ont été spécifiés. Les
<<~colonnes~>> présentant toujours le même matériel (texte ou espacement) ont
été spécifiées au niveau du motif. La méthode consiste à remplacer l'espace
intercolonne par ce qu'on veut grâce à la syntaxe
\verb+@{+\textit{matériel}\verb+}+. Cela ne pose pas trop de problème, la
seule chose à bien se souvenir est qu'il s'agit d'un \emph{remplacement} de
l'espace intercolonne ce qui fait que celui n'existe plus et qu'il faudra
prévoir les espaces nécessaires. Voyez, par exemple, le <<~est~>> entouré de
deux espaces ; les espaces suivant ou précédant le caractère \verb+&+
disparaissent au niveau de la sortie ce qui fait qu'il est préférable de les
spécifier au niveau du motif si on ne veut pas à avoir à taper une ribambelle
de \verb*+\ + (macro espace). Voici le motif qui a permis la construction du
tableau précédent :
\begin{display}
  \verb+*{2}{@{Le nombre }l@{ est }r@{ premier\hspace{1cm}}}+
\end{display}
 
\subsection{Mathématiques complexes}\label{mathcomplexe}
Voici le deuxième chapitre consacré aux mathématiques. Nous verrons encore
quelques points supplémentaires lors de la présentation de l'extension
\textsl{amsmath} à la section~\ref{amsmath}. Pour l'instant, nous en resterons
à ce que \LaTeX{} offre de manière standard.
 
\subsubsection{Fontes mathématiques}\label{fontemath}
Les textes mathématiques ne sont pas composés de la même façon que les textes
courant, les macros gérant ces deux mondes sont différentes et même la façon
d'agencer les lettres les unes à côté des autres n'est pas la même. Voici le
mot difficile écrit en mode mathématique et en italique, la différence saute
aux yeux :
\begin{center}
  \begin{tabular}{ll}
    mode mathématique : \verb+\(difficile\)+ & \(difficile\) \\
    mode texte : \verb+\textit{difficile}+ & \textit{difficile}
  \end{tabular}
\end{center}
Les caractères sont les mêmes mais les espacements ne sont pas du tout les
mêmes et les ligatures ne se font plus dans les modes mathématiques puisque
pour \LaTeX{}, la formule \verb+\(difficile\)+ est comprise comme étant en fait
\verb+\(di^3f^2cle\)+ (\(di^3f^2cle\)), c'est-à-dire en tant que produit de
plusieurs variables !
 
Les fontes mathématiques présentent les mêmes possibilités de modification que
celles du texte courant mais en modifiant le nom des macros. Ainsi, certaines
macros \verb+\text...+ vues à la section~\ref{typefonte} ont un équivalent dans
les modes mathématiques en changeant le <<~\verb+text+~>> en
<<~\verb+math+~>>. Le tableau~\ref{fontemathematique} montre l'effet de toutes
ces macros existant en mode mathématique :
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|l|l|}
      \hline
      \multicolumn{1}{|c|}{Source} &
      \multicolumn{1}{c|}{Résultat} \\\hline
      \verb+\(f\in ab\log[\alpha](\Phi_1\cup F)\)+ &
      \(f\in ab\log[\alpha](\Phi_1\cup F)\) \\\hline
      \verb+\(f\in \mathbf{ab\log[\alpha](\Phi_1\cup F)}\)+ &
      \(f\in \mathbf{ab\log[\alpha](\Phi_1\cup F)}\) \\\hline
      \verb+\(f\in \mathit{ab\log[\alpha](\Phi_1\cup F)}\)+ &
      \(f\in \mathit{ab\log[\alpha](\Phi_1\cup F)}\) \\\hline
      \verb+\(f\in \mathrm{ab\log[\alpha](\Phi_1\cup F)}\)+
      & \(f\in \mathrm{ab\log[\alpha](\Phi_1\cup F)}\) \\\hline
      \verb+\(f\in \mathsf{ab\log[\alpha](\Phi_1\cup F)}\)+
      & \(f\in \mathsf{ab\log[\alpha](\Phi_1\cup F)}\) \\\hline
      \verb+\(f\in \mathtt{ab\log[\alpha](\Phi_1\cup F)}\)+
      & \(f\in \mathtt{ab\log[\alpha](\Phi_1\cup F)}\) \\\hline
    \end{tabular}
  \end{center}
  \caption{Fontes mathématiques}
  \label{fontemathematique}
\end{table}
on voit que seules les lettres romaines, les chiffres et les majuscules
grecques sont affectés par ces macros. Les exemples montrent également la
différence entre rien du tout et \verb+\mathit{}+ car, par défaut, les chiffres
et les majuscules grecques ne sont pas en italique.
 
\TeX{} gère automatiquement la taille des caractères dans les formules en
fonction de leurs emplacements (exposant, exposant d'exposant, composantes de
fraction, etc.) et du mode hors texte ou en texte. En tout, il y a quatre
tailles prédéfinies : la taille hors texte (display), texte (text), scripte
(script) et sous-scripte (script\-script). La taille peut alors être forcée
grâce aux macros \verb+\displaystyle+, \verb+\textstyle+,
\verb+\scriptstyle+ et \verb+\scriptscriptstyle+ (la macro
\verb+\displaystyle+ avait été présentée brièvement à la
section~\ref{structureindispensable}). Tout ce qui se trouve après ces macros
va prendre la taille spécifiée, à moins que des automatismes de \LaTeX{}
entrent en jeu pour réduire cette taille (fraction, exposant, \ldots). Voici
un exemple de leur utilisation :
\begin{SideBySideExample}
  Un nombre énorme :
  \(2^{2^{2^{2^{2^{2^{2^{2}}}}}}}\approx
  3{,}4\times10^{38}\)
 
  Un nombre énorme :
  \(2^{2^
    {\scriptstyle2^
      {\scriptstyle2^
        {\scriptstyle2^
          {\scriptstyle2^
            {\scriptstyle2^
              {\scriptstyle2}}}}}}}\approx
  3{,}4\times10^{38}\)
\end{SideBySideExample}
 
\noindent ou encore, plus parlant :
\begin{SideBySideExample}
  Le début du développement du nombre d'or en
  fraction continue donne :
  \[1+\frac{1}{1+
    \frac{1}{1+
      \frac{1}{1+
        \frac{1}{1}}}}=1{,}6\]
 
  Le début du développement du nombre d'or en
  fraction continue donne :
  \[1+\displaystyle\frac{1}{1+
    \displaystyle\frac{1}{1+
      \displaystyle\frac{1}{1+
        \displaystyle\frac{1}{1}}}}=1{,}6\]
\end{SideBySideExample}
 
 
\subsubsection{Grands opérateurs}\label{operateur}% accolades horizontales
Les grands opérateurs sont des opérateurs pouvant changer de taille en
fonction du mode mathématique et s'écrivant souvent avec des indices et/ou des
exposants. Le tableau~\ref{grandoperateur} page~\pageref{grandoperateur} en
dresse la liste complète ; nous allons maintenant voir comment les utiliser.
 
Regardons tout ceci avec l'opérateur \verb+\sum+, les autres opérateurs se
comportent exactement de la même façon mis à part \verb+\int+ et \verb+\oint+
sur lesquels il faudra un petit complément.
 
Ces opérateurs peuvent avoir un indice et/ou un exposant qui seront placés de
façon traditionnelle dans une formule en texte et au-dessus et au-dessous du
symbole dans une formule hors texte :
\begin{SideBySideExample}
  On sait que
    \(\sum_{n=0}^\infty \frac{1}{n!}\)
  peut être la définition de \(e\).
 
  On sait que
  \[\sum_{n=0}^\infty \frac{1}{n!}\]
  peut être la définition de \(e\).
\end{SideBySideExample}
 
Comme il a été précisé à la section~\ref{math}, on peut être tenté d'écrire
quelque chose du type : <<~On sait que \(\displaystyle\sum_{n=0}^\infty
\frac{1}{n!}\) peut être la définition de \(e\)~>>. Toujours pour ne pas
massacrer l'interligne, cette façon de faire est fortement déconseillée !
Incidemment, le code pour la formule qui a permis cette horreur a été :
\begin{display}
  \verb+\(\displaystyle\sum_{n=0}^\infty \frac{1}{n!}\)+
\end{display}
 
Les deux opérateurs \verb+\int+ et \verb+\oint+ ne se comportent pas comme les
autres au niveau du placement des exposants et indices. En effet, il est assez
peu courant de voir quelque chose du style :
\[\int\limits_0^2 t^2\,dt\]
et même en mode hors texte, l'exposant et l'indice occupent leur position
habituelle, contrairement aux autres grands opérateurs. Par exemple :
\begin{SideBySideExample}
  Comme \(\int_0^2 t\,dt=2\),
  un triangle \ldots
 
  Comme
  \[\int_0^2 t\,dt=2\]
  un triangle \ldots
\end{SideBySideExample}
 
Mais alors, comment \(\int\limits_0^2 t^2\,dt\) a-t-il été tapé ? En fait, on
peut forcer la position des exposants et indices au-dessus et au-dessous d'un
opérateur quelconque quelle que soit sa taille mathématique en le faisant
suivre de la macro \verb+\limits+. L'exemple donné ci-dessus a été composé de
cette façon :
\begin{display}
  \verb+\(\int\limits_0^2 t^2\,dt\)+
\end{display}
De même, on peut forcer la position des exposants et indices à leurs positions
habituelles en faisant suivre l'opérateur de la macro \verb+\nolimits+. Par
exemple :
\begin{SideBySideExample}
  \[\sum\nolimits_{i=1}^n a_i
    =\frac{\sum_{i=1}^n i}{\sum_{i=1}^n i^2}\]
\end{SideBySideExample}
 
\subsubsection{Délimiteurs}\label{chapdelimiteur}% délimiteurs
Les délimiteurs sont des symboles destinés à encadrer des sous-formules. La
liste complète des délimiteurs a été présentée au tableau~\ref{delimiteur}
page~\pageref{delimiteur}. Si ces symboles n'étaient que cela, ils ne seraient
guère utiles et n'auraient de sens que pour l'humain. En réalité, les
délimiteurs peuvent voir leur taille modifiée de façon fine, soit
manuellement, soit automatiquement. Nous ne verrons ici que la façon
automatique (de toute façon plus utile) et nous renverrons le lecteur avide au
stage de perfectionnement ou à des ouvrages spécialisés !
 
Dans la formule \verb+\(f(x)\)+, les deux parenthèses sont des
délimiteurs. Soyons logique : la parenthèse gauche est appelée <<~délimiteur
gauche~>> et je vous laisse deviner comment on appelle la parenthèse
droite. La sous-formule, dans le cas présent est composée de la seule lettre
\(x\). Construisons maintenant une formule avec des délimiteurs encadrant une
sous-formule un peu plus complexe, par exemple :
\begin{SideBySideExample}
  \[f(\frac{1+x}{x})=x^2+(\frac{1}{x})^2\]
\end{SideBySideExample}
 
\noindent
Le résultat est tout à fait ridicule. Les deux macros qui permet de régler
automatiquement la taille des délimiteurs à la hauteur de la sous-formule sont
\verb+\left+ à mettre immédiatement avant le délimiteur gauche et
  \verb+\right+ à mettre immédiatement avant le délimiteur droit. Le même
exemple donnera alors :
\begin{SideBySideExample}
  \[f\left( \frac{1+x}{x} \right)
    =x^2+\left( \frac{1}{x} \right)^2\]
\end{SideBySideExample}
 
On peut imbriquer des couples \verb+\left+\ldots\verb+\right+ mais il faut
toujours qu'un \verb+\left+ s'équilibre avec un \verb+\right+ sous peine de
voir \LaTeX{} protester avec véhémence.
 
\subsubsection{Espacements}\label{espace}
Comme nous l'avons déjà dit, un espace tapé au niveau d'une formule ne sert à
rien sauf à stopper un nom de macro ou bien à présenter les choses de façon
lisible pour un humain. Or, il peut arriver que l'on veuille insérer des
espaces au niveau d'une formule. Les macros d'espacement horizontal vues pour
le texte ---~\verb*+\ + (macro espace), \verb+\hspace+~--- ainsi que
l'espace insécable \verb+~+ fonctionnent également en mode mathématique. Le
tableau~\ref{macroespacement} montre sept types d'espaces que \LaTeX{} permet
en mode mathématique (dont quatre disponibles en mode texte) :
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|c|c|l|c|}
      \hline
      Macro & Signification & Exemple & Mode texte \\\hline
      \verb+\!+ & espace négative &
      \(\vrule width0.3pt height5pt depth2pt \!
      \vrule width0.6pt height5pt depth2pt\) & non \\\hline
      \verb+\,+ & espace fine &
      \(\vrule width0.3pt height5pt depth2pt \,
      \vrule width0.6pt height5pt depth2pt\) & oui \\\hline
      \verb+\:+ & espace moyenne &
      \(\vrule width0.3pt height5pt depth2pt \:
      \vrule width0.6pt height5pt depth2pt\) & non \\\hline
      \verb+\;+ & grande espace &
      \(\vrule width0.3pt height5pt depth2pt \;
      \vrule width0.6pt height5pt depth2pt\) & non \\\hline
      \verb*+\ + & espace intermot &
      \(\vrule width0.3pt height5pt depth2pt \
      \vrule width0.6pt height5pt depth2pt\) & oui \\\hline
      \verb+\quad+ & espace cadratin &
      \(\vrule width0.3pt height5pt depth2pt \quad
      \vrule width0.6pt height5pt depth2pt\) & oui \\\hline
      \verb+\qquad+ & double espace cadratin &
      \(\vrule width0.3pt height5pt depth2pt \qquad
      \vrule width0.6pt height5pt depth2pt\) & oui \\\hline
  \end{tabular}
\end{center}
\caption{Macros d'espacements}
\label{macroespacement}
\end{table}
 
Le tableau \ref{correctionespacement} montre quelques utilisations classiques
de ces différentes espaces qu'il est bon de connaître pour obtenir une lecture
facile d'un texte. On arrive vraiment à de la typographie très fine et il
n'est pas obligatoire de se souvenir de toutes ces présentations. D'autre
part, certaines constructions sont sujettes à discussions (parfois enflammées)
donc vous prenez et vous en faites ce que vous voulez ! Tous ces exemples ont
été repris tels quels dans le \TeX book. Pensez-y surtout pour les intégrales
multiples et méfiez-vous de la racine carrée : avec ces deux conseils, vous
pourrez éviter les présentations malheureuses.
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|l|l|l|}
      \hline
      \multicolumn{1}{|c|}{Formule} &
      \multicolumn{1}{c|}{Résultat} &
      \multicolumn{1}{c|}{sans espace} \\\hline
      & & \\[-2mm]
      \verb|\((2n)!/(n!\,(n+1)!)\)| & \((2n)!/(n!\,(n+1)!)\) &
      \((2n)!/(n!(n+1)!)\) \\[2mm]
      \verb+\[\frac{52!}{13!\,13!\,26!}\]+ &
      \(\displaystyle \frac{52!}{13!\,13!\,26!}\) &
      \(\displaystyle\frac{52!}{13!\,13!\,26!}\) \\[4mm]
      \verb+\(\sqrt{2}\,x\)+ & \(\sqrt{2}\,x\) & \(\sqrt{2}x\) \\[2mm]
      \verb+\(\sqrt{\,\log x}\)+ & \(\sqrt{\,\log x}\) &
      \(\sqrt{\log x}\) \\[2mm]
      \verb+\(O(1/\sqrt{n}\,)\)+ & \(O(1/\sqrt{n}\,)\) &
      \(O(1/\sqrt{n})\) \\[2mm]
      \verb+\([\,0,1)\)+ & \([\,0,1)\) & \([0,1)\) \\[2mm]
      \verb+\(\log n\,(\log\log n)^2\)+ & \(\log n\,(\log\log n)^2\) &
      \(\log n\,(\log\log n)^2\) \\[2mm]
      \verb+\(x^2\!/2\)+ & \(x^2\!/2\) & \(x^2/2\) \\[2mm]
      \verb+\(n/\!\log n\)+ & \(n/\!\log n\) & \(n/\log n\) \\[2mm]
      \verb|\(\Gamma_{\!2}+\Delta^{\!2}\)| & \(\Gamma_{\!2}+\Delta^{\!2}\) &
      \(\Gamma_{2}+\Delta^{2}\) \\[2mm]
      \verb+\(R_i{}^j{}_{\!kl}\)+ & \(R_i{}^j{}_{\!kl}\) &
      \(R_i{}^j{}_{kl}\) \\[2mm]
      \verb+\(\int_0^x\!\int_0^y dF(u,v)\)+ & \(\int_0^x\!\int_0^y dF(u,v)\) &
      \(\int_0^x\int_0^y dF(u,v)\) \\[2mm]
      \verb+\[\int\!\!\int_D dx\,dy\]+ &\(\displaystyle \int\!\!\int_D dx\,dy\)&
      \(\displaystyle \int\int_D dxdy\) \\[4mm]\hline
    \end{tabular}
  \end{center}
  \caption{Exemples classiques de correction d'espacement}
  \label{correctionespacement}
\end{table}
 
\subsubsection{Empiler verticalement}
Jusqu'ici, mises à part les fractions, les éléments d'une formule mathématique
étaient composés de gauche à droite mais les mathématiciens aiment beaucoup
travailler en deux dimensions et la fin de ce chapitre montre comment
procéder verticalement dans une formule de math.
 
Nous avons déjà vu les accents mathématique et le tableau~\ref{accentmath}
page~\pageref{accentmath} en dressait la liste complète. Il existait un
accent permettant de surligner une lettre (\verb+\bar+) mais son emploi pour
placer une barre au-dessus d'une formule plus longue n'est pas correct :
\begin{SideBySideExample}
  \(\bar x \bar + \bar y\)
\end{SideBySideExample}
 
\noindent
Pour réaliser cela, il faut employer la macro \verb+\overline+ suivie du
groupe sur lequel on veut placer la barre :
\begin{SideBySideExample}
  \(\overline{x+y}\)
\end{SideBySideExample}
 
\noindent
De même, il existe la macro \verb+\underline+ qui permet de placer une barre
sous la formule :
\begin{SideBySideExample}
  \(\underline{x+y}\)
\end{SideBySideExample}
 
Cette dernière macro est également disponible en mode texte mais le
soulignement d'un texte est généralement une mauvaise idée : en fait une
mauvaise habitude qui provient du temps des machines à écrire. Mettre un texte
en évidence se fait \textbf{toujours} en le composant dans une autre fonte que
le texte alentour (soit en gras, soit en italique par exemple).
 
Les deux macros \verb+\overbrace+ et \verb+\underbrace+ permettent
respectivement de surligner ou de souligner avec une accolade horizontale à la
place de la barre. Le groupe qui suit la macro indique ce qui doit
être inclus au niveau de l'accolade. On peut écrire quelque chose au-dessus de
l'accolade supérieure ou au-dessous de l'accolade inférieure en utilisant
respectivement l'exposant ou l'indice. L'exemple suivant montre tout cela :
\begin{SideBySideExample}
  Pour \(n\) pair, \(2^n=
    \overbrace{2\times\cdots\times2}
      ^{\textstyle\frac{n}{2}}
  \times
    \underbrace{2\times\cdots\times2}
      _{\textstyle\frac{n}{2}}\)
\end{SideBySideExample}
 
Encore plus fort, on peut mélanger des accolades supérieures et
inférieures. Il n'y a que la sagesse de l'auteur qui limite les possibilités
car la lisibilité devient franchement mauvaise et la frappe un peu délicate à
mener sans se tromper ! Un premier exemple sage :
\begin{SideBySideExample}
  \(2^n=\overbrace{2\times\underbrace{
      2\times\cdots\times2}_{n-2}
    \times2}^n\)
\end{SideBySideExample}
 
\noindent et un exemple délirant pour voir que tout est permis !
\begin{SideBySideExample}
  \(\overbrace{\overbrace{\overbrace
      {2\times2}^2
      \times\overbrace
      {2\times2}^2
      }^{\scriptstyle 4}
    \times\overbrace{\overbrace
      {2\times2}^2
      \times\overbrace
      {2\times2}^2
      }^{\scriptstyle 4}
    }^{\scriptstyle 8}\)
\end{SideBySideExample}
 
On peut placer n'importe quoi au-dessus de n'importe quoi pour produire une
relation (donc avec des espacements autour comme pour <<~\(=\)~>>). Pour cela,
\LaTeX{} propose la macro \verb+\stackrel+ (stack signifie pile et rel et là
pour rappeler qu'on construit une relation). Cette macro place l'élément qui
la suit immédiatement au-dessus de l'élément qui est spécifié ensuite. Il est
plus sage de ne pas trop réfléchir et de placer deux groupes à la suite de
cette macro. Voici deux exemples utiles :
\begin{SideBySideExample}
  \(\vec x\stackrel{\mathrm{d\acute ef}}{=}
    (x_1,x_2,\ldots,x_n)\)
 
  \(x\stackrel{f}{\longmapsto} f(x)\)
\end{SideBySideExample}
 
Le premier exemple montre qu'on peut être conduit assez souvent à mettre du
texte véritable à l'intérieur d'une formule de math. Pour cela, il existe la
macro \verb+\mbox+ qui construit le contenu de ce qui suit comme s'il
s'agissait de texte ordinaire sauf qu'aucune coupure ne pourra être effectuée
à ce niveau. Ainsi, le premier exemple aurait pu être tapé sous la forme :
\begin{display}
  \verb+\(\vec x\stackrel{\mbox{déf}}{=}(x_1,x_2,ldots,x_n)\)+
\end{display}
 
\subsubsection{Matrices}\label{matrice}
De façon générale, les matrices sont considérées comme des tableaux, la seule
différence étant que les tableaux étaient construits en utilisant
l'environnement \verb+tabular+ alors que les matrices seront construites avec
l'environnement \verb+array+. Un premier exemple pour voir que ce n'est
vraiment pas différent :
\begin{SideBySideExample}
  \[ \begin{array}{*{4}{c}}
    1-\lambda & 2 & 3 & 4 \\
    2 & 3-\lambda & 4 & 1 \\
    3 & 4 & 1-\lambda & 2 \\
    4 & 1 & 2 & 3-\lambda \\
  \end{array} \]
\end{SideBySideExample}
 
Pour les <<~vraies~>> matrices, il faudra ajouter des parenthèses sous la
forme de délimiteurs extensibles (donc avec les préfixes \verb+\left+ et
  \verb+\right+). La forme pour les déterminants suivra le même principe en
prenant des barres verticales comme délimiteurs. L'exemple précédent devient
alors :
 
\begin{SideBySideExample}
  \[ \varphi(\lambda) = \left|
    \begin{array}{*{4}{c}}
    1-\lambda & 2 & 3 & 4 \\
    2 & 3-\lambda & 4 & 1 \\
    3 & 4 & 1-\lambda & 2 \\
    4 & 1 & 2 & 3-\lambda \\
  \end{array} \right| \]
\end{SideBySideExample}
 
\LaTeX{} définit le délimiteur <<~vide~>> qui ne produit aucun symbole. Il est
souvent utile dans certains cas faisant appel aux tableaux. Par exemple :
\begin{SideBySideExample}
  \[\left.\begin{array}{l}
      x\in E \\
      \quad\mbox{ou} \\
      x\in F \\
    \end{array}\right\}
  \iff x+x^2=0
  \]
\end{SideBySideExample}
 
Un autre exemple fréquent est donné par la construction :
\begin{SideBySideExample}
  \[P_{i,j} = \left\{
    \begin{array}{ll}
      0 & \mbox{si \(i-j\) est impair,}\\
      i!(-1)^{(i-j)/2} &
        \mbox{si \(i-j\) est pair}.
    \end{array}\right.\]
\end{SideBySideExample}
 
\noindent Cet exemple sera repris lors de l'étude de l'extension
\textsl{amsmath} à la section~\ref{amsmath} page~\pageref{amsmath}. Notons ici
l'utilisation d'un mode mathématique en texte (le \verb+\(i-j\)+) à l'intérieur
d'un mode texte (les boîtes \verb+\mbox+) à l'intérieur d'un mode mathématique
hors texte (la formule complète) !
 
\section{Macros}\label{macro}
\subsection{Principe des macros}\label{principemacro}
Nous avons étudié un certain nombre de macros jusqu'à maintenant et nous
pouvons nous faire une idée générale de ce qu'est une macro : une commande
permettant des actions complexes. En réalité, la signification du terme
<<~macro~>> est un peu plus précise : une macro est un mini-programme
construit à partir de commandes directement compréhensibles par le compilateur
(en l'occurrence \TeX) et/ou d'autres macros définies préalablement. Ainsi, un
utilisateur pourra vouloir se construire ses propres macros pour automatiser
certaines tâches répétitives.
 
Reprenons un des exemples précédents où nous avions écrit la formule :
\newcommand{\defeq}{\stackrel{\mathrm{d\acute ef}}{=}}
\[\vec x\defeq(x_1,x_2,\ldots,x_n)\]
et supposons que le symbole <<~\(\defeq\)~>> soit souvent utilisé dans le
document. Il y aura tout intérêt à définir une macro qui se charge de recopier
la définition de ce symbole au lieu de retaper à chaque fois tous les ordres
nécessaires à son obtention.
 
La première étape va être de choisir un nom (les \verb+\tata+, \verb+\titi+ et
autre \verb+\toto+ sont à proscrire sans hésitation). Appelons notre macro
\verb+\defeq+ pour des raisons de cohérence avec les autres macros de
\LaTeX{}. Ensuite le texte que la macro doit remplacer doit être bien compris
et on doit être sûr de son résultat. Ici, pas de problème, la macro doit
remplacer la suite :
\begin{display}
  \verb+\stackrel{\mathrm{d\acute ef}}{=}+
\end{display}
Il ne reste alors plus qu'à appeler la macro permettant de construire des
macros, en l'occurrence \verb+\newcommand+, suivie du nom de la macro que l'on
veut définir puis d'un groupe donnant son contenu. Avec notre exemple, cela va
donner :
\begin{display}
  \verb+\newcommand{\defeq}{\stackrel{\mathrm{d\acute ef}}{=}}+
\end{display}
Et voilà, c'est tout ! Il ne reste plus qu'à l'utiliser :
\begin{SideBySideExample}
  \[\vec x\defeq(x_1,x_2,\ldots,x_n)\]
\end{SideBySideExample}
 
Il y a d'autres façons de définir des macros mais celle exposée ci-dessus est
fortement conseillée par les défenseurs de \LaTeX. Elle offre, entre autres
avantages, la sécurité de ne pas redéfinir des macros déjà existantes. En
reprenant l'exemple précédent, on pourrait légitimement se dire que plus un
nom de macro est court, plus rapide sera sa frappe et décider d'appeler
\verb+\def+ notre jolie macro. Si cela avait été possible, il y aurait eu une
série de catastrophes et plus rien n'aurait fonctionné correctement car
\verb+\def+ est une primitive du langage \TeX{} abondamment utilisée (par
exemple, la macro \verb+\newcommand+ utilise cette primitive) et tout ce qui
ferait appel directement ou indirectement à \verb+\def+ serait
corrompu. D'autre part, les messages d'erreurs affiché par le terminal
auraient été réellement abscons et sans rapport évident avec la redéfinition
de la primitive donc une erreur très délicate à comprendre.
 
\subsection{Macros à paramètres}\label{parametremacro}
Les macros comme celle définie à la section précédente seraient assez utiles
mais la puissance de ce concept vient surtout de la possibilité de mettre des
paramètres (de 1 à 9). Illustrons cela par un exemple un peu plus évolué.
Supposons qu'à plusieurs endroits d'un ouvrage on veuille écrire des citations
avec le texte composé au fer à droite et en italique suivi, à la ligne, du
nom de l'auteur composé en petite capitale et enfin du titre de l'ouvrage
séparé du nom de l'auteur par une virgule, le tout placé dans un bloc de 6\,cm
de large. Voici un petit exemple pour voir sa réalisation sans définir de
nouvelle macro :
\vertical
\begin{Example}
  \begin{flushright}
    \begin{tabular}{@{}p{6cm}@{}}
      {\raggedleft \itshape C'est parce que quelque chose des objets
        extérieurs pénètre en nous que nous voyons les formes
        et que nous pensons.\par}\\
      {\raggedleft \textsc{\'Epicure}, lettre à Hérodote.\par}
    \end{tabular}
  \end{flushright}
\end{Example}
\horizontal
 
Petite cerise sur le gâteau : la largeur du texte écrit est exactement de
6\,cm car on a pris la peine d'inhiber les espaces intercolonnes en mettant
les deux \verb+@{}+ au début et à la fin du motif du tableau.
 
Le tout est un peu embêtant à taper et nous voudrions avoir une macro qui se
charge du travail, étant entendu que le texte de la citation, le nom de
l'auteur et le titre de l'ouvrage sont variables. Pour cela, il va falloir
définir une macro à trois paramètres. Appelons-la \verb+\epigraphe+, le début
de sa déclaration se fait sous la forme :
\begin{display}
  \verb+\newcommand{\epigraphe}[3]+
\end{display}
c'est-à-dire comme précédemment mais en rajoutant le nombre de paramètres
entre crochets. Ensuite, on tape le texte qui remplacera la macro en
indiquant la présence du premier paramètre par la séquence \verb+#1+, celle du
deuxième paramètre par \verb+#2+ et celle du troisième paramètre par
\verb+#3+. Comme nous avons déjà le modèle, cela ne va pas poser de problème
insurmontable, il suffit de remplacer les passages correspondants par les
séquences \verb+#+\(n\) adéquates :
 
\begin{display}
  \verb+\newcommand{\epigraphe}[3]{+
  \verb+  \begin{flushright}+
  \verb+    \begin{tabular}{@{}p{6cm}@{}}+
  \verb+      {\raggedleft \itshape #1\par}\\+
  \verb+      {\raggedleft \textsc{#2}, #3\par}+
  \verb+    \end{tabular}+
  \verb+  \end{flushright}}+
\end{display}
 
L'emploi est on ne peut plus simple, il suffit d'écrire la macro puis les
trois éléments (dans l'ordre) et le tour est joué. Par exemple :
\vertical
\newcommand{\epigraphe}[3]{
  \begin{flushright}
    \begin{tabular}{@{}p{6cm}@{}}
      {\raggedleft \itshape #1\par}\\
      {\raggedleft \textsc{#2}, #3\par}
    \end{tabular}
  \end{flushright}}
\begin{Example}
  \epigraphe{Voici une macro qui parle d'elle-même (en logique, on appelle cela un quine).
  Une macro compliquée qui fonctionne du premier coup est un bonheur rare.}
  {Charpentier}{Stage \LaTeX}
\end{Example}
\horizontal
 
L'emploi de macros personnelles ne sert pas qu'à remplacer des séquences
longues et répétitives de commandes, il permet également de réaliser des
documents faciles à maintenir car mieux structurés. Supposons qu'on réalise un
document produisant des recettes de cuisines. Chaque recette va commencer avec
le nom du plat qu'on écrira dans un corps plus grand que le reste de la
fiche. Il n'y a pas de problème particulier, un source tel que :
\begin{display}
  \verb+{\Large Le canard laqué}+
\end{display}
conviendra parfaitement. Après des semaines de travail, l'ouvrage comporte
maintenant plus de 400~fiches lorsque, tout compte fait, les noms des recettes
seraient plus jolis s'ils étaient aussi en gras et centrés en haut de la
fiche, c'est-à-dire que chaque fiche devrait commencer sur une nouvelle
page. Bien évidemment, les éditeurs de texte sont capables de faire des
remplacements automatiques mais il s'agit presque toujours d'opérations
dangereuses et qui doivent être effectuée sous contrôle humain ; après tout,
d'autres textes ont pu être composés dans ce même corps sans être le nom de la
recette. Une solution beaucoup plus propre et compréhensible serait de définir
dès le début du travail une macro \verb+\titrerecette+ dont la déclaration
serait :
\begin{display}
  \verb+\newcommand{\titrerecette}[1]{{\Large #1}}+
\end{display}
La présence des doubles accolades est nécessaire car sinon, l'appel
\verb+\titrerecette{Le canard laqué}+ est remplacé par le texte :
\begin{display}
  \verb+\Large Le canard laqué+
\end{display}
et l'action de la macro \verb+\Large+ se poursuivra au-delà de la zone
souhaitée alors qu'avec les doubles accolades, la macro est remplacée par le
texte :
\begin{display}
  \verb+{\Large Le canard laqué}+
\end{display}
et tout va bien.
 
Au moment où on veut modifier la présentation des titres des recettes, il
suffira de modifier la définition de la macro au niveau du préambule et tout
sera recomposé selon les nouvelles exigences. Ici, la macro deviendrait
:\label{recette}
\begin{display}
  \verb+\newcommand{\titrerecette}[1]{%+
  \verb+  \newpage+
  \verb+  \begin{center}+
  \verb+    \Large #1+
  \verb+  \end{center}+
  \verb+  }+
\end{display}
 
Deux petits mots sur cette macro avant de clore le sujet. Nous avons vu
précédemment qu'il fallait mettre la macro \verb+\Large+ entre accolades pour
que son action reste confinée au paramètre de la macro. Ici, ce n'est pas
nécessaire car tout environnement se comporte comme des accolades sur ce
point. En l'occurrence, l'environnement \verb+center+ va limiter la portée de
la macro \verb+\Large+. D'autre part, il y a un caractère \verb+%+ à la fin de
la première ligne. Ce commentaire (vide) sert à ce que \TeX{} ne voit pas la
fin de la ligne et ne produisent donc pas d'espace parasite. En fait, cette
précaution est ici superflue car une espace précédant un saut de page ne fait
de mal à personne mais il existe beaucoup de situations où il faut penser à ce
<<~truc~>>.
 
\subsection{Compteurs et dimensions}\label{compteurdimension}
Dans ce manuel, nous avons déjà rencontré les deux dimensions
\verb+\parindent+ et \verb+\parskip+ qui permettaient respectivement
d'indiquer l'importance de l'indentation de première ligne et la distance
entre deux paragraphes. Nous avons également utilisé, sans le nommer, le
registre qui garde le numéro de page en cours. En fait, \LaTeX{} gère une
multitude de choses en se servant de registres de dimension et de compteurs ;
de plus, l'utilisateur peut se créer ses propres registres pour des besoins
particuliers.
 
\'Etudions d'abord les compteurs, la syntaxe pour les dimensions ne sera pas
trop différente. Si on désire utiliser un compteur qui n'est pas défini par
\LaTeX{}, il va falloir le déclarer. Pour cela, on dispose de la macro
\verb+\newcounter+ qui sera suivie du nom du compteur (compteur qui, sous
\LaTeX{}, ne s'écrit pas avec la contre-oblique). Nous allons déclarer un
compteur qui servira à une macro destinée à numéroter automatiquement les
exercices d'un devoir ; appelons-le \verb+numexo+. Sa déclaration sera donc :
\newcounter{numexo}
\begin{display}
  \verb+\newcounter{numexo}+
\end{display}
Cette déclaration faite, le compteur \verb+numexo+ existe et est initialisé à
zéro. Il reste à pouvoir modifier sa valeur, à le transmettre à des macros et
à placer sa valeur dans un texte. Voyons ces différents points un à un.
 
Avec \LaTeX{}, il existe deux façons de changer le contenu d'un compteur. On
peut placer une valeur particulière grâce à la syntaxe :
\begin{display}
  \verb+\setcounter{+\textit{cpt}\verb+}{+\textit{val}\verb+}+
\end{display}
qui permet de mettre la valeur \textit{val} dans le compteur \textit{cpt}.
 
On peut aussi ajouter une valeur en utilisant la construction :
\begin{display}
  \verb+\addtocounter{+\textit{cpt}\verb+}{+\textit{val}\verb+}+
\end{display}
qui ajoutera la valeur \textit{val} au contenu actuel du compteur
\textit{cpt}. Pour une soustraction, il suffit d'ajouter une valeur
négative. Pour les multiplications et divisions, vous êtes cordialement invité
au stage de perfectionnement ou à lire des documents de référence !
 
Si le contenu d'un compteur doit être transmis à une macro en tant que
paramètre, on pourra utiliser la construction :
\begin{display}
  \verb+\value{+\textit{cpt}\verb+}+
\end{display}
 
Un point plus utile que le précédent consiste à afficher le contenu d'un
compteur au niveau du document produit. C'est ce que nous voulons avec le
compteur d'exercice. Pour cela, \LaTeX{} n'offre pas moins de 7~macros. Nous
ne verrons ici que les cinq les plus fréquemment employées :
\begin{center}
  \begin{tabular}{lll}
    \multicolumn{1}{c}{Commande} &
    \multicolumn{1}{c}{Type} &
    \multicolumn{1}{c}{Exemple} \\
    \verb+\arabic{+\textit{cpt}\verb+}+ & nombre arabe& 1, 2, 3, \ldots\\
    \verb+\roman{+\textit{cpt}\verb+}+  & nombre romain minuscule & i, ii,
    iii, \ldots \\
    \verb+\Roman{+\textit{cpt}\verb+}+  & nombre romain majuscule & I, II,
    III, \ldots \\
    \verb+\alph{+\textit{cpt}\verb+}+   & lettre minuscule & a, b, c, \ldots \\
    \verb+\Alph{+\textit{cpt}\verb+}+   & lettre majuscule & A, B, C, \ldots \\
  \end{tabular}
\end{center}
 
Nous sommes maintenant en possession de tout ce qu'il faut pour construire
notre macro gérant automatiquement les numéros d'exercices. Cette macro devra
définir un nouveau paragraphe, inhiber l'indentation de première ligne et
afficher le texte <<~\textbf{Exercice} \(n\).~>> où \(n\) sera le numéro de
l'exercice en cours suivie d'une espace horizontale assez généreuse. Le code
réalisant toutes ces actions peut être défini comme suit :
  \newcommand{\exo}{\par
    \addtocounter{numexo}{1}%
    \noindent
    \textbf{Exercice \arabic{numexo}}\quad}%
\begin{display}
  \verb+\newcommand{\exo}{\par+
  \verb+  \addtocounter{numexo}{1}%+
  \verb+  \noindent+
  \verb+  \textbf{Exercice \arabic{numexo}}\quad}+
\end{display}
\`A la suite de quoi on pourra obtenir quelque chose comme :
\vertical
\begin{Example}[firstnumber=1,firstline=2]
  \parskip=4pt plus2pt minus1pt \parindent=8mm
  \exo Repérer toutes les fautes de ce manuel (exercice difficile et long).
  \exo Assez tôt dans ce manuel, il avait été dit que le nombre de macros utilisées jusqu'à 
  ce point était de~78.
 
  Maintenant que ce manuel arrive plutôt vers sa fin, quel est le nombre de macros qui ont
  été étudiées ?
  \exo Très souvent, l'augmentation d'un compteur avec la macro
  \(\mathtt{\backslash}\)\texttt{addtocounter} est de~1 (comme pour l'exemple en cours des
  exercices).
 
  Pensez-vous vraiment que \LaTeX{} soit si mal fait qu'il n'ait pas pensé à définir un
  raccourci pour une incrémentation d'une unité ?
\end{Example}
\horizontal
 
\noindent
Facile n'est-ce pas ? Et surtout, cela évite les erreurs de numérotations
qui arrivent fréquemment surtout si on remanie l'ordre et le nombre
d'exercices en étant un peu pressé (expérience personnelle).
 
\`A propos de l'exercice~3 : la réponse est évidemment <<~non~>> ! Il arrive
effectivement très fréquemment que l'on veuille ajouter~1 à un compteur et la
séquence :
\begin{display}
  \verb+\addtocounter{+\textit{cpt}\verb+}{1}+
\end{display}
peut être raccourcie en :
\begin{display}
  \verb+\stepcounter{+\textit{cpt}\verb+}+
\end{display}
 
Compliquons un peu les choses en exigeant une macro qui numérote
automatiquement les questions à l'intérieur d'un exercice mais qui ait le bon
goût de redémarrer à~1 à chaque nouvel exercice. Pour que cela soit joli, le
numéro de la question sera écrit en gras et suivi d'un triangle, d'un point
et d'une espace normale. Nous appellerons \verb+\question+ cette macro et
\verb+numq+ le compteur associé au numéro de question.
 
La définition de la macro \verb+\question+ ne pose pas de problème : elle
ressemble beaucoup à celle de la macro \verb+\exo+ :
\newcounter{numq}
\newcommand{\question}{\par\noindent
  \stepcounter{numq}%
  \textbf{\arabic{numq}} \(\triangleright\).\ }%
\begin{display}
  \verb+\newcommand{\question}{\par+
  \verb+  \stepcounter{numq}%+
  \verb+  \noindent+
  \verb+  \textbf{\arabic{numq}} \(\triangleright\).\ }+
\end{display}
Avec les deux macros \verb+\exo+ et \verb+\question+ telles qu'elles ont été
définies, les choses seront correctes pour le premier exercice mais
deviendront incorrectes dès le deuxième exercice car le compteur \verb+numq+
continuera sur sa lancée. Il existe deux solutions à ce problème : soit on
modifie la définition de la macro \verb+\exo+ en ajoutant la commande :
\begin{display}
  \verb+\setcounter{numq}{0}%+
\end{display}
au début de la macro, soit on utilise une autre façon de définir le compteur
\verb+numq+ :
\begin{display}
  \verb+\newcounter{numq}[numexo]+
\end{display}
Cette syntaxe indique que \verb+numq+ est un compteur qui sera automatiquement
remis à zéro à chaque appel de \verb+\stepcounter{numexo}+ (il faudra donc
obligatoirement modifier la macro \verb+\exo+ pour y remplacer la commande
\verb+\addtocounter{numexo}{1}+ par la commande \verb+\stepcounter{numexo}+).
 
Certaines macros gérant les dimensions ressemblent à celles dédiées aux
compteurs. Ainsi, on trouve :
\begin{display}
  \verb+\newlength{\+\textit{long}\verb+}+
\end{display}
\label{defsetlength}%
qui permet de définir la dimension \verb+\+\textit{long} (on notera la
présence de la contre-oblique pour les dimensions alors qu'il n'y en avait pas
pour les compteurs). Lorsqu'une nouvelle dimension est créée, elle est
initialisée à \verb+1in+ (1\,pouce). On a également :
\begin{display}
  \verb+\setlength{\+\textit{long}\verb+}{+\textit{val}\verb+}+
\end{display}
qui permet de spécifier la valeur \textit{val} à placer dans le registre de
dimension \verb+\+\textit{long}. Une longueur doit obligatoirement comporter
une des unités listées au tableau~\ref{unite} page~\pageref{unite} et peut
comporter une composante \verb+plus+ et/ou une composante \verb+minus+
permettant de donner respectivement un étirement et une compression à cette
longeur (\TeX{} parle plutôt de ressort), Cf.~section~\ref{espacement}
page~\pageref{espacement}. Enfin, la dernière macro ressemblant à celles
gérant les compteurs est :
\begin{display}
  \verb+\addtolength{\+\textit{long}\verb+}{+\textit{val}\verb+}+
\end{display}
qui ajoute la valeur \textit{val} au registre \verb+\+\textit{long}. Les trois
composantes (longueur, extension et compression) sont ajoutées séparément.
 
Trois autres macros permettent de spécifier une longueur calculée à partir
d'un matériel donné :
\begin{display}
  \verb+\settowidth{\+\textit{long}\verb+}{+\textit{objet}\verb+}+
  \verb+\settoheight{\+\textit{long}\verb+}{+\textit{objet}\verb+}+
  \verb+\settodepth{\+\textit{long}\verb+}{+\textit{objet}\verb+}+
\end{display}
initialisent le registre \textit{long} respectivement avec la largeur, la
hauteur et la profondeur de \textit{objet}. Un petit exemple pour bien
comprendre qui utilise le fait que la fonte \verb+\texttt{}+ a tous ses
caractères de la même largeur :
\begin{SideBySideExample}
  \newlength{\retour}
  \settowidth{\retour}{\texttt{supprimé}}
  \texttt{Voici un mot
    supprimé\hspace{-\retour}////////}
\end{SideBySideExample}
 
\section{Extensions utiles}\label{extension}
Ce chapitre présentera, de façon relativement succincte parfois, des extensions
particulièrement utiles et assez souvent employées. Ces extensions (ou
packages) font obligatoirement partie de toutes les distributions ; vous êtes
donc assuré de les avoir si vous installez un système \TeX{} sur votre
ordinateur.
 
Les extensions présentées sont celles que l'auteur utilise. Il existe assez
souvent d'autres extensions permettant d'obtenir des résultats
équivalents. Choisir telle ou telle extension est affaire d'habitude, de goût,
de hasard, \ldots
 
\subsection{geometry}\label{geometry}
Comme nous l'avons dit en début de manuel, \TeX{} a été construit par un
américain pour composer des textes sur des feuilles américaines ce qui ne
correspond pas à notre bon vieux format A4. Le package \textsl{geometry}
permet de ne pas se perdre dans la jungle des registres de dimension
permettant de régler les différents paramètres de la page. Son utilisation est
très simple et les paramètres les plus importants sont très compréhensibles.
 
Bien évidemment, il faudra charger ce package avec la commande :
\begin{display}
  \verb+\usepackage{geometry}+
\end{display}
au niveau du préambule. Ce package fournit l'unique macro \verb+\geometry+ qui
s'utilise en indiquant ce qu'on désire dans le groupe qui la suit.
 
Voici la liste des possibilités les plus utiles. Chaque demande devra être
séparée des autres par une virgule :
\begin{itemize}
\item \verb+a4paper+ indique que la page physique fait \(21\times29,7\) ; il
  existe également tout un tas d'autres format possible (\verb+a0paper+,
  \ldots, \verb+a5paper+, \verb+b0paper+, \ldots, \verb+b5paper+,
  \verb+letterpaper+, \verb+legalpaper+ et \verb+executivepaper+) ;
\item \verb+twoside+ indique que le document sera composé en recto-verso alors
  que \verb+oneside+ indique que le document sera composé en recto simple ;
\item \verb+nohead+ supprime l'espace réservé à l'en-tête ; \verb+nofoot+
  supprime l'espace réservé au pied de page et \verb+noheadfoot+ supprime ces
  deux espaces ;
\item \verb+top=+\textit{val}, \verb+bottom=+\textit{val},
  \verb+right=+\textit{val} et \verb+left=+\textit{val} fixent l'importance
  des marges (respectivement supérieure, inférieure, droite et gauche) ;
\item \verb+marginparwidth=+\textit{val} indique la largeur des notes
  marginales.
\end{itemize}
 
Il est possible d'en faire encore plus : ces options sont les plus
importantes. \`A titre d'exemple, voici l'appel à cette macro qui a été
utilisé pour produire ce manuel :
\begin{display}
\verb+\geometry{a4paper,twoside,left=1.5cm,right=1.5cm,marginparwidth=1.2cm,%+
\verb+  marginparsep=3mm,top=2cm,bottom=2cm}+
\end{display}
 
\subsection{times et compagnie}\label{times}
Si vous en avez assez des sempiternelles fontes Computer Modern, il est
possible de composer des documents avec d'autres familles de fontes. Le
problème est que dans le monde \TeX{} on n'aime pas l'à peu près donc les
fontes disponibles sont d'excellentes qualités et par conséquent soit rares,
soit chères. Oubliez les fontes True Type qui ne correspondent de toute façon
pas aux critères de qualité requis bien qu'il soit possible de transformer ce
genre de fontes sous une forme utilisable par \TeX{}. En résumé et en très
gros, deux grands types de fontes sont utilisées dans le monde \TeX{} : les
fontes, telles que les Computer Modern, fabriquées à partir du programme
METAFONT et les fontes PostScript. Ces fontes sont radicalement
différentes. Les fontes produites à partir de METAFONT sont des dessins
bitmaps (chaque caractère est décrit sous la forme d'une grille de points)
alors que les fontes PostScript sont des fontes vectorielles. La plupart du
temps, les fontes METAFONT appartiennent au domaine public (elles sont donc
accessibles gratuitement, librement distribuables et/ou modifiables) alors que
la plupart des fontes PostScript sont soumises à un copyright classique et sont
payantes. Les fontes PostScript offrent un vaste choix de possibilités car
elles sont produites par des structures commerciales dont c'est, au moins en
partie, le rôle et qui disposent d'un personnel hautement qualifié alors que
les fontes METAFONT sont fabriquées par des passionnés de façon autonome sur
leur temps libre. Or, produire une fonte de qualité requiert une quantité de
travail énorme (j'ai essayé) et beaucoup de connaissances ce qui explique la
relative rareté des fontes METAFONT, du moins celles de qualité.
 
La gestion des fontes est une tâche assez obscure et nous n'allons
certainement pas entrer dans les détails de ce qui se passe en coulisse. Des
extensions permettent un minimum de travail. Par exemple, pour composer
l'ensemble du document en fonte Times, il suffit de spécifier :
\begin{display}
  \verb+\usepackage{times}+
\end{display}
au niveau du préambule et c'est tout.
 
Les distributions proposent une vingtaine de package de ce type mais je
conseille l'essai des extensions suivantes qui sont les plus complètes :
\begin{itemize}
\item \verb+bookman+ ;
\item \verb+newcent+ ;
\item \verb+palatino+ ;
\item \verb+times+.
\end{itemize}
 
Le package \verb+pifont+  est un peu spécial car la fonte appelée renferme des
symboles et parce que, contrairement aux autres extensions, il définit
quelques macros permettant quelques présentations particulières. Le
tableau~\ref{dingbat} indique tous les symboles existant dans la fonte Dingbat
accessibles grâce à la syntaxe :
\begin{display}
  \verb+\ding{+\textit{numéro}\verb+}+
\end{display}
De même, on a accès facilement à une fonte dite <<~de symboles~>> avec la
syntaxe :
\begin{display}
  \verb+{\Pifont{psy}+ \textit{texte} \verb+}+
  ou
  \verb+\Pisymbol{psy}{+\textit{numéro}\verb+}+
\end{display}
Le tableau~\ref{psy} indique l'ensemble de ces symboles
\newcounter{numcar}
\newcommand{\carsvt}{\arabic{numcar} & \ding{\value{numcar}}%
  \stepcounter{numcar}}
\newcommand{\lignecar}{\carsvt & \carsvt & \carsvt & \carsvt & \carsvt &
  \carsvt & \carsvt & \carsvt & \carsvt & \carsvt}
\begin{table}[!htb]
  \begin{center}
    \setcounter{numcar}{32}
    \begin{tabular}{|*{10}{r@{\hspace{6pt}}l|}}
      \hline
         &    &    &    & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\
      \lignecar\\ %40-49
      \lignecar\\ %50-59
      \lignecar\\ %60-69
      \lignecar\\ %70-79
      \lignecar\\ %80-89
      \lignecar\\ %90-99
      \lignecar\\ %100-109
      \lignecar\\ %110-119
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt &    &    &    &    &    &    &    &    \\ %120-126
      \noalign{\setcounter{numcar}{161}}
         &    & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\ %161-169
      \lignecar\\ %170-179
      \lignecar\\ %180-189
      \lignecar\\ %190-199
      \lignecar\\ %200-209
      \lignecar\\ %210-219
      \lignecar\\ %220-229
      \lignecar\\ %230-239
      \noalign{\setcounter{numcar}{241}}
         &    & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\ %241-249
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt &
         &    &    &    &    &    &    &    &    &    \\\hline  %250-254
    \end{tabular}
  \end{center}
  \caption{Caractères de la fonte ZapfDingbat}
  \label{dingbat}
\end{table}
 
\renewcommand{\carsvt}{\arabic{numcar} & \Pisymbol{psy}{\value{numcar}}%
  \stepcounter{numcar}}
\begin{table}[!htb]
  \begin{center}
    \setcounter{numcar}{32}
    \begin{tabular}{|*{10}{@{\,}rl@{\,}|}}
      \hline
         &    &    &    & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\
      \lignecar\\ %40-49
      \lignecar\\ %50-59
      \lignecar\\ %60-69
      \lignecar\\ %70-79
      \lignecar\\ %80-89
      \lignecar\\ %90-99
      \lignecar\\ %100-109
      \lignecar\\ %110-119
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt &    &    &    &    &    &    &    &    \\ %120-126
      \noalign{\setcounter{numcar}{161}}
         &    & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\ %161-169
      \lignecar\\ %170-179
      \lignecar\\ %180-189
      \lignecar\\ %190-199
      \lignecar\\ %200-209
      \lignecar\\ %210-219
      \lignecar\\ %220-229
      \lignecar\\ %230-239
      \noalign{\setcounter{numcar}{241}}
         &    & \carsvt & \carsvt & \carsvt & \carsvt &
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt \\ %241-249
      \carsvt & \carsvt & \carsvt & \carsvt & \carsvt &
         &    &    &    &    &    &    &    &    &    \\\hline  %250-254
    \end{tabular}
  \end{center}
  \caption{Caractères de la fonte Symbol}
  \label{psy}
\end{table}
 
On peut également construire des listes et des suites de symboles occupant une
partie d'une ligne :
\begin{SideBySideExample}[firstnumber=1,firstline=2]
  \parskip=4pt plus2pt minus1pt \parindent=8mm
  \begin{dinglist}{93}
    \item petite liste charmante ;
    \item peut-être un peu niaise.
  \end{dinglist}
 
  {\centering COUPON \`A RENVOYER\par}
  \dingline{34}
 
  \emph{La section du Canon}
  ({\Pifont{psy}katatomh kan\'onoV})
\end{SideBySideExample}
 
On pourra enfin citer l'extension \textsl{marvosym} qui procure un grand
nombre de symboles dont plusieurs versions du caractère euro. Malheureusement,
ce pakage recèle une petite erreur qui empêche l'obtention correcte des
flèches à double barre dans les modes mathématiques. Pour corriger cette
erreur, on peut procéder de la sorte (je n'expliquerai pas ces incantations) :
\begin{display}
  \verb+\let\oldRightarrow\Rightarrow+
  \verb+\usepackage{marvosym}+
  \verb+\let\MarvoRightarrow\Rightarrow+
  \verb+\let\Rightarrow\OldRightarrow+
 
  en lieu et place du bête :
 
  \verb+\usepackage{marvosym}+
\end{display}
 
\subsection{amsmath}\label{amsmath}
L'American Mathematical Society est la dépositaire du logiciel \TeX{}. Il
s'agit d'une importante association américaine de mathématiciens. Lorsque
ceux-ci ont eu le programme de Knuth en leur possession, ils se sont empressé
de construire toute une série de macros permettant des constructions
mathématiques complexes dont ils avaient besoin. Toutes ces macros ont
été réunies dans plusieurs extensions dont la plus importante est
\textsl{amsmath}. Il est hors de question de présenter toutes les possibilités
de ce package en raison de la profusion de possibilités mais nous verrons les
possibilités offertes les plus utiles.
 
Les extensions disponibles sont \textsl{amsmath}, \textsl{amstext},
\textsl{amsfonts}, \textsl{amssymb} et \textsl{amscd}. L'extension
\textsl{amscd} permet la construction de diagrammes commutatifs,
\textsl{amssymb} et \textsl{amsfonts} permettent d'avoir un accès à quelques
lettres hébraïques, à quelques symboles très spécialisés, à une fonte
gothique, une fonte pour l'écriture des ensembles <<~comme à la main~>>, des
fontes grasses, \textsl{amstext} permet de placer du texte normal dans des
formules mathématiques de façon intelligente. Tous les exemples qui suivent
n'ont eu besoin que des packages \textsl{amsmath} et \textsl{amsfonts}.
 
Voici d'abord quelques exemples d'utilisation de macros particulières :
\begin{SideBySideExample}
  \[\int_C\vec V\cdot d\vec M
    = \iint_D\left(\frac{\partial Q}{dx}
      -\frac{d\partial P}{dy}\right)\,dx\,dy
  \] % intégrales multiples automatiques
 
  \[\overrightarrow{A(x)B(x)}
    = \overrightarrow{g_x}\] % grandes flèches
 
  \[\varliminf_{n\to\infty} u_n
    = \varlimsup_{n\to\infty} u_n
    = \boldsymbol{a^\lambda}
    \iff \lim_{n\to\infty} u_n
    = \boldsymbol{a^\lambda}\]
\end{SideBySideExample}
 
Une série de macros permettent de construire des structures classiques faisant
normalement appel à l'environnement \verb+array+. Voici un exemple permettant
les structures de choix :
\begin{SideBySideExample}
  \[|x| = 
  \begin{cases}
    x  & \text{si \(x \geq 0\)} \\
    -x & \text{si \(x \leq 0\)} \\
  \end{cases}\]
\end{SideBySideExample}
 
Le package \textsl{amsmath} définit cinq environnements permettant de
construire des matrices (\verb+matrix+ qui ne met aucun délimiteur,
\verb+pmatrix+ qui entoure la matrice avec des parenthèses, \verb+bmatrix+ avec
des crochets, \verb+vmatrix+ avec des traits verticaux et \verb+Vmatrix+ avec
des double traits verticaux) :
\begin{SideBySideExample}
  \[\begin{pmatrix}
    1 & \cos x \\
    -\cos x & 1 \\
  \end{pmatrix}\]
 
  \[\begin{vmatrix}
    \cos(x)-X & -\sin x \\
    \sin x & \cos(x)-X \\
  \end{vmatrix}\]
\end{SideBySideExample}
 
\subsection{Tableaux évolués}\label{tableaucomplexe}
Vous vous êtes peut-être aperçu que la construction de tableaux est
quelquefois un peu pénible et des problèmes surgiront presqu'obligatoirement
si vous vous mettez à composer des textes de façon soutenue avec \LaTeX{}. Ces
problèmes ont été évoqués sur des forums de discussion et certaines personnes,
très à l'aise dans la programmation de \LaTeX{} ont créé des packages
résolvant automatiquement les problèmes rencontrés. Là aussi, il existe
beaucoup d'extensions dont le but est de résoudre certains problèmes liés aux
tableaux ; nous ne ferons pas v\oe ux d'exhaustivité et nous ne présenterons
que les plus classiques. Seul le package \textsl{array} sera présenté avec
quelques détails, les autres packages ne seront qu'évoqués, éventuellement
avec un exemple représentatif.
 
Le package \textsl{array} offre la possibilité de dire plus de choses au
niveau du motif d'un tableau. Le tableau~\ref{commandetab} donne le
récapitulatif des commandes qu'on peut indiquer au niveau du motif d'un
tableau.
\begin{table}[!htb]
  \begin{tabularx}{\linewidth}{|c|X|}
    \hline
    \multicolumn{2}{|c|}{\textbf{Anciennes commandes}} \\\hline
    \texttt{l} & Colonne alignée à gauche \\
    \texttt{c} & Colonne centrée \\
    \texttt{r} & Colonne alignée à droite \\
    \texttt{p\{}\textit{larg.}\texttt{\}} & Paragraphe de largeur
      \textit{larg.}
      dont le haut sera aligné avec le haut de la ligne du tableau. \\
    \texttt{\@\{}\textit{instr.}\texttt{\}} & Remplace l'espace intercolonne
      par \textit{instr.}\\\hline
    \multicolumn{2}{|c|}{\textbf{Ancienne commande modifiée}} \\\hline
    \texttt{|} & Insère une réglure verticale. Contrairement à ce qui se
      passait avec la commande \LaTeX{}, la largeur de la colonne sera
      agrandie de la largeur de cette réglure. \\\hline
    \multicolumn{2}{|c|}{\textbf{Nouvelles commandes}} \\\hline
    \texttt{m\{}\textit{larg.}\texttt{\}} & Paragraphe de largeur
      \textit{larg.} centrée verticalement dans la ligne du tableau. \\
    \texttt{b\{}\textit{larg.}\texttt{\}} & Paragraphe de largeur
      \textit{larg.} dont le bas sera aligné avec le bas de la ligne du
      tableau. \\
    \texttt{>\{}\textit{instr.}\texttt{\}} & Utilisée avant les commandes
      \texttt{l}, \texttt{r}, \texttt{c}, \texttt{p}, \texttt{m} ou
      \texttt{b}, elle insère \textit{instr.} au début de la colonne. \\
    \texttt{<\{}\textit{instr.}\texttt{\}} & Utilisée après les commandes
      \texttt{l}, \texttt{r}, \texttt{c}, \texttt{p}, \texttt{m} ou
      \texttt{b}, elle insère \textit{instr.} à la fin de la colonne. \\
    \texttt{!\{}\textit{instr.}\texttt{\}} & Peut être utilisée n'importe où
      comme la commande \texttt{|} sauf qu'au lieu d'obtenir une réglure
      verticale, c'est \textit{instr.} qui sera inséré. En particulier, cette
      commande ne supprime pas l'espace intercolonne. \\\hline
  \end{tabularx}
  \caption{Commandes des motifs de tableaux}
  \label{commandetab}
\end{table}
 
Un petit exemple va permettre de voir ceci en pratique. Il est bien entendu
hors de question de voir toutes les subtilités du package \textsl{array}. [COM]
consacre une quarantaine de pages aux extensions dédiées aux tableaux (en
fait, un chapitre entier) et la description du package \textsl{array} en prend
une quinzaine.
 
\vertical
\begin{Example}
  \begin{tabular}{|>{\scshape}llm{5.65cm}%
      r<{ \scshape j-c.}@{ -- }l<{ \scshape j-c.}|}
    \hline
    Abel & Niels Henrick &
    Il montre l'impossibilité de résoudre les équations de degré 5 par radicaux. &
    1802 ap. & 1829 ap. \\ \hline
    Alembert & Jean \textsc{le Rond d'} &
    Collaborateur à l'encyclopédie de Diderot. Il a effectué d'importants travaux sur les
    dérivées partielles, les nombres complexes et la mécanique &
    1717 ap. & 1783 ap. \\ \hline
    Apollonius & de Perge &
    Il a étudié les sections planes du cône (les coniques). En fait, on sait très peu de
    choses sur ce mathématicien. &
    262 av. & \(\sim\) 180 av. \\ \hline
  \end{tabular}
\end{Example}
\horizontal
 
L'extension \textsl{tabularx} permet de composer des tableaux ayant une
largeur totale précise. Pour cela, ce package fournit l'environnement
\verb+tabularx+ qui fonctionne strictement de la même façon que le
\verb+tabular+ classique de \LaTeX{} sauf que l'appel comporte un argument
supplémentaire donnant le largeur totale du tableau et qu'il existe la
commande \verb+X+ qu'on peut mettre dans le motif du tableau, cette commande
indiquant la ou les colonnes qui seront extensibles afin d'amener le tableau à
la taille voulue. Si plusieurs colonnes sont spécifiées <<~\verb+X+~>>, elles
se partageront la place restant et seront donc de même largeur. Il existe une
astuce permettant de surmonter cette limitation mais sa présentation sortirait
du cadre de ce stage.
 
Ainsi, le tableau~\ref{commandetab} commençait de cette façon :
\begin{display}
  \verb+\noindent+
  \verb+\begin{tabularx}{\linewidth}{|c|X|}+
  \verb+\hline+
  \verb+\multicolumn{2}{|c|}{\textbf{Anciennes commandes}} \\\hline+
  \verb+\texttt{l} & Colonne alignée à gauche \\+
  \verb+\texttt{c} & Colonne centrée \\+
  \verb+\texttt{r} & Colonne alignée à droite \\+
  \ldots
\end{display}
Ce qui a permis d'avoir un tableau ayant exactement la largeur du corps de la
page (\verb+\linewidth+).
 
Le package \textsl{supertabular} permet de réaliser des tableaux s'étendant
sur plusieurs pages. En effet, un tableau classique ne peut absolument pas
franchir la frontière d'une page ce qui peut provoquer soit un grand espace
vide soit un débordement dans la marge lorsque des tableaux deviennent
volumineux.
 
Le package \textsl{dcolumn} permet des alignements sur le point (ou la
virgule) décimal.
 
Le package \textsl{hhline} propose un grand choix pour la construction de
réglures doubles dans les tableaux. Le principe est de remplacer la macro
classique \verb+\hline+ par la macro \verb+\hhline+ qui offre beaucoup plus de
possibilité. Sa syntaxe générale est :
\begin{display}
  \verb+\hhline{+\textit{motif}\verb+}+
\end{display}
On commencera avec un petit exemple de ses possibilités et le
tableau~\ref{hhline} récapitulera les commandes de motif de cette macro.
\begin{SideBySideExample}
  \setlength{\arrayrulewidth}{1pt}
  \begin{tabular}{||cc||c|c||}
    \hhline{|t:==:t:==:t|}
    a & b &    A    & \(+\)      \\ 
      \hhline{|:==:|-|~||}
    1 & 2 & \(\alpha\) & \(-\)      \\
      \hhline{||--||~:=||}
    3 & 4 & \(\beta\) & \(\times\) \\
      \hhline{||--||-|~||}
    5 & 6 & \(\Gamma\) & \(\div\)   \\
      \hhline{|b:==#==:b|}
  \end{tabular}
\end{SideBySideExample}
 
\begin{table}[!htb]
  \begin{center}
    \begin{tabular}{|l|l|}
      \hline
      \multicolumn{2}{|c|}{\'Eléments faisant la largeur d'une cellule.}
        \\\hline
      \texttt{=}    & Une double ligne horizontale.\\
      \texttt{-}    & Une ligne horizontale.\\
      \texttt{\~{}} & Un vide.\\\hline
      \multicolumn{2}{|c|}{\'Eléments occupant un coin de cellule.}\\\hline
      \texttt{|}    & Une (double) ligne horizontale coupée par une ligne
      verticale.\\ 
      \(\mathtt{\colon}\) & Une double ligne horizontale non coupée par une
      ligne verticale.\\
      \texttt{\#}   & Une double ligne horizontale coupée par une double
      ligne verticale.\\
      \texttt{t}    & La ligne supérieure d'une double ligne horizontale.\\
      \texttt{b}    & La ligne inférieure d'une double ligne
      horizontale.\\\hline
    \end{tabular}
  \end{center}
  \caption{Syntaxe de la macro \textbackslash\texttt{hhline}}
  \label{hhline}
\end{table}
 
L'exemple montre également la façon d'obtenir des réglures n'ayant pas
l'épaisseur standard (0,4\,point). La dimension \verb+\arrayrulewidth+ est
déclarée par \LaTeX{}, il ne s'agit pas d'un ajout de ce package.
 
Le dernier package que nous évoquerons ici est \textsl{multirow} qui permet de
fusionner des cellules verticalement (la macro \verb+\multicolumn+ de \LaTeX{}
permettait une fusion horizontale). Ce package fournit la macro
\verb+\multirow+ (original n'est-ce pas ?) qui a la syntaxe de base suivante :
\begin{display}
  \verb+\multirow{+\textit{nbligne}\verb+}{+\textit{largeur}\verb+}{+\textit{contenu}\verb+}+
\end{display}\textit{nbligne} désigne le nombre de lignes qui devront être fusionnées,
\textit{largeur} la largeur de la grande cellule créée et \textit{contenu} le
contenu de la cellule qui sera considérée comme un paragraphe (donc pourra
être composée sur plusieurs ligne de texte. Voici un exemple de tableau
composé grâce à cette macro :
\begin{SideBySideExample}
  \newlength{\Lmax}
  \settowidth{\Lmax}{Jupiter}
  \begin{tabular}{|l|l|}
    \hline
    Planète & Satellite(s) \\\hline
    Terre & Lune \\\hline
    \multirow{2}{\Lmax}{Mars} & Phobos \\
                             & Deimos \\\hline
    \multirow{5}{\Lmax}{Jupiter} & Io \\
                                 & Europe \\
                                 & Ganymède \\
                                 & Callisto \\
                                 & 8 petits \\
    \hline
  \end{tabular}
\end{SideBySideExample}
 
\subsection{multicol}\label{multicol}
Le package \textsl{multicol} permet la composition de parties de document sur
plusieurs colonnes. En fait, \LaTeX{} offre un embryon de possibilité mais les
restrictions sont trop fortes (à mon goût du moins) puisque le changement de
nombre de colonnes provoque un saut de page, que le nombre de colonnes est
limité à~2 et que la fin d'un passage en deux colonnes n'est pas équilibrée
(la colonne de droite n'est pas remplie comme la colonne de gauche).
L'extension \textsl{multicol} surmonte ces trois limitations puisque le nombre
de colonnes maximum autorisé est de 10 (je vois mal comment dépasser ce nombre
sans obtenir un résultat illisible), qu'il est maintenant possible de
mélanger des nombres de colonnes différents sur une même page et qu'on peut
gérer les problèmes d'équilibre de colonnes (le défaut étant que les colonnes
sont parfaitement équilibrées, y compris celles de la dernière page).
 
Une fois cette extension chargée, on change le nombre de colonnes grâce à la
syntaxe :
\begin{display}
  \verb+\begin{multicols}{+\(n\)\verb+}+
    \ \ texte \ldots
  \verb+\end{multicols}+
\end{display}\(n\) représente le nombre de colonnes voulues. Le seul autre point important
concernant ce package est la possibilité de modifier la largeur du filet
séparateur (une largeur nulle permettant une absence de filet). La dimension à
modifier est \verb+\columnseprule+. Pour mémoire, la largeur par défaut des
réglures dans \LaTeX{} (par exemple ceux des tableaux) est de 0,4\,pt.
 
\section{Petit aperçu des possibilités}\label{apercu}
Ce chapitre n'est là que pour montrer quelques possibilités offertes par
\LaTeX{} : il ne s'agit pas d'étudier ces présentations et il n'y aura
strictement aucune explication.
 
\subsection{Ce manuel}\label{manuel}
Le manuel lui-même comprend des constructions qui n'ont pas été évoquées
jusqu'ici. Par exemple, les tableaux ayant une légende et un numéro sont ce
que \LaTeX{} appelle des <<~flottants~>>. Un flottant est une structure qui
sera placée dans le document de façon automatique par \LaTeX{} en fonction de
la place disponible, donc pas nécessairement au niveau où cette structure a
été tapée dans le source. \LaTeX{} prévoit des flottants pour les tableaux et
pour les figures. On notera la présence d'une \emph{Liste des tableaux} à la
fin du manuel, liste qui a été créée automatiquement.
 
La première page présentait des inclusions de dessins dans des paragraphes
avec un découpage du texte autour du dessin. Là aussi, tout est fait de façon
automatique, le source indique seulement qu'il faut placer un certain dessin
et  le texte qui l'entourera mais sans se soucier de savoir où se feront les
coupures de lignes et quand les lignes auront de nouveau toute la largeur de
la gage à leur disposition.
 
Dans le chapitre présentant l'installation de la distribution \TeX live, il y
avait de temps en temps des symboles <<~\casevide~>> et <<~\caseplus~>>,
j'avais également prévu le symbole <<~\casecochee~>>. Ces symboles ont été
construits en tant que macros et leur inclusion à n'importe quel endroit était
alors très simple.
 
Les exemples présentant un source et son résultat (soit côte à côte, soit l'un
en-dessous de l'autre) ont été faits de façon automatique grâce à un
environnement d'un package particulier. Le texte n'a été tapé qu'une seule
fois de telle sorte que le résultat montré est forcément celui obtenu par le
source en vis-à-vis.
 
Les tableaux~\ref{dingbat} et~\ref{psy} page~\pageref{dingbat} auraient été
très pénibles à taper si l'auteur n'avait pas créé quelques macros pour se
débarrasser d'une bonne partie du travail répétitif. Cela devrait d'ailleurs
devenir un réflexe lorsqu'on travaille sous \LaTeX{} : tout travail répétitif
devrait faire l'objet d'une ou de plusieurs macros (ou environnements).
 
\subsection{Graphiques}\label{graphique}
Initialement, \TeX{} avait été pensé pour produire des ouvrages mathématiques
et informatiques. Par conséquent les possibilités graphiques natives sont
extrêmement limitées. D'autre part, à l'heure actuelle, les graphiques
évoluées font la part belle au format PostScript et, depuis encore moins
longtemps au format PDF, formats qui n'existaient pas lorsque Knuth a
programmé le logiciel \TeX{}. En fait, cela montre les extraordinaires
possibilités de ce logiciel puisqu'il a été possible de construire des
extensions permettant d'utiliser ces formats. Il y a deux voies possibles :
\begin{itemize}
\item construire une image grâce à un programme externe et l'inclure sous
  forme d'un fichier PostScript (PDF\,\TeX{} et PDF\LaTeX{} offrent plus de
  possibilités sur le type des fichiers graphiques pouvant être inclus) ;
\item utiliser des extensions permettant de mettre des commandes graphiques
  dans le source du document.
\end{itemize}
Ces deux méthodes présentent chacune des avantages et des inconvénients. Voici
quelques exemples des possibilités. Ils ont tous été composés avec la seconde
méthode (et même à partir du seul groupe d'extensions lié à \textsl{PsTricks})
pour que tout le document tienne dans un minimum de fichiers. Le source de ces
différents exemples n'est pas indiqué mais le stagiaire curieux pourra
toujours se procurer le source de ce manuel pour connaître le fin mot de
l'histoire.
 
La figure \ref{calculatrice} reproduit fidèlement ma jolie calculatrice.
 
\begin{figure}[!htb]
\newcommand{\Fgauche}{%
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (0,0)(0,5)(9.5,5)(9.5,0)
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (0,0)(0,5)(8.5,5)(8.5,0)
  \rput(4.25,2.5){\scaleboxto(6,2){\white \textsf{\textbf{F1}}}}
}
\newcommand{\Fcentre}[1]{%
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (0,0)(0,5)(10.5,5)(10.5,0)
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (1,0)(1,5)(9.5,5)(9.5,0)
  \rput(5.25,2.5){\scaleboxto(6,2){\white \textsf{\textbf{#1}}}}
}
\newcommand{\Fdroit}{%
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (0,0)(0,5)(9.5,5)(9.5,0)
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=green]%
    (1,0)(1,5)(9.5,5)(9.5,0)
  \rput(5.25,2.5){\scaleboxto(6,2){\white \textsf{\textbf{F6}}}}
}
\newcommand{\petite}[2]{%
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=#1]%
    (0,0)(0,5)(8.5,5)(8.5,0)
  \rput(4.25,2.5){\scaleboxto(6,2){\white \textsf{\textbf{#2}}}}
}
\newcommand{\grande}[2]{%
  \pspolygon[linearc=0.5,fillstyle=solid,fillcolor=#1]%
    (0,0)(0,7)(11,7)(11,0)
  \pspolygon[linearc=3,fillstyle=solid,fillcolor=#1]%
    (0.5,0)(0.5,7)(10.5,7)(10.5,0)
  \rput(5.5,3.5){\scaleboxto(8,3){\white \textsf{\textbf{#2}}}}
}
\newcommand{\rivet}{%
  \pscircle[linewidth=.3pt](0,0){2.5} \pscircle[linewidth=.3pt](0,0){2}
  \psline[linewidth=.3pt](1,1.5)(1.75,0)(1,-1.5)%
                         (-1,-1.5)(-1.75,0)(-1,1.5)(1,1.5)}
\psset{unit=0.8mm}
\begin{pspicture}(0,0)(80.5,175)
  \pspolygon[linearc=5](0,0)(0,175)(80.5,175)(80.5,0)
  \rput[bl](8,100){\Fgauche}
  \rput[bl](18.4,100){\Fcentre{F2}}
  \rput[bl](29.8,100){\Fcentre{F3}}
  \rput[bl](41.2,100){\Fcentre{F4}}
  \rput[bl](52.6,100){\Fcentre{F5}}
  \rput[bl](64,100){\Fdroit}
  \rput[bl](7,88.5){\petite{yellow}{SHIFT}}
  \rput[bl](19.4,88.5){\petite{black}{OPTN}}
  \rput[bl](30.8,88.5){\petite{black}{VARS}}
  \rput[bl](42.2,88.5){\petite{gray}{MENU}}
  \rput[bl](7,78){\petite{red}{ALPHA}}
  \rput[bl](19.4,78){\petite{black}{\,x\(^2\)\,}}
  \rput[bl](30.8,78){\petite{black}{\ \(\widehat{\ }\)\ }}
  \rput[bl](42.2,78){\petite{black}{EXIT}}
  \rput[bl](7,67.5){\petite{black}{X,\(\Theta\),T}}
  \rput[bl](19.4,67.5){\petite{black}{log}}
  \rput[bl](30.8,67.5){\petite{black}{\,ln\,}}
  \rput[bl](42.2,67.5){\petite{black}{sin}}
  \rput[bl](53.6,67.5){\petite{black}{cos}}
  \rput[bl](65,67.5){\petite{black}{tan}}
  \rput[bl](7,57){\petite{black}{a+b/c}}
  \rput[bl](19.4,57){\petite{black}{F\(\leftrightarrow\)D}}
  \rput[bl](30.8,57){\petite{black}{\ (\ }}
  \rput[bl](42.2,57){\petite{black}{\ )\ }}
  \rput[bl](53.6,57){\petite{black}{\,,\,}}
  \rput[bl](65,57){\petite{black}{\(\to\)}}
  \rput[bl](7,9){\grande{gray}{\ 0\ }}
  \rput[bl](20.875,9){\grande{gray}{\vrule width0pt height5pt\ \,\(\cdot\)\,\ }}
  \rput[bl](34.75,9){\grande{gray}{\(\times10^\mathrm{x}\)}}
  \rput[bl](48.625,9){\grande{gray}{\((-)\)}}
  \rput[bl](62.5,9){\grande{blue}{EXE}}
  \rput[bl](7,21){\grande{gray}{\ 1\ }}
  \rput[bl](20.875,21){\grande{gray}{\ 2\ }}
  \rput[bl](34.75,21){\grande{gray}{\ 3\ }}
  \rput[bl](48.625,21){\grande{gray}{\ \(+\)\ }}
  \rput[bl](62.5,21){\grande{gray}{\ \(-\)\ }}
  \rput[bl](7,33){\grande{gray}{\ 4\ }}
  \rput[bl](20.875,33){\grande{gray}{\ 5\ }}
  \rput[bl](34.75,33){\grande{gray}{\ 6\ }}
  \rput[bl](48.625,33){\grande{gray}{\ \(\times\)\ }}
  \rput[bl](62.5,33){\grande{gray}{\ \(\div\)\ }}
  \rput[bl](7,45){\grande{gray}{\ 7\ }}
  \rput[bl](20.875,45){\grande{gray}{\ 8\ }}
  \rput[bl](34.75,45){\grande{gray}{\ 9\ }}
  \rput[bl](48.625,45){\grande{lightgray}{DEL}}
  \rput[bl](62.5,45){\grande{lightgray}{AC\(^\mathrm{/ON}\)}}
  \rput[bl](8,6){\scaleboxto(13,2){\textsf{LIBRAIRIE}}}
  \psline(4,5)(76.5,5)(76.5,108)(71.5,112)(9,112)(4,108)(4,5)
  \pspolygon[linearc=2](7,118)(7,162)(73.5,162)(73.5,118)
  \pspolygon[linearc=2](10,121)(10,159)(70.5,159)(70.5,121)
  \rput[bl](12,114){\scaleboxto(31,2){\textsf{GRAPHIQUE COULEUR}}}
  \psframe[fillstyle=solid,fillcolor=yellow](58,113)(69,116.5)
  \rput[bl](12,114){\scaleboxto(9.5,2){\white \textsf{64KO}}}
  \rput[bl](12,165){\scaleboxto(17,3){\yellow \textbf{\textsf{CASIO}}}}
  \rput[bl](42,165){\scaleboxto(21,3){\red \textsf{GRAPH 65}}}
  \pspolygon[fillstyle=solid,fillcolor=red]%
    (65,166)(66.5,167.5)(68,166)(66.5,164.5)
  \pspolygon[fillstyle=solid,fillcolor=green]%
    (66.5,167.5)(68,166)(69.5,167.5)(68,169)
  \pspolygon[fillstyle=solid,fillcolor=black]%
    (68,166)(69.5,167.5)(71,166)(69.5,164.5)
  \pspolygon[fillstyle=solid,fillcolor=blue]%
    (66.5,164.5)(68,166)(69.5,164.5)(68,163)
  \rput[c](5,114){\rivet} \rput[c](5,166){\rivet}
  \rput[c](75.5,114){\rivet} \rput[c](75.5,166){\rivet}
  \psellipse[fillstyle=solid,fillcolor=black](63.5,85.75)(9.5,8.25)
  \psellipse[fillstyle=solid,fillcolor=white](63.5,85.75)(7,5.75)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,85.75)(71,94)(73,92)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,85.75)(56,94)(54,92)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,85.75)(56,77.5)(54,79.5)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,85.75)(71,77.5)(73,79.5)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,93.5)(65,92)(62,92)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (63.5,78)(65,79.5)(62,79.5)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (54.5,85.75)(56,87.25)(56,84.25)
  \pspolygon[linecolor=white,fillstyle=solid,fillcolor=white]%
    (72.5,85.75)(71,87.25)(71,84.25)
\end{pspicture}
\caption{Dessin utilisant l'extension \textsl{Pstricks}}
\label{calculatrice}
\end{figure}
 
La figure~\ref{euler} illustre un classique de géométrie.
\begin{figure}[!htb]
\begin{center}
  \psset{unit=5mm}
  \begin{pspicture}[.5](0,0)(18,12)
    \pspolygon[linewidth=.8pt,linearc=.8pt](0,0)(6,12)(18,0)
    \psline(0,0)(9,9)
    \psline(6,12)(6,0)
    \psline(18,0)(3.6,7.2)
    \psline[linestyle=dashed](0,0)(12,6)
    \psline[linestyle=dashed](6,12)(9,0)
    \psline[linestyle=dashed](18,0)(3,6)
    \psline[linestyle=dotted](3,6)(9,3)
    \psline[linestyle=dotted](12,6)(9,3)
    \psline[linestyle=dotted](9,0)(9,3)
    \psdots[dotstyle=square*](6,9)(9,9)(12,6)(12,3)(9,0)(6,0)%
       (3,3)(3,6)(3.6,7.2)
    \psdots[dotstyle=square](6,6)(9,3)(8,4)(7.5,4.5)
    \pscircle[linewidth=.8pt](7.5,4.5){4.7534} 
  \end{pspicture}
  \hspace{1cm} \Large \bfseries Cercle des 9 points
\end{center}
\caption{Figure géométrique utilisant l'extension \textsl{Pstricks}}
\label{euler}
\end{figure}
 
La figure~\ref{apollinaire} est tirée du \LaTeX{} Graphics Companion et est
due à Denis~Girou. Il s'agit bien sûr d'un calligramme de Guillaume
Apollinaire, Denis~Girou n'a fait que le coder de façon
informatique\footnote{Qu'il soit remercié sur sept générations pour avoir
  autorisé cette reproduction.} !
\begin{figure}[!htb]
\begin{center}
  \begin{pspicture}(9,12)
    \small\psset{linestyle=none}
    \pstextpath[r]{\pscurve(1.5,8)(3,9)(4.45,6.5)}
      {Tous les souvenirs de naguère}
    \pstextpath[r]{\pscurve(1,7)(2,7.5)(4.45,6)}
      {O mes amis partis en guerre}
    \pstextpath[r]{\pscurve(1,6)(2,6.7)(4.45,5.2)}
      {Jaillissent vers le firmament}
    \pstextpath[r]{\pscurve(0.8,5)(2,5.8)(4.45,4.4)}
      {Et vos regards en l'eau dormant}
    \pstextpath[r]{\pscurve(1,4.3)(2,5)(4.45,3.8)}
      {Meurent mélancoliquement}
    \pstextpath[r]{\pscurve(0.3,3.2)(2,4.3)(4.45,3.3)}
      {Où sont-ils Braque et Max Jacob}
    \pstextpath[r]{\pscurve(0.2,2.7)(2,3.5)(3.8,3.2)(4.45,2.8)}
      {Derain aux yeux gris comme l'aube}
    \rput(4.5,7.3){\bfseries\Huge ?}
    \pstextpath[l]{\pscurve(4.55,6.5)(6.5,8.7)(7.8,8)}
      {Où sont Raynal Billy Dalize}
    \pstextpath[l]{\pscurve(4.55,5.8)(6.5,7.5)(8.3,6.4)}
      {Dont les noms se mélancolisent}
    \pstextpath[l]{\pscurve(4.55,5.2)(6.5,6.6)(7.6,6.4)(8.2,5.2)(8.5,5.4)}
      {Comme des pas dans une église}
    \pstextpath[l]{\pscurve(4.55,4.5)(6.5,5.8)(8.5,4.7)}
      {Où est Cremniz qui s'engagea}
    \pstextpath[l]{\pscurve(4.55,3.8)(6.5,4.7)(8.5,4)}
      {Peut-être sont-ils morts déjà}
    \pstextpath[l]{\pscurve(4.55,3.2)(6.5,4.2)(9,2.8)}
      {De souvenirs mon âme est pleine}
    \pstextpath[l]{\pscurve(4.55,2.4)(5,3)(6.5,3.5)(8.8,2.3)}
      {Le jet d'eau pleure sur ma peine}
    \pstextpath[c]{\pscurve(-0.1,1.4)(4.5,2.2)(9,1.4)}
      {{\footnotesize\scshape Ceux qui sont partis à la guerre au nord se
          battent maintenant \ \ \ }}
    \pstextpath[c]{\pscurve(2.1,1.2)(4.5,0.8)(6.9,1.3)}
      {Le soir tombe {\bfseries\Huge O} sanglante mer}
    \pstextpath[c]{\pscurve(0,1)(4.5,0)(9,1)}
      {Jardins où saigne abondamment le laurier rose fleur guerrière}
  \end{pspicture}
\end{center}
\caption{Calligramme composé avec l'extension \textsl{Pstricks}}
\label{apollinaire}
\end{figure}
 
\subsection{Dessins scientifiques}\label{science}
Comme \LaTeX{} a été très vite employé par l'ensemble des scientifiques, des
extensions diverses et variées ont fleuri pour permettre des compositions
faciles de schémas dans différentes disciplines. Il est hors de question de
montrer toutes les possibilités (le lecteur intéressé pourra se reporter à
[LGC].
 
Des extensions permettent ainsi de construire des graphes, des arbres
généalogiques ou syntaxiques ou \ldots, des n\oe uds, des molécules (avec toute
la panoplie de molécules cycliques, de liaisons diverses, \ldots), des
diagrammes de Feynman, des diagrammes de cycles pour les ordinateurs, des
schémas optiques, des schémas électroniques, des circuits analogiques ou
numériques. Voir [LGC] pour les différentes possibilités.
 
Une autre voie consiste à faire appel à des programmes annexes qui produisent
des fichiers pouvant être inclus dans un source \LaTeX{}, soit sous forme
d'images PostScript (ou d'autres formats avec PDF\LaTeX{}), soit directement
sous une forme directement compréhensible par \LaTeX{}. Là aussi, il n'est pas
possible de réaliser une présentation exhaustive, on pourra citer les
programmes utilisés au moins une fois par l'auteur : Gnuplot (tracés de
courbes), Scilab (mathématique formelle) , Xfig (dessin vectoriel), METAPOST
(comme METAFONT mais produisant des figures PostScript au lieu des fontes),
etc.
 
\subsection{Jeux}\label{jeu}
Les jeux nécessitent des compositions très spécialisées qui doivent suivre des
règles strictes pour être facilement lisibles de la part d'un habitué
(présentation d'une partie, diagrammes divers, \ldots). Des extensions
permettent de gérer parfaitement les échecs, les échecs chinois, le go, le
backgammon, les jeux de cartes (bridge par exemple), les mots croisés ou
fléchés. Tous ces exemples ont été pris dans [LGC]
 
\newpage
\appendix
\section{Bibliographie commentée}
La liste des références présentée ici n'a pas pour vocation d'être complète.
Il s'agit d'ouvrages que je possède, ou que j'ai eu un certain temps en ma
possession, et de sites internet sur lesquels j'ai l'habitude d'aller, ce qui
me permet de donner mon avis et non un avis pris dans un livre quelconque.
Bien entendu, tous les commentaires sont hautement subjectifs ! Les prix
indiqués sont ceux pratiqués lorsque j'ai acheté l'ouvrage et sont donc
susceptibles d'une certaine variation.
 
\subsection{Ouvrages sur la typographie}
\leavevmode\hbox to1.2cm{[LEX]\hss} \emph{Lexique des règles typographiques en
  usage à l'Imprimerie Nationale}, Imprimerie nationale, 1990. (89~F)\\
Ouvrage de référence sur les questions de typographie. Il est à noter qu'il
existe d'autre corpus de règles que celles-ci mais, dans l'ensemble, ces
règles sont plus ou moins admises par tout le monde (en France).
 
\leavevmode\hbox to1.2cm{[MTF]\hss} \emph{Manuel de typographie française},
Yves~\textsc{Perrousseaux}, Atelier Perrousseaux, 1996. (120~F)\\
Cet ouvrage présente les règles de typographie avec des références historiques
et indique comment les mettre en \oe uvre sur un système informatique.
 
\leavevmode\hbox to1.2cm{[MPI]\hss} \emph{Mise en page \& imprimerie},
Yves~\textsc{Perrousseaux}, Atelier Perrousseaux, 1999. (200~F)\\
Il s'agit du complément logique de l'ouvrage précédent.
 
\leavevmode\hbox to1.2cm{[PLT]\hss} \emph{Petites leçons de typographie},
Jacques~\textsc{André}, document libre, 1990. (0~F)\\
Petit document (25 pages de corps) mais bien présenté et clair.
 
\subsection{Ouvrages pour débuter}
\leavevmode\hbox to1.2cm{[LGP]\hss} \emph{\LaTeX{}, guide pratique},
Christian~\textsc{Rolland}, Campus Press, 199?. (??? F)\\
C'est très souvent le premier ouvrage qu'ont eu les \LaTeX iens confirmés. La
présentation se veut résolument pratique et la nouvelle édition a été
fortement augmentée d'où une certaine exhaustivité au niveau des packages
importants.
 
\leavevmode\hbox to1.2cm{[JML]\hss} \emph{Joli manuel pour \LaTeXe},
Benjamin~\textsc{Bayart}, document libre, 1995. (0 F)\\
Il s'agit d'un document destiné initialement aux élèves de l'ESIEE (ingénieurs
en électronique) mais qui a été mis à disposition sur internet. Dès que les
rudiments de \LaTeX{} sont connus, c'est-à-dire, par exemple, après un stage
comme celui-ci, ce guide est très utile et très complet. Je le recommande
chaudement.
 
\leavevmode\hbox to1.2cm{[MPM]\hss} \emph{A User Manual for METAPOST},
John~D~\textsc{Hobby}, document libre, 199?. (0 F)\\
Le manuel de référence de METAPOST écrit par son auteur. METAPOST est un
logiciel permettant de construire des figures au format PostScript en
utilisant une bonne partie de la syntaxe du langage METAFONT. Ce livre est
nettement plus accessible que le METAFONTbook mais moins complet. Il existe
une excellente traduction faite par Jean-Côme~\textsc{Charpentier} et
Pierre~\textsc{Fournier} (un peu de publicité) disponible sur le site Syracuse
(Cf. infra).
 
\leavevmode\hbox to1.2cm{[LAG]\hss} \emph{\LaTeX{}. Apprentissage, guide et
  référence}, Bernard~\textsc{Desgraupes}, Vuibert, 2000. ($\sim$ 250 F)\\
Comme son nom l'indique, il s'agit vraiment d'un livre permettant d'apprendre,
  d'être guidé et d'avoir uen référence (très complète) sur \LaTeX. \`A mon
  sens, le meilleur ouvrage car il a réussit le pari d'être aussi utile au
  débutant qu'au \LaTeX ien confirmé.
 
\subsection{Ouvrages plus difficiles}
\leavevmode\hbox to1.2cm{[TEX]\hss} \emph{The \TeX book},
Donald~\textsc{Knuth}, Addison-Wesley, 1996. (41,95 \$ US)\\
LA référence en ce qui concerne le langage \TeX. Cet ouvrage se veut lisible
par un débutant mais, soyons sérieux, la majeure partie de son contenu est
d'une très haute technicité. \`A posséder absolument si on attrape le virus
\TeX ien.
 
\leavevmode\hbox to1.2cm{[MTL]\hss} \emph{La maîtrise de \TeX{} et \LaTeX{}},
Thomas~\textsc{Lachand-Robert}, Masson, 1995. (380~F)\\
Contrairement à ce que son titre pourrait laisser croire, il n'est quasiment
pas question de \LaTeX{}. Il s'agit de l'ouvrage français le plus complet sur
le langage \TeX{}, un peu l'équivalent du \TeX book. Indispensable si on ne
lit pas l'anglais et qu'on veuille découvrir les entrailles de \TeX.
 
\leavevmode\hbox to1.2cm{[MFB]\hss} \emph{The METAFONTbook},
Donald~\textsc{Knuth}, Addison-Wesley, 19??. (???~\$~US)\\
LA référence en ce qui concerne le langage METAFONT. Les mêmes remarques que
celles faites pour le \TeX book s'appliquent à ce livre. Il semble
malheureusement épuisé.
 
\leavevmode\hbox to1.2cm{[DPS]\hss} \emph{A document Preparation System},
Leslie~\textsc{Lamport}, Addison-Wesley, 1999. (36,95~\$~US)\\
Un ouvrage de référence sur \LaTeX{} écrit par son auteur. L'ouvrage ne traite
que de \LaTeX{} et ne présente pas les extensions. Personnellement, je lui
préfère la référence suivante mais mon opinion n'est pas forcément toujours
partagée !
 
\leavevmode\hbox to1.2cm{[COM]\hss} \emph{The \LaTeX{} Companion},
Michel~\textsc{Goossens}, Frank~\textsc{Mittelbach},
Alexander~\textsc{Samarin}, Addison-Wesley, 1994. (36,95 \$ US)\\
C'est mon livre de chevet ! Il est complet au-delà de toute espérance : un
travail titanesque. Une traduction française existe (publiée chez Campus
Press) et qui porte le même nom (249~F). La traduction reprend certains points
rendus obsolètes (elle date de 2000) et est moins chère que l'ouvrage
originale mais la beauté (physique) du livre est moins bonne : les ouvrages
de chez Addison-Wesley sont souvent de qualité.
 
\leavevmode\hbox to1.2cm{[LGC]\hss} \emph{The \LaTeX{} Graphics Companion},
Michel~\textsc{Goossens}, Sebastien~\textsc{Rahtz},
Frank~\textsc{Mittelbach}, Addison-Wesley, 1997. (36,95~\$~US)\\
C'est l'équivalent du précédent pour tout ce qui touche au graphisme dans le
monde \LaTeX{}. Il est aussi beau et aussi complet que \emph{The \LaTeX{}
  Companion}.
 
\leavevmode\hbox to1.2cm{[FAQ]\hss} \emph{FAQ \LaTeX},
Marie-Paule~\textsc{Kluth}, ???, ???. (???~F)\\
Pourquoi tous ces points d'interrogations ? Parce que je n'ai pas cet ouvrage
que pourtant tout le monde devrait posséder. Pourquoi je n'ai pas cet ouvrage
alors que je n'en pense que du bien ? Réponse à la section suivante. \`A
propos, FAQ signifie <<~Frequently Asked Questions~>> très joliment traduit en
<<~Foire Aux Questions~>>.
 
\subsection{Références sur internet}
\verb+http://www.ctan.org/ctan+\\
CTAN est l'acronyme de <<~Comprehensive TeX Archive Network~>>. En clair, tous
les fichiers informatiques qui existent (officiellement) sur TeX se trouvent
sur ce site. En conséquence, lorsqu'on cherche la perle rare, c'est un des
premiers endroits où aller. Le site indiqué est le site principal basé au
\'Etats-Unis, il existe des sites mirroirs un peu partout dans le monde : la
liste de ces sites mirroirs se trouve sur tous les sites CTAN.
 
\verb+http://tex.loria.fr/index.html+\\
Il s'agit du Loria : un site français de référence pour tout ce qui concerne
la documentation de \TeX{} et des programmes satellites. J'ai réellement pillé
ce site !
 
 
\verb+http://gutenberg.eu.org/pub/GUTenberg+\\
GUTenberg est le pendant français du TUG (\TeX{} User's Group). Il s'agit
d'une association loi 1901 qui fédère les passionnés de \TeX{} et de \LaTeX{}.
Cette association permet à ses adhérents de recevoir un bulletin
d'information, de s'abonner pour un prix modique aux cahiers de GUTenberg et
de participer à des réunions aux thèmes divers et variés touchant au monde
\TeX{}.
 
\verb+http://melusine.eu.org/syracuse+\\
Site Poitevin regroupant les utilisateurs des logiciels libres et des
utilisateurs des programmes du monde \TeX{}. Site très sympathique géré par
des personnes non moins sympathiques quoique peu nombreuses ce qui ajoute à
leur mérite. C'est par exemple sur ce site qu'a été placé la traduction du
manuel de METAPOST réalisée avec Pierre~\textsc{Fournier}.
 
 
 
\verb+fr.comp.text.tex+\\
Attention, il ne s'agit pas d'un site mais d'un forum de discussion (newsgroup
comme disent ceux qui ont du mal avec la langue française). On y trouve des
personnes de tout niveau, on peut se contenter de poser des questions, de lire
les questions et réponses des autres ou bien de répondre soi-même à certaines
questions. Il s'agit d'un forum très vivant : soyez un minimum poli, posez
votre question clairement et vous obtiendrez presqu'à coup sûr une réponse.
Enfin, comme sur tout forum de discussion ou presque, une FAQ est postée tous
les mois. Cette FAQ a été établie à partir de celle de
Marie-Paule~\textsc{Kluth} qui s'en occupait il y a quelques années. Elle
s'enrichit de mois en mois ce qui explique ma réticence à acheter celle du
commerce.
 
\newpage
\addcontentsline{toc}{section}{Liste des tableaux}
\listoftables
\end{document}
 
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: