我正在尝试用 LaTeX 定义软件的功能需求。每个需求都需要一个 ID,所以我决定使用它enumitem
来定义一个带有特殊标签的列表。当它不是嵌套的时,一切都很好,但为了避免重复,我希望有一个带有子需求的嵌套列表。
我希望顶级项目有像这样的标签FR1:
和这样的子层FR1.1:
我目前的方法是这样的:
\usepackage{enumitem}
\newlist{funcreq}{enumerate}{2}
\setlist[funcreq, 1]{label = \textbf{FR\arabic*:}}
\setlist[funcreq, 2]{label* = \arabic*}
这远非理想,因为它会导致FR1:1
相反的结果。
是否可以从父标签中提取当前数字?
也许可以从子标签编辑父标签以删除冒号?(例如在子标签中添加退格符作为第一个字符)
或者我应该忘掉它并使用比enumitem
这个任务更好的东西?
答案1
\documentclass[a4paper, 10pt]{report}
\usepackage{enumitem}
\newlist{funcreq}{enumerate}{2}
\setlist[funcreq, 1]{label = \textbf{FR\arabic*:},}
\setlist[funcreq, 2]{label = FR\arabic{funcreqi}.\arabic*}
\begin{document}
\begin{funcreq}
\item a
\item b
\begin{funcreq}
\item b
\end{funcreq}
\end{funcreq}
\end{document}