Use variável como entrada opcional em enumerar

Use variável como entrada opcional em enumerar

Alguém pode me dizer como resolver o seguinte problema:

O código a seguir produz o erro

Erro de enumitem do pacote: 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}  

Mas quando não uso a variável \ListSimpleArguments então 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 posso resolver esse problema? Como posso definir esses argumentos opcionais em uma variável?

Responder1

Os analisadores da sintaxe chave=valor tomam cuidadonãopara expandir macros. É melhor usar as facilidades do pacote para definir os padrões:

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

informação relacionada