在枚举描述列表中添加一些常用文本

在枚举描述列表中添加一些常用文本

这个问题实际上是基于这个答案。原始解决方案运行良好。

不过,我想补充一下案件在数字前加上单词,在数字后加上逗号。虽然在数字前加上单词可以正常工作,但数字后加上逗号会引发错误,而我未能解决这个问题。

修改后的源代码如下:

\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}

在此处输入图片描述

相关内容