LaTeX

Très courte initiation à LaTeX

Dans le cadre du M1 mathématiques de l'université Paris-Dauphine, j'assure un cours d'initiation à LaTeX pour lequel je suis en train de rédigé un ouvrage. Celui-ci s'intitule Très courte initiation à LaTeX, il a pour vocation de jetter les bases de l'utilisation de LaTeX pour des (apprenti·e·s) mathématicien·ne·s, tout en balyant un spectre large des posibilités de LaTeX, et surtout de ce qui peut être utile à un·e mathématicien·ne·s (rapport de stage, publication, support pour présentation, etc.). Vous pouvez télécharger le PDF en cliquant sur l'image suivante ou en vous rendant sur le plmlab dédié : https://plmlab.math.cnrs.fr/mchupin/initiation-latex/

Document pdf

Exposé sur l'utilisation de LaTeX

Je présente, dans divers laboratoires de mathématique et séminaires, un exposé sur l'utilisation de LaTeX dans notre travail, c'est-à-dire la recherche et l'enseignement en mathématiques dans le supérieur. L'idée de cette exposé est d'aider à remédier à quelques mauvaises habitudes et de donner quelques outils pour travailler plus efficacement.

Je mets ici, la dernière version des diapositives de l'exposé. Pour télécharger les diapositives au format pdf, cliquer sur l’image. Pour pouvoir voir les animations et la manipulation de l'objet 3D dans le PDF, il faut utiliser Adobe Acrobat Reader.

Présentation pdf

Divers documents, et notamment les fichiers pour la classe yathesis (classe pour la rédaction de thèses en france), préparés pour un ensemble de laboratoires parisiens se trouve ici : https://plmlab.math.cnrs.fr/infomath/latex (plmlab du séminaire https://infomath.pages.math.cnrs.fr/).

Quelques exemples avec leurs codes

Quelques exemples de la présentation sont présentés sur cette page. Pour les voir, il suffit de cliquer sur le bouton ci-dessous.

Lecture de fichier et pdfcrop

On considère un fichier de donnée de la forme:

tau rho global_it global_dim global_solves local_it local_dim local_solves
1.00000000e-04  9.99950004e-01  3.30000000e+01  4.85000000e+02  6.58200000e+03  3.70000000e+01  3.83000000e+02  6.79900000e+03
1.58489319e-04  9.99920765e-01  3.10000000e+01  4.83000000e+02  6.25800000e+03  3.50000000e+01  3.91000000e+02  6.53000000e+03
2.51188643e-04  9.99874429e-01  2.90000000e+01  4.81000000e+02  5.93400000e+03  3.20000000e+01  4.07000000e+02  6.15100000e+03
3.98107171e-04  9.99801006e-01  2.50000000e+01  5.57000000e+02  5.69800000e+03  3.50000000e+01  3.99000000e+02  6.57400000e+03
6.30957344e-04  9.99684671e-01  2.50000000e+01  5.57000000e+02  5.69800000e+03  3.50000000e+01  4.08000000e+02  6.63800000e+03
1.00000000e-03  9.99500375e-01  2.40000000e+01  5.56000000e+02  5.53600000e+03  3.30000000e+01  4.08000000e+02  6.32600000e+03
1.58489319e-03  9.99208494e-01  2.40000000e+01  5.56000000e+02  5.53600000e+03  3.30000000e+01  4.13000000e+02  6.35900000e+03
...

Le code suivant fabrique un fichier PDF A4 grâce à la commande:

pdflatex monfichier.txt

et grâce au programme pdfcrop (qui est dans les distrubution TeX) on obtient le fichier PDF au dimension de la figure:

pdfcrop monfichier.pdf

Résultat du code

% compilation :
%    pdflatex pdfcrop.tex (-> production de pdfcrop.pdf)
%    pdfcrop pdfcrop.pdf  (-> production de pdfcrop-crop.pdf)
\documentclass{article}
\usepackage{pgfplots}
 
 
\definecolor{Local}{RGB}{102,194,165}
\definecolor{Global}{RGB}{252,141,98}
 
\pgfplotsset{
  styleLocal/.style={Local, thick, mark=*},
  styleGlobal/.style={Global, thick, mark=square*},
}
 
 
\begin{document}
\pagestyle{empty}
 
 
\begin{tikzpicture}
  \begin{axis}[xmode=log, xlabel={Threshold $\tau$ (log scale)},
    ylabel={Number of local solves},
    width=1.\textwidth,
    legend style={at={(0.8,0.95)},anchor=north
      east} ]
    \addplot [styleGlobal] table[x={tau},y={global_solves}]
    {allData.dat};
    \addplot [styleLocal] table[x={tau},y={local_solves}]
    {allData.dat};
    \legend{Global,Local}
  \end{axis}
\end{tikzpicture}
 
 
\end{document}
 

Classe standalone

La classe standalone permet de produire un pdf au dimensions du contenu et non à la dimension A4.

Résultat du code

% à compliler avec : pdflatex exemple.tex
\documentclass[tikz]{standalone}
\usetikzlibrary{automata}
\usetikzlibrary{arrows}
 
 
\begin{document}
 
\begin{tikzpicture}[scale=0.3,->,>=stealth',shorten >=1pt,auto,node
  distance=2.3cm,
  semithick]
  \tikzstyle{every state}=[fill=red,draw=none,text=white]
 
  \node[initial,state] (A) {$q_a$};
  \node[state] (B) [above right of=A] {$q_b$};
  \node[state] (D) [below right of=A] {$q_d$};
  \node[state] (C) [below right of=B] {$q_c$};
  \node[state] (E) [below of=D] {$q_e$};
 
  \path (A) edge   node {0,1,L}            (B)
            edge   node {1,1,R}            (C)
        (B) edge[loop above]  node {1,1,L} (B)
            edge   node {0,1,L}            (C)
        (C) edge   node {0,1,L}            (D)
            edge[bend left]   node {1,0,R} (E)
        (D) edge[loop below]  node {1,1,R} (D)
            edge   node {0,1,R}            (A)
        (E) edge [bend left] node {1,0,R}  (A);
\end{tikzpicture}
 
 
 
\end{document}
 

Montrer une animation (slides)

Il est existe le package animate qui permet assez facilement de mettre une animation sur des slides avec LaTeX. Cela nécessite le lecteur Adobe Acrobat Reader.

On suppose que l'on dispose d'un ensemble d'images nommées comme souvent imageDDD.pngDDD sont trois chiffres (c'est-à-dire image000.png, image001.png, etc.). Alors le simple code suivant produit une présentation avec une animation dedans (ici les images sont dans le répertoire cycl2). Cliquez sur l'image pour télécharger le pdf généré par la simple commande

pdflatex exAnim.tex

Présentation pdf

Le simple code pour obtenir ce résultat est le suivant :

\documentclass{beamer}
\usepackage{animate}
\begin{document}
\begin{frame}{Test animation}
\animategraphics[width=0.6\linewidth,controls,loop]{12}{cycl2/image}{001}{073}
\end{frame}
 
\end{document}
 

Composer une thèse au CEREMADE

La composition de thèse (de doctorat ou d'habilitation à dériger des recherches) peut être assez délicate vu l'ampleur de ce genre d'ouvrage.

Denis Bitouzé a développé un classe de document LaTeX yathesis qui facilite énormément le travail en rendant tout un tas de choses automatiques : structure du document, remerciements, page de garde, épigraphes, résumés, sommaires pour chaque chapitre, etc.

J'ai préparé une structure de document minimal pour la réadaction d'une thèse du CEREMADE, en mixant cette classe avec le package développé par Pierre Guillou pour les couvertures du thèse PSL.

L'ensemble des fichiers est à télécharger ici compressé dans une archive zip.

Thèse
                  pour le CEREMADE

Thème Beamer : Amurmaple

J’ai développé un thème Beamer, Amurmaple, disponible sur le CTAN : https://www.ctan.org/pkg/beamerthemeAmurmaple.

La documentation est disponible ici.

Image de la documentation

LuaMesh

J'ai développé une extension LaTeX avec le moteur lualatex (et non pdflatex) qui permet de tracer facilement des triangulations de Delaunay (dans un but pédagogique) ainsi que les diagrammes de Voronoï.

Ce package est publié sur le CTAN : https://ctan.org/pkg/luamesh.

La documentation est disponible ici : luamesh-doc.pdf

Quelques exemples

Animation

Cette extension permet facilement de réaliser l'animation suivante:

animation1
Images en cours de chargement...

La même animation, complétée d'une autre est à visionner dans les diapositives de cours ci-dessous (sous condition d'ouvrir le PDF avec Adobe Acrobat reader). Le code source est aussi disponible.

Un exemple simple

Résultat du code

\documentclass{article}
 
\usepackage{luamesh}
\pagestyle{empty}
\begin{document}
 
\buildVoronoiBW{(0.3,0.3);(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5);(0.1,2)
  ;(1.5,-0.3)}
 
\end{document}
 

Table des matières