我定义了一个这样的计数器:
\newcounter{my_steps}[subsubsection]
我想让每个子部分之后都以 1 开始,而不是 0。怎么做?
答案1
使用该etoolbox
包,您可以修补\subsubsection
命令,以便每次使用时将计数器设置为 1 \subsubsection
:
\documentclass{article}
\usepackage{etoolbox}
\newcounter{myc}[subsubsection]
\patchcmd{\subsubsection}{\bfseries}{\bfseries\setcounter{myc}{1}}{}{}
\begin{document}
\subsubsection{Test}
\themyc
\subsubsection{Test}
\themyc
\end{document}
答案2
如果计数器mycount
(比如说)仅用于显示目的,那么您也可以修改它的显示部分 - \themycount
:
\documentclass{article}
\newcounter{mycount}[subsubsection]% mycount is slave to master subsubsection
\renewcommand{\themycount}{\number\numexpr\value{mycount}+1\relax}% Display mycount+1
\begin{document}
\noindent \themycount \par
\noindent \stepcounter{mycount}\themycount
\subsubsection{A subsubsection}
\noindent \themycount \par
\noindent \stepcounter{mycount}\themycount
\subsubsection{Another subsubsection}
\noindent \themycount
\end{document}
如上所述,这仅在其显示中起作用,因为使用\setcounter{mycount}{10}
(比如说),将11
在使用时打印\themycount
。
答案3
我有点丑陋的把戏,但也许有用的是操纵清晰的列表计数器subsubsection
:
\documentclass{article}
\newcounter{mysteps}[subsubsection]
\makeatletter
\g@addto@macro{\cl@subsubsection}{\stepcounter{mysteps}}% clear list manipulation
\makeatother
\begin{document}
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
mysteps is \themysteps.
Adding 10 to mysteps: \addtocounter{mysteps}{10}.
mysteps is \themysteps.
\subsubsection{Subsubsection}
mysteps is \themysteps.
\end{document}
警告:如果你使用包更改中心你必须操纵清晰的列表毕竟\counterwithin
和\counterwithout
!
答案4
在阅读了 percusse 的评论后,我决定采取以下措施:
\newcounter{stappen}
\newcommand{\stepreset}{\setcounter{stappen}{0}}
\newcommand{\step}{\stepcounter{stappen} \textbf{Stap \arabic{stappen}} }
我在文档中重复使用计数器,并在需要时使用 重置它\stepreset
。这比将其绑定到子节计数器更灵活。每次我需要打印步骤时,我只需输入:\step
。