\compare{tex-vs-latex}

TeX frente a LaTeX

TeX es un motor de composición tipográfica. LaTeX es un sistema de preparación de documentos construido sobre él. Entender la distinción explica por qué resultan tan diferentes y por qué prácticamente todo el que usa uno acaba usando el otro.

TeX— motor de composición tipográficaLaTeX— sistema de documentos sobre TeX

Respuesta corta: si va a escribir un artículo, una tesis, un libro o una presentación, debería usar LaTeX (o, más exactamente, un motor de LaTeX como pdfLaTeX, XeLaTeX o LuaLaTeX). TeX por sí solo solo lo usan quienes desarrollan formatos y quienes construyen sistemas sobre el propio motor. En la práctica, cuando alguien dice «escribo en TeX», casi siempre se refiere a LaTeX.

\section{Qué es TeX}

TeX: el motor de composición tipográfica

Donald Knuth creó TeX entre 1977 y 1989 para conseguir la mejor tipografía matemática posible. Es, a la vez, un lenguaje de procesamiento de macros y un motor de composición tipográfica.

En su núcleo, TeX piensa en cajas y pegamento. Cada carácter es una caja. Los espacios son pegamento: conectores elásticos con un ancho natural, y capacidad de estirarse y comprimirse. El motor resuelve un problema de optimización global para dividir los párrafos en líneas con el mínimo de «maldad» (badness) y luego divide las páginas de la misma manera.

Las primitivas de TeX incluyen comandos como \hbox, \vbox, \penalty, \kern, \hskip. Son los átomos con los que se construyen todas las estructuras de nivel superior.

Creación1977–1989, por Donald E. Knuth
PropósitoMotor de composición tipográfica y procesador de macros
VersiónConverge hacia π (3.14159…); congelada intencionadamente
FormatoTeX simple: macros mínimas sobre el motor
SalidaDVI (independiente del dispositivo) de forma predeterminada

\section{Qué es LaTeX}

LaTeX: el sistema de preparación de documentos

Leslie Lamport creó LaTeX a principios de la década de 1980 como un conjunto de macros sobre TeX. En lugar de escribir primitivas de TeX, se escriben comandos semánticos: \section{Title} , \begin{equation} , \cite{key}. LaTeX los expande a las primitivas de TeX correctas.

LaTeX introduce clases de documento ( article, book, beamer) que definen el diseño general de la página, la jerarquía de secciones y la tipografía. Un sistema de paquetes (CTAN) aporta miles de extensiones para todo, desde química hasta música.

El estándar actual es LaTeX2e (1994). Los componentes de LaTeX3, como la capa de programación expl3 y muchos paquetes modernos, se desarrollan activamente y están muy extendidos.

Creación1983–1984, por Leslie Lamport
Versión actualLaTeX2e (1994), con mantenimiento activo
Basado enMotor TeX (pdfTeX, XeTeX, LuaTeX…)
Registro de paquetesCTAN: más de 6,000 paquetes
SalidaPDF (mediante pdfLaTeX, XeLaTeX, LuaLaTeX)

\subsection{Analogies}

Un modelo mental útil

La relación entre TeX y LaTeX equivale a la que existe entre el ensamblador y los lenguajes de alto nivel en el desarrollo de software. El nivel inferior da control total; el nivel superior da productividad.

TeX≈ Lenguaje ensamblador

Como el ensamblador, TeX le da control total sobre cada operación. Usted especifica las dimensiones exactas de las cajas, el pegamento, las penalizaciones y los kerns. Extremadamente potente, y extremadamente prolijo para las tareas cotidianas.

LaTeX≈ Lenguaje de alto nivel

Like Python or C++ compared to assembly, LaTeX provides abstractions: \section{} expands into dozens of TeX primitives. You express intent; the macros handle the details.

La pila completa

Su archivo .texMacros de LaTeXMotor TeXSalida en PDF

\begin{examples}

El mismo objetivo, dos niveles de abstracción

Ambos fragmentos producen un documento con formato. La versión de LaTeX usa una sola declaración \documentclass; TeX simple requiere declaraciones de fuentes y comandos de paginación manuales.

TeX simple
% Plain TeX — low-level typesetting primitives
\font\titlefont = cmr12 at 14pt
\font\bodyfont  = cmr10 at 11pt

{\titlefont A Plain TeX Document\par}
\medskip
{\bodyfont
This paragraph uses plain TeX primitives. There is no \\documentclass,
no \\section, and no package manager — only engine-level commands.\par}

\vfill\eject   % eject the current page
\bye            % terminate the document
LaTeX
% LaTeX — document preparation system built on top of TeX
\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}

\title{A \LaTeX\ Document}
\author{Author Name}
\date{\today}

\begin{document}
\maketitle

\section{Introduction}
LaTeX macros like \verb|\section| and \verb|\maketitle| expand into
dozens of TeX primitives automatically. You describe document structure;
TeX handles the typesetting details.

\end{document}

\subsection{Matriz de características}

Comparación lado a lado

Aspecto
TeX
LaTeX
Nivel
Motor de composición tipográfica
Sistema de preparación de documentos
Comandos
Primitivas de bajo nivel
Macros semánticas de alto nivel
Curva de aprendizaje
Muy pronunciada
Moderada
Clases de documento
Ninguna incorporada
article, report, book, beamer…
Ecosistema de paquetes
Muy limitado
Miles en CTAN
Cross-references
Números de página manuales
\label / \ref / \cite
Bibliografía
Formato manual
BibTeX / BibLaTeX + Biber
Compatibilidad con matemáticas
Matemáticas de TeX simple
amsmath, unicode-math y más

\subsection{Quién debería usar cada uno}

Elegir el nivel adecuado

Use LaTeX

Para prácticamente cualquier documento: artículos académicos, tesis, libros, informes, currículums, diapositivas de presentación (Beamer) y documentación técnica.

  • Científicos, académicos e investigadores
  • Estudiantes que escriben tesis o trabajos
  • Ingenieros y redactores técnicos
  • Cualquiera que necesite documentos estructurados con referencias
Trabaje directamente con TeX

TeX simple (u otros formatos de TeX, como ConTeXt) solo es apropiado en escenarios muy especializados.

  • Construir desde cero un formato de macros de TeX personalizado
  • Desarrollar herramientas o motores basados en TeX
  • Depuración profunda del comportamiento tipográfico de bajo nivel
  • Trabajar con formatos basados en TeX, como ConTeXt
Compile LaTeX en su navegador

Empiece a escribir LaTeX hoy mismo

FormaTeX ejecuta pdfLaTeX, XeLaTeX y LuaLaTeX al instante. Sin instalación ni configuración: solo un navegador y su código fuente .tex.