如何将字符串“Figure”和图号添加到子图标题中

如何将字符串“Figure”和图号添加到子图标题中

我有一份很长的文档,想在一个图中改变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}

相关内容