尝试获取计数器的 \value 时缺少零

尝试获取计数器的 \value 时缺少零

我正在使用以下代码尝试定义一个新列表,其显示效果如下图所示。当我尝试获取 mrcenumi 的 \value 并将其加一时,我得到了一个缺失的数字,该数字被视为零错误。有没有什么建议可以解释为什么会发生这种情况?

 \usepackage{enumitem}

\newcounter{mrcenumi}
\setcounter{mrcenumi}{1}%
\newcounter{mrcenumii}
\setcounter{mrcenumii}{1}%

\newlist{mrcenum}{enumerate}{3}
\setlist[mrcenum,1]{label=\themrcenumi.}
\setlist[mrcenum,2]{label=\the\numexpr(\value{mrcenumi} + 1) \relax}
\setlist[mrcenum,3]{label*=\arabic*.}

米

答案1

您需要\protect\the,因为如何enumitem设置label\setlist

\documentclass{article}
\usepackage{enumitem}

\newlist{mrcenum}{enumerate}{3}
\setlist[mrcenum,1]{label=\arabic*.}
\setlist[mrcenum,2]{label=\protect\the\numexpr\value{mrcenumi}+1\relax.\arabic*.}
\setlist[mrcenum,3]{label*=\arabic*.}

\begin{document}

\begin{mrcenum}
\item a
\item b
  \begin{mrcenum}
  \item c
  \item d
    \begin{mrcenum}
    \item e
    \item f
    \end{mrcenum}
  \item g
  \end{mrcenum}
\item h
\end{mrcenum}

\end{document}

在此处输入图片描述

相关内容