这个问题实际上是基于这个答案。原始解决方案运行良好。
不过,我想补充一下案件在数字前加上单词,在数字后加上逗号。虽然在数字前加上单词可以正常工作,但数字后加上逗号会引发错误,而我未能解决这个问题。
修改后的源代码如下:
\documentclass{scrbook}
\usepackage{enumitem}
\newcounter{descriptcount}
\newlist{enumdescript}{description}{1}
\setlist[enumdescript,1]{%
before={\setcounter{descriptcount}{0}%
\renewcommand*\thedescriptcount{\arabic{descriptcount}}},
font=\bfseries\stepcounter{descriptcount}Case \thedescriptcount,~
}
\begin{document}
\begin{enumdescript}
\item item one
\item item two
\item[Some Text] item three
\item item four
\item item five
\end{enumdescript}
\end{document}
这会产生一个错误,
! Missing \endcsname inserted. <to be read again> \protect l.15 \item item one ?
\thedescriptcount
如果删除后面的逗号,它就能完美运行。
答案1
设置font=\bfseries\stepcounter{descriptcount}Case \thedescriptcount,
将导致按要求进行排版,但,
应该是排版的一部分,而不是作为键值接口的分隔符处理。省略{}
周围的一对会导致 将~
作为键,而 无法理解enumitem
。
\documentclass{scrbook}
\usepackage{enumitem}
\newcounter{descriptcount}
\newlist{enumdescript}{description}{1}
\setlist[enumdescript,1]{%
before={\setcounter{descriptcount}{0}%
\renewcommand*\thedescriptcount{\arabic{descriptcount}}},
font={\bfseries\stepcounter{descriptcount}Case \thedescriptcount,~}
}
\begin{document}
\begin{enumdescript}
\item item one
\item item two
\item[Some Text] item three
\item item four
\item item five
\end{enumdescript}
\end{document}