我使用以下代码来实现按节级别对图形进行编号,如(1.1、1.2......):
\usepackage{amsmath}
\numberwithin{figure}{section}
然后我可以得到第一节中的第一个图是 1.1,第二节中的第二个图是 1.2 ...但是如果第 1 节中的小节(1.2)中有一个图,如何将第一个图的标签从 1.1 更改为 1.1.1?
答案1
我认为图像的编号应该按照章节进行,但是,在乳胶中一切皆有可能,为了实现你想要的,你只需要重新定义图形计数器的格式\thefigure
,问题是你必须为每个环境重新定义它,这里是代码:
标准格式:
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
章节格式:
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{section}.\arabic{figure}}
最后是完整的代码和结果:
代码:
% arara: pdflatex: {synctex: yes, action: nonstopmode}
\documentclass{scrreprt}
\usepackage{booktabs,caption}
\usepackage{graphicx}
\usepackage{subfigure}
\newcommand{\fakeimage}{{\fboxsep=-\fboxrule\fbox{\rule{0pt}{2.5cm}\hspace{3cm}}}}
\begin{document}
\chapter{chapter one}
\begin{figure}[h!]
\centering
\subfigure[fig 1]{\fakeimage} \qquad
\subfigure[fig 2]{\fakeimage}
\caption{fig for chapter}
\end{figure}
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{section}.\arabic{figure}}
\section{the section}
\begin{figure}[h!]
\centering
\subfigure[fig 1]{\fakeimage} \qquad
\subfigure[fig 2]{\fakeimage}
\caption{For section}
\end{figure}
%for chapter Two you have to redefine \thefigure to the original
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
\chapter{Chapter two}
\begin{figure}[h!]
\centering
\subfigure[fig 1]{\fakeimage} \qquad
\subfigure[fig 2]{\fakeimage}
\caption{fig for chapter}
\end{figure}
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{section}.\arabic{figure}}
\section{the section}
\begin{figure}[h!]
\centering
\subfigure[fig 1]{\fakeimage} \qquad
\subfigure[fig 2]{\fakeimage}
\caption{For section}
\end{figure}
\section{the section}
\begin{figure}[h!]
\centering
\subfigure[fig 1]{\fakeimage} \qquad
\subfigure[fig 2]{\fakeimage}
\caption{For section}
\end{figure}
\end{document}