我定义自己的列表,例如mylist
。出于某种原因,我喜欢用 来命名它series
,例如series=ML
为了恢复目的:resume=ML
。在本地添加它,例如在以下 MWE 中,这会按预期工作:
\documentclass{article}
\usepackage{enumitem}
\newlist{mylist}{enumerate}{2}
\setlist[mylist,1]{leftmargin=*,label=\arabic*.}
\setlist[mylist,2]{nosep, leftmargin=*, label=(\alph*)}
\begin{document}
\begin{minipage}{\linewidth} % simulate new environment
% where I like incorporate mylist with
% \mylist ... \endmylist
\begin{mylist}[series=ML, resume=ML]
\item example A
\begin{mylist}
\item sub example A1
\item sub example A2
\end{mylist}
\end{mylist}
\end{minipage}
\bigskip
\begin{minipage}{\linewidth}
\begin{mylist}[series=ML, resume=ML]
\item example B
\begin{mylist}
\item sub example B1
\item sub example B2
\end{mylist}
\end{mylist}
\end{minipage}
\end{document}
但是,如果我series=ML, resume=ML
从选项转到mylist
喜欢\setlist
:
\documentclass{article}
\usepackage{enumitem}
\newlist{mylist}{enumerate}{2}
\setlist[mylist,1]{leftmargin=*,label=\arabic*.,
series=ML, resume=ML % <---
}
\setlist[mylist,2]{nosep, leftmargin=*, label=(\alph*)}
\begin{document}
\begin{minipage}{\linewidth}
\begin{mylist}
\item example A
\begin{mylist}
\item sub example A1
\item sub example A2
\end{mylist}
\end{mylist}
\end{minipage}
\bigskip
\begin{minipage}{\linewidth}
\begin{mylist}
\item example B
\begin{mylist}
\item sub example B1
\item sub example B2
\end{mylist}
\end{mylist}
\end{minipage}
\end{document}
它引发错误:
! Package enumitem Error: Misplaced key 'series'.
有趣的是,如果我进行强制编译,我会得到想要的结果。
在enumitem
文档中(我使用的是 2019/06/20 的 3.9 版本),没有任何地方描述不允许这样series
做\setlist
,但所有使用示例都如第一个 MWE 中所示。
有人知道如何确保enumitem
它在第二个 MWE 中正常工作而不会出现错误吗?
编辑:
在纠正我的 MWE 中的错误(添加遗漏\begin{minipage}
和\end{minipage
)意外后,我发现series
从第二个示例中的列表定义中删除可以得到所需的结果:
\usepackage{enumitem}
\newlist{mylist}{enumerate}{2}
\setlist[mylist,1]{resume=ML % <---
leftmargin=*, label=\arabic*, after=\vspace*{-0.5\baselineskip}
}
\setlist[mylist,2]{nosep, leftmargin=*, label=(\alph*)}
答案1
只需在初始声明中添加\setlist[mylist]{resume}
即可。这里不需要系列。
\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\newlist{mylist}{enumerate}{2}
\setlist[mylist]{resume}% <=================
\setlist[mylist,1]{leftmargin=*,label=\arabic*.}
\setlist[mylist,2]{nosep, leftmargin=*, label=(\alph*)}
\begin{document}
\lipsum[1][1-3]
\begin{mylist}
\item example A
\begin{mylist}
\item sub example A1
\item sub example A2
\end{mylist}
\end{mylist}
\lipsum[1-2][1-3]
\begin{mylist}
\item example B
\begin{mylist}
\item sub example B1
\item sub example B2
\end{mylist}
\lipsum[1][1-3]
\begin{mylist}
\item sub example B1
\item sub example B2
\end{mylist}
\end{mylist}
\end{document}