我有很多文件,包括图像,我想对它们进行连续编号。
我使用了很多并排的图像,看起来像
\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
,所以我minipages
用subfigures
和替换了 。
\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