我想知道如何在字母枚举列表中选择字母。这是我目前所得到的
\begin{enumerate}[label=(\alph*)]
% Part (a)
\item
% Part (d)
\item
% Part (f)
\item
\end{enumerate}
输出给我
(a)
(b)
(c)
但我希望它能给我
(a)
(d)
(f)
我是否需要在\begin
声明中提供其他论据?或者我可以为每个个人提供\item
论据吗?
答案1
当然,你可以手动指定标签的值,如果你的标签有一定的规律,可以将其添加到环境的可选参数中enumerate
:
\documentclass{article}
\usepackage{mathtools}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label = (\alph*)]
\item A first item.
\item[(d)] Second item.
\item[(f)] A third item.
\end{enumerate}
\vskip 1cm
\begin{enumerate}[label = (\alph*)\addtocounter{enumi}{2}]
\item A first item.
\item Second item.
\item A third item.
\end{enumerate}
\end{document}
答案2
以下允许您设置下一个项目以满足您的需要:
\documentclass{article}
\usepackage{enumitem,xparse}
\ExplSyntaxOn
\DeclareExpandableDocumentCommand \AlphToNum { m }
{
\int_from_alph:n { #1 }
}
\ExplSyntaxOff
\makeatletter
\newcommand{\nextitem}[1]{\setcounter{enum\romannumeral\enit@depth}{\numexpr\AlphToNum{#1}-1}}
\newcommand{\thisitem}[1]{\nextitem{#1}\item}
\makeatother
\begin{document}
\begin{enumerate}[label=(\alph*)]
\item % Part (a)
\item % Part (b)
\item % Part (c)
\end{enumerate}
\begin{enumerate}[label=(\alph*)]
\item % Part (a)
\nextitem{d}
\item % Part (d)
\thisitem{f} % Part (f)
\end{enumerate}
\end{document}
\AlphToNum{<alph>}
转换<alph>
为数字(您也可以使用大写字母,例如D
或F
,甚至-F
)。这种转换能力得益于expl3
。
\nextitem
“准备”下一个\item
,而\thisitem
设置下一个项目。这取决于您的偏好。
正如人们所期望的那样,交叉引用得以维持。