在 Enumerate 中获取 \@enumdepth 上一级的值

在 Enumerate 中获取 \@enumdepth 上一级的值

我正在尝试编写一个函数,该函数返回上一级项的值以及多级枚举中的当前项的值。到目前为止,这是我的 MWE:

\documentclass{article}
\usepackage{enumerate}

\makeatletter       
\newcommand{\itemAns}{
    \theenumi-\@nameuse{the\@enumctr}
}
\makeatother

\begin{document}
\begin{enumerate}
    \item ~\\
    \begin{enumerate}
        \item Actual Output: \itemAns\\ Desired Output: 1-a
        \item ~\\
        \begin{enumerate}
            \item Actual Output: \itemAns\\ Desired Output: b-i
        \end{enumerate}
    \end{enumerate}
    \item
\end{enumerate}
\end{document}

并产生以下输出:

显然,我想使用除之外的其他东西\theenumi,但我不确定如何做与我\@nameuse{the\@enumctr}在适当的情况下所做的事情类似的事情enumdepth

非常感谢您的帮助!

答案1

您可以使用以下方式构建名称\@enumdepth

\documentclass{article}

\makeatletter
\newcommand{\itemAns}{%
  \@nameuse{theenum\romannumeral\numexpr\@enumdepth-1\relax}%
  -\@nameuse{the\@enumctr}
}
\makeatother

\begin{document}

\begin{enumerate}
    \item \mbox{}
    \begin{enumerate}
        \item Actual Output: \itemAns\\ Desired Output: 1-a
        \item \mbox{}
        \begin{enumerate}
            \item Actual Output: \itemAns\\ Desired Output: b-i
        \end{enumerate}
    \end{enumerate}
    \item
\end{enumerate}

\end{document}

在此处输入图片描述

相关内容