\engine{pdflatex}

pdfLaTeX Guía

pdfLaTeX es el motor LaTeX más rápido y con mayor compatibilidad. Compila el código fuente .tex directamente a PDF, tiene el soporte de paquetes más amplio de todos los motores y sigue siendo el motor predeterminado de la mayoría de las plantillas y editores en línea de LaTeX.

pdfLaTeX— el motor más rápido, máxima compatibilidad

\section{Qué es pdfLaTeX}

¿Qué es pdfLaTeX?

pdfLaTeX es una extensión del motor de composición TeX original de Donald Knuth, desarrollada por Hàn Thế Thành en la década de 1990. Mientras que el TeX original producía archivos DVI (independientes del dispositivo), pdfLaTeX produce PDF directamente, lo que elimina el paso de conversión de DVI a PDF y habilita funciones propias del PDF como hipervínculos, marcadores, metadatos y fuentes incrustadas.

El motor más rápido

Compila documentos sencillos en menos de 1 segundo. El más rápido de todos los principales motores LaTeX.

Máxima compatibilidad

Casi todos los paquetes de CTAN se dirigen primero a pdfLaTeX. Espere problemas de incompatibilidad prácticamente nulos.

Soporte de microtype

Protrusión y expansión completas de caracteres para una microtipografía de nivel profesional.

\section{Cuándo usarlo}

Cuándo usar pdfLaTeX

El documento usa texto latino estándar (inglés, francés, alemán, español…)
Necesita la mayor velocidad de compilación posible
La plantilla o la revista exige pdfLaTeX (la mayoría de las conferencias académicas)
Depende de microtype para el refinamiento tipográfico
Se requiere la máxima compatibilidad con los paquetes de CTAN
Está enseñando LaTeX y quiere la máxima disponibilidad de recursos
El documento es un artículo, informe o libro estándar sin necesidades especiales de fuentes
Está usando tikz, pgfplots, beamer u otros paquetes optimizados para pdfLaTeX

\subsection{Comandos de compilación}

Ejecutar pdfLaTeX desde la línea de comandos

pdfLaTeX está disponible en toda instalación de TeX Live. A continuación se muestran las invocaciones más comunes, desde una compilación básica de una sola pasada hasta un pipeline completo con bibliografía. O use latexmk para automatizar el pipeline de varias pasadas.

Comandos de compilación de pdfLaTeX
# Basic pdfLaTeX compilation
pdflatex document.tex

# Suppress most terminal output (nonstopmode)
pdflatex -interaction=nonstopmode document.tex

# Run twice to resolve cross-references
pdflatex -interaction=nonstopmode document.tex
pdflatex -interaction=nonstopmode document.tex

# Full pipeline with bibliography
pdflatex -interaction=nonstopmode document.tex
bibtex document
pdflatex -interaction=nonstopmode document.tex
pdflatex -interaction=nonstopmode document.tex

# Write output to a specific directory
pdflatex -output-directory=./build document.tex

En la mayoría de los documentos con referencias cruzadas, pdfLaTeX debe ejecutarse al menos dos veces: una para registrar las referencias y otra para resolverlas. Los documentos con bibliografía requieren una ejecución de bibtex o biber entre las pasadas de pdfLaTeX.

\subsection{Opciones comunes}

Opciones comunes de pdfLaTeX

Estas opciones controlan cómo pdfLaTeX maneja los errores, las rutas de salida y el acceso al shell. La mayoría de los pipelines de CI/CD usan -interaction=nonstopmode y -halt-on-error juntos.

-interaction=nonstopmode

Se ejecuta sin detenerse ante los errores. Los errores se registran, pero la compilación continúa. Esencial para los pipelines de CI/CD.

-interaction=batchmode

Como nonstopmode, pero además suprime toda la salida de la terminal. Útil para la compilación silenciosa por lotes.

-output-directory=<dir>

Escribe todos los archivos de salida (.pdf, .log, .aux) en el directorio indicado. Mantiene limpio su árbol de código fuente.

-jobname=<name>

Reemplaza el nombre del archivo de salida. Útil cuando su archivo .tex tiene un nombre genérico (por ejemplo, main.tex).

-halt-on-error

Se detiene de inmediato ante el primer error. Combínelo con -interaction=nonstopmode para una validación estricta en CI.

-shell-escape

Permite que TeX ejecute comandos de shell externos. Lo requieren paquetes como minted (resaltado de sintaxis) y epstopdf.

-file-line-error

Imprime los errores en formato file:line:error, más fácil de analizar en IDE y escáneres de registros de CI.

-synctex=1

Genera un archivo SyncTeX que asigna las posiciones del PDF a las líneas del código fuente. Habilita la sincronización entre código y PDF en los editores.

\section{Limitations}

Limitaciones conocidas

pdfLaTeX es el motor más maduro, pero fue diseñado en la década de 1990 y arrastra limitaciones de arquitectura que los motores más nuevos resuelven.

Sin entrada Unicode nativa

pdfLaTeX treats source files as 8-bit byte streams. You must add \usepackage[utf8]{inputenc} and \usepackage[T1]{fontenc} for UTF-8 support. Characters outside the T1 font encoding require extra packages or workarounds.

Sin acceso a las fuentes del sistema

pdfLaTeX no puede cargar fuentes arbitrarias de su sistema operativo. Está limitado a las fuentes preinstaladas en su distribución de TeX (Computer Modern, Latin Modern, etc.) o a las fuentes empaquetadas para TeX en CTAN.

Sin fuentes matemáticas OpenType

Las fuentes matemáticas OpenType modernas (XITS Math, Libertinus Math, Fira Math) no son accesibles desde pdfLaTeX. Si necesita estas fuentes, cambie a XeLaTeX o LuaLaTeX con el paquete unicode-math.

Soporte limitado de escrituras de derecha a izquierda y complejas

Los idiomas de derecha a izquierda (árabe, hebreo) y las escrituras complejas (devanagari, tailandés) requieren soluciones alternativas engorrosas en pdfLaTeX. XeLaTeX y LuaLaTeX las manejan de forma nativa.

Limitaciones de microtype en algunas funciones

Aunque pdfLaTeX tiene el mejor soporte de microtype, las funciones completas de protrusión y expansión de caracteres requieren fuentes en formato Type 1 u OTF. Algunos paquetes de fuentes más recientes pueden tener un soporte reducido de microtype.

\section{Alternatives}

Cuándo cambiar a otro motor

pdfLaTeX es la opción predeterminada adecuada para la mayoría de los documentos. Cambie de motor solo cuando no pueda cumplir un requisito específico.

Su documento contiene árabe, chino, hebreo u otras escrituras no latinas

XeLaTeX o LuaLaTeX

Necesita usar una fuente personalizada del sistema (por ejemplo, una fuente de marca de su sistema operativo)

XeLaTeX

Desea usar scripting con Lua para generar el contenido del documento mediante programación

LuaLaTeX

Necesita fuentes matemáticas OpenType modernas como XITS Math o Libertinus Math

XeLaTeX o LuaLaTeX

Desea que latexmk gestione automáticamente el pipeline de compilación de varias pasadas

latexmk (envuelve pdfLaTeX)

\subsection{Uso de la API}

Compilar con pdfLaTeX mediante la API de FormaTeX

FormaTeX ejecuta pdfLaTeX en el servidor. Usted envía código fuente LaTeX y nosotros devolvemos un PDF. No necesita instalar TeX Live por su cuenta.

Pase "engine": "pdflatex" en su solicitud de compilación

Los cuatro motores (pdfLaTeX, XeLaTeX, LuaLaTeX y latexmk) están disponibles en todos los planes. Cambiar de motor solo requiere modificar el campo engine en su solicitud a la API. Consulte la descripción general de motores para ver la lista completa de opciones.

pdfLaTeX disponible en todos los planes

Compile documentos pdfLaTeX al instante

FormaTeX ejecuta pdfLaTeX, XeLaTeX, LuaLaTeX y latexmk en la nube. Sin instalación local. Una clave de API, cero infraestructura.