greg mcshane

UGA Introduction LaTeX 2020

Si vous avez le temps regardez la vidéo avant de lire le texte

Merci à mon ancien collègue Arnaud Bodin.

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 ou UTF8) 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 (\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 :

Un espace est crée avec \⊔.

\$ \& \% \# \_ \{ \} \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ée.


Discord

On peut afficher des formules dans un chat sur Discord si le TeXiT bot est invité au serveur. Le code est compilé automatiquement il suffit d’appuyer sur Entrer.

img

mais pour préparer un document il faut choisir un logiciel adapté

 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 (ou Overleaf) 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,

Overleaf

overleaf est un éditeur LaTeX en ligne, collaboratif en temps réel. Il est payant mais gratuit si l’on travaille seul (sans collaborateur).

L’interface est intuitive : on tape dans la fenêtre de gauche et la version compilée s’affiche à droite :

img

Overleaf resemble beaucoup à….

TexMaker

Recherchez Texmaker sur un poste dans la salle Carism 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 utf8 au lieu de latin1 comme encodage. Ajouter ensuite la partie du texte ci-dessous entre \begin{document} et \end{document}.

img

Editeur classique.

Téléchargez le document 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=20
\usepackage[utf8]{inputenc}            % caract=C3=A8res accentu=C3=A9s en =
UTF8
\usepackage[T1]{fontenc}               % idem
\usepackage[francais]{babel}           % fran=C3=A7ais (chapter -> chapi=
tre...)
\usepackage{graphicx}                  % graphiques
\usepackage{amsmath,amsfonts,amssymb}  % symboles AMS
\newcommand{\N}}          % d=C3=A9finit la commande \N
\title{Un essai\\Stage latex M1} % d=C3=A9finit le titre (ici sur 2 lignes)
\author{Mon Nom}                       % indiquez votre nom

\begin{document}                       % d=C3=A9but du document

\maketitle                             % =C3=A9crit 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=C3=A9finit 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=C3=A9f=C3=A9rence au label

\newpage                               % nouvelle page=20
\tableofcontents                       % table des mati=C3=A8res

\end{document}                         % fin du document=20

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

Overleaf

A priori il y a rien à faire mais pour le forcer cliquer sur le bouton marqué recompile.

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.

É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.

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

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 latex2html (disponible sur certains systèmes seulement) ou pandoc.

pandoc fichier.tex -f latex -t html -o fichier.html

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}

L’environnement mathématique

Dans TexMaker, les commandes correspondantes se trouvent dans le menu


![img](/LATEX/texmaker.png)

### 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. 
Pour tester les expressions sans compiler, le site
[codecogs](https://www.codecogs.com/latex/eqneditor.php) est très utile.


On tape par exemple :

``` {."verbatim"}
$x^2+y^2=0  et  x+y=0$

on obtient :

Alors que si on tape :

$x^2+y^2=0 \text{ et } x+y=0$

et on obtient :

on obtient (la commande \text permet d’écrire du texte dans une formule) :

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 :\

tt

Les fractions

Une fraction s’obtient avec la commande \frac (\overline surligne)

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

donne :

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 \overrightarrow

Exemple :

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

donne :

Le flêches

\Rightarrow, \Leftarrow, \Leftrightarrow

 

Les racines

Une racine s’obtient avec la commande :

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

donne :

Les limites

Une limite s’obtient avec la commande : \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 :

Les matrices

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

donne:

</a>

Fonctions définies par morceaux

|x| = \left \{ \begin{array}{cc}
  -x & x < 0\\ 
x & x \geq 0\\
 \end{array}\right . 

Les ensembles

Les nombres réels, entiers etc. :

\mathbb{R}^*, \mathbb{Z}, \mathbb{Q}, \mathbb{N}

Définition d’une fonction

f : \mathbb{R} \rightarrow \mathbb{C},\, t \mapsto e^{it}

Intersection, réunion :

A \cap B,\,A \cup B,\, \bigcup_{i} A_i,\, \bigcap_{i} A_i

Les intégrales et les séries

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

donne

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

donne :

 

Les derivées

On utilise la commande \prime ou ’

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

donne

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

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

donne

Exos

img

É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

img

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

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.

Insérer un graphique

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

\includegraphics[width=\textwidth]{image}

où 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}

Figures

Normalement les graphiques sont imbriquées dans l’environement figure :

\begin{figure}[!t]
\centering
\includegraphics{Tux.png}
\caption{Tux, le pingouin}
\label{Tux}
\end{figure}

Hyperref

Le package hyperref offre à LaTeX la possibilité de créer des hyperliens dans le document. Il fonctionne avec pdflatex et aussi avec le “latex” standard utilisé avec dvips et ghostscript ou dvipdfm pour construire un fichier PDF. Si vous le chargez, vous aurez la possibilité d’inclure des liens externes interactifs et toutes vos références internes seront transformées en hyperliens. Le compilateur pdflatex permet de créer des fichiers PDF directement à partir de la source LaTeX, et PDF prend en charge plus de fonctionnalités que DVI. En particulier, PDF prend en charge les hyperliens. De plus, le PDF peut contenir d’autres informations sur un document telles que le titre, l’auteur, etc., qui peuvent être éditées à l’aide de ce même package.

\url{https://en.wikibooks.org/wiki/LaTeX/Hyperlinks}

Créer des transparents.

Pour créer des transparents, on utilise fréquemment la classe de document beamer. Cf. par exemple le tutoriel sur ce site.

Exemple beamer source .tex

Interaction avec des logiciels de calcul.

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

WolframAlpha

WolframAlpha est un outil de calcul en langage naturel développé par la société internationale Wolfram Research. Il s’agit d’un service internet qui répond directement à la saisie de questions factuelles en anglais par le calcul de la réponse à partir d’une base de données, au lieu de procurer une liste de documents ou de pages web pouvant contenir la réponse.

En 2010 Wolfram a ajouté la possibilité de comprendre la notation TeX et de la convertir sous la forme Mathematica utilisée par le moteur Wolfram | Alpha. Pour savoir plus lire l’article

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.

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

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 &’

 Pour aller plus loin

Forums, docs

Distributions LaTeX pour

Environements

Other stuff



Mathjax

MathJax est une bibliothèque logicielle JavaScript cross-browser qui affiche les formules mathématiques dans des navigateurs web, en utilisant les balises de AsciiMath (en), LaTeX ou de MathML. Le projet MathJax a débuté en 2009 comme successeur de jsMath qui est une bibliothèque de formatage des mathématiques. Il est subventionné par l’American Mathematical Society, Design Science (en) et la Society for Industrial and Applied Mathematics ; le projet est soutenu par des « partenaires » : Stack Exchange Network et American Institute of Physics et des « soutiens », parmi lesquels la American Physical Society, Elsevier, IEEE, la London Mathematical Society, la Optical Society et le Projet Euclide.

MathJax est utilisé par des sites web MathSciNet, MathOverflow, les journaux du projet Euclide, Scholarpedia, et le portail mathématique russe Общероссийский математический портал5. En revanche, Wikipédia a abandonné son usage.

Markdown

Markdown est un langage de balisage léger créé en 2004. Son but est d’offrir une syntaxe facile à lire et à écrire. Un document balisé par Markdown peut être lu en l’état sans donner l’impression d’avoir été balisé ou formaté par des instructions particulières.

Un document balisé par Markdown peut être converti avec pandoc en HTML, LaTex, en PDF ou en d’autres formats. Bien que la syntaxe Markdown ait été influencée par plusieurs filtres de conversion de texte existants vers HTML — dont Setext3, atx4, Textile, reStructuredText, Grutatext5 et EtText6 —, la source d’inspiration principale est le format du courrier électronique en mode texte.

Ce document est écrit en Markdown.

Pandoc

Pandoc est un logiciel libre de conversion de documents numériques en ligne de commande. Il permet de convertir des documents en Markdown, reStructuredText, Textile, HTML, DocBook, LaTeX, syntaxe MediaWiki, syntaxe TWiki, OPML, Org-mode, Txt2tags, Microsoft Word docx, LibreOffice ODT, EPUB ou Haddock markup vers des formats HTML, Microsoft Word, PDF.

Pandoc est considéré comme le « couteau-suisse de l’édition » tant il permet de passer facilement d’un format à un autre3. Il est utilisé dans beaucoup d’applications, allant de Zettlr [archive] à Stylo [archive] en passant par des éditeurs de texte ou des chaînes de publication.

Il existe une version en ligne essai