当enumitem
列表恢复后,应用了一些额外的垂直空间,从第二项的垂直对齐差异可以看出:
我认为这与有关topsep
。因此,topsep
每次恢复列表时我都可以手动调整参数,但我想知道是否有办法定义列表MyEnumerate
,以便恢复列表的值topsep
(以及可能需要调整的任何其他内容)与初始(非恢复)列表不同。
此外,就其他间距参数topsep
而言,所需值的正确数学计算是什么?enumitem
参考:
代码:
\documentclass{article}
\usepackage{enumitem}
\newlist{MyEnumerate}{enumerate}{3}
\setlist[MyEnumerate]{label*=(\arabic*)}
\begin{document}
\begin{minipage}[t]{0.45\linewidth}
My List of items:
\begin{MyEnumerate}
\item First Item.
\item Second Item.
\item Third Item.
\item Fourth Item.
\end{MyEnumerate}%
End of list.
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.45\linewidth}
My List of items:
\begin{MyEnumerate}[series=foo]
\item First Item.
\end{MyEnumerate}
\begin{MyEnumerate}[resume*=foo]
\item Second Item (resumed).
\end{MyEnumerate}%
\begin{MyEnumerate}[resume*=foo]
\item Third Item (resumed).
\end{MyEnumerate}%
\begin{MyEnumerate}[resume*=foo]
\item Fourth Item (resumed).
\end{MyEnumerate}%
End of resumed list.
\end{minipage}%
\end{document}
答案1
您可以使用新环境来恢复列表。这不像定义新Resume
键或重新定义那么酷resume
,但是……
\documentclass{article}
\usepackage{enumitem}
\newlist{MyEnumerate}{enumerate}{3}
\setlist[MyEnumerate]{label*=(\arabic*)}
\newenvironment{MyResume}[1]{%
\begin{MyEnumerate}[resume*=#1,topsep=\itemsep,partopsep=\parsep]}{%
\end{MyEnumerate}}
\begin{document}
\begin{minipage}[t]{0.45\linewidth}
My List of items:
\begin{MyEnumerate}
\item First Item.
\item Second Item.
\item Third Item.
\item Fourth Item.
\end{MyEnumerate}%
End of list.
\end{minipage}%
\hfill%
\begin{minipage}[t]{0.45\linewidth}
My List of items:
\begin{MyEnumerate}[series=foo]
\item First Item.
\end{MyEnumerate}
\begin{MyResume}{foo}
\item Second Item (resumed).
\end{MyResume}%
\begin{MyResume}{foo}
\item Third Item (resumed).
\end{MyResume}%
\begin{MyResume}{foo}
\item Fourth Item (resumed).
\end{MyResume}%
End of resumed list.
\end{minipage}%
\end{document}