新的列表环境:使用“后验”格式的自动枚举

新的列表环境:使用“后验”格式的自动枚举

这是嵌套枚举标签,附加父标签和一组括号

首先,抱歉我的英语不好,我目前正在学习。

是否存在任何形式,可以在本地环境中先设置数字,然后将其括在括号中?我正在创建我的个人labelist环境,我遇到了同样的问题。首先是我的预期输出,然后是我的实际代码:

(A) Item 1
  (A.1) Other item
  (A.2) Other item
(B) Item 2
  (B.1) More items.
     (B.1.1) Third level.
     (B.1.2) Other third-level item.
(C) And so on

这是我的实际自定义环境的代码:

\newcounter{list@depth}
\setcounter{list@depth}{0}

\newenvironment{labelist}{%

   \stepcounter{list@depth}

   \ifnumcomp{\value{list@depth}}{=}{0}{
      \begin{enumerate}[label=\Alpha*]
   }{
      \begin{enumerate}[label*=.\arabic*]
   }

   %% Here enclose the actual format between parenthesis

 }{%
    \ifnumcomp{\value{list@depth}}{=}{1}{
       \setcounter{list@depth}{0}
    }{
        \addtocounter{list@depth}{-1}
    }

    \end{enumerate}
 }

使用此代码,只有我得到这样的输出:

A Item 1
  A.1 Other item
  A.2 Other item
B Item 2
  B.1 More items.
     B.1.1 Third level.
     B.1.2 Other third-level item.
C And so on

因为我只需要添加括号括起来的标签(“后验”格式)。

答案1

这是使用该enumitem包的解决方案。

在此处输入图片描述

我第一次尝试使用了诸如label*=(\Alph*)但当然这产生了诸如

(A)(A)

这并不是我们想要的。

下面我labelist使用\newlist命令创建了一个newlist环境,并且使用\setlist命令结合计数器labelisti(第一级),labelistii(第二级),labelistiii(第三级)。

\documentclass{article}

\usepackage{enumitem}
\newlist{labelist}{enumerate}{5}

\setlist[labelist,1]{label*=(\Alph*)}
\setlist[labelist,2]{label=(\Alph{labelisti}.\arabic{labelistii})}
\setlist[labelist,3]{label=(\Alph{labelistii}.\arabic{labelistii}.\arabic{labelistiii})}
\setlist[labelist,4]{label=(\Alph{labelistii}.\arabic{labelistii}.\arabic{labelistiii}.\arabic{labelistiv})}
\setlist[labelist,5]{label=(\Alph{labelistii}.\arabic{labelistii}.\arabic{labelistiii}.\arabic{labelistiv}.\arabic{labelistv})}
\begin{document}


\begin{labelist}
    \item First level
    \begin{labelist}
        \item Second level
        \item Second level
        \begin{labelist}
            \item Third level
            \item Third level
        \end{labelist}
    \end{labelist}
    \item First level
    \begin{labelist}
        \item Second level
        \item Second level
         \begin{labelist}
             \item Third level
             \item Third level
             \begin{labelist}
                    \item Fourth level
                    \item Fourth level
                    \begin{labelist}
                            \item Fifth level
                            \item Fifth level
                        \end{labelist}
                \end{labelist}
         \end{labelist}
    \end{labelist}
\end{labelist}
\end{document}

相关内容