\chapter{Principes de base}
\label{chap-base}

\begin{epigraphe}{Le Lévitique Lv \textbf{15} 2}
  Lorsqu'un homme a un écoulement\\
  sortant de son corps,\\
  cet écoulement est impur.
\end{epigraphe}

\begin{introchap}{Ce chapitre}
  expose les mécanismes de base de \LaTeX{}.  Vous y trouverez donc
  une courte introduction à l'installation de \LaTeX{}, une
  présentation d'une « session » \LaTeX{} classique, la structure d'un
  document type, des remarques sur les accents, quelques outils à
  connaître, et enfin, une présentation de l'attitude à avoir devant
  les messages d'erreurs de compilation.
\end{introchap}

\section{Installation}
\label{sec-installation}

Vous voulez utiliser \LaTeX{} ?  Il vous faudra  installer une
\emph{distribution} correspondant à votre système
d'exploitation\footnote{Si vous ne savez pas ce qu'est un système
  d'exploitation, le vôtre est MacOS, si vous ne savez pas \emph{quel
    est exactement} le système de votre machine vous avez Fenêtre,
  sinon vous avez un Unix...}. Les distributions fournissent des
programmes permettant d'automatiser la configuration et l'installation
de \LaTeX{}, \TeX{} et tous les utilitaires connexes.
\begin{description}
\item[Sous Unix :] on trouve encore la distribution te\TeX{} bien que
  son développement ait été stoppé en 2006. Aujourd'hui, sur un
  système Unix, on installe généralement la \TeX Live
  (\url{http://www.tug.org/texlive}) ;
\item[Sous MacOS :] la distribution de référence est Mac\TeX{}
  (\url{http://www.tug.org/mactex}) ;
\item[Sous Windows :] le plus simple est sans doute de choisir pro\TeX
  t (\url{http://www.tug.org/protext}) qui installe la distribution
  MiK\TeX{} (\url{http://www.miktex.org}) et quelques outils de
  développement dont un programme de visualisation de fichiers au
  format \postscript{} (\soft{gsview}).
\end{description}
Il faut parfois ajouter à ces distributions (si elles n'en contiennent
pas déjà un) un éditeur de texte puisque vous le découvrirez bien
assez tôt, utiliser \LaTeX{} c'est taper du texte et des commandes
dans des fichiers :
\begin{itemize}
\item \soft{emacs} ou \soft{vi} sous Unix sont deux éditeurs de
  référence qui, bien que le premier soit nettement supérieur au
  second, continuent de faire l'objet d'une guerre stérile entre
  utilisateurs la plupart du temps de mauvaise foi ;
\item \soft{kile} et \soft{texmaker} sont des environnements de
  développement intégré grâce auxquels les utilisateurs débutants
  pourront se sentir à l'aise pour commencer : ils ont en effet la
  particularité de centraliser dans une même interface : édition,
  compilation \& visualisation. Ces environnements permettent également
  de découvrir les commandes de \LaTeX{} par l'intermédiaire de menus,
  boîtes de dialogue et autres onglets (voir la
  figure~\vref{fig-edi-kile} pour en avoir un aperçu) ;
\item \soft{\TeX nicCenter} est l'équivalent (aperçu à la
  figure~\ref{fig-edi-texniccenter}) sous la marque « à la fenêtre » ;
\item \soft{\TeX shop} et \soft{i\TeX{}max} sont les équivalents sous
  la marque « à la pomme »
\end{itemize}
\begin{figure}
  \centering
  \subfloat[Kile]{%
    \includegraphics[height=.37\textheight]{kile}%
    \label{fig-edi-kile}}\\
  \subfloat[\TeX nicCenter]{%
    \includegraphics[height=.42\textheight]{texniccenter}%
    \label{fig-edi-texniccenter}}
  \caption{Deux exemples d'environnement de développement intégré :
    Kile sous Linux et \TeX nicCenter sous Windows. Ils permettent de
    centraliser dans une même interface : édition, compilation \&
    visualisation.}
  \label{fig-edi}
\end{figure}

Vous apprendrez également bien assez vite que la production d'un
document avec \LaTeX{} consiste à traduire (on dit aussi
\emph{compiler }) un source ---~donc créé par un éditeur de texte~---
en un format destiné à l'affichage ou à l'impression\footnote{Ces
  formats sont présentés un peu plus loin dans ce chapitre.}. Il
existe donc, plus ou moins intégrés aux distributions, des outils
célèbres pour la visualisation des différents fichiers résultants de
la compilation :
\begin{description}
\item[Format DVI]: \soft{xdvi}, \soft{kdvi} sous Unix et \soft{yap}
  sous Windows font partie des programmes permettant de visualiser le
  résultat de la compilation d'un fichier \LaTeX{} ;
\item[Format Postscript]: la suite \soft{ghostscript} disponible sous
  des noms qui peuvent varier selon la plateforme, permet de
  visualiser des fichiers au format \postscript{} ;
\item[Format PDF]: mis à part le célèbre \soft{acrobat reader}, il
  existe sous Unix des utilitaires permettant de visualiser le format
  Pdf : \soft{xpdf}, \soft{evince}, ...
\end{description}
\begin{nota}
  Il faudra veiller à ce que la distribution choisie comprenne le
  module « fran\-çais » de \LaTeX{} assurant la césure
  (\anglais{hyphenation} en anglais) correcte des mots. On vérifiera
  les « logs » (voir \S~\vref{sec-err}) au moment de la compilation
  d'un document pour contrôler le chargement des motifs pour le
  français :
\begin{monverbatim}
  LaTeX2e <2005/12/01>
  Babel <v3.8h> and hyphenation patterns for english, [...]
  dumylang, ¢fbox«french», loaded.
\end{monverbatim}
\end{nota}


\section{Cycle de production}

Même si \LaTeX{} n'est pas à proprement parler un langage de
programmation compilé, on peut malgré tout faire une analogie entre le
cycle de production d'un document \LaTeX\ et le cycle
\emph{édition-compilation-exécution} d'un développement de logiciel
avec un langage de programmation classique.

\subsection{Édition}
\index{edition@édition} Un document \emph{source} \LaTeX{} est un
fichier texte\footnote{C'est-à-dire un fichier ne contenant que le
  code des caractères qui le composent.}.  Ainsi la manipulation d'un
fichier \LaTeX{} ne demande pas de logiciel particulier, si ce n'est
un éditeur de texte classique. Donc, pour manipuler un document
\LaTeX{} :
\begin{unixcom}
  emacs ¢marg«nom de fichier».tex &
\end{unixcom}
ou :
\begin{unixcom}
  vi ¢marg«nom de fichier».tex
\end{unixcom}
devrait suffire pour entrer dans ce monde sauvage et inconnu qu'est la
saisie d'un document \LaTeX. Sous Windows, on s'équipera d'un éditeur
de texte de son choix\footnote{Il existe une version d'\soft{Emacs}
  pour Micrologiciel Fenêtre, avis aux amateurs.}.  Notez qu'il est
recommandé de donner l'extension \texttt{.tex} aux sources \LaTeX{}.

\subsection{Compilation}
\index{compilation}
On lance la compilation  grâce à la commande :
\begin{unixcom}
  latex ¢marg«nom de fichier».tex
\end{unixcom}
La compilation génère un jour ou l'autre des erreurs. Il en sera
question à la section \vref{sec-err}. \index{fichier!\texttt{.dvi}} En
tout cas, après suppression des erreurs de compilation, on obtient un
fichier portant l'extension \dvi\ pour \emph{device independant}. Ce
qui signifie que le fichier contient des informations indépendantes du
périphérique de sortie (écran, imprimantes, ...).  Ce fichier de type
binaire contenant une « image » du document portable sur tout système
\TeX{} quel que soit le système d'exploitation. Il existe ensuite des
programmes permettant soit :
\begin{itemize}
\item de visualiser le document : \dvi\ $\rightarrow$ bitmap écran ;
\item de l'imprimer : \dvi\ $\rightarrow$ langage imprimante ;
\item de le convertir  : \dvi\ $\rightarrow$ fichier \postscript{}.
\end{itemize}\index{fichier!postscript}
\begin{figure}
  \begin{center}
    \includepsfraggraphics[width=.8\textwidth]{cycle}
  \end{center}
  \caption{Cycle de production sur machines \unixwi{}}
  \label{fig-prodcycl}
\end{figure}
La figure \vref{fig-prodcycl} illustre les divers programmes entrant
en jeu dans la production du document final sur une machine \unix.
\begin{note}
  Il est également possible de générer un document au format PDF. On
  pourra consulter l'annexe~\ref{chap-pdf} pour obtenir des
  informations à ce sujet.
\end{note}
\subsection{Visualisation}
\index{visualisation}
La visualisation s'effectue simplement ---~après compilation sans
erreur~--- grâce au programme \soft{xdvi} en tapant la commande :
\begin{unixcom}
  xdvi ¢marg«nom de fichier».dvi &
\end{unixcom}
il s'agit d'un logiciel tournant sous \soft{X Window}, très intuitif,
qui donne un aperçu très lisible du document. La distribution te\TeX{}
pour Windows propose un visualiseur nommé \soft{yap}\footnote{Pour «
  yet another previewer », soit « encore un visualiseur » (humour
  d'informaticien)...}.
\begin{nota}
  On notera qu'il n'est pas nécessaire de relancer \soft{xdvi} ou
  \soft{yap} après chaque compilation. Ils mettent en effet à jour
  l'affichage automatiquement.
\end{nota}

\subsection{Impression}
\index{impression}
Pour imprimer un document, on utilise le programme \soft{dvips} :
\begin{unixcom}
  dvips ¢marg«nom de fichier».dvi
\end{unixcom}
Il est aussi possible de générer un fichier \postscript{} en
redirigeant la sortie de \soft{dvips} :
\begin{unixcom}
  dvips ¢marg«nom de fichier».dvi -o ¢marg«nom de fichier».ps
\end{unixcom}
Le fichier \marg{nom de fichier}\verb+.ps+ est un fichier ASCII pur
contenant des commandes \postscript{}.
Par exemple si le fichier source est nommé \verb+truc.tex+, on écrira :
\begin{unixcom}
  latex truc.tex
  dvips truc.dvi -o bidule.ps
\end{unixcom}
pour compiler d'abord \verb+truc.tex+, puis pour produire
\verb+bidule.ps+ à partir de \verb+truc.dvi+.  Pour préparer un
fichier destiné à d'autres imprimantes, il faut spécifier en ligne de
commande : \index{imprimantes}
\begin{unixcom}
  dvips -P¢marg«config» ¢marg«nom de fichier».dvi
\end{unixcom}
où \marg{config} désigne une imprimante particulière ou une option
définie par l'administrateur du système \LaTeX{} que vous utilisez.
\begin{note}
  Le format \postscript{} défini par Adobe est un langage d'impression
  très répandu sur les systèmes \unix. De nombreux utilitaires autour
  du Postscript sont disponibles, voir par exemple les très bons
  \texttt{psutils} disponibles par exemple à
  \url{ftp://ftp.lip6.fr/pub/TeX/CTAN/support/psutils} ou toute autre
  bonne crèmerie CTAN\footnote{voir le chapitre~\vref{chap-avous} pour
    la signification de ce terme.} près de chez vous ou sous la forme
  d'un paquet Debian.
\end{note}

\section{Structure type d'un document source}
\index{fichier!source} Nous allons présenter dans cette section un
document type.  Tous les documents \LaTeX{} ont en effet une structure
commune, de la forme suivante :
\begin{ltxcode}
  \documentclass[ø\marg[1]{cOption},\marg[2]{cOption}ø,...)]{ø\marg{classe}ø}
  \usepackage[ø\marg[1]{pOption},\marg[2]{pOption}ø]{ø\marg{package}ø}
  ...
  ø\marg{préambule}ø
  ...
  \begin{document}
  ...
  ø\marg{le texte}ø
  ...
  \end{document}
\end{ltxcode}

Ainsi tout document \LaTeX\ peut se décomposer comme suit :
\begin{itemize}
\item spécification de la \marg{classe} du document ;
\item préambule : \index{preambule@préambule}
  \begin{itemize}
  \item utilisation de \marg{packages} particuliers ;  
  \item initialisations et déclarations diverses ;
  \end{itemize}
\item corps du document : tout ce qu'on saisira avec ses petits doigs
  entre \verb+\begin{document}+ et \verb+\end{document}+.
\end{itemize}
Voici quelques détails sur chacune de ces parties.


\subsection{Classe du document}

La classe est une indication donnée à \LaTeX\ qui va déterminer la
mise en page de certaines parties du document. Suivant la classe
utilisée, certaines commandes seront disponibles ou non
(\verb+\chapter+ disponible pour la classe \texttt{book} mais
indisponible pour la classe \texttt{article}, par exemple). D'autre
part, une commande donnée aura une signification spécifique selon la
classe choisie (titres, tables des matières,...). En première
approche\footnote{En réalité on peut insérer d'autres incantations
  magiques avant le \ltxcom{documentclass}...}, tout document \LaTeX\
commence donc nécessairement par l'instruction \ltxcom{documentclass}
avec entre accolades une classe de document qui peut-être :
\begin{itemize}
\item \ltxcls{article} pour un article ;
\item \ltxcls{proc} pour un article dans le style IEEE proceedings ;
\item \ltxcls{report} pour un rapport de plusieurs dizaines de pages ;
\item \ltxcls{book} pour un livre ou une thèse ;
\item \ltxcls{letter} pour une lettre ;
\item \ltxcls{slides} pour produire des transparents
\end{itemize}
On peut évidemment définir sa propre classe de document. Les options
de la classe sont précisées entre crochets et peuvent être parmi les
suivantes : 
\begin{itemize}\index{options!de classe}
\item \texttt{11pt,12pt} pour changer la taille des caractères de
  manière globale ;
% \item \texttt{twocolumn} pour générer un document en 2 colonnes ;
% \index{colonne double}
\item \texttt{twoside} pour générer un document en recto verso ;
\index{recto verso}
\index{mode!recto verso}
\item \texttt{draft} pour générer le document en mode brouillon ;
\index{mode!brouillon}
\item ...
\end{itemize}
On pourra donc par exemple, entrer : % 
\begin{ltxcode}
  \documentclass{article}
\end{ltxcode}
pour avoir toutes les options par défaut (10pt, une colonne, mode recto,...).
\begin{ltxcode}
  \documentclass[12pt]{article}
\end{ltxcode}
pour un article en 12pt (par défaut la taille est de 10pt), ou encore :
\begin{ltxcode}
  \documentclass[twoside,draft]{report}
\end{ltxcode}
pour un rapport en recto verso et mode brouillon.

\subsection{Le préambule}\index{preambule@préambule}
Le préambule est la zone située entre la clause \ltxcom{documentclass}
et la clause \verb+\begin{document}+. Cette zone est la zone où l'on
  peut spécifier les extensions que l'on veut inclure (voir le
  paragraphe suivant), l'initialisation de variables globales
  (marges,...), la définition de styles (titres, numérotation,...), ou
  de macros particulières.

\subsection{Ajout d'extension}
\index{extensions!inclusion} \index{inclusion!d'extensions} La
commande \ltxcom{usepackage} de \LaTeX\ pourrait être comparée à une
directive \verb+#include+ du langage~C.  Elle permet  de rajouter
des fonctionnalités à \LaTeX\ sous forme de macros et/ou
d'environnement\footnote{Ce terme est expliqué au chapitre suivant.}.
À ce stade, il faut juste noter que l'on peut inclure plusieurs
packages en une seule ligne :
\begin{ltxcode}
  \usepackage{ø\marg[1]{module}, \marg[2]{module}, \marg[3]{module},...ø}
\end{ltxcode}
Si \marg[1]{module}, \marg[2]{module} et \marg[3]{module} ont en commun une
option \texttt{opt1}, on peut entrer :
\begin{ltxcode}
  \usepackage[ø\marg{opt1}ø]{ø\marg[1]{module},\marg[2]{module}, \marg[3]{module}ø}
\end{ltxcode}
Par contre si l'option \marg{opt1} ne concerne que l'extension
\marg{module2}, il sera nécessaire d'entrer les deux lignes
suivantes : \index{extensions!options}
\begin{ltxcode}
  \usepackage{ø\marg[1]{module}, \marg[3]{module}ø}
  \usepackage[ø\marg{opt1}ø]{ø\marg[2]{module}ø}        
\end{ltxcode}
Voici deux exemples :
\begin{ltxcode}[flexiblecolumns=false]
  % package graphicx avec option draft et xdvi
  \usepackage[xdvi,draft]{graphicx}  
  % packages array et subfig
  \usepackage{array,subfig}          
\end{ltxcode}

\begin{nota}
  \index{argument!optionnel}%
  Toutes les options (de classe, de packages, ou de commandes) sont
  par définition des arguments \emph{optionnels}. On peut donc déjà
  retenir le fait que tout argument \LaTeX{} donné entre crochets
  \verb+[...]+ est un argument facultatif.
\end{nota}

\section{C'est parti !}
Nous allons tenter dans cette section, de présenter, à partir d'un
document ne contenant que quelques commandes de mise en page, les
principes de base de \LaTeX.
\begin{ltxexempleenv}
\begin{ltxexempleinput}
  \documentclass{article}
  \begin{document}
  Un outil qui vous tombe des        mains
  tombe    toujours   dans       l'endroit
  le plus inaccessible, ou sur le composant 
  le plus fragile.

  Cette loi est l'une des lois de
  \emph{Murphy}.
  \end{document}
\end{ltxexempleinput}
\setlength{\hauteurdutrait}{3.5cm}%
\dessinemoiletrait%
\begin{ltxexempleoutput}
  Un outil qui vous tombe des mains tombe toujours dans l'endroit le
  plus inaccessible, ou sur le composant le plus fragile.

  Cette loi est l'une des lois de \emph{Murphy}.
\end{ltxexempleoutput}
\end{ltxexempleenv}
Cet exemple illustre un certain nombre de principes parmi les plus importants
de \LaTeX, à savoir :
\begin{description}
\index{saut!de paragraphe}
\item[Ligne vierge $\equiv$ saut de paragraphe :] une ligne vierge
  indique à \LaTeX\ la fin d'un paragraphe.  Ainsi dans l'exemple
  précédent, le premier paragraphe commence à « \texttt{Un outil} » et
  finit avec « \texttt{fragile.} ». La commande \ltxcom{par} est
  équivalente à la ligne vierge et peut donc également être utilisée
  pour commencer ou finir un paragraphe.  \index{saut!de ligne}
\item[\LaTeX\ ignore les sauts de lignes :] ce ne sont pas les sauts
  de lignes dans le document source qui définissent les sauts
  de lignes dans le document final. \LaTeX{} \emph{coupe},
  \emph{indente} et \emph{justifie} automatiquement chaque paragraphe,
  sauf contre-ordre de votre part.
\index{espace!dans le source}
\item[\LaTeX\ ignore les espaces multiples :] taper un ou dix huit
  mille sept cent quatre vingt quatre espaces est équivalent, comme le
  montrent les espaces insérés avant \texttt{tombe} et avant
  \texttt{l'endroit}. Ceci est aussi vrai pour les sauts de
  paragraphes : entrer une ligne vierge ou plusieurs revient au même.
  \index{caractere@caractère!d'échappement}
\item[$\backslash$ est le caractère d'échappement :] il indique à
  \LaTeX\ que l'ensemble de  caractères qui suit est une séquence de contrôle,
  c'est-à-dire une commande (ou macro) dans le sens le plus général du
  terme. Ici, il s'agit de mettre en évidence le
  mot
  \texttt{Murphy}.
  Ceci est effectué grâce à la commande
  \ltxcom{emph}.
 \item[\{ et \}] sont des délimiteurs de \emph{groupe}, notions
   expliquées un peu plus bas.
\end{description}

\subsection{Quelques caractères sont spéciaux}
\label{sec-carspec}
\index{caractere@caractère!spéciaux}
Comme le suggère l'intervention du caractère \verb+\+,
il existe d'autres symboles ayant une signification spéciale
pour \LaTeX. Il s'agit des 10 caractères suivants :
\begin{verbatim}
  \ $ & % # ^_ { } ~
\end{verbatim}
%$
Voici un petit exemple, utilisant une partie de ces symboles :

\begin{ltxexemple}
  % paragraphe sans intérêt 
  \textbf{To be} a subscript : $x_{i+1}$, 
  or a superscript : $e^{i\pi}$ ? 
  that's  question~1 ! % or question 2 ?
\end{ltxexemple}
Pour l'instant, il faut donc savoir que :
\begin{itemize}
\index{commentaires}
\item \verb+%+ indique à \LaTeX{} d'ignorer le restant de la ligne. C'est donc
  le symbole du commentaire (équivalent au \verb+//+ du \cpp) ;
\index{\$}
\item \verb+$+ est le symbole de début et fin de formule. Lorsque
  \LaTeX{} rencontre un~\verb+$+ il commute en mode
  \voir[ch.]{chap-maths}{mathématique} jusqu'au symbole \verb+$+
  suivant ; \index{espace!insécable}
%$
\item \verb+~+ est l'espace insécable\footnote{Voir aussi, le
    paragraphe \vref{sec-cesure} sur le contrôle de la césure.}, il
  empêche \LaTeX{} de faire une césure à cet endroit particulier. Il
  existe un nombre important de situations où il est nécessaire
  d'insérer un caractère insécable (tout ce qui est du style :
  \verb+figure~4+).  Cependant, il n'existe pas de règles
  systématisant l'usage d'un tel caractère ; 
\item \verb+_+ et \verb+^+ permettent
  \index{indice}\index{exposant}respectivement de passer en indice et
  en exposant. \textbf{Attention,} ces symboles ne sont autorisés
  qu'en mode mathématique ;
\item \verb+{+ et \verb+}+ sont respectivement les caractères de début
  et fin de groupe. Deux types de groupement sont donnés à titre
  d'exemple : l'un, en mode ma\-thé\-ma\-ti\-que, pour grouper la «
  sous-formule » à mettre en indice ou en exposant ; l'autre pour
  grouper les mots à mettre en gras.
\end{itemize}

On peut produire une partie des caractères spéciaux dans le texte grâce
aux commandes suivantes :
\begin{monverbatim}
  \$ \& \% \# \{ \} \_
\end{monverbatim}
%$
qui donnent respectivement : \$ \& \% \# \{ \} \_.  La section
\vref{sec-verb} explique comment produire les autres caractères
spéciaux (\verb+\ ~ ^+).

\subsection{Appel des commandes}\index{commande!appel}
Vous avez compris que pour appeler une commande ou macro, il est
nécessaire d'insérer le caractère d'échappement ---~\anglais{escape char}
en anglais~--- et de le faire suivre par le nom de la macro que vous
voulez utiliser.  Mais comment fait \LaTeX{} pour repérer la fin du
nom de la macro ?  Prenons comme exemple la macro \ltxcom{TeX} qui
produit le logo \TeX.
\begin{ltxexemple}
  The \TeX book is for \TeX       hackers.

  \TeX\  has some powerful macros.

  \LaTeX{} is a document preparation system
\end{ltxexemple}
On peut résumer le mécanisme en deux règles. Il y a deux types
de caractères qui indiquent à \LaTeX{} la fin du nom de la macro :
\begin{itemize}
\item les espaces ; ils sont cependant ignorés dans la production du document ;
\item tout caractère autre que les caractères de la catégorie
  \emph{lettre}  (alphabet majuscule et minuscule).
\end{itemize}

\begin{nota}
  Le caractère \verb*+\ + (où \verb*+ + est le caractère espace) est
  appelé un espace de contrôle ; cet espace n'est jamais ignoré par
  \LaTeX.  C'est pourquoi : la séquence \verb*+et\ \ \ hop !+
  produira ; « et\ \ \ hop ! ».  En fait, il est bon de prendre
  l'habitude d'appeler les macros sous la forme
  \verb+\+\marg{fonction}\verb+{+\marg{arguments}\verb+}+ et donc
  d'utiliser la troisième forme de l'exemple précédent plutôt que la
  deuxième.%\verb+\+
  Cela évite de se poser le problème de l'espace ignoré%
  \footnote{Mais pourquoi il nous en parle, alors !?}. On écrira donc
  « the \TeX{}book » avec \verb+the \TeX{}book+  et « \LaTeX{} is a
  ...» avec  \verb+\LaTeX{} is a ...+
%   Plus simplement encore, on pourra charger le package
%   \ltxpack{xspace} qui permet d'utiliser indifféremment l'une ou
%   l'autre de ces formes, au moins pour les macros personnelles.
\end{nota}
% C'est ce que je pensais aussi jusqu'à un certain fil sur fctt
% (http://groups.google.fr/group/fr.comp.text.tex/browse_thread/thread/7cd5060f310effaf/6319540bfab248a9?lnk=gst&q=noirel+%5Coe&rnum=2&hl=fr#6319540bfab248a9).
% En fait, peut-être serait-il préférable de conseiller l'usage systématique du package xspace (http://tug.ctan.org/tex-archive/macros/latex/required/tools/xspace.pdf)

\subsection{Accents}\index{accents}

Les français ont souvent une appréhension à utiliser \LaTeX{} à cause
des accents. Pas d'affolement ! vous n'aurez pas à saisir les 
caractères accentués comme indiqué dans le tableau \vref{tab-accents}.
Il est quand même bon de noter qu'il est possible d'accentuer (et «
cédiller ») n'importe quel type de caractère, y compris les
majuscules.\index{accents!saisie}
\begin{table}[bth]
  \caption{Saisie des accents avec des caractères 7 bits}\label{tab-accents}
  \begin{center}
    \begin{tabular}[c]{|l|l|l|}
      \hline accent aigu  & \verb+\'z+   & \'z \\
      accent grave        & \verb+\`z+   & \`z \\
      accent circonflexe  & \verb+\^z+   & \^z \\
      cédille             & \verb+\c{z}+ & \c{z} \\
      tréma               & \verb+\"{z}+ & \"{z} \\
      \hline
    \end{tabular}
  \end{center}
\end{table}

Attention ! S'il est possible de saisir des documents avec des
caractères accentués il ne faut pas perdre de vue qu'il faut alors
faire appel à un encodage qui est pour l'instant local à une région du
globe. On utilise en France le codage Iso8859 avec l'extension latin1
qui permet de manipuler nos jolis accents. Avant de lire précisément
le chapitre dédié aux documents rédigés en
\voir[ch][2pt]{chap-docfrancais}{français}, nous vous suggérons de rajouter
dans votre préambule :
\begin{ltxcode}[columns=fixed]
 % codage du fichier source :
  \usepackage[latin1]{inputenc}
  % codage des fontes TeX :
  \usepackage[T1]{fontenc}
  % document en français :
  \usepackage[francais]{babel}
\end{ltxcode}
pour « attaquer » un document en français.

\section{Premiers outils}
Voici quelques macros et ligatures à connaître car souvent utilisées
dans un document. Tout d'abord, \LaTeX{} distingue trois types de
tirets : \index{tirets}
\begin{itemize}
\item \verb+-  + pour « Saint-Étienne » ;
\item \verb+-- + pour « page 12--24 » ;
\item \verb+---+ pour ouvrir une parenthèse ---~comme cela. 
\end{itemize}
Les guillemets doivent être entrés comme ceci :
\index{guillemets}
\begin{itemize}
\item \verb+``+ et \verb+''+ pour les textes en ``anglais'' ;
\item \verb|«| et \verb|»| si votre clavier le
  permet\footnote{\touche{Alt Gr} \touche{z} et \touche{Alt Gr}
    \touche{x} sur un clavier sous Linux, par
    exemple.}, pour les textes en français. La partie française
  du package \ltxpack{babel} (cf. chapitre\vref{chap-docfrancais})
  permet la saisie de caractères à l'aide des commandes~\ltxcom{og}
  et~\ltxcom{fg}, ainsi : \verb|\og français\fg{}|.
\end{itemize}

Voici pour finir quelques commandes utiles :
\begin{itemize}
\index{date du jour}
\item \ltxcom{today} produit la date du jour (de la compilation) : \today{} ;
\index{\S}
\item \ltxcom{S} donne le signe paragraphe : \S{} ;
\index{points de suspension}
\item \ltxcom{ldots} permet de saisir les points de suspension dans un
  document anglais\ldots{} Ils doivent être saisis avec trois points :
  \verb+...+ dans un document français (voir le
  chapitre~\ref{chap-docfrancais} pour quelques notions de typographie
  fran\-çai\-se)...
\end{itemize}
Enfin, souvenez-vous qu'en anglais, on ne saisit pas d'espace avant
les ponctuations doubles (: ; ! ?) ---~contrairement au français.
Rappelez-vous aussi que dans ce doux pays qu'est la France, on roule
surtout à droite.

\section{Premières erreurs}\label{sec-err}

\begin{note}
  Dans ce qui suit nous vous proposons d'examiner les états d'âme de
  \LaTeX{} pendant qu'il compile votre document. Lorsqu'on lance la
  compilation en ligne de commande, on voit directement cette sortie
  dans le terminal. De manière à utiliser \LaTeX{} de manière la plus
  enrichissante nous vous incitons à trouver dans votre propre
  environnement la manière d'examiner les « logs » de \LaTeX{}, qui
   vous indiqueront les messages d'erreurs et autres
  avertissements survenant lors de la compilation.
\end{note}
\index{erreurs!de compilation}
\subsection{Symptômes}
Si vous utilisez \LaTeX{} en interactif vous serez amenés un jour ou
l'autre à voir apparaître à l'écran, un message barbare de ce type :
\small
\begin{Verbatim}[numbers=left]
This is TeX, Version 3.1415 (C version 6.1)
(erreur.tex
LaTeX2e <1995/12/01>
(/usr/local/lib/texmf/tex/cls/article.cls
Document Class: article 1995/11/30 v1.3p Standard LaTeX document class
(/usr/local/lib/texmf/tex/clo/size10.clo)) (erreur.aux)
! Undefined control sequence.
l.5  paragraphe de ce \empha
                            {document}
?
\end{Verbatim}
\normalsize
Ce message qui vous semble sûrement incompréhensible, est le résultat
produit sur le terminal après avoir exécuté \LaTeX{} sur le document 
\verb+erreur.tex+ que voici :
\begin{verbatim}
 \documentclass{article}

 \begin{document}
 Il me semble bien qu'il y ait une erreur dans le 
 premier paragraphe de ce \empha{document} somme 
 toute assez court.
 \end{document}
\end{verbatim}

\subsection{Diagnostic}\index{erreurs!messages}
On peut donc expliquer de manière simple le message d'erreur :
\begin{description}
\item[ligne 1] vous utilisez \TeX{} version $\pi$ à $10^{-4}$ près ;
\item[ligne 2] vous compilez le fichier \verb+erreur.tex+ ;
\item[ligne 3] vous utilisez \LaTeXe{} version de décembre 95 ;
\item[ligne 4--5] vous utilisez la classe de document standard \verb+article+ ;
\item[ligne 6] par défaut, la taille 10pt est utilisée ;
\item[ligne 7] le message d'erreur proprement dit ;
\item[ligne 8--9] la ligne où s'est produite l'erreur ainsi que son
  numéro dans le document source \verb+erreur.tex+ ;
\item[ligne 10] le prompt \verb+?+ particulièrement angoissant de \TeX
\end{description}
La « coupure » formée par les lignes 8 et 9, indique précisément
l'endroit où \LaTeX{} a perdu les pédales. Le message :
\begin{ltxcode}
  ! Undefined control sequence.
\end{ltxcode}
vous indique que la commande que vous avez entrée n'est pas connue par
\LaTeX{}. Et effectivement, la commande \verb+\empha+ n'existe pas.


\subsection{Soins}\index{erreurs!corrections}
Mais que répondre
à \LaTeX{}, lorsqu'il nous affiche son fameux
prompt « \verb+?+ » ? Voici, trois solutions, les plus couramment
utilisées pour communiquer un peu avec \LaTeX{} :
\begin{itemize}
\item appuyer sur \verb+<Entrée>+ pour ignorer l'erreur ;
\item taper \verb+x+ permet de quitter la compilation ;
\item taper \verb+r+ pour demander à \LaTeX{} de continuer en
  ignorant tous les autres messages d'erreur ;
\item taper \verb+i+ pour insérer une correction et continuer la
  compilation. Sachant que cette correction ne sera pas insérée dans
  le document source ;
\item taper \verb+h+ pour demander un peu plus d'information quant à
  l'erreur ; voici ce que vous dit \TeX{} concernant le message 
  \verb+Undefined control sequence+ : \small
\begin{verbatim}
  The control sequence at the end of the top line
  of your error message was never \def'ed. If you have
  misspelled it (e.g., `\hobx'), type `I' and the
  correct spelling (e.g., `I\hbox'). Otherwise just
  continue, and I'll forget about whatever was 
  undefined.
\end{verbatim}
\normalsize
\end{itemize}

\subsection{Une collection de message}
\TeX{} et \LaTeX{} disposent d'un nombre important de messages
d'erreur qui correspondent à diverses situations. Ces messages ne
sont pas toujours compréhensibles au premier abord. Cependant
on peut dire que la plupart des erreurs viennent le plus souvent :
\begin{itemize}
\item d'une erreur de syntaxe sur les mots réservés de \LaTeX{} ;
\item de paires d'accolades mal construites ;
\item d'une commande mathématique utilisée en mode texte ;
\item d'un mode mathématique non refermé ;
\item d'un package que vous avez oublié d'inclure ;
\item d'une fin de journée difficile ; 
\item ...
\end{itemize}


\section*{Y a plus qu'à !}

Vous avez maintenant compris comment on pouvait créer un document
imprimable à partir d'un source \LaTeX{}. Ce chapitre vous a également
permis de comprendre le principe de l'appel des commandes.  Il ne vous
reste qu'à entamer le chapitre suivant pour si vous voulez connaître les différentes
fonctionnalités que vous propose le langage \LaTeX{}.






%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../framabook"
%%% End: 
