\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage{geometry}
\geometry{margin=2cm}
\usepackage{amsmath,amssymb}
\usepackage{xcolor}
\usepackage{fancyvrb}
\usepackage{enumitem}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage[version=4]{mhchem} % pour la chimie
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue!50!black,urlcolor=blue!50!black}
\usepackage{titlesec}
\titleformat{\section}{\Large\bfseries\color{blue!45!black}}{\thesection.}{0.6em}{}
\setlength{\parskip}{5pt}
\setlength{\parindent}{0pt}
\setlength{\emergencystretch}{2em}
\setlist[itemize]{topsep=3pt,itemsep=1pt}
\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small,frame=single,framesep=2mm}
\newcommand{\cmd}[1]{\texttt{\textbackslash#1}}

\begin{document}
 
\begin{center}
{\huge\bfseries Introduction brouillonne et rapide à \LaTeX}
\par\medskip
{\color{gray}Où les auteurs tenteront désespérément de présenter LaTeX en 45 minutes}
\end{center}

\vspace{4mm}

\section{Qu'est-ce que \LaTeX{} ?}
\LaTeX{} est un système de composition de documents. On écrit un fichier source en texte brut, généralement avec l'extension \texttt{.tex}, puis on le \emph{compile} pour produire un document mis en page, souvent un PDF.

Contrairement à un traitement de texte classique, on ne positionne pas chaque élément à la souris : on décrit la \textbf{structure} (titre, section, formule, tableau, etc.) et \LaTeX{} se charge de la présentation.

\textbf{Points forts :} formules mathématiques, numérotation automatique, références croisées, documents longs, mise en page cohérente. \textbf{Limite :} il faut apprendre quelques commandes et interpréter les messages de compilation.

\section{Overleaf : utiliser LaTeX en ligne}

\textbf{Overleaf} (\url{https://www.overleaf.com})
est un éditeur LaTeX accessible directement depuis
un navigateur Internet, sans installation de logiciel.

Il permet d'écrire son code et de visualiser le PDF
obtenu dans une même fenêtre. La compilation est
effectuée sur les serveurs d'Overleaf.

Ses principaux avantages sont la sauvegarde en ligne,
le partage de documents et la possibilité de travailler
à plusieurs sur un même projet.

Une formule gratuite est disponible, avec certaines
limitations.

\section{Le fonctionnement en trois étapes}
\begin{enumerate}[itemsep=2pt]
\item Créer ou modifier un fichier \texttt{.tex} dans un éditeur de texte adapté ou non.
\item Compiler avec un moteur comme \texttt{LaTeX}, \texttt{pdfLaTeX}, \texttt{XeLaTeX} ou \texttt{LuaLaTeX}.
\item Lire le PDF obtenu et, si nécessaire, corriger le code puis recompiler.
\end{enumerate}

\textbf{Exemple minimal, complet et compilable :}
\begin{code}
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}

\begin{document}
Bonjour ! Voici mon premier document en LaTeX.
\end{document}
\end{code}

\texttt{\textbackslash documentclass} choisit la classe du document. Les lignes \texttt{\textbackslash usepackage} chargent des extensions. La partie avant \texttt{\textbackslash begin\{document\}} est le \textbf{préambule} ; le contenu visible est placé entre \texttt{\textbackslash begin\{document\}} et \texttt{\textbackslash end\{document\}}.

\section{Les commandes et les environnements}
Une commande commence par une barre oblique inverse : \texttt{\textbackslash}. Ses arguments obligatoires sont généralement entre accolades \texttt{\{\}} ; les options facultatives, entre crochets \texttt{[ ]}.
\begin{code}
\textbf{Texte en gras}
\textit{Texte en italique}
\section{Titre de section}
\end{code}

Un \textbf{environnement} encadre une partie du document :
\begin{code}
\begin{center}
Ce texte est centré.
\end{center}
\end{code}

Le symbole \texttt{\%} introduit un commentaire, ignoré à la compilation. Les accolades permettent aussi de limiter la portée d'un changement de présentation.

\section{Écrire et organiser du texte}
Une ligne vide dans le code source commence un nouveau paragraphe. Un simple retour à la ligne dans le fichier ne crée pas forcément de saut de ligne dans le PDF.

\begin{code}
\section{Introduction}
Premier paragraphe avec \textbf{un mot important}.

Deuxième paragraphe avec \textit{une idée à souligner}.
\subsection{Un sous-titre}
Le texte continue ici.
\end{code}

Les commandes \cmd{section}, \cmd{subsection} et \cmd{subsubsection} créent une hiérarchie et une numérotation automatiques. On évite d'écrire soi-même « I. », « A. », etc.


\textbf{Caractères particuliers :} certains caractères ont un rôle technique : \texttt{\%}, \texttt{\$}, \texttt{\&}, \texttt{\#}, \texttt{\_}, \texttt{\{}, \texttt{\}}. Pour les afficher, on les précède généralement de \texttt{\textbackslash}, par exemple \texttt{\textbackslash\%} pour \%.


\section{Monsieur, comment on saute des lignes et comment on fait des espaces ?}

En voilà une bonne question ! Réponse rapide :

\begin{itemize}

\item \verb|\\| permet de faire un retour à la ligne sans
commencer un nouveau paragraphe. On évite d'enchaîner
les \verb|\\| pour sauter des lignes : nous ne sommes
pas des brutes !

\item Pour commencer un nouveau paragraphe, il suffit
de laisser une ligne vide dans le code source.
On peut aussi utiliser la commande \verb|\par|.

\item \verb|\vspace{3mm}| permet d'ajouter un espace
vertical de 3 mm entre deux éléments. Attention :
cette commande ne provoque pas à elle seule un
retour à la ligne.

\item \verb|\smallskip|, \verb|\medskip| et
\verb|\bigskip| permettent d'ajouter respectivement
un petit, un moyen et un grand espace vertical.

\item \verb|\hspace{0.5cm}| permet d'ajouter un espace
horizontal de 0,5 cm.

\item \verb|\quad| et \verb|\qquad| permettent
d'ajouter des espaces horizontaux prédéfinis.
Le second est deux fois plus grand que le premier.

\item \verb|\hfill| insère un espace horizontal
extensible. Il permet notamment de placer un élément
à gauche et un autre à droite sur une même ligne.

\item \verb|\newpage| permet de passer à la page
suivante.

\end{itemize}

\section{Les sciences : le grand atout de \LaTeX}
Pour une formule dans une phrase, utiliser \texttt{\$...\$} ou \texttt{\textbackslash(...\textbackslash)} : par exemple $a^2+b^2=c^2$.

Pour une formule isolée et centrée, utiliser \texttt{\$\$} ... \texttt{\$\$} ou \texttt{\textbackslash[...\textbackslash]} :
\[
\frac{-b\pm\sqrt{b^2-4ac}}{2a}.
\]
\begin{code}
Dans le texte : $x^2 + 2x + 1$.

$$ \frac{-b\pm\sqrt{b^2-4ac}}{2a} $$
\end{code}

Quelques commandes fondamentales (il y en a des milliers) :
\begin{center}
\begin{tabular}{lll}
\toprule
Code & Résultat & Usage \\
\midrule
\verb|x^2| & $x^2$ & Exposant \\
\verb|a_{n+1}| & $a_{n+1}$ & Indice \\
\verb|\frac{a}{b}| & $\frac{a}{b}$ & Fraction \\
\verb|\sqrt{x}| & $\sqrt{x}$ & Racine carrée \\
\verb|\alpha, \pi| & $\alpha,\pi$ & Lettres grecques \\
\verb|\leq, \neq| & $\leq,\neq$ & Relations \\
\verb|\in, \mathbb{R}| & $\in,\mathbb{R}$ & Ensembles (\texttt{amssymb}) \\
\verb|\Delta T| & $\Delta T$ & Variation de température \\
\verb|\vec{F}| & $\vec{F}$ & Vecteur force \\
\verb|\ce{CO2}| & \ce{CO2} & Chimie : dioxyde de carbone \\
\bottomrule
\end{tabular}
\end{center}

\textbf{Pour aligner plusieurs étapes :} charger \texttt{amsmath}, puis utiliser \texttt{align*} (sans numéros) :

\medskip


\noindent
\begin{minipage}[c]{0.55\textwidth}
\begin{Verbatim}[fontsize=\small,frame=single,framesep=1mm]
\begin{align*}
3(x+2)-4 &= 3x+6-4 \\
         &= 3x+2.
\end{align*}
\end{Verbatim}
\end{minipage}%
\hfill
\begin{minipage}[c]{0.40\textwidth}
\[
\begin{aligned}
3(x+2)-4 &= 3x+6-4 \\
         &= 3x+2.
\end{aligned}
\]
\end{minipage}


\medskip

Le caractère \texttt{\&} indique l'endroit de l'alignement et \texttt{\textbackslash\textbackslash} sépare les lignes.

\medskip

Personnellement, j'utilise plutôt des tableaux, même lorsque j'écris des mathématiques. C'est l'objet de la section suivante.

\section{Tableaux et listes}

\subsection{Tableaux}


Un tableau simple utilise l'environnement \texttt{tabular}.
Les lettres \texttt{l}, \texttt{c} et \texttt{r} alignent
les colonnes à gauche, au centre ou à droite.

\medskip

\noindent
\begin{minipage}[c]{0.55\textwidth}
\begin{Verbatim}[fontsize=\small,frame=single,framesep=1mm]
\begin{tabular}{lcr}
Nom & Note & Mention \\
Alice & 15 & Bien \\
Samir & 18 & Très bien
\end{tabular}
\end{Verbatim}
\end{minipage}%
\hfill
\begin{minipage}[c]{0.40\textwidth}
\centering
\begin{tabular}{lcr}
Nom & Note & Mention \\
Alice & 15 & Bien \\
Samir & 18 & Très bien
\end{tabular}
\end{minipage}

\medskip

Le caractère \texttt{\&} sépare les colonnes et \texttt{\textbackslash\textbackslash} termine une ligne.

\medskip

\noindent
\begin{minipage}[c]{0.55\textwidth}
\begin{Verbatim}[fontsize=\small,frame=single,framesep=1mm]
\begin{tabular}{|c||c|c|}
\hline
A & B & C \\ \hline
1 & 2 & 3 \\ \hline
\end{tabular}
\end{Verbatim}
\end{minipage}%
\hfill
\begin{minipage}[c]{0.40\textwidth}
\centering
\begin{tabular}{|c||c|c|}
\hline
A & B & C \\ \hline
1 & 2 & 3 \\ \hline
\end{tabular}
\end{minipage}

\medskip

Dans \verb!{|c||c|c|}!, les symboles \verb!|! et \verb!||! indiquent respectivement une séparation verticale simple et double entre les colonnes. \verb|\hline| trace une ligne horizontale.


Pour des tableaux complexes, on peut employer \texttt{tabularx}.

\subsection{Listes}

L'environnement \texttt{enumerate} permet de créer
une liste numérotée.

\medskip

\noindent
\begin{minipage}[c]{0.55\textwidth}
\begin{Verbatim}[fontsize=\small,frame=single,framesep=1mm]
\begin{enumerate}
\item Première étape
\item Deuxième étape
\item Troisième étape
\end{enumerate}
\end{Verbatim}
\end{minipage}%
\hfill
\begin{minipage}[c]{0.40\textwidth}
\begin{enumerate}
\item Première étape
\item Deuxième étape
\item Troisième étape
\end{enumerate}
\end{minipage}

\subsection{Listes à puces}

L'environnement \texttt{itemize} permet de créer
des listes à puces. On peut également choisir
le symbole utilisé devant chaque élément, par exemple \verb!\item[$\circ$]!, \verb!\item[$\star$]! ou \verb!\item[$\bullet$]!.

\medskip

\noindent
% Premier exemple : code
\begin{minipage}[c]{0.25\textwidth}
\begin{Verbatim}[fontsize=\scriptsize,frame=single,framesep=1mm]
\begin{itemize}
\item Pomme
\item Poire
\end{itemize}
\end{Verbatim}
\end{minipage}%
\hspace{2mm}%
% Premier exemple : rendu
\begin{minipage}[c]{0.15\textwidth}
\begin{itemize}[leftmargin=*,nosep]
\item Pomme
\item Poire
\end{itemize}
\end{minipage}%
\hspace{2mm}%
% Deuxième exemple : code
\begin{minipage}[c]{0.30\textwidth}
\begin{Verbatim}[fontsize=\scriptsize,frame=single,framesep=1mm]
\begin{itemize}
\item[$\bullet$] Pomme
\item[$\bullet$] Poire
\end{itemize}
\end{Verbatim}
\end{minipage}%
\hspace{2mm}%
% Deuxième exemple : rendu
\begin{minipage}[c]{0.15\textwidth}
\begin{itemize}[leftmargin=*,nosep]
\item[$\bullet$] Pomme
\item[$\bullet$] Poire
\end{itemize}
\end{minipage}


\section{Insérer une image}

Pour insérer une image dans un document LaTeX, il faut
charger le package \texttt{graphicx} dans le préambule :

\begin{code}
\usepackage{graphicx}
\end{code}

On peut ensuite insérer une image avec la commande
\verb|\includegraphics| :

\begin{code}
\includegraphics[width=0.6\textwidth]{figure.png}
\end{code}

L'option \verb|width=0.6\textwidth| signifie que l'image
occupera 60 \% de la largeur du texte.

On peut également préciser sa hauteur ou modifier
son échelle :

\begin{code}
\includegraphics[height=5cm]{figure.jpg}
\includegraphics[scale=0.8]{figure.pdf}
\end{code}

\medskip

\textbf{Quels formats d'images peut-on utiliser ?}

LaTeX accepte plusieurs formats, selon le moteur
de compilation choisi :

\begin{itemize}
    \item \texttt{.png} : images matricielles,
    notamment captures d'écran et illustrations ;
    \item \texttt{.jpg} : photographies ;
    \item \texttt{.pdf} : images vectorielles,
    particulièrement adaptées aux figures mathématiques ;
    \item \texttt{.eps} : images vectorielles au format
    Encapsulated PostScript, souvent utilisées pour
    les figures scientifiques et géométriques.
\end{itemize}

\medskip

\textbf{Attention au moteur de compilation !}

\begin{itemize}
    \item Avec \texttt{pdfLaTeX}, on utilise directement
    les fichiers \texttt{.png}, \texttt{.jpg} et
    \texttt{.pdf}.

    \item Avec la chaîne de compilation
    \texttt{LaTeX + dvips + ps2pdf}, on peut utiliser
    directement les fichiers \texttt{.eps}.

    \item Avec \texttt{pdfLaTeX}, un fichier
    \texttt{.eps} doit généralement être converti
    en \texttt{.pdf}. Cette conversion peut parfois
    être effectuée automatiquement si les outils
    nécessaires sont disponibles.
\end{itemize}

\medskip

\textbf{Exemple avec une image EPS}

Si l'on utilise la chaîne de compilation
\texttt{LaTeX + dvips + ps2pdf}, on peut écrire :

\begin{code}
\usepackage[dvips]{graphicx}

% Dans le document :
\begin{center}
\includegraphics[width=8cm]{figure.eps}
\end{center}
\end{code}

\medskip

\textbf{Où placer les fichiers images ?}

Le plus simple est de placer les images dans le même dossier que le fichier \texttt{.tex}.

On peut aussi les ranger dans un sous-dossier :

\begin{code}
\includegraphics[width=7cm]{images/figure.eps}
\end{code}

\medskip

On peut aussi créer directement des dessins vectoriels avec le package \texttt{TikZ}, mais nous n'en parlerons pas ici.

\section{Un premier exercice en autonomie}
Créez un fichier source contenant : un titre, deux sections, une liste numérotée, la formule $\Delta=b^2-4ac$, un tableau à deux colonnes et une figure simple. Compilez-le, puis modifiez une section et observez la renumérotation automatique.

\end{document}
