Utilice variable como entrada opcional en enumerar

Utilice variable como entrada opcional en enumerar

¿Alguien puede decirme cómo solucionar el siguiente problema?

El siguiente código produce el error.

Error de enumitem del paquete: topsep=0em,partopsep=0em indefinido

\documentclass[11pt]{amsart}
\usepackage{enumitem}
\def \ListSimpleArguments {topsep=0em,partopsep=0em}
\begin{document}
\begin{enumerate}[\ListSimpleArguments]
    \item aaa
\end{enumerate}
\end{document}  

Pero cuando no uso la variable \ListSimpleArguments entonces funciona:

\documentclass[11pt]{amsart}
\usepackage{enumitem}
\def \ListSimpleArguments {topsep=0em,partopsep=0em}
\begin{document}
\begin{enumerate}[topsep=0em,partopsep=0em]
    \item aaa
\end{enumerate}
\end{document}  

¿Como puedó resolver esté problema? ¿Cómo puedo definir estos argumentos opcionales en una variable?

Respuesta1

Los analizadores de sintaxis clave=valor tienen cuidadonopara expandir macros. Es mejor utilizar las funciones del paquete para configurar los valores predeterminados:

\documentclass[11pt]{amsart}
\usepackage{enumitem}
\setlist[enumerate]{topsep=0em,partopsep=0em}
\begin{document}
\begin{enumerate}
    \item aaa
\end{enumerate}
\end{document}  

información relacionada