我正在使用一个enumerate
列表。我经常想减少列表的计数器,以获得如下输出:
1. Some text here
2. Some more text here
2. This is a re-use of the number
3. The counter increments
3. Decrement the counter just before this \item
我希望这样做\setcounter{enumi}{\value{enumi}+1}
,但它不进行算术运算,它只是+1
在 PDF 输出中写入。
答案1
您可能希望使用\addtocounter
指令 -- 具体来说\addtocounter{enumi}{-1}
-- 来实现您的目标。以下 MWE 显示了如何做到这一点。
\documentclass{article}
\begin{document}
\begin{enumerate}
\item Some text here
\item Some more text here
\addtocounter{enumi}{-1}
\item This is a re-use of the number
\item The counter increments
\addtocounter{enumi}{-1}
\item Decrement the counter just before this \texttt{\textbackslash item}
\end{enumerate}
\end{document}
如果您发现自己\addtocounter{enumi}{-1}
经常执行,您可能需要\decri
在文档的序言中创建一个名为(“减少项目计数器”的缩写)的快捷宏:
\makeatletter
\newcommand{\decri}{\addtocounter{@enumctr}{-1}}
\makeatother
此定义的优点是,\decri
将根据当前枚举列表的深度,根据需要自动对enumi
、enumii
等进行操作。即,无需提供单独的宏来减少 LaTeX 的第一级、第二级等枚举计数器。致谢:关于继续工作的这一点,我要感谢@enumctr
@egreg。