TeX Live 2024 sigue distribuyendo una orden llamada amstex. Ejecútela y la bandera dice This is pdfTeX ... (preloaded format=amstex) seguido de AmS-TeX- Version 2.2, y aparece un .dvi. El archivo que hay detrás, amstex.tex, lleva fecha de 4 de octubre de 2001 — intacto desde hace casi un cuarto de siglo. AMS-TeX es el paquete de macros que el matemático Michael Spivak escribió sobre plain TeX para la American Mathematical Society, una manera de «usar TeX» paralela a LaTeX y separada de él. Ya nadie lo invoca directamente y, sin embargo, su descendencia corre cada vez que uno escribe \usepackage{amsmath}. Esta página comprueba ambas mitades — la congelada y la viva — abriendo los archivos reales.
Qué es AMS-TeX: un paquete de macros apilado sobre plain TeX
AMS-TeX es un paquete de macros apilado sobre el plain TeX de Knuth. No es antepasado ni hermano del LaTeX de Leslie Lamport, sino otro idioma levantado sobre el mismo cimiento. En los años ochenta estaba claro que TeX podía componer matemáticas, pero esperar que los autores montaran a mano alineaciones de varias líneas y diagramas conmutativos no era realista. Spivak asumió esa tarea y vertió en macros las reglas de la casa AMS — tipos, espaciados, tratamiento de los símbolos. El manual que lo explica se titula The Joy of TeX, y la bibliografía de amsldoc.tex, distribuido con TeX Live, lo sigue citando: Michael Spivak, The joy of TeX, 2nd revised ed., Amer. Math. Soc., Providence, RI, 1990.
Al ser su propio formato, el marcado no se parece en nada a LaTeX. El cuerpo se envuelve en \document … \enddocument y no en \documentclass … \begin{document}; los títulos son \head; los enunciados tipo teorema, \proclaim; y toda la apariencia llega mediante \documentstyle{amsppt}. Los alfabetos matemáticos tienen también nombres propios: la fraktur es \frak y la negrita de pizarra — las mayúsculas huecas — es \Bbb. Todo ello se apoya en AMSFonts, la colección tipográfica que reunió la AMS, cuyos nombres eufm (fraktur), msam y msbm (símbolos adicionales) siguen usándose hoy del lado de LaTeX.
amstex es un formato, no un motor: dentro está pdfTeX
No existe ningún ejecutable llamado amstex. En TeX Live 2024 es un enlace simbólico a pdftex, y la línea 48 de fmtutil.cnf — amstex pdftex - -translate-file=cp227.tcx *amstex.ini — es la instrucción para grabar el formato AMS-TeX sobre pdfTeX. El mismo truco vale para latex, pdflatex, csplain y etex, todos ellos también enlaces a pdftex; aquí queda a la vista la estructura básica de TeX — un motor, muchos formatos. Lo curioso es la salida: aunque corre sobre pdfTeX, amstex emite DVI. Su amstex.ini nunca activa la salida PDF, de modo que también en eso los años noventa quedan intactos.
$ ls -l /usr/local/texlive/2024/bin/universal-darwin/amstex
amstex -> pdftex
$ grep "^amstex" /usr/local/texlive/2024/texmf-dist/web2c/fmtutil.cnf
amstex pdftex - -translate-file=cp227.tcx *amstex.ini
$ amstex paper.tex
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=amstex)
AmS-TeX- Version 2.2
(.../amstex/base/amsppt.sty version 2.2 (2001/08/07): ... )
Output written on paper.dvi (1 page, 1168 bytes).La separación se palpa en los mensajes de error. Entregue un manuscrito LaTeX a amstex y falla en la línea uno con ! Undefined control sequence. seguido de l.1 \documentclass — AMS-TeX no conoce esa orden. Al revés, entregue un manuscrito AMS-TeX a pdflatex y \documentstyle, \topmatter, \endtitle y los demás lanzan cada uno ! Undefined control sequence., hasta acabar en ! LaTeX Error: Missing \begin{document}. Ver ese par de errores indica que el manuscrito y la orden no encajan.
La historia de amsmath, contada en tres generaciones de \frac
Lo que AMS-TeX inventó y amsmath heredó sigue siendo el núcleo de las matemáticas en LaTeX. Nada lo muestra con más nitidez que tres generaciones de \frac, las tres vivas a la vez dentro de TeX Live 2024: la línea 325 de amstex.tex tiene \def\frac#1#2{{#1\over#2}}; la línea 12700 de latex.ltx tiene \DeclareRobustCommand\frac[2]{{\begingroup#1\endgroup\over#2}}; y la línea 234 de amsmath.sty tiene \DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}}. La forma escueta de AMS-TeX la ordena LaTeX en una que acota sus argumentos, y amsmath cambia después \over por la primitiva reservada \@@over. En el instante en que escribe \usepackage{amsmath}, su \frac pasa a ser el de tercera generación.
% amstex.tex:325 (AMS-TeX 2.2, 2001)
\def\frac#1#2{{#1\over#2}}
% latex.ltx:12700 (the LaTeX kernel)
\DeclareRobustCommand\frac[2]{{\begingroup#1\endgroup\over#2}}
% amsmath.sty:234 (v2.17o, 2023/05/13 in TeX Live 2024)
\DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}}\frac es la punta del iceberg. Abra amstex.tex, cuente los nombres de órdenes y no dejará de encontrar cosas que da por sentadas en LaTeX: \dfrac, \tfrac, \binom, \text, \align, \gather, \multline, \cases, \matrix, \pmatrix, \smallmatrix, \boxed, \operatorname, \intertext, \hdotsfor, \sideset. Ninguno existe en plain.tex ni en latex.ltx. Buena parte del giro idiomático de la escritura matemática en TeX no la inventó ni Knuth ni Lamport, sino AMS-TeX. Si dispone del entorno align en LaTeX es porque Spivak escribió \def\align.
% AMS-TeX (legacy: processed with the amstex format)
\align
(a+b)^2 &= a^2 + 2ab + b^2 \\
(a-b)^2 &= a^2 - 2ab + b^2
\endalign
% the same thing in modern LaTeX
\usepackage{amsmath}
\begin{align}
(a+b)^2 &= a^2 + 2ab + b^2 \\
(a-b)^2 &= a^2 - 2ab + b^2
\end{align}El traslado, 1988–1994: el paquete se llamó amstex durante seis años
El desarrollo del traslado sobrevive en palabras de sus propios protagonistas, en la sección «Credits» de amsmath.dtx, que se distribuye con TeX Live. Allí se lee que buena parte del código de amsmath procede del amstex.tex de Michael Spivak; el primer trabajo de portarlo a un paquete LaTeX, amstex.sty, lo hicieron en 1988–1989 Frank Mittelbach y Rainer Schöpf. En 1994, David M. Jones añadió el soporte de la opción fleqn y mejoró ampliamente la familia de entornos align y la numeración de ecuaciones, mientras Michael Downes, en la AMS, coordinaba el trabajo de los tres. La última frase es la reveladora: las versiones 1.0 y 1.1 del paquete se llamaban amstex, no amsmath — el nombre cambió en 1994, en palabras del propio documento, para orientarlo al usuario y no a la historia.
La familia resultante se conoce colectivamente como AMS-LaTeX: los paquetes amsmath, amssymb, amsthm y amscd, junto con las clases de documento de la AMS amsart (artículos), amsbook (libros) y amsproc (actas). Los símbolos se trasladaron en el mismo movimiento: cargar amssymb arrastra amsfonts por dentro, y el \Bbb de AMS-TeX pasó a ser \mathbb (de la fuente msbm), mientras que \frak pasó a ser \mathfrak (de la fuente eufm). Solo cambiaron los nombres; los trazos de las letras son los mismos.
| Componente | Qué es y qué hace | Versión en TeX Live 2024 |
|---|---|---|
amstex.tex | El propio AMS-TeX: el juego de macros sobre plain TeX | Version 2.2, con fecha 2001/10/04 |
amsppt.sty | El estilo de la casa AMS-TeX; \head, \proclaim, \topmatter viven aquí | version 2.2 (2001/08/07) |
amsmath | El paquete matemático central: align, gather, cases y demás | v2.17o (2023/05/13); mantenido en común por el LaTeX Project y la AMS |
amssymb | Símbolos adicionales y alfabetos matemáticos; carga amsfonts por dentro | \mathbb viene de msbm, \mathfrak de eufm |
amsthm | Entornos de teorema y demostración; proof y un \newtheorem ampliado | el sucesor del \proclaim de AMS-TeX |
amscd | Un entorno para diagramas conmutativos (solo flechas horizontales y verticales) | para flechas diagonales, pase a tikz-cd |
amsart / amsbook / amsproc | Las clases de documento de la AMS (artículo, libro, actas) | amsart está en v2.20.6 (2020/05/29) |
El año en que se le dijo a AMS-TeX que no era software libre
AMS-TeX llegó a la versión 2.2 por una razón de licencia, no técnica. El registro de cambios que lo acompaña, amstex.bug, anota bajo «Changes released July 2001» la petición de eliminar el aviso de copyright y la restricción de uso que se imprimían en el terminal y en el registro en cada ejecución. El motivo declarado: esa restricción convertía a AMS-TeX en «not free software» a efectos de TeX Live. Y a continuación: Changed: Version 2.2 (August 2001). Así que si la bandera es tan parca cuando hoy ejecuta amstex, es porque en 2001 le cortaron una docena larga de líneas. El episodio no es raro en la historia del software; lo raro es que el archivo afectado se venga distribuyendo intacto desde entonces.
Cómo escribir hoy nuevos documentos matemáticos
Ya no hay motivo para arrancar la orden amstex. Empiece un informe, unos apuntes o un artículo nuevo como documento LaTeX y cargue los paquetes AMS-LaTeX que necesite: amsmath para alineaciones, amssymb para símbolos adicionales como la negrita de pizarra, amsthm para teoremas, lemas y demostraciones. Para una revista o un libro de la AMS, añada amsart o amsbook como clase. Lo que AMS-TeX tiene que enseñar no es una lista de órdenes antiguas sino la costumbre de marcar la estructura matemática por su significado. Elegir entre align, gather y multline no es cuestión de apariencia: distingue «esto debe alinearse en el signo igual», «esto simplemente va junto» y «esta única fórmula es demasiado larga para una línea».
\documentclass{article}
\usepackage{amsmath,amssymb,amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}
For all real $a$ and $b$ and every $z \in \mathbb{C}$,
\begin{align}
(a+b)^2 &= a^2 + 2ab + b^2, \\
\operatorname{Re}(z) &= \tfrac{1}{2}\left(z + \bar{z}\right).
\end{align}
\end{theorem}
\begin{proof}
Expand and collect terms.
\end{proof}
\end{document}- El cuerpo empieza en
\begin{document}, no en\document, y la clase se declara con\documentclass{...}, no con\documentstyle{amsppt}. - Los títulos son
\sectiony sus parientes, no\head … \endhead; la numeración y el índice vienen de propina. - No fabrique los enunciados a mano con
\proclaim: declárelos con\newtheoremdeamsthm, que trae consigo un esquema de numeración. El entornoproofcoloca incluso la marca de fin de demostración. - La negrita de pizarra es
\mathbb, no\Bbb; la fraktur es\mathfrak, no\frak. Cargaramssymbda ambas. amscdsuele bastar para diagramas conmutativos, pero en cuanto hagan falta flechas diagonales o curvas, pase atikz-cd.
Cuando hereda un manuscrito AMS-TeX
La primera tarea no es reescribir sino asegurar un PDF reproducible. Si de unos apuntes antiguos o del archivo de una editorial aparece un manuscrito con \document, \enddocument y \documentstyle{amsppt}, pruebe primero amstex oldfile.tex sin tocar nada. Ahí está la mayor parte del motivo por el que amstex sigue en TeX Live 2024: tiene valor real que un manuscrito de hace veinte años siga componiéndose exactamente igual. Con ese PDF de referencia en la mano, migre a LaTeX más amsmath sección a sección, comparando sobre la marcha. Los números de ecuación, los saltos de línea y los contadores de teoremas son lo primero que se desplaza en una migración, así que vigílelos en especial.
Al final, AMS-TeX ocupa una posición poco común: congelado, pero no muerto. Los archivos se detuvieron en 2001, el formato se sigue grabando y los manuscritos antiguos siguen compilando. Entretanto el trabajo se mudó a amsmath, que el LaTeX Project y la AMS mantienen juntos y siguen actualizando — la versión que trae TeX Live 2024 es la v2.17o, de 2023/05/13. La cabecera de amsmath.sty lleva dos líneas seguidas, Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society. y Copyright (C) 2016-2023 LaTeX Project and American Mathematical Society., de modo que la fecha del relevo es el propio aviso de copyright. Cuando escribe \usepackage{amsmath}, la sintaxis que corre es la de Spivak; quienes la mantienen al día son otros.