列挙のオプション入力として変数を使用する

列挙のオプション入力として変数を使用する

次の問題を解決する方法を教えていただけますか:

次のコードはエラーを生成します

パッケージ enumitem エラー: topsep=0em、partopsep=0em 未定義

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

しかし、変数 \ListSimpleArguments を使用しない場合は動作します:

\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}  

この問題を解決するにはどうすればよいでしょうか? これらのオプションの引数を変数に定義するにはどうすればよいでしょうか?

答え1

キー=値構文のパーサーは、ないマクロを展開します。デフォルトを設定するには、パッケージの機能を使用することをお勧めします。

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

関連情報