引用子图时存在问题。
当我添加包含的行时\caption{}
,一切都运行正常,但图形的标题必须位于图形下方。
我怎么解决这个问题?
以下是代码:
\documentclass{article}
\usepackage{subcaption}
\begin{document}
\renewcommand{\thesubfigure}{(\alph{subfigure})}
\begin{figure}
\caption{} % When I add this line, everything works perfect, but caption of a figure must be below the figure.
\begin{minipage}[b]{0.50\textwidth}
1A
\captionof{subfigure}{1A}
\label{fig:1:A}
\end{minipage}
\begin{minipage}[b]{0.50\textwidth}
1B
\captionof{subfigure}{1B}
\label{fig:1:B}
\end{minipage}
\caption{First~\ref{fig:1:A}~\ref{fig:1:B}}
\end{figure}
\begin{figure}
\begin{minipage}[b]{0.50\textwidth}
2A
\captionof{subfigure}{2A}
\label{fig:2:A}
\end{minipage}
\begin{minipage}[b]{0.50\textwidth}
2B
\captionof{subfigure}{2B}
\label{fig:2:B}
\end{minipage}
\caption{First~\ref{fig:2:A}~\ref{fig:2:B}}
\end{figure}
\end{document}
注1:实际文档有3500行,所以我无法通过手动设置图形计数器的值\renewcommand\thefigure{2}
。
注2:在真实文档的单个图中,有很多minipage
包含tikz图片的s,因此我更喜欢使用minipage。
答案1
cubcaption 手册提示使用命令subcaption
而不是 captionof。它在内部增加计数器。另一种可能性是使用提供的环境subfigure
(它本身使用 minipage 并具有相同的语法,您只需进行字符串替换)以及我们都知道的 caption 命令。
以下两个 MWE 均产生相同的最终结果。
\documentclass{article}
\usepackage{subcaption}
\begin{document}
%\renewcommand{\thesubfigure}{(\alph{subfigure})}
\begin{figure}
\begin{minipage}[b]{0.50\textwidth}
1A
\subcaption{1A}
\label{fig:1:A}
\end{minipage}
\begin{minipage}[b]{0.50\textwidth}
1B
\subcaption{1B}
\label{fig:1:B}
\end{minipage}
\caption{First~\ref{fig:1:A}~\ref{fig:1:B}}
\end{figure}
\begin{figure}
\begin{minipage}[b]{0.50\textwidth}
2A
\subcaption{2A}
\label{fig:2:A}
\end{minipage}
\begin{minipage}[b]{0.50\textwidth}
2B
\subcaption{2B}
\label{fig:2:B}
\end{minipage}
\caption{First~\ref{fig:2:A}~\ref{fig:2:B}}
\end{figure}
\end{document}
使用子图:
\documentclass{article}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}[b]{0.50\textwidth}
1A
\caption{1A}
\label{fig:1:A}
\end{subfigure}
\begin{subfigure}[b]{0.50\textwidth}
1B
\caption{1B}
\label{fig:1:B}
\end{subfigure}
\caption{First~\ref{fig:1:A}~\ref{fig:1:B}}
\end{figure}
\begin{figure}
\begin{subfigure}[b]{0.50\textwidth}
2A
\caption{2A}
\label{fig:2:A}
\end{subfigure}
\begin{subfigure}[b]{0.50\textwidth}
2B
\caption{2B}
\label{fig:2:B}
\end{subfigure}
\caption{First~\ref{fig:2:A}~\ref{fig:2:B}}
\end{figure}
\end{document}