Previous Contents Next

Chapter 1   Présentation

Le logiciel TeX est un formateur de texte et non un traitement de texte. De plus il n'est pas WYSIWYG, ce qui peut rebuter plus d'un utilisateur venant des traitements de texte inclus dans les suites bureautique. Il est surtout adapté à la rédaction de document scientifique car sa gestion des mathématiques n'a aucun égal.

1.1   Quelle est l'histoire de (La)TeX ?

Le logiciel TeX (1978) est le formateur de texte de D. E. Knuth. A l'origine, Knuth a développé TeX (en WEB cf. paragraphe ??) notamment pour réaliser de beaux documents et écrire des formules mathématiques.

LATEX, écrit par L. Lamport (1982), est un jeu de macros au-dessus de TeX, plus facile à utiliser que ce dernier. Il propose notamment différents styles de document auxquels correspondent des classes de document et une grande diversité de macros qui répondent à divers besoins des auteurs. LATEX a été conçu pour rédiger des articles, des rapports, des thèses ou des livres ou pour préparer des transparents. On peut insérer dans le texte, des dessins, des tableaux, des formules mathématiques et des images sans avoir à se soucier (ou presque) de leur mise en page. Les documents produits avec LATEX et TeX sont d'une excellente qualité typographique.

Plain TeX écrit également par D. E. Knuth, était le premier jeu (minimal) de macros par dessus TeX. De même Eplain, de K. Berry, est un jeu de macros intermédiaire entre TeX et LATEX.

Suite à une large diffusion de LATEX beaucoup d'extensions ont été créées par différents utilisateurs. Grâce à Murphy, ces extensions ont introduit un certain nombre d'incompatibilités et ont porté atteinte à la portabilité de LATEX. C'est de cette situation qu'est né le projet de normalisation LATEX3, sous la direction des gurus LATEX : L. Lamport, F. Mittelbach, C.

Rowley, R. Schopf et tant d'autres... Pour plus de détails, consulter : http://www.latex-project.org/

Toutefois, pour ne pas perturber les actuels utilisateurs de LATEX, la version provisoire normalisée s'appelle LATEX 2e (1994) et elle est compatible (dans la mesure du possible) avec les anciens standards. Ainsi tous les documents écrits pour LATEX2.09 peuvent être compilés sous LATEX 2e en mode ``LATEX2.09 compatibility mode''.

Remarque :
cette compatibilité sera amenée à disparaître au fur et à mesure des évolutions vers LATEX3.
Les membres du projet LATEX3 travaillent actuellement sur le futur LATEX3. Autrement dit, LATEX 2e ne devrait plus beaucoup évoluer.

Il existe aussi omega, une extension 16 bits de TeX qui utilise unicode comme représentation interne et autorise ainsi la composition de textes multi-lingues dans les langues telles que l'arabe, le chinois ou les langues du continent indien. Pour plus de renseignements, vous pouvez consulter : les cahiers GUTenbeg, TUGboat, ftp://ftp.ens.fr/pub/tex/yannis/omega-babel/, ...

Signalons également NTS, un projet à très long terme qui vise d'abord à enrichir TeX mais qui à terme, n'en gardera que les concepts.

1.2   Quels sont les principes de base de TeX ?

Le principe de base de TeX est la boîte ! TeX met tout dans des boîtes et l'assemblage de ces boîtes suivant des règles données permet de mettre en page des documents.

A l'origine, TeX a été conçu aussi bien pour créer des documents d'une page de texte, que des documents de plusieurs centaines de pages contenant des formules mathématiques, des tableaux, des figures, etc. TeX travaille donc comme un imprimeur sans subir les contraintes mécaniques inhérentes aux outils de ce dernier.

Sa précision est sans limite puisque son unité de base est le point et que les calculs qu'il suscite sont effectués par les ordinateurs.

Un des avantages de TeX est qu'il possède une vision globale des choses. TeX ne se place pas uniquement au niveau du caractère que l'auteur frappe mais aussi au niveau du mot, de la ligne, du paragraphe, de la page ou du document dans son entier pour évaluer ses critères de beauté. La dimension esthétique du document est ainsi prise en compte et gérée de manière à ce qu'elle soit maximale.

Les critères de beauté utilisés dépendent le plus souvent des règles typographiques attachées à la langue ou au langage employé (mathématiques par exemple), mais il peut également, à tout moment, prendre en compte les goûts de l'auteur. TeX gère ainsi la ponctuation, les ligatures, les coupures de mots et les justifications verticales et horizontales.

Un autre avantage de TeX est la facilité avec laquelle il donne accès à toutes ces possibilités de composition. En mathématiques par exemple, il offre une quantité incroyable de symboles et connaît leurs conventions de mise en page (taille, fonte, espacement, etc).

Un dernier avantage couvre tous les problèmes de numérotation des paragraphes, de tables des matières, des figures, de références croisées, de bibliographie, d'index, etc, etc. Toutes ces aides de lecture sont gérées automatiquement par TeX. L'auteur a peu à s'en soucier, il n'a qu'à les déclarer.

En conclusion, vous n'avez qu'à penser au contenu de votre document, TeX se charge du reste.

1.3   Quels sont les principes de base de LATEX ?

LATEX peut être considéré comme un langage de programmation évolué dans le sens où il s'appuie sur TeX qui est un langage de plus bas niveau. Langage de programmation signifie également que le document que l'on veut créer doit être décrit dans un fichier source (.tex) puis doit être compilé. Ainsi, le compilateur LATEX prend en entrée un fichier source écrit en LATEX et produit en sortie un fichier .dvi (device independent). Ce fichier peut ensuite être converti en fichier postscript avant d'être imprimé. Les fichiers dvi et postscript peuvent être visualisés à l'écran à l'aide de (pre)viewers.

L'intérêt du format dvi est qu'il permet à TeX et LATEX d'être indépendants du matériel qui sera utilisé pour la visualisation ou l'impression finale du document.

Le fichier source (fichier.tex) doit comprendre un certain nombre de commandes (balises) LATEX qui vont permettre au compilateur LATEX de construire un fichier ``device independent'' (.dvi). La plupart des commandes LATEX se caractérisent par le fait qu'elles commencent par un ``backslash'', que leurs arguments obligatoires apparaissent entre accolades ({ et }) et que leurs arguments optionnels apparaissent entre crochets ([ et ]). La structure minimale d'un rapport est en LATEX 2e est la suivante :

Exemple :
 
\documentclass{classe} 
\begin{document} 
   Votre texte... 
\end{document} 
%%%% fin exemple %%%%
Remarque :
Le passage de LATEX2.09 à LATEX 2e se traduit dans l'en-tête des documents par :
\documentclass[options]{class} 
\usepackage{style} 
\usepackage{package}
au lieu de :

\documentstyle[options,styles,packages]{class}
ATTENTION
toutefois, certains styles LATEX2.09 ne seront pas reconnus par LATEX 2e.
Les commandes LATEX décrivent ainsi la classe d'un document, sa structure, etc. Les principales classes de document disponibles sont : 'article', 'report', 'book', 'letter' et 'slides'. Il existe également un certain nombre d'options qui permettent de modifier le style par défaut d'une classe (le format a4, la taille de la fonte 12pt, etc). Ces classes et options permettent de disposer d'une structure de base pour un document, mais libre à vous ensuite de définir vos propres structures grâce aux styles offerts, aux packages disponibles notamment sur les sites CTAN (cf. paragraphe ??) et/ou à vos propres macros TeX et LATEX.

L'intérieur d'un document de classe 'article', 'report' ou 'book' est ensuite structuré grâce aux balises disponibles de type : \part{}, \chapter{}, \(sub)*section{}, etc. Les lettres et les transparents font appel à d'autres structures particulières (cf. chapitres ?? et ??).

Les informations présentées dans ces structures peuvent être mises sous différentes formes grâce à des environnements tels que tabular ou itemize.

Exemple
:
\documentclass[12pt]{report} 
\usepackage{french} 
\title{Mon premier document {\LaTeX} \\ 
        Qu'il est beau ! !} 
\author{C'est moi l'auteur.} 
 

\begin{document} 
 

\maketitle 
\tableofcontents 
 

\part{Une partie.} 
        
\chapter{Un chapitre.} 
        Texte... 
           
\section{Une section.} 
              Texte... 
           
\section{Une autre section.} 
              Texte... 
              
\subsubsection{Avec une sous-section.} 
                 Texte... 
              
\subsubsection{Plus une autre.} 
                  
\begin{table}[htbp] 
                  
\begin{center} 
                       
\begin{tabular}{|c||c|} 
                          
\hline 
                          donn
\'ees & donn\'ees \\ 
                          
\hline 
                       
\end{tabular} 
                       
\caption{Titre table. \label{table-}} 
                    
\end{center} 
                 
\end{table} 
\part{Une courte deuxi\`eme partie.} 
Texte... 
\appendix 
\chapter{Et une annexe pour finir.} 
Texte... 
\begin{itemize} 
   
\item bla bla 1 
   
\item bla bla 2 
\end{itemize} 
\end{document} 
%%%% fin exemple %%%%

1.4   Qu'est ce que le préambule du fichier source ?

Les appels à des packages ainsi que les définitions de nouvelles commandes sont placés dans le préambule du document LATEX (i.e. entre les balises \documentstyle (LATEX2.09) ou \documentclass (LATEX 2e) et la commande \begin{document}).

1.5   Comment faire ses premiers pas ?

En plus de la présentation faite ci-dessus quelques notions supplémentaires sont utiles à la compréhension de LATEX. Celles-ci concernent essentiellement la saisie d'un texte.

Lors que l'on désire travailler dans une langue comportant des caractères accentués LATEX propose des saisies un peu barbares surtout aux yeux des débutants (\'{e} pour é par exemple) mais qui permettent de conserver la portabilité du document ainsi saisi sur tous systèmes (caractères codés sur 7 bits). En revanche l'utilisation de fontes contenant des caractères accentués (codées sur 8 bits) réduit cette portabilité (pour plus de détails lire les questions ?? et ??).

Autre remarque importante du point de vue de la gestion des espaces et des retours chariot inclus dans le fichier source (.tex) d'un document. LATEX gère tout seul les espaces : il est inutile de taper plusieurs espaces de suite entre deux mots, ils seront transformés en un seul dans le fichier .dvi.

En outre, UN retour chariot est considéré comme un espace, sauf s'il est suivi d'un deuxième, il marque alors la fin d'un paragraphe et le prochain sera indenté. On peut alors sauter autant de lignes que l'on veut dans le texte, cela n'a aucun effet supplémentaire. Un passage à la ligne peut être forcé par \\ ou par \newline mais dans ce cas, la première ligne du nouveau paragraphe ne sera pas indentée. \\* empêche un saut de page après le saut de ligne demandé. La commande \par permet de commencer un nouveau paragraphe en laissant un espace vertical plus important et en indentant.

Remarque :
la commande \\[lgr]{} peut prendre comme paramètre une longueur lgr pour augmenter localement un interligne.
En LATEX, tout ce qui suit un % n'est pas lu, jusqu'au prochain retour chariot. (Au passage le caractère % peut alors être obtenu par \%.)

1.6   Comment sont gérées les options de package ?

Quand on utilise plusieurs packages :

\usepackage{package1,package2}
et que l'on veut utiliser une option du package1 qui n'existe pas pour le package2, on peut écrire :

\usepackage[option1]{package1} 
\usepackage{pckge2}
Cela évite un message du type ``unknown option1 for pckge2'' qui peut apparaître quand on écrit

\usepackage[option1]{package1,package2}
On peut également écrire :

\documentclass[option1,gnagna]{article} 
\usepackage{pckge1,pckge2}
qui permet de conserver l'ordre de chargement des packages mais pas celui dans lequel seront exécutées les options par tel package. Les options de classe sont globales et descendent à toutes les extensions chargées si elles sont définies pour ces extensions (certaines options sont par nature globales comme draft, final, french, a4paper, dvips...).

1.7   Quelle est la structure d'une page LATEX ?

La commande \layout du package 'layout' permet de visualiser la structure d'une page et ses différents paramètres. Globalement elle est composée du corps du texte, d'une entête et d'un pied de page. Des marges sont également définies de chaque côté du corps du texte.

Exemple
:
\documentclass{report} 
\usepackage{layout} 
\begin{document} 
\layout 
\end{document} 
%%%% fin exemple %%%%
A chaque classe de documents sont associées différentes valeurs aux paramètres de mise en page. L'utilisateur peut également redéfinir ces valeurs de paramètres. Cela lui permet de gérer sa propre mise en page. Cette FAQ donne un certain nombre de moyens dans ce but.

Pour les documents devant être imprimés en recto-verso, \oddsidemargin définit la marge gauche des pages impaires (recto), et \evensidemargin la marge gauche des pages paires (verso). Pour les documents simple face, la commande \oddsidemargin suffit.

Les principaux paramètres d'une page sont les suivants :

1.8   Quelles sont les commandes de compilation LATEX ?

A partir d'un fichier source fichier.tex, pour générer un fichier fichier.dvi, il faut appliquer :

latex fichier.tex
Lorsqu'une compilation échoue sur une erreur, la ligne où est située l'erreur est indiquée. L'emplacement de l'erreur dans la ligne est précisé par un retour à la ligne. Une explication succincte de l'erreur est également fournie.

Lorsque la compilation se termine normalement, elle produit un fichier fichier.dvi qui peut être visualisé par un utilitaire tel que :

(UNIX) xdvi fichier.dvi
A partir d'un fichier fichier.dvi, pour générer un fichier postscript, il faut utiliser un utilitaire tel que :

(UNIX) dvips fichier.dvi
Le fichier fichier.ps alors généré peut être imprimé. Par exemple :

(UNIX) lpr -Pimprimante fichier.ps

1.9   Quels sont les fichiers utilisés par LATEX ?

Il en existe différentes sortes :

1.10   A quoi correspondent les messages Overfull ?

Lorsque LATEX n'arrive pas à satisfaire tous ses critères de beauté, il peut avoir à en violer un. Cette entorse est alors indiquée par un message de type :

Overfull \hbox (4.02349pt too wide) in paragraph at 
lines 95-98
qui précise le type de dépassement, sa valeur et sa localisation.




Previous Contents Next