连续子图编号

连续子图编号

我有很多文件,包括图像,我想对它们进行连续编号。

我使用了很多并排的图像,看起来像

\begin{figure}[H]
    \begin{subfigure}[t]{0.45\textwidth}
            \includegraphics[bla]{bla1.jpg}
            \caption{bla}
            \label{fig:bla1}
    \end{subfigure}
    \begin{subfigure}[t]{0.45\textwidth}
        \includegraphics[bla]{bla2.jpg}
            \caption{bla}
            \label{fig:bla2}
    \end{subfigure}
\end{figure}

它们的标题标签为(1)和(2)。

然后我有像这样的单张图片:

\begin{figure}[H]
\begin{subfigure}{0.62\textwidth}
    \includegraphics[bla]{bla3.jpg}
    \caption{bla}
    \label{fig:bla3}
\end{subfigure}
\end{figure}

它的标签再次是(1),但我希望它具有(3)。

我的尝试是使用:

\usepackage{chngcntr}
\counterwithout{subfigure}{figure}

这样它就忽略了图形环境。它不起作用。

问题是我把回忆录用作documentclass,而没有使用章节。最初,图片被连续编号,如 0.1、0.2、0.3 等,因为它们在minipages而不是subfigures。但我想删除0,所以我minipagessubfigures和替换了 。

\renewcommand{\thesubfigure}{\arabic{subfigure}}

我希望这是可以理解的,并且我感谢您的帮助!

答案1

这是我使用包和新计数器的解决方案,每次调用环境etoolbox时计数器都会增加一。subfigure

\documentclass{memoir}

\usepackage[draft]{graphicx}
\usepackage{subcaption}
\usepackage{caption}
\usepackage{etoolbox}
\newcounter{fignumber}
\setcounter{fignumber}{0}

\renewcommand{\thesubfigure}{\arabic{fignumber}}

\AtBeginEnvironment{subfigure}{\refstepcounter{fignumber}}

\begin{document}

\begin{figure}[H]
    \begin{subfigure}[t]{0.45\textwidth}
            \includegraphics{bla1.jpg}
            \caption{bla}
            \label{fig:bla1}
    \end{subfigure}
    \begin{subfigure}[t]{0.45\textwidth}
        \includegraphics{bla2.jpg}
            \caption{bla}
            \label{fig:bla2}
    \end{subfigure}
\end{figure}

\begin{figure}[H]
\begin{subfigure}{0.62\textwidth}
    \includegraphics{bla3.jpg}
    \caption{bla}
    \label{fig:bla3}
\end{subfigure}
\end{figure}

\end{document}

编辑事实证明,当\ref{}使用定义的标签之一进行调用时,上述解决方案并不完全令人满意(请参阅此问题)。为了解决这个问题,只需将以下几行添加到您的序言中:

\makeatletter
\renewcommand{\p@subfigure}{}
\makeatother

相关内容