Source de camille.tex
Fichier TeX
\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}
où \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*+\ +\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 surveni