我正在处理一个文本,其中包含一长串编号项目(其中一些带有子编号)。在正常情况下,不会出现问题,但有人(不是我)想要交叉引用另一组编号项目。如果“我的”列表中的项目是大写字母,而另一个列表中的项目是小写字母,则列表的顶层如下所示:
A(a)。B(b)。C(f)。D(h 和 u)。E(z)。
子项列表没有双重标记。
有没有办法添加一个(可选)参数,\enumerate
它将添加我在括号中给出的数字,并且如果我不提供该参数,它将消除括号中的参数?像这样:
\item First item
\item {32} Second item
\begin{enumerate}
\item Sub-item one
\item Sub-item two
\item Sub-item three
\end{enumerate}
\item {4 and 68} Third item
\item Fourth item
\end{enumerate}
原则上,这将产生:
- 第一项
2 (32). 第二项
a) Sub-item one
b) Sub-item two
c) Sub-item three
3(4和68)。第三项
- 第四项
(请注意每个标签后的句号和二级列表中的括号的位置。)
答案1
一般来说,做到这一点确实很困难\item
。
\documentclass{article}
\usepackage{enumitem}
\newlist{bienumerate}{enumerate}{1}
\setlist[bienumerate]{%
label=\arabic*\additionallabel.,
wide,
}
\NewDocumentCommand{\additionallabel}{}{}
\NewDocumentCommand{\biitem}{o}{%
\IfNoValueTF{#1}{%
\renewcommand{\additionallabel}{}%
}{%
\renewcommand{\additionallabel}{ (#1)}%
}%
\item
}
\begin{document}
\begin{bienumerate}
\biitem First item
\biitem[32] Second item
\biitem[4 and 68] Third item
\biitem Fourth item
\end{bienumerate}
\begin{bienumerate}[label=\Alph*\additionallabel.]
\biitem First item
\biitem[32] Second item
\biitem[4 and 68] Third item
\biitem Fourth item
\end{bienumerate}
\end{document}