我在我的文档中使用内联枚举列表,并且我想使该标签(
与正常enumerate
环境略有不同(在前面加上)。
但是,由于enumerate*
与环境共享设置enumerate
,我该如何更改enumerate*
环境的标签?
答案1
编辑:今天,修复了一个错误的新版本已在 上发布CTAN
。
enumitem——版本 3.5.2——2011-09-28
您使用环境的可选参数:
\documentclass{article}
\usepackage[inline]{enumitem}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{enumerate*}[label=(\arabic*.)]
\item foo
\item bar
\end{enumerate*}
\lipsum[2]
\end{document}
要将此行为设置为全局,您可以使用\setlist
。
编辑
我正在使用enumitem.sty 2011/09/05 v3.5.1 Customized lists
。这个版本似乎有一个错误\setlist*
。您可以使用
\setlist[]*{}
效果很好。但文档中列出了:
\setlist*[]{}
那不管用。
这里有一个小的解决方法:
\listfiles
\documentclass{article}
\usepackage[inline]{enumitem}
\usepackage{lipsum}
\makeatletter
\def\setlist{%
\@ifstar%
{\temp@setlist}
{\temp@@setlist}
}
\newcommand\temp@setlist[1][]{%
\enit@setlist{#1}\@ne}
\newcommand\temp@@setlist[1][]{%
\enit@setlist{#1}\z@}
\makeatletter
%\setlist[enumerate]*{label=(\arabic*.)}
\setlist*[enumerate]{label=(\arabic*.)}
\makeatother
\begin{document}
\lipsum[1]
\begin{enumerate*}
\item foo
\item bar
\end{enumerate*}
\lipsum[2]
\end{document}
问题在于setlist
\newcommand\setlist[1][]{%
\@ifstar{\enit@setlist{#1}\@ne}{\enit@setlist{#1}\z@}}
setlist
测试\@ifstar
进行之前首先检查可选参数。
编辑
发送 Bug 报告。
编辑:
的作者enumitem
将会修复该错误并将在一到两周内上传新版本。
答案2
不要使用,而只需创建一个名为类型的inline
新列表。(顺便说一句,我将在一两周内修复中的错误和其他一些错误)。enumerate*
enumerate*
\setlist*