Se excedió la capacidad de TeX en el comando usepackage

Se excedió la capacidad de TeX en el comando usepackage

Recibo el siguiente mensaje de error y no tengo idea de por qué:

! TeX capacity exceeded, sorry [parameter stack size=10000].
\@fileswithoptions #1->
                       \@ifnextchar [{\@fileswith@ptions #1}{\@fileswith@pti...
l.2 \usepackage{
                pgfplots}
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.


Here is how much of TeX's memory you used:
 5 strings out of 493029
 170 string characters out of 6136233
 119745 words of memory out of 5000000
 3641 multiletter control sequences out of 15000+600000
 3640 words of font info for 14 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191

Lo extraño es que esto sucede incluso con este fragmento de código:

\documentclass[article]
\usepackage{pgfplots}

\begin{document}
\end{document}

¿Algunas ideas? ¡Gracias de antemano!

Respuesta1

Como se señaló en los comentarios, el error es un simple error tipográfico, se usa []en lugar de {}pero pensé en mencionar por qué aparece el error (y por qué es difícil dar buenos mensajes de error en un lenguaje de macros como TeX).

El uso previsto era

\documentclass{article}

con la entrada errónea siendo

\documentclass[article]

Hubiera sido bueno haberlo marcado como algún tipo de error de sintaxis de "corchete incorrecto", pero LaTeX no sabe en este momento que hay un error.

Como todos los argumentos de macro, el nombre de la clase notenerpara estar entre llaves explícitas, lo siguiente funciona sin errores

\newcommand\zzz{article}
\documentclass[article]
\zzz
\usepackage{pgfplots}

\begin{document}
\end{document}

Aquí

 \documentclass[article]\zzz

es lo mismo que

 \documentclass[article]{\zzz}

y \zzzse expande para articleque sea lo mismo que

 \documentclass[article]{article}

por lo que se ejecuta según lo previsto, con sólo una advertencia al final que indica que [article]es una opción no utilizada:

LaTeX Warning: Unused global option(s):
    [article].

Su caso es similar, excepto que en lugar de

   \documentclass[article]{\zzz}

tienes (efectivamente)

   \documentclass[article]{\usepackage}

entonces TeX se expande \usepackagecon la esperanza de encontrar un nombre de archivo al que pasar \documentclassy muere en alguna horrible expansión no intencionada; en realidad, termina en un bucle infinito hasta que llena una pila interna de manejo de parámetros macro.

la mejor pista es el salto de línea en el mensaje de error

l.2 \usepackage{
                pgfplots}

lo que le indica que TeX ha leído \usepackagepero no su argumento (porque (simplemente) \usepackagese ha tomado como argumento para \documentclass).

información relacionada