如何让计数器从 1 开始?

如何让计数器从 1 开始?

我定义了一个这样的计数器:

\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

相关内容