\engines{formatex}

Quatre moteurs. Une API.

pdfLaTeX, XeLaTeX, LuaLaTeX et latexmk — chaque moteur a ses atouts. Choisissez le bon outil pour chaque document. Changez avec un seul paramètre.

\engine{pdflatex}

01

pdfLaTeX

Le cheval de trait

Rapide, fiable et universellement compatible.

pdfLaTeX est le moteur par défaut pour une bonne raison : c'est lui qui offre la plus large prise en charge de paquets de tout l'écosystème TeX, les temps de compilation les plus courts et des décennies d'épreuves sur des millions d'articles universitaires. Si votre document n'exige ni police système personnalisée ni texte de droite à gauche, pdfLaTeX est presque toujours le bon choix.

Vitesse typique

80–200ms

Le plus rapide

Passes

1 (2–3 avec références)

Prise en charge des polices

Type1, OTF via pdffonts — pas de polices système

\begin{example}

latex
\documentclass{article}
\usepackage{amsmath}
\usepackage{geometry}

\begin{document}

\section{Euler's Identity}
One of the most beautiful results in mathematics:
\[ e^{i\pi} + 1 = 0 \]

\section{Series Expansion}
\[
  \sum_{n=0}^{\infty} \frac{x^n}{n!} = e^x
\]

\end{document}

Cas d'usage

  • Articles universitaires

    Les modèles IEEE, ACM et Springer ciblent tous pdfLaTeX. La plupart des systèmes de soumission de conférences l'attendent.

  • Documents riches en mathématiques

    amsmath, amssymb, amsthm — prise en charge complète. Équations complexes, environnements de théorèmes, démonstrations.

  • Rapports techniques

    Paquets CTAN standard, rendu stable, sortie prévisible d'une version de TeX Live à l'autre.

  • Présentations

    La classe Beamer fonctionne mieux avec pdfLaTeX. Cycle de reconstruction le plus rapide pendant le développement.

Paquets populaires

amsmath / amssymbTikZ + pgfplotsgeometryhyperrefbiblatexlistings / mintedalgorithm2ebeamer

À éviter si...

  • —Vous avez besoin d'une police système personnalisée (OTF/TTF installée sur votre machine)
  • —Votre document contient de l'arabe, de l'hébreu ou d'autres écritures de droite à gauche
  • —Vous avez besoin d'une saisie Unicode native sans contournements d'encodage

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "pdflatex"
}

\engine{xelatex}

02

XeLaTeX

Le typographe

Unicode natif. Polices système. OpenType.

XeLaTeX a été conçu dès l'origine pour la typographie moderne. Il lit directement l'UTF-8, charge n'importe quelle police installée sur le système via fontspec et expose toutes les fonctionnalités d'OpenType : ligatures, petites capitales, variantes stylistiques, et plus encore. Le moteur de référence pour les documents multilingues et la composition soignée.

Vitesse typique

150–350ms

Rapide

Passes

1 (2 avec bibliographie)

Prise en charge des polices

Toute police système OpenType ou TrueType via fontspec

\begin{example}

latex
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}

\setmainfont{Noto Serif}[
  Ligatures = TeX,
  Numbers   = OldStyle
]
\setmainlanguage{english}
\setotherlanguage{arabic}

\begin{document}

English paragraph with old-style numerals: 1234.

\begin{Arabic}
هذا نص باللغة العربية مع ترقيم صحيح.
\end{Arabic}

\end{document}

Cas d'usage

  • Documents multilingues

    polyglossia gère plus de 80 langues. Mélangez arabe et anglais dans un même document avec un basculement correct entre droite-gauche et gauche-droite.

  • Typographie de marque

    Utilisez n'importe quelle police OTF/TTF via fontspec. Polices d'entreprise, caractères éditoriaux, identité de marque.

  • Articles de linguistique

    Caractères de l'alphabet phonétique international, symboles phonétiques Unicode, écritures personnalisées — tout est géré nativement depuis la source.

  • PDF au design soigné

    Accès complet aux fonctionnalités OpenType : ligatures, césures facultatives, jeux stylistiques, paires de crénage.

Paquets populaires

fontspecpolyglossiaunicode-mathbidi (RTL)xeCJKmicrotypehyperrefbiblatex

À éviter si...

  • —Vous n'utilisez que des polices TeX standard — pdfLaTeX est plus rapide
  • —La vitesse de compilation maximale est essentielle
  • —Vous avez besoin de scripts Lua (utilisez plutôt LuaLaTeX)

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "xelatex"
}

\engine{lualatex}

03

LuaLaTeX

Le programmeur

Des scripts Lua dans votre document.

LuaLaTeX intègre un interpréteur Lua 5.3 complet directement dans le moteur de composition. Vous pouvez écrire du code Lua qui manipule les rouages internes de TeX, génère du contenu par programmation, parcourt des structures de données et construit des tableaux dynamiques au moment de la compilation — le tout dans un seul fichier .tex. Il partage aussi les capacités de polices de XeLaTeX via fontspec.

Vitesse typique

200–500ms

Modéré

Passes

1–3 en général

Prise en charge des polices

Comme XeLaTeX — OpenType complet via fontspec

\begin{example}

latex
\documentclass{article}
\usepackage{luacode}
\usepackage{booktabs}

\begin{document}

\begin{luacode*}
  local items = {
    { "January",  "\$12,400" },
    { "February", "\$15,830" },
    { "March",    "\$9,220"  },
  }
  tex.print("\\begin{tabular}{lr}")
  tex.print("\\toprule Month & Revenue \\\\ \\midrule")
  for _, row in ipairs(items) do
    tex.print(row[1] .. " & " .. row[2] .. " \\\\")
  end
  tex.print("\\bottomrule \\end{tabular}")
\end{luacode*}

\end{document}

Cas d'usage

  • Documents pilotés par les données

    Parcourez des tableaux, construisez des tables à partir de données, calculez des valeurs — le tout en Lua à la compilation. Aucun script externe.

  • Contenu programmatique

    Générez des structures répétitives (par ex. tableaux de 50 lignes, figures paramétriques) sans copier-coller du LaTeX.

  • Typographie avancée

    Accédez aux rouages bas niveau de TeX via Lua. Crénage personnalisé, manipulation de glyphes, remplacement des règles de césure.

  • Rapports dynamiques

    Intégrez la logique métier au document lui-même. Conditions, calculs, sorties formatées.

Paquets populaires

luacodefontspecluacolorluamplibluatexja (CJK)unicode-mathmicrotypepgfplots

À éviter si...

  • —Vous n'avez pas besoin de scripts Lua — XeLaTeX offre les mêmes fonctions de polices avec moins de surcharge
  • —Vous avez besoin de la compatibilité de paquets la plus large possible (utilisez pdfLaTeX)
  • —La vitesse de compilation est essentielle

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "lualatex"
}

\engine{latexmk}

04

latexmk

Le chef d'orchestre

Compilation automatique en plusieurs passes. Chaque référence résolue.

latexmk n'est pas un moteur TeX : c'est un système de build intelligent qui enveloppe pdfLaTeX et l'exécute autant de fois que nécessaire pour résoudre toutes les références avant, citations, entrées de table des matières et index. Lorsque vous indiquez latexmk, FormaTeX utilise pdfLaTeX comme pilote sous-jacent et gère automatiquement la logique des passes.

Vitesse typique

400ms–3s

Variable

Passes

Détection automatique (généralement 2–4)

Prise en charge des polices

Comme pdfLaTeX (latexmk pilote pdfLaTeX par défaut)

\begin{example}

latex
\documentclass{article}
\usepackage[backend=biber, style=ieee]{biblatex}
\usepackage{hyperref}
\addbibresource{references.bib}

\begin{document}

\section{Related Work}
Neural scaling laws were studied by \cite{kaplan2020scaling}.
The attention mechanism was introduced in \cite{vaswani2017attention}.

See \autoref{sec:method} for our approach.

\section{Method}\label{sec:method}
...

\printbibliography

\end{document}

Cas d'usage

  • Articles universitaires avec citations

    Les bibliographies BibTeX et Biber exigent au moins deux passes. latexmk s'en charge automatiquement.

  • Livres et thèses

    Table des matières, liste des figures, index, glossaires — tout est résolu au fil de plusieurs passes.

  • Documents avec renvois

    \ref, \pageref, \eqref, \autoref nécessitent tous une seconde passe. latexmk la détecte et relance si besoin.

  • Documents avec paires \label/\ref

    Tout document avec des références internes. latexmk vérifie le fichier .aux après chaque passe pour s'assurer qu'il est complet.

Paquets populaires

biblatex + bibernatbib + BibTeXmakeindexglossarieshyperref (with backrefs)cleverefacronymminitoc

À éviter si...

  • —Votre document n'a ni citations, ni bibliographie, ni renvois — pdfLaTeX est 3 à 5 fois plus rapide
  • —Vous faites des brouillons exploratoires — utilisez pdfLaTeX pour itérer vite, puis latexmk pour la version finale
  • —Vous avez besoin de polices système personnalisées — latexmk pilote pdfLaTeX par défaut

\usepackage{formatex-api}

json
{
  "latex": "\\documentclass{article}...",
  "engine": "latexmk"
}

\begin{tabular}

Comparaison rapide

Les quatre moteurs sont disponibles sur chaque offre. Aucune configuration requise.

FonctionnalitépdfLaTeXXeLaTeXLuaLaTeXlatexmk
Vitesse typique80–200ms150–350ms200–500ms400ms–3s
Passes de compilation111Auto (2–4)
Saisie UnicodePartielOuiOuiHérité
Polices système (OTF/TTF)NonOuiOuiNon
Scripts LuaNonNonOuiNon
Bibliographie automatiqueNonNonNonOui
Compatibilité des paquetsmaximaleélevéeélevéepdflatex

\DeclareMathOperator{choose}

Quel moteur ?

Répondez à ces questions dans l'ordre. Arrêtez-vous dès qu'une réponse correspond.

01

Votre document comporte-t-il des citations ou une bibliographie ?

Oui →Utilisez latexmk
02

Avez-vous besoin d'une police système personnalisée ou de texte de droite à gauche / multilingue ?

Oui →Utilisez XeLaTeX
03

Avez-vous besoin de scripts Lua ou de contenu généré par programmation ?

Oui →Utilisez LuaLaTeX
04

Document standard — maths, tableaux, figures ?

Oui →Utilisez pdfLaTeX

\note

En pratique

La plupart des charges de travail en production utilisent pdfLaTeX pour 80 % des documents. Passez à XeLaTeX lorsque des exigences de polices apparaissent. Réservez latexmk pour les articles de recherche riches en citations.

pdfLaTeX par défaut

Si vous générez des documents programmatiques (factures, certificats, rapports) sans polices personnalisées, pdfLaTeX offre le temps de démarrage le plus rapide.

Changer de moteur par requête

Le paramètre de moteur est défini par compilation. Une seule clé API peut utiliser pdfLaTeX, XeLaTeX et latexmk simultanément pour différents types de documents.

Utilisateurs académiques : utilisez latexmk

Les articles avec citations nécessitent presque toujours plusieurs passes. latexmk gère cela automatiquement — sans compter les passes manuellement.

LuaLaTeX pour les sorties IA

Si votre LLM génère du LaTeX avec de la logique Lua intégrée, LuaLaTeX le gère proprement. Le runtime Lua est isolé de notre côté.

\begin{document}

Quatre moteurs. Une clé API.

Sans configuration. Sans installation de TeX Live. Changez de moteur avec un seul paramètre.