LATEX

Introduction de Wikipedia

LATEX est un langage et un système de composition de documents créé par Leslie Lamport en 1983. Plus exactement, il s'agit d'une collection de macro-commandes destinées à faciliter l'utilisation du « processeur de texte » TEX de Donald Knuth. Depuis 1993, il est maintenu par le LATEX3 Project team. La première version utilisée largement, appelée LATEX2.09, est sortie en 1984. Une révision majeure, appelée LATEX2ε, est sortie en 1991.

Le nom est l'abréviation de Lamport TEX. On écrit souvent LATEX, le logiciel permettant les mises en forme correspondant au logo.

Du fait de sa relative simplicité, il est devenu la méthode privilégiée d'écriture de documents scientifiques employant TEX. Il est particulièrement utilisé dans les domaines techniques et scientifiques pour la production de documents de taille moyenne ou importante (thèse ou livre, par exemple). Néanmoins, il peut être aussi employé pour générer des documents de types variés (par exemple, des lettres, ou des transparents).

La notation LATEX pour les formules mathématiques est très utilisée, c'est d'ailleurs celle qui a été intégrée à MediaWiki.

Très courte initiation à LATEX

Dans le cadre d'un court d'initiation à LATEX dispansé à l'université Paris-Dauphine, j'ai rédigé un polycopié sur les bases de LATEX. Il s'agit d'aiguiller les débutant·e·s dans la découverte du logiciel, ce document n'est pas du tout exhaustif, et pointe vers des références plus conséquentes. Ce document a pour but d'essayer que les débutant·e·s commencent en prenant le moins possible de mauvaises habitudes.

Exposé sur les erreurs courantes LATEX dans l'ESR

Je fais depuis plusieurs années un exposé dans différents laboratoires de mathématiques de région parisienne sur l'utilisation de LATEX dans l'enseignement supérieur et la recherche. Dans ce milieu l'utilisation de LATEX n'est pas un choix mais une obligation. À ce titre là, les mauvaises habitudes sont très nombreuses et la sous-optimalité de l'utilisation de LATEX est criante, mais souvent ignorée. Cette présentation tente d'améliorer un peu la situation.

Mon exposé a été enregistré lors du séminaire infomath.

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ï. En particulier, les étapes de l'algorithme de Bowyer et Watson peuvent être représentées.

Le projet est nouveau, n'hésitez pas à faire remonter des demandes, conseils, etc.

Développement

Le développement est sous Git, et est hébergé sur la machine melusine:

La documentation et les fichiers sont disponibles ici:

Vous trouverez dans la documentation les instructions pour installer l'extension.

Quelques exemples

Animation

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

animation1
Images en cours de chargement...

Un exemple simple

img download

exemple.tex

Résultat du code
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{luamesh}
\pagestyle{empty}
 
\begin{document}
 
\meshAddPointBW[step=newtriangles,scale=2cm,colorNew=DarkRed,colorBack=red!5]%
{(1.5,1);(4,0);(4.5,2.5);(1.81,2.14);(2.5,0.5);(2.8,1.5)}%
{(2.2,1.8)}
 
\end{document}
 

Bclogo

Je suis le co-auteur d'une extension LATEX bclogo. Cette extension permet de réaliser facilement des boites colorées avec un logo dans le coin gauche. Le projet est hébergé sur le site Syracuse grâce à Jean-Michel Sarlat.

Comment l'utiliser ?

Une vieille version de bclogo est disponible dans la distribution TEXlive et donc sur le CTAN, vous pouvez l'utiliser par ce biais.

Pour disposer sur sa machine de la dernière version git de bclogo, veuillez déposer les deux répertoires tex et doc suivant dans votre arborescence TEX.

Sous linux, avec la distribution TEXlive, il suffit de créer un répertoire ~/texmf/tex/latex/bclogo avec le contenu du répertoire tex de l'archive. De la même façon pour la documentation : ~/texmf/doc/bclogo avec le répertoire doc.

Télécharger

Exemple

Voici un petit exemple qui permet de voir ce qu'offre cette extension. Bien sûr, il y a beaucoup d'options et de paramétrage des boites et des logos.

img download

exemple.tex

Résultat du code
\documentclass[french]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[tikz]{bclogo}
\usepackage{mathtools}
\usepackage{babel}
 
\begin{document}
 
\begin{bclogo}[logo=\bccrayon]{Théorème des résidus}
  Soient $U$ un sous-ensemble ouvert et simplement connexe du plan
  complexe $\mathbf{C}$, $z_1,\dots,z_n$ un 	ensemble de points de
  $U$, distincts et isolés, et $f$ une fonction définie et holomorphe
  sur $U-\{z_1,\dots,z_n\}$.
 
  Si $\gamma$ est une courbe rectifiable dans $U$ qui ne rencontre
  aucun des points singuliers $z_k$ et dont le point de départ
  correspond au point d'arrivée (c'est-à-dire un lacet rectifiable),
  alors :
  \[
  \oint_\gamma f(z)~\mathrm dz=
  2\pi i \sum_{k=1}^n
  \operatorname{Res}( f, z_k )\,\mathrm{Ind}_\gamma(z_k).
  \]
\end{bclogo}
\end{document}
 

LuaLATEX

Articles écris et traduits pour les Cahiers GUTenberg

Les Cahiers GUTenberg sont la publication officielle de l'association GUTenberg. Dans ce cadre j'ai participé à l'élaboration et à la rédaction d'un cahiers spécial sur LuaTEX. Je mets ici les résumés et pdf des deux articles que j'ai réalisés.

LuaLATEX pour les non sorciers

Résumé

Cet article présente une utilisation de LuaTEX à un « petit niveau » , c’est-à-dire sans être spécialiste ni de TEX, ni de Lua. Les exemples d’utilisation illustrent le traitement de fichiers externes par Lua, ainsi que l’utilisation de Lua pour certains calculs difficilement implémentables avec TEX. Ces exemples sont la création du code LATEX de tableaux à partir d’un fichier externe de valeurs, et la mise en place de la méthode des moindres carrés et de sa représentation graphique.

Abstract

This article presents a way to use LuaTEX without being a expert of TEX or Lua. The examples illustrate the treatment of external files by Lua, and the use of Lua in order to perform some computations hardly implementable in TEX. These examples are the generation of LATEX tabular code from an external data file and the implementation of the method of least squares and its graphical presentation.

LuaTEX 0.65 et les mathématiques (traduction, auteur Taco Hoekwater)

Résumé

La machinerie mathématique dans LuaTEX a été complètement modifiée depuis la version 0.40. La gestion des mathématiques dans LuaTEX a été substantiellement étendue par rapport à celle de TEX82 (donc de PdfTEX). Premièrement LuaTEX ajoute quelques primitives et en étend d’autres de telle sorte que le codage Unicode puisse facilement être utilisé en entrée. Deuxièmement, toutes les valeurs internes spéciales de TEX82 (par exemple pour l’espacement des opérateurs) sont désormais accessibles et modifiables via des séquences de contrôle. Troisièmement, des extensions permettent une utilisation plus facile des fontes mathématiques OpenType. Et finalement quelques extensions, déjà proposées dans le passé, font maintenant partie du moteur lui-même.

Abstract

The math machinery in LuaTEX has been completely overhauled since version 0.40. The handling of mathematics in LuaTEX now extended quite a bit compared to how TEX82 (and therefore pdfTEX) handles math. First, LuaTEX adds primitives and extends some others so that Unicode input can be used easily. Second, all of TEX82’s internal special values (for example for operator spacing) have been made accessible and changeable via control sequences. Third, there are extensions that make it easier to use OpenType math fonts. And finally, there are some extensions that have been proposed in the past that are now added to the engine.

Jeu dobble

Je me suis amusé à fabriquer automatiquement un jeu dobble avec des logos du package Bclogo. Une page sur le site Syracuse est dédiée à cet exercice.

Voici les différents fichiers ainsi que le résultat final. Cliquez sur les liens pour voir s'afficher le code source et pouvoir télécharger le fichier. Un autre clic fera se refermer le code source.

Le problème des n-queens

Le problème des n-queens consiste à trouver comment placer \(n\) dames sur un échiquier \(n\times n\) sans que les dames ne puissent se menacer mutuellement, conformément aux règles du jeu d'échec.

Ce problème bien connu est souvent utilisé comme exemple pour illustrer des techniques de programation. J'ai profité de ma découverte de LuaLATEX pour le résoudre avec Lua et représenter une solution avec LATEX.

Voici les différents fichiers ainsi que le résultat final. Cliquez sur les liens pour voir s'afficher le code source et pouvoir télécharger le fichier. Un autre clic fera se refermer le code source.

Animation avec luamplib, animate et LuaLaTeX

Grâce à l'extension luamplib pour Lua(La)TeX et l'extension animate, on peut réaliser très facilement des animations avec MetaPost, lisibles dans an PDF avec Acrobat Reader. En effet, luamplib nous permet de créer des figures avec l'environnement mplibcode qu'on anime avec l'environnement animateinline. Plûtot que de longs discours, je vous invite à regarder le code ci dessous, et à consulter les documentations des deux extensions luamplib et animate.

Voici les différents fichiers ainsi que le résultat final. Cliquez sur les liens pour voir s'afficher le code source et pouvoir télécharger le fichier. Un autre clic fera se refermer le code source.

Association GUTenberg

Je suis membre plus ou moins actif de l'association des utilisateurs francophones de LATEX GUTenberg. Récemment, certains de ses membres ont mis un outil génial d'entraide : texnique.fr/osqa/. Allez vois ça !!

Table des matières