UGA Introduction LaTeX 2017/8

1  Introduction

LATEX est le format standard utilisé dans le monde de l’édition mathématique. Il existe des distributions libres de LATEX pour toutes les plateformes (voir les références).

Un document au format LATEX est un texte (au format ASCII) contenant des commandes de formatage. Ces commandes servent à structurer le texte (chapitres, sections, etc.) en laissant au compilateur le soin de rendre cette structure au mieux en fonction du format de sortie (texte imprimé, fichier PDF, sortie HTML pour mettre sur un site Web). Elles gèrent aussi l’affichage des symboles mathématiques, la numérotation des chapitres (chapter), sections, sous-sections (section, subsection), les réfèrences (on place un repère nom avec label puis on se réfère à nom avec ref ou pageref)

 
\label{toto} puis \ref{toto} ou \pageref{toto}

ou permettent de créer automatiquement la table des matières (\ -.05truein tableofcontents). Une fois saisi, le texte source LATEX doit être compilé (parfois deux fois de suite pour mettre à jour les références et la table des matières). Le compilateur ne tient pas compte de la mise en page du texte source, le nombre d’espace entre deux mots est ignoré de même que le passage à la ligne. Seuls les sauts de lignes sont interprétés comme signalant un début de paragraphe.

La syntaxe d’une commande de formatage LATEX est :

\command[option]{argument} 

Il existe dix caractères réservés qui ne sont donc pas imprimés tels quels :
$ & % # _ { } \

Pour les imprimer, il faut taper :

\$ \& \% \# \_ \{ \} \circonflexe \tild \symbol{92}

Le passage à la ligne (changement de paragraphe) se fait en insérant une ligne vide, la ligne suivante est alors indentée1

Un espace est crée avec \ -.07truein .

2  Édition, compilation, prévisualisation et impression.

2.1  Choix de l’éditeur, saisie d’un premier document.

Pour éditer votre texte en LATEX, vous devez utiliser un éditeur comme pour taper le code source d’un programme. Vous pouvez utiliser n’importe quel éditeur si vous en connaissez déjà un, comme par exemple emacs (un éditeur de fichiers sources C/C++, Java, Python, LaTeX, ... très puissant mais qui nécessite un apprentissage...). Sinon, vous pouvez apprendre TexMaker qui est un environnement facilitant beaucoup l’apprentissage de LaTeX avec des raccourcis clavier compatibles Windows et des assistants et barres d’icones pour saisir les symboles mathématiques,

2.1.1  TexMaker

Recherchez Texmaker dans les programmes (menu Bureau, pour l’installer sur votre ordinateur, voir les liens en fin de document) ou ouvrez un terminal (menu Accessoires) et tapez la commande texmaker &
(Si vous avez oublié le &, tapez Ctrl-Z puis bg). Cliquez sur Nouveau puis sur Assistant dans la barre d’icones, sélectionnez utf8x au lieu de latin1 comme encodage. Ajouter ensuite la partie du texte ci-dessous entre \begin{document} et \end{document}.

2.1.2  Editeur classique.

Téléchargez le document
www-fourier.ujf-grenoble.fr/~parisse/info/essai.tex
Ouvrez un terminal, puis éditez le document dans le terminal, par exemple avec Emacs  :
emacs essai.tex &
(Si vous avez oublié le &, tapez Ctrl-Z puis bg). Vous pouvez aussi créer un nouveau document à partir d’un fichier vide et taper les lignes suivantes (sans les commentaires qui commencent par %).

\documentclass[a4paper,11pt]{article}  % 11 ou 12pt, article ou report ou book 
\usepackage[utf8]{inputenc}            % caractères accentués en UTF8
\usepackage[T1]{fontenc}               % idem
\usepackage[francais]{babel}           % français (chapter -> chapitre...)
\usepackage{graphicx}                  % graphiques
\usepackage{amsmath,amsfonts,amssymb}  % symboles AMS
\newcommand{\N}{{\mathbb{N}}}          % définit la commande \N
\title{Un essai\\Stage latex M1} % définit le titre (ici sur 2 lignes)
\author{Mon Nom}                       % indiquez votre nom

\begin{document}                       % début du document

\maketitle                             % écrit le titre (cf. \title et \author)

\section{Calcul de $ A^P \pmod{N}$}    % un paragraphe
Soit $A \in \N$ un entier, ...         % on utilise la commande \N

\subsection{Traduction Algorithmique}  % un sous paragraphe
\label{sec:tradu}                      % définit un label
L'algorithme de la puissance rapide se compose de plusieurs parties
\begin{enumerate}
\item On commence par ...
\item Ensuite ...
\end{enumerate}

\subsection{Le programme en $C^{++}$}  % un autre sous paragraphe
On a vu (section \ref{sec:tradu}) ...  % une référence au label

\newpage                               % nouvelle page 
\tableofcontents                       % table des matières

\end{document}                         % fin du document 

2.2  La compilation et la prévisualisation

Pour traduire les différentes commandes de votre texte, il faut le compiler.

2.2.1  Texmaker

Vous devez d’abord sauver votre texte, à la souris, icone disquette ou menu Fichier -> Enregistrer ou au clavier Ctrl-S. Cliquez ensuite sur l’icone à gauche de Compilation rapide dans la barre d’icones (vous pouvez sélectionner un autre format de rendu: par exemple le format Latex et le rendu DVI, ce dernier se met à jour automatiquement). S’il y a des erreurs, elles apparaissent numérotées en-dessous, en cliquant sur le numéro, on positionne le curseur dans le texte source à l’endroit de l’erreur.

2.2.2  Éditeur classique.

Vous devez d’abord sauver votre texte, par exemple avec emacs à la souris, icone disquette ou menu Files -> Save current buffer ou au clavier en tapant (Ctrl-X Ctrl-S sous emacs). Puis compilez en tapant dans la fenêtre de commandes (Konsole ou xterm) :
latex essai
Dans emacs, vous pouvez aussi utiliser le menu Tex-> Tex file.

La compilation se fait avec traduction en un fichier essai.dvi ou, avec un arrêt à la première erreur rencontrée. Lorsque une erreur est détectée depuis emacs, un message apparait indiquant, la nature de l’erreur et la ligne où elle se situe.

Tapez sur la touche Entree pour continuer ou tapez x puis Entree pour interrompre la compilation. Corrigez votre erreur dans l’éditeur et recompilez. Si vous avez compilé avec le menu Tex->Tex file d’emacs, vous pouvez consulter le fichier essai.log pour déterminer les erreurs à corriger.

Pour visualiser votre texte avant l’impression, utilisez le menu Tex->Tex view dans emacs ou tapez dans la fenêtre de commandes :
xdvi essai &

Si la page de visualisation n’est pas mise à jour lorsque vous compilez à nouveau, vous devez quitter xdvi en tapant sur la touche q et le relancer comme ci-dessus.

2.3  L’impression

Pour imprimer (attention ne le faites pas maintenant!), vous cliquerez dans TexMaker sur l’icone d’imprimante ou vous taperez dans le fenêtre de commandes :
dvips essai

2.4  Créer des fichiers PDF et HTML à partir d’un source LATEX

Si vous utilisez la commande pdflatex à la place de la commande latex, le compilateur génére un fichier .pdf au format PDF (que l’on peut lire avec Acrobrat Reader ou sous Unix avec gv ou evince). On peut aussi convertir un fichier DVI en fichier PDF par la commande dvipdf.

Pour obtenir une sortie HTML, utilisez la commande hevea ou latex2html (disponible sur certains systèmes seulement).

3  Les environnements LATEX

Dans TexMaker, les commandes correspondantes se trouvent dans le menu LaTeX.

C’est une partie du document délimitée par:
\begin{type d'environnement}...\end{type d'environnement}
Voici quelques environnements souvent utilisés :

4  L’environnement mathématique

Dans TexMaker, les commandes correspondantes se trouvent dans le menu Maths.

4.1  Le mode mathématique

Dans le corps d’un texte, les formules mathématiques sont délimitées par un dollar, alors que les formules devant apparaître sur une ligne séparée sont délimitées par deux dollars. On tape par exemple :

 Considérons les équations $x+y=0$ et $x-y=2$.

et on obtient :

Considérons les équations x+y=0 et xy=2

alors que si on tape :

 Considérons les équations \[x+y=0 \ \mbox{et} \ x-y=2\]

on obtient (la commande \ -.05truein mbox permet d’écrire du texte dans une formule) :

Considérons les équations

x+y=0  et  xy=2

On peut aussi obtenir une équation numérotée avec l’environnement equation :

\begin{equation} \label{eq:def_x}
x = \sqrt{y+z}
\end{equation}

ce qui donne :

   x = 
y+z
    (1)

4.2  Les fractions

Une fraction s’obtient avec la commande \ -.05truein frac (\ -.05truein overline surligne)

\[\frac{x}{2y}=0.4\overline{230769}\]

donne :

x
2y
=0.4
230769

4.3  Les indices, les exposants et les flèches de vecteurs

Les indices s’obtiennent avec le caractère _ , les exposants avec le caractère et les flèches de vecteurs avec la commande \ -.05truein overrightarrow

Exemple :

\[x_1={(a^2+b^2)}^\frac{ 1 }{2}\]
\[\overrightarrow{OA_{1,i}}=x^{2t}\cdot \overrightarrow{OB_i}\]

donne :

x1=(a2+b2)
 1 
2
 

OA1,i
 
=x2t· 

OBi
 

4.3.1  Les racines

Une racine s’obtient avec la commande :

\[\sqrt{x^2+1}\]
\[\sqrt[3]{x^2+1}\]

donne :

x2+1
x2+1

4.3.2  Les limites

Une limite s’obtient avec la commande : \ -.05truein lim { ...}

Pour écrire les fonctions mathématiques on les fait précéder de \ . On tape :

 
\[\lim_{x \rightarrow +\infty} \ln (x) = +\infty\]

pour obtenir :

 
lim
x → +∞
 ln(x) = +∞

4.4  Les matrices

\[\left(\begin{array}{ccc}
 2 & 3 & 4\\ x & x^2 & x^3\\ 5 & 6 & 7
\end{array}\right)\]

donne




 234
xx2x3
567



4.5  Les intégrales et les séries

\[\int_a^b f(t) \; dt\]

donne

b


a
 f(t)  dt 


$\sum_{i=0}^{+\infty} \frac{1}{i^2}$ et \[\sum_{i=0}^{+\infty} \frac{1}{i^2}\]

donne : ∑i=0+∞ 1/i2 et

+∞
i=0
 
1
i2
 

4.6  Les derivées

On utilise la commande \ -.05truein prime ou

\[ f'(x)=(\exp(2x))^\prime=2\exp(2x)\]

donne

 f′(x)=(exp(2x))=2exp(2x)

Pour la dérivée seconde, utiliser f'{'}. Pour les derivées partielles on utilise \ -.05truein partial :

\[ \frac{\partial f(x,y)}{\partial x}=2\exp(2x)\]

donne

 
∂ f(x,y)
∂ x
=2exp(2x)

5  Énoncés

Pour mettre en valeur théorèmes, propositions, lemmes et autres corollaires, on crée des environnements avec la commande newtheorem. Ces environnements peuvent partager le même compteur ou avoir des compteurs séparés. On saisit au début du document :

\newtheorem{thm}{Théorème}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{defn}{D\'efinition}

Ici, thm et prop partagent le même compteur, mais pas defn.

Puis pour créer un énoncé, on tape
\begin{thm}
\'Enonc\'e du th\'eor\`eme
\end{thm}
et on obtient

Théorème 1   Énoncé du théorème

6  Références et citations

On crée explicitement une référence avec la commande \label{} et un nom de label entre les accolades. La référence correspond au numéro de section, sauf si on se trouve dans une environnement d’équation numérotée. On y fait ensuite référence avec la commande \ref{} (et \pageref{} pour indiquer la page).

Certaines commandes, comme \tableofcontents utilisent des références crées implicitement (numéro de section).

Les citations d’oeuvre sont en général gérées par un programme externe, bibtex à partir d’un fichier de base de données bibliographiques. On utilise les commandes (menu LaTeX dans Texmaker)

Exemple, on crée un fichier mabiblio.bib contenant (dans Texmaker, utilisez le menu Bibliographie pour aider la saisie) :

@ book {Leborgne,
  AUTHOR="D. Leborgne",
  TITLE="{Calcul diff\'erentiel et g\'eom\'etrie}",
  PUBLISHER="PUF",
  YEAR="1982" }

puis on ajoute dans le source latex une fois \bibliiography{mabiblio.bib} et \bibliographystyle{abbrv}, et \cite{Leborgne} autant de fois que nécessaire. Sauvegarder le fichier mabiblio.bib.

Depuis texmaker, revenir au fichier tex, puis avant-dernier menu de la barre d’outil, faire une compilation latex ou pdflatex, puis sélectionner bibtex comme compilateur, compiler, puis sélectionner à nouveau latex ou pdflatex et compiler 2 fois. En ligne de commande, taper
latex essai
bibtex essai
latex essai
latex essai

7  Espaces, ponctuation, césure.

La philosophie de LATEX est de laisser le compilateur gérer les espaces, cependant il peut se produire qu’il soit nécessaire d’en ajouter. Les commandes \, \ \quad \qquad permettent d’ajouter un espacement horizontal de taille de plus en plus grande. On peut aussi utiliser \hspace{0.3cm} où l’argument est une longueur (avec une unité) pour un espacement horizontal, \vspace{0.2cm} pour un espacement vertical.

L’espacement en début de paragraphe peut être omis par la commande \noindent.

La commande \\ force un saut de ligne, la commande \pagebreak force un saut de page.

Les règles de ponctuation en français imposent de mettre toujours un espace après le signe de ponctuation, et d’en mettre un avant si le signe de ponctuation possède deux composantes connexes. Dans ce cas on utilise un espace insécable ~ pour éviter que le signe de ponctuation se trouve tout seul sur une ligne.

En principe, LATEX sait où couper dans un mot pour passer à la ligne, mais il peut être nécessaire de l’aider, en particulier si le mot contient des accents, on ajoute alors des \- pour séparer les syllabes du mot.

8  Insérer un graphique

On peut insérer une image au format EPS (encapsulated postscript) dans un source LATEX de la manière suivante :

\includegraphics[width=\textwidth]{image}

image désigne le nom du fichier image.eps. On peut aussi indiquer une largeur en centimètres après width=. La commande Unix convert permet de convertir une image d’un autre format vers le format Encapsulated Postscript, par exemple

convert image.png image.eps

Il faut avoir déclaré en tête (avant \begin{document}) du fichier source :

\usepackage{graphicx}

9  Créer des transparents.

Pour créer des transparents, on utilise fréquemment la classe de document beamer. Cf. par exemple le tutoriel sur
http://www.tuteurs.ens.fr/logiciels/latex/beamer.html.

10  Interaction avec des logiciels de calcul.

De nombreux logiciels de calcul scientifique permettent d’interagir avec LATEX, on donne deux exemples dans cette section.

10.1  giac/xcas

Depuis Xcas, vous pouvez copier dans le presse-papier la traduction LATEX d’une expression ou sous-expression en la sélectionnant et en utilisant le raccourci Ctrl-T. On peut aussi générer facilement un graphique insérable dans un fichier LATEX(menu M à droite du graphique, puis Exporter).

Vous pouvez compiler avec hevea un fichier source LATEX contenant des commandes de calcul en un document HTML5 interactif permettant au lecteur de modifier et/ou exécuter les commandes de calcul depuis le navigateur avec lequel il consulte le document, pour plus de détails, cf.
http://www-fourier.ujf-grenoble.fr/~parisse/giac/test_fr.tex
http://www-fourier.ujf-grenoble.fr/~parisse/giac/castex.html

Sous linux, vous pouvez générer les deux formats de sortie PDF et HTML5 interactif en utilisant la commande icas ou giac au lieu de pdflatex. Il suffit de créer un document latex normal, y ajouter (juste après \begin{document}) \begin{giacjsonline} et (juste avant \end{document}) \end{giacjsonline}, puis taper des commandes telles que \giacinputbigmath{factor(x^10-1)} ou \giacinput{plot(sin(x))}. La compilation s’effectue alors depuis un terminal en tapant la commande
giac nomfichier

Enfin pgiac est un programme qui permet de faire calculer automatiquement par Giac (le moteur de calcul formel de Xcas) certaines expressions d’un fichier source au format LATEX. Voir le site de J.Michel Sarlat pour des exemples
http://melusine.eu.org/syracuse/giac/

10.2  texmacs

texmacs est un programme permettant de saisir des documents mathématiques avec une interface similaire à celle des logiciels de traitement de texte usuels tout en conservant une qualité typographique comparable à LATEX. Il permet d’importer et d’exporter au format LATEX. Il possède également une interface pour lancer certains logiciel de calcul (Menu Inserer, sous-menu session). Pour lancer texmacs sous Unix, tapez la commande :
texmacs &

10.3  Pour aller plus loin


1
On peut forcer un passage à la ligne sans indentation en tapant \ -.07truein\ mais ceci n’est pas recommandé pour la lisibilité du texte.

Ce document a été traduit de LATEX par HEVEA