以下是我当前制作数字列表的代码:
\renewcommand{\thefigure}{\thesection-\arabic{figure}}
\listoffigures
我的问题是上面的代码编号不是:1-1、1-2、2-1、2-2,而是 1-1、1-2、2-3、2-4、3-5、4-6 等。我发现我需要更改\arabic{figure}
为更有用的内容。有什么建议吗?
编辑:
找到了解决方案:
\usepackage{chngcntr}
\counterwithin{figure}{section}
这将数字标记为 1.1、1.2、2.1、2.2 等。我问的问题有些令人困惑。其他代码标记为 1-1、1-2、2-3、2-4。第二个数字不会重新开始新部分的计数。
答案1
无需使用任何其他软件包的解决方案,仅需使用LaTeX
核心功能\@addtoreset
(我使用了 OP 中的文档主体代码并添加了正确的\thefigure
定义)
\documentclass{article}
\makeatletter
\@addtoreset{figure}{section}
\makeatother
\renewcommand{\thefigure}{\arabic{section}-\arabic{figure}}
\begin{document}
\listoffigures
\section{section1}
\begin{figure}
\caption{caption1}
\end{figure}
\begin{figure}
\caption{caption1}
\end{figure}
\section{section2}
\begin{figure}
\caption{caption3}
\end{figure}
\begin{figure}
\caption{caption4}
\end{figure}
\end{document}
答案2
感谢大家的评论。我认为将其标记为已回答将有助于将来供任何人参考。这是一个完整的答案。将原始代码替换为:
\documentclass[11pt,letterpaper]{article}
\usepackage{amsmath}
%-----------------------------------
% This sets up the figure numbering:
\usepackage{chngcntr}
\counterwithin{figure}{section}
%---------------------------------
\begin{document}
\listoffigures
\section{section1}
\begin{figure}
\caption{caption1}
\end{figure}
\begin{figure}
\caption{caption1}
\end{figure}
\section{section2}
\begin{figure}
\caption{caption3}
\end{figure}
\begin{figure}
\caption{caption4}
\end{figure}
\end{document}