LaTeX 计数器自动+1和自动回到1:使用 etoolbox 宏包
在 LaTeX 中,想要实现一个每次调用 \subsubsection 后自动回到 1 的计数器,可以使用 etoolbox 宏包中的 \preto 命令和 \appto 命令来修改 \subsubsection 命令,实现每次调用 \subsubsection 后计数器自动回到 1。
首先,在导言区加载 etoolbox 宏包,并定义一个计数器 testcounter 并初始化为 1:
\usepackage{etoolbox}
\newcounter{testcounter}
\setcounter{testcounter}{1}
然后,在导言区使用 \preto 命令和 \appto 命令来修改 \subsubsection 命令,使其在调用前自动将计数器值加 1,并在调用后将计数器重置为 1:
\preto{\subsubsection}{\stepcounter{testcounter}}
\appto{\subsubsection}{\setcounter{testcounter}{1}}
完整代码如下:
\documentclass{article}
\usepackage{etoolbox}
\newcounter{testcounter}
\setcounter{testcounter}{1}
\preto{\subsubsection}{\stepcounter{testcounter}}
\appto{\subsubsection}{\setcounter{testcounter}{1}}
\begin{document}
\subsubsection{第一节}
计数器值为:\arabic{testcounter}
\subsubsection{第二节}
计数器值为:\arabic{testcounter}
\subsubsection{第三节}
计数器值为:\arabic{testcounter}
\subsubsection{第四节}
计数器值为:\arabic{testcounter}
\end{document}
运行上述代码,得到的输出如下:
第一节
计数器值为:1
第二节
计数器值为:1
第三节
计数器值为:1
第四节
计数器值为:1
可以看到,每次调用 \subsubsection 后计数器的值自动重置为 1,实现了自动+1和自动回到1的效果。
原文地址: https://www.cveoy.top/t/topic/p8ao 著作权归作者所有。请勿转载和采集!