Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Supinfo et Emacs - LaTeX.

Par Thomas PETITJEAN Publié le 12/01/2018 à 17:36:24 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction :

Dans les parties précédentes nous avons vu comment installer, faire une configuration basique d'Emacs et comment le transformer en un IDE performant.

Dans cette partie nous allons nous intéresser à la production d'un document texte.

Présentation rapide de LaTeX :

LaTeX est un logiciel libre orienté vers la publication de documents scientifiques. Il est extensible, ce qui fait de lui un logiciel de traitement de texte extrêmement complet.

Du simple document texte à un livre, en passant par des lettres, thèses ou des CV, LaTeX permet de pratiquement tout faire.

Installation :

Il existe plusieurs "bundles" qui permettent d'installer LaTeX et un éditeur qui le prendra en charge. Cependant ce dernier ne nous intéresse pas car nous travaillerons directement depuis Emacs.

Le plus simple et donc de passer par TeXLive 2017, compatible avec tous les systèmes d'exploitations. Encore une fois, nous ne verrons ici que l'installation sur une machine Windows.

Une fois sur le site, cliquez sur download :

puis sur install-tl-windows.exe :

Une fois téléchargé, lancez l'exécutable et suivez les instructions. Notez que l'installation complète peut prendre du temps !

Enfin, verifiez que le dossier des fichiers binaires soit présent dans les variables d'environnement PATH de Windows.

Si ce n'est pas le cas, il suffit de le rajouter : <CheminduDossier/texlive/2017/bin/win32>.

Configuration :

Dans Emacs, naviguez jusqu'au fichier "org-init.org" et rajoutez ces lignes :

* LaTeX

#+BEGIN_SRC emacs-lisp

(use-package tex
  :ensure auctex
  :config 
  (progn
    (TeX-PDF-mode t)))

(use-package auctex-lua
  :ensure t)

(setq-default TeX-engine 'luatex) 

#+END_SRC

Le traitement de texte :

Tous les documents écrit avec LaTeX ont une extension ".tex".

Pour l'exemple, j'ai créé un nouveau fichier "test.tex".

La structure de base des documents se fait comme suit :

\documentclass[11pt]{article}

Cette ligne doit toujours être présente !

Elle signifie que nous allons travailler sur un document de type article, avec une police globale de 11. Evidemment, rien n'est figé, vous pouvez aussi bien modifier la police ici et donc dans tout le fichier, ou localement pour mettre en évidence certains éléments.

Le type de document peut lui aussi être modifié, il en existe plusieurs et il serait inutile de tous les lister, mais en voici quelques-uns intéressants :

  • article : Probablement celui que vous utiliserez le plus, nous le verrons en détail plus tard.

  • report : Idéal pour de long rapports contenants plusieurs chapitres, ou des thèses.

  • book : Sans suprise, idéal pour écrire des livres.

  • letter : Encore une fois, le nom est suffisament explicite.

Pour améliorer l'expérience et ajouter certaines fonctionnalités, nous aurons besoin de paquets qu'il faudra importer. Voici les indispensables :

  • babel : Qui nous permettra d'écrire en français sans lever d'erreurs.

  • inputenc : Pour l'encodage des caractères.

  • fontenc : Complément à inputenc.

  • luacode : Qui permet l'intégration de codes Lua.

  • fontspec : Qui permet de modifier la police. (A utiliser si vous voulez compiler avec LuaTeX).

Pour les appeller dans le fichier ".tex", rien de plus simple :

\usepackage[french]{babel}
\usepackage[utf8]{inpuenc}
\usepackage[T1]{fontenc}

Ou avec LuaTeX :

\usepackage[french]{babel}
\usepackage{luacode}
\usepackage{fontspec}

La classe article permet de créer une page de titre et une table de matières. Pour se faire :

\title{<Mon Titre>}
\author{<Nom de l'auteur>}
\date{<date>} % optionelle, si on ne veut pas mettre une date, il suffit de ne rien mettre dans les accolades.

Tous les élements vu précédements sont situés dans le préambule. Le document en lui-même n'est qu'un environnement parmis d'autres et ne commence qu'à partir du moment où il est explicitement initialisé :

\begin{document} % indique où commence le document.

      ...
      ...

\end{document} % indique la fin du document.

Il faut ensuite initialisé le titre et la table de matières :

\begin{document} 
\maketitle
\newpage % saut de page
\tableofcontents
\newpage

     ...
     ...

\end{document}

Maintenant voyons comment remplir notre table des matières. Votre document sera sans doute structuré en différentes parties et sous-parties. Dans LaTeX, elles sont appellées sections et sous-séctions (et sous-sous-sections).

\section{Titre de niveau 1.}
\subsection{Titre de niveau 2.}
\subsubsection{Titre de niveau 3.}

Elles seront automatiquement ajoutées à la table des matières au fur et à mesures qu'elles sont créées.

Voici un exemple reprennant les points précédents :

\documentclass[11pt]{article}
\usepackage[french]{babel}
\usepackage{luacode}
\usepackage{fontspec}

\title{Mon Titre}
\author{Mon Nom}
\date{}

\begin{document}
\maketitle
\newpage
\tableofcontents
\newpage

\section{Titre de niveau 1.}
\vspace{1cm}
\subsection{Titre de niveau 2.}
\vspace{1cm}
\subsubsection{Titre de niveau 3.}

\end{document}

Le " \vspace{1cm} " représente un saut de ligne de 1cm, vous pouvez aussi spécifier la taille en "px" ou "pt".

La première page étant très simple et franchement triste, essayons de rendre cela un peu plus agréable.

Pour modifer la police, rajoutez cette ligne au préambule (avant le " \begin{document} ").

\setmainfont{<Nom de la police>}

Modifions maintenant la page de titre :

\title{\Huge{\textbf{Mon Titre}} \vspace{3cm}}
\author{
  Mon nom \\
  \textit{et ceux des} \\
  \textit{co-auhteurs} \\
  \textit{s'il y en a !}
}
\date{}

Le " \Huge " permet de changer la taille de police localement, il exite plusieurs tailles prédéfinies :

\tiny{Exemple de taille de police en tiny} \\
\scriptsize{Exemple de taille de police en scriptsize} \\
\footnotesize{Exemple de taille de police en footnotesize} \\
\small{Exemple de taille de police en small} \\
\normalsize{Exemple de taille de police en normalsize} \\
\large{Exemple de taille de police en large} \\
\Large{Exemple de taille de police en Large} \\
\LARGE{Exemple de taille de police en LARGE} \\
\huge{Exemple de taille de police en huge} \\
\Huge{Exemple de taille de police en HUGE} \\

Le " \textbf " et " \textit " permettent respéctivement de mettre un élement un gras ou en italique.

Et enfin le double backslash permet de faire un simple saut de ligne.

Paragraphes :

Le simple fait d'écrire un texte dans un environnement sera traité comme s'il s'agissait d'un paragraphe, aucun ajout n'est nécessaire.

Laisser une ligne blanche dans Emacs signifira simplement le début d'un autre paragraphe et sera automatique indenté.

Nous pouvons cependant ajouter des tabulations manuellement grâce aux commandes " \quad ", " \qquad " ou avec le tilde (~).

Je \quad fais des \qquad tabulations ~ manuellement.

Les listes :

Les listes sont des environnements et doivent être initialisées avec la commande " \begin{environnement} ".

Pour faire des listes ordonnées, nous utiliserons l'environnement enumerate :

\begin{enumerate}
  \item Une
  \item Liste 
  \item Ordonnée
\end{enumerate}

Et pour les listes où l'ordre n'a pas d'importance, nous utiliserons l'environnement itemize :

\begin{itemize}
  \item Une
  \item Liste 
  \item non ordonnée
\end{itemize}

Pour imbriquer des listes, il suffit simplement d'en créer plusieurs :

\begin{itemize}
  \item  Item 1
    \begin{itemize}
      \item Sous item 1
      \item Sous item 2
    \end{itemize}
  \item Item 2
    \begin{enumerate}
      \item Sous item 1
      \item Sous item 2
    \end{enumerate}
  \item Item 3
\end{itemize}

Une fois le fichier compilé et convertit en pdf, cela nous donne :

Les tableaux :

Comme pour les listes, les tableaux sont des environnements :

Tableau 1 :
\begin{tabular}{l c r}
  1 & 2 & 3 \\
  4 & 5 & 6
\end{tabular}

Après avoir initialisé l'environnement tabular, il faut préciser l'alignement des colonnes : left / center / right. Toutes les colonnes peuvent bien évidement avoir le même alignement.

Notez que le nombre de paramètres d'alignement correspond au nombre de colonnes.

Voici deux autres exemples de tableaux simples:

Tableau 2 :
\begin{tabular}{| c | c | c |}
  \hline
  1 & 2 & 3 \\
  \hline
  4 & 5 & 6 \\
  \hline
\end{tabular}
\begin{tabular}{| c | c | c |}
  \hline
  \multicolumn{3}{| c |}{Tableau 3} \\
  \hline
  1 & 2 & 3 \\
  \hline
  4 & 5 & 6 \\
  \hline
\end{tabular}

Pour les tableaux à doubles entrées :

\begin{tabular}{c | c c c |}
\cline{2-4}
& A & B & C \\
\hline
\multicolumn{1}{| c |}{D} & 1 & 2 & 3 \\
\multicolumn{1}{| c |}{E} & 4 & 5 & 6 \\
\hline
\end{tabular}

Les liens et les notes :

Pour créer un lien interne ou externe, nous utiliserons le paquet hyperref.

Pour rappel, il faut l'importer dans le préambule :

\usepackage{hyperref}

Voici deux exemples :

\url{https://supinfo.com/}
\href{https://supinfo.com/}{mon lien}

De base, tous les liens seront encadrés avec une couleur prédéfinie. Pour changer cela, ajoutez dans le préambule :

\hypersetup{
  colorlinks=true, % ne plus encadrer et mettre une couleur
  urlcolor=red 
}

Vous pouvez bien sûr changer la couleur par celle qui vous convient le plus.

Nous pouvons également créer des liens internes au document. Cela s'avère pratique quand on fait référence à un élement 15 pages avant.

Lorsque vous créez une section ou sous-section, il suffit d'ajouter un label pour la référencer :

\section{Une section référencée}
\label{label_original}

Pour ensuite accéder à cette section, il faudra l'appeller avec :

Je veux accèder à la section \ref{label_original} qui se trouve à la page \pageref{label_original}.

Enfin, il est parfois utile de pouvoir créer des notes en bas de page :

Pour faire une note, c'est très simple\footnote{Et voilà}

La compilation et la conversion :

Une fois votre document terminé, il faudra le compiler et le convertir en un pdf. Pour se faire, rien de plus simple : "C-c C-a".

Lors de la compilation, plusieurs fichiers vont être générés (.aux, .log, .toc, etc). Si vous voulez les supprimers, vous pouvez le faire directement depuis Emacs avec la commande : "M-xTex-clean".

Quand la compilation sera terminée, le pdf alors généré sera automatiquement ouvert.

Conclusion :

Dans cette partie, nous avons vu comment installer TeXLive, configurer Emacs ainsi que créer et strucurer un simple document texte.

Dans la partie suivante, nous nous intéresserons aux mathématiques et à quelques extras.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels