我正在使用enumitem
包,并且我经常在代码中输入如下参数:
\begin{enumerate}[topsep=0.1cm, itemsep=0cm, parsep=0cm, label=(\roman*)]
\item
\end{enumerate}
我尝试通过定义命令来加快此速度:
\newcommand{\EnumParams}{topsep=0.1cm, itemsep=0cm, parsep=0cm, label=(\roman*)}
但是,当我运行以下命令时,显示错误。
\begin{enumerate}[\EnumParams]
\item
\end{enumerate}
你能说出为什么会崩溃吗?有什么解决办法吗?
我也尝试定义:
\newcommand{\EnumParams}{\ItemSep, \ParSep, \TopSep, \Label}
\newcommand{\ItemSep}{itemsep=0cm}
\newcommand{\ParSep}{parsep=0cm}
\newcommand{\TopSep}{topsep=0.1cm}
\newcommand{\Label}{label=(\roman*)}
但这也显示出错误。
答案1
您有几种选择:您可以定义自己的密钥,或者完全定义一个新列表。
\documentclass{article}
\usepackage{enumitem}
% 1st possibility: define new key
\SetEnumitemKey{mystyle}{topsep=0.1cm, itemsep=0cm, parsep=0cm, label=(\roman*)}
% 2nd possibility: define new list
\newlist{mylist}{enumerate}{1}% last parameter is maximum depth of nested lists
\setlist[mylist]{topsep=0.1cm, itemsep=0cm, parsep=0cm, label=(\roman*)}
\begin{document}
\noindent
Either
\begin{enumerate}[mystyle]
\item foo
\item bar
\item baz
\end{enumerate}
or equivalently
\begin{mylist}
\item foo
\item bar
\item baz
\end{mylist}
\end{document}
答案2
您可以使用给定的选项创建一个新的环境:
\documentclass{article}
\usepackage{enumitem}
\newenvironment{myenumerate}{\enumerate[topsep=0.1cm, itemsep=0cm, parsep=0cm, label=(\roman*)]}%
{\endenumerate}
\begin{document}
\begin{myenumerate}
\item
\end{myenumerate}
\end{document}