我有一份很长的文档,想在一个图中改变subfigure
标题(来自包)的行为。subcaption
subfigure
每页 只有一个的多页图(参见下面的 MWE)(a) description of sub figure 1a
在第 1 页、(b) description of sub figure 1b
第 2 页和
(c) description of sub figure 1c
Figure 1: Full description of figure
在第 3 页。我想要的是以下形式的子图标题
Figure 1(a): description of sub figure 1a
在每一页上,显然都有(a)
相应的替换。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{subfigure}{\columnwidth}
\caption{description of sub figure \ref{label1a}}
\label{label1a}
\end{subfigure}
\end{figure}
\clearpage
\begin{figure}
\ContinuedFloat
\begin{subfigure}{\columnwidth}
\caption{description of sub figure \ref{label1b}}
\label{label1b}
\end{subfigure}
\end{figure}
\clearpage
\begin{figure}
\ContinuedFloat
\begin{subfigure}{\columnwidth}
\caption{description of sub figure \ref{label1c}}
\label{label1c}
\end{subfigure}
\caption{Full description of figure \ref{label1}}
\label{label1}
\end{figure}
\end{document}
答案1
(在收到 OP 的评论后完全重写了答案)
我建议设置一个新的标题编写宏(\newsubcap
在下面的代码中调用),该宏将按照您在帖子中布置的方式格式化子图的标题。使用自定义标题命令的优点是,无需重新定义宏,例如,\subfigurename
并且必须记住在figure
相关环境结束时将这些宏重置为默认值。
该\newsubcap
宏定义如下:
\newcommand\newsubcap[1]{\phantomcaption%
\caption*{\figurename~\thefigure(\thesubfigure): #1}}
您显然可以自由选择一个不同的、更吸引人的名字。
\documentclass[demo]{article}
\usepackage{graphicx,subcaption}
\newcommand\newsubcap[1]{\phantomcaption%
\caption*{\figurename~\thefigure(\thesubfigure): #1}}
\begin{document}
\begin{figure}
\begin{subfigure}{\columnwidth}
\newsubcap{Description of sub figure \thefigure\thesubfigure}
\label{label1a}
\end{subfigure}
\end{figure}
\clearpage
\begin{figure}
\ContinuedFloat
\begin{subfigure}{\columnwidth}
\newsubcap{Description of sub figure \thefigure\thesubfigure}
\label{label1b}
\end{subfigure}
\end{figure}
\clearpage
\begin{figure}
\ContinuedFloat
\begin{subfigure}{\columnwidth}
\newsubcap{Description of sub figure \thefigure\thesubfigure}
\label{label1c}
\end{subfigure}
\caption{Full description of figure \ref{label1}}
\label{label1}
\end{figure}
\end{document}