\engines{formatex}

Cuatro motores. Una API.

pdfLaTeX, XeLaTeX, LuaLaTeX y latexmk — cada motor tiene fortalezas distintas. Elija la herramienta correcta para cada documento. Cambie con un solo parámetro.

\engine{pdflatex}

01

pdfLaTeX

El caballo de batalla

Rápido, fiable y universalmente compatible.

pdfLaTeX es el motor predeterminado por una buena razón: tiene el mayor soporte de paquetes del ecosistema TeX, los tiempos de compilación más rápidos y décadas de pruebas en millones de artículos académicos. Si su documento no requiere fuentes del sistema personalizadas ni texto de derecha a izquierda, pdfLaTeX casi siempre es la mejor opción.

Velocidad típica

80–200ms

El más rápido

Pasadas

1 (2–3 con referencias)

Soporte de fuentes

Type1, OTF mediante pdffonts — sin fuentes del sistema

\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}

Casos de uso

  • Artículos académicos

    Las plantillas de IEEE, ACM y Springer están pensadas para pdfLaTeX. La mayoría de los sistemas de envío a congresos lo esperan.

  • Documentos con muchas matemáticas

    amsmath, amssymb, amsthm — soporte completo. Ecuaciones complejas, entornos de teoremas, demostraciones.

  • Informes técnicos

    Paquetes estándar de CTAN, renderizado estable, resultados predecibles entre versiones de TeX Live.

  • Presentaciones

    La clase Beamer funciona mejor con pdfLaTeX. Ciclo de recompilación más rápido durante el desarrollo.

Paquetes populares

amsmath / amssymbTikZ + pgfplotsgeometryhyperrefbiblatexlistings / mintedalgorithm2ebeamer

Evítelo si...

  • —Necesita una fuente del sistema personalizada (OTF/TTF instalada en su equipo)
  • —Su documento contiene árabe, hebreo u otras escrituras de derecha a izquierda
  • —Necesita entrada Unicode nativa sin soluciones alternativas de codificación

\usepackage{formatex-api}

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

\engine{xelatex}

02

XeLaTeX

El tipógrafo

Unicode nativo. Fuentes del sistema. OpenType.

XeLaTeX se diseñó desde cero para la tipografía moderna. Lee UTF-8 directamente, carga cualquier fuente instalada en el sistema mediante fontspec y expone todas las funciones de OpenType: ligaduras, versalitas, alternativas estilísticas y más. El motor de referencia para documentos multilingües y composición tipográfica cuidada.

Velocidad típica

150–350ms

Rápido

Pasadas

1 (2 con bibliografía)

Soporte de fuentes

Cualquier fuente OpenType o TrueType del sistema mediante 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}

Casos de uso

  • Documentos multilingües

    polyglossia admite más de 80 idiomas. Combine árabe e inglés en un mismo documento con el cambio correcto entre RTL y LTR.

  • Tipografía de marca

    Use cualquier fuente OTF/TTF mediante fontspec. Fuentes corporativas, tipografías editoriales, identidad de marca.

  • Artículos de lingüística

    Caracteres IPA, símbolos fonéticos Unicode, escrituras personalizadas: todo se gestiona de forma nativa desde el código fuente.

  • PDF de diseño cuidado

    Acceso completo a las funciones de OpenType: ligaduras, guiones discrecionales, conjuntos estilísticos, pares de kerning.

Paquetes populares

fontspecpolyglossiaunicode-mathbidi (RTL)xeCJKmicrotypehyperrefbiblatex

Evítelo si...

  • —Solo usa fuentes TeX estándar — pdfLaTeX es más rápido
  • —La máxima velocidad de compilación es crítica
  • —Necesita scripts Lua (use LuaLaTeX en su lugar)

\usepackage{formatex-api}

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

\engine{lualatex}

03

LuaLaTeX

El programador

Scripts Lua dentro de su documento.

LuaLaTeX incorpora un intérprete completo de Lua 5.3 dentro del propio motor de composición. Puede escribir código Lua que manipule las entrañas de TeX, genere contenido por programa, recorra estructuras de datos y construya tablas dinámicas en tiempo de compilación, todo dentro de un único archivo .tex. Además comparte con XeLaTeX las capacidades de fuentes mediante fontspec.

Velocidad típica

200–500ms

Moderado

Pasadas

1–3 habitualmente

Soporte de fuentes

Igual que XeLaTeX — OpenType completo mediante 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}

Casos de uso

  • Documentos basados en datos

    Recorra matrices, construya tablas a partir de datos, calcule valores: todo en Lua en tiempo de compilación. Sin scripts externos.

  • Contenido generado por programa

    Genere estructuras repetitivas (p. ej., tablas de 50 filas, figuras paramétricas) sin copiar y pegar LaTeX.

  • Tipografía avanzada

    Acceda a las entrañas de bajo nivel de TeX mediante Lua. Kerning personalizado, manipulación de glifos, sustitución de reglas de guionado.

  • Informes dinámicos

    Incorpore la lógica de negocio en el propio documento. Condicionales, cálculos, salida con formato.

Paquetes populares

luacodefontspecluacolorluamplibluatexja (CJK)unicode-mathmicrotypepgfplots

Evítelo si...

  • —No necesita scripts Lua — XeLaTeX ofrece las mismas funciones de fuentes con menos sobrecarga
  • —Necesita la mayor compatibilidad posible de paquetes (use pdfLaTeX)
  • —La velocidad de compilación es crítica

\usepackage{formatex-api}

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

\engine{latexmk}

04

latexmk

El orquestador

Compilación automática en varias pasadas. Cada referencia resuelta.

latexmk no es un motor TeX: es un sistema de compilación inteligente que envuelve pdfLaTeX y lo ejecuta tantas veces como haga falta para resolver todas las referencias adelantadas, citas, entradas del índice general e índices alfabéticos. Cuando especifica latexmk, FormaTeX usa pdfLaTeX como motor subyacente y gestiona la lógica de las pasadas automáticamente.

Velocidad típica

400ms–3s

Variable

Pasadas

Detección automática (normalmente 2–4)

Soporte de fuentes

Igual que pdfLaTeX (latexmk usa pdfLaTeX por defecto)

\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}

Casos de uso

  • Artículos académicos con citas

    Las bibliografías de BibTeX y Biber requieren al menos dos pasadas. latexmk lo gestiona automáticamente.

  • Libros y tesis

    Índice general, lista de figuras, índices, glosarios: todo se resuelve a lo largo de varias pasadas.

  • Documentos con referencias cruzadas

    \ref, \pageref, \eqref y \autoref necesitan una segunda pasada. latexmk la detecta y vuelve a ejecutar cuando hace falta.

  • Documentos con pares \label/\ref

    Cualquier documento con referencias internas. latexmk comprueba el archivo .aux tras cada pasada para verificar que está completo.

Paquetes populares

biblatex + bibernatbib + BibTeXmakeindexglossarieshyperref (with backrefs)cleverefacronymminitoc

Evítelo si...

  • —Su documento no tiene citas, bibliografía ni referencias cruzadas — pdfLaTeX es de 3 a 5 veces más rápido
  • —Está haciendo borradores exploratorios — use pdfLaTeX para iterar rápido y pase a latexmk para la versión final
  • —Necesita fuentes del sistema personalizadas — latexmk usa pdfLaTeX por defecto

\usepackage{formatex-api}

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

\begin{tabular}

Comparación rápida

Los cuatro motores están disponibles en todos los planes. No requiere configuración.

FunciónpdfLaTeXXeLaTeXLuaLaTeXlatexmk
Velocidad típica80–200ms150–350ms200–500ms400ms–3s
Pasadas de compilación111Auto (2–4)
Entrada UnicodeParcialSíSíHeredado
Fuentes del sistema (OTF/TTF)NoSíSíNo
Scripts LuaNoNoSíNo
Bibliografía automáticaNoNoNoSí
Compatibilidad de paquetesmáximaaltaaltapdflatex

\DeclareMathOperator{choose}

¿Qué motor?

Responda estas preguntas en orden. Deténgase cuando encuentre una coincidencia.

01

¿Su documento tiene citas o bibliografía?

Sí →Use latexmk
02

¿Necesita una fuente del sistema personalizada o texto de derecha a izquierda / multilingüe?

Sí →Use XeLaTeX
03

¿Necesita scripts Lua o contenido generado por programa?

Sí →Use LuaLaTeX
04

¿Documento estándar: matemáticas, tablas, figuras?

Sí →Use pdfLaTeX

\note

En la práctica

La mayoría de las cargas de trabajo en producción usan pdfLaTeX para el 80% de los documentos. Agregue XeLaTeX cuando surjan requisitos de fuentes. Reserve latexmk para artículos de investigación con muchas citas.

Use pdfLaTeX por defecto

Si genera documentos programáticos (facturas, certificados, informes) sin fuentes personalizadas, pdfLaTeX ofrece el tiempo de inicio en frío más rápido.

Cambie de motor por solicitud

El parámetro de motor es por compilación. Una sola clave API puede manejar pdfLaTeX, XeLaTeX y latexmk para diferentes tipos de documentos simultáneamente.

Usuarios académicos: use latexmk

Los artículos con citas casi siempre necesitan múltiples pasadas. latexmk gestiona esto automáticamente — sin contar pasadas manualmente.

LuaLaTeX para salidas de IA

Si su LLM genera LaTeX con lógica Lua en línea, LuaLaTeX lo maneja limpiamente. El entorno de ejecución Lua está aislado en nuestro lado.

\begin{document}

Los cuatro motores. Una sola clave API.

Sin configuración. Sin instalaciones de TeX Live. Cambie de motor con un solo parámetro.