我正在利用enumerate
环境来纳入一些立法部分。
在立法中,通常使用字母来表示后来添加的子条款。例如,我们可能有:
5 Awesome section
(1) This subsection existed from the beginning.
(1A) This subsection was inserted later.
(2) And we continue with the original Act
我无法插入‘(1A)’作为枚举计数器。
当我使用该enumerate
包并执行以下操作时:
\begin{enumerate}[(1A)]
该包似乎将“A”视为计数器,并输出“(AA)”。
当我尝试使用时setcounter
,例如:
\begin{enumerate}
\setcounter{enumi}{1A}
我明白了
! Package calc Error: `A' invalid at this point.
我如何插入(1A)
或类似的字母数字组合作为枚举计数器?
我并不担心数数正确;我只是追求与正常enumerate
环境相同的格式。
答案1
在发布我的问题后,我立即想到了答案:使用可选参数\item
。
换句话说:
\item[(1A)] This subsection was inserted later.
答案2
\addeditem
这引入了一个在必要时使用itemtopnumber itemsubletter
、即等的命令1A 1B
,但是存在一些“错误”,导致计数器无法正确前进,我试图找出原因,因此必须立即手动重置它。
\documentclass[paper=a4,12pt]{scrbook}
\newcounter{itemadded}
\setcounter{itemadded}{0}
\newcommand{\addeditem}{%
\addtocounter{enumi}{-1}%
\stepcounter{itemadded}
\let\LaTeXStandardLabelEnumi\labelenumi%
\renewcommand{\labelenumi}{\textbf{(\arabic{enumi}\Alph{itemadded})}}%
\item
% Switch back to old labelling
\let\labelenumi\LaTeXStandardLabelEnumi%
}%
\let\LaTeXStandardEnumerateBegin\enumerate
\let\LaTeXStandardEnumerateEnd\endenumerate
\renewenvironment{enumerate}{%
\LaTeXStandardEnumerateBegin%
\setcounter{itemadded}{0}
}{%
\LaTeXStandardEnumerateEnd%
}%
\begin{document}
\begin{enumerate}
\item First
\addeditem First added
\addeditem Second added
\item Next item
\item Third item \setcounter{itemadded}{0}
\addeditem Another subitem added
\end{enumerate}
\begin{center}
\huge Just a repeat without resetting \texttt{itemadded}
\end{center}
\begin{enumerate}
\item First
\addeditem First added
\addeditem Second added
\item Next item
\item Third item
\addeditem Another subitem added
\end{enumerate}
\end{document}