是否可以让 Latex 在使用某个部分时重新启动图形计数器?

是否可以让 Latex 在使用某个部分时重新启动图形计数器?

我知道我可以使用\setcounter{figure}{0}来实现我想要的,但这意味着我必须在每个部分后添加此命令。我想知道是否可以编写一个命令,这样每次我使用时\section{},它都会自动将图形编号设置为 0。

例如:如果\section{}使用,那么\setcounter{figure}{0}

我希望图形显示为图 1-1,这样 chngctr 包就不起作用。

答案1

LaTeX 有这样的命令\counterwithin

\documentclass{article}
\counterwithin{figure}{section}
\begin{document}
\section{First}
\begin{figure}[ht]
\centering
\fbox{FIRST}
\caption{First}
\end{figure}
\section{Second}
\begin{figure}[ht]
\centering
\fbox{SECOND}
\caption{Second}
\end{figure}
\end{document}

答案2

我保存了一份副本\section,然后重新定义它,以便在调用已保存的副本之前立即重置图形计数器\section

要更改排版图号的样式,请更新 的定义\thefigure,此处将其改为\renewcommand\thefigure{\thesection--\arabic{figure}},以便每个新部分的第一个图都有编号<section number>--1。(也适用于附录)。

\documentclass{article}
\let\svsection\section
\def\section{\setcounter{figure}{0}\svsection}
\renewcommand\thefigure{\thesection--\arabic{figure}}
\begin{document}
\section{First}
\begin{figure}[ht]
\centering
\fbox{FIRST}
\caption{First}
\end{figure}
\section{Second}
\begin{figure}[ht]
\centering
\fbox{SECOND}
\caption{Second}
\end{figure}

\begin{appendix}
\section{Appendix}
\begin{figure}[ht]
\centering
\fbox{APPENDIX}
\caption{Appendix}
\end{figure}
\end{appendix}
\end{document}

在此处输入图片描述

相关内容