50

I've a question on the labels in the subfigure environment. I would like to remove the (a) and (b) and insert something else instead. This 'new' caption is different for every subfigure and not a logical counter (so not i, ii or so). Can any body help me?

I've added a figure showing the current situation (top) and how I would like it to be (bottom).

The top row in the figure is how I have got it now, the bottom row is how I would like it to be!

14

Just stack the subcaption text under the subfigure. You can change the fontsize of the subcaptions just by changing the \footnotesize to the desired size. The gap between figure and caption is controlled by the optional argument to \stackunder and is, in this example, set to 5pt (the default is 3pt).

Note that the subcaptions in this technique, will not automatically word-wrap. In your case, there was no need for wrapping, since they were short labels. If wrapping were needed, the last argument to \stackunder could be a \parbox.

I further assumed, that since you wished to remove the (a), (b), that you had no desire to separately reference the individual subfigures. You can still reference the overall figure with \ref{}.

\documentclass{article}
\usepackage{stackengine}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\footnotesize
\stackunder[5pt]{\includegraphics[width=2in,height=.7in]{fileA}}{MRI-CGCM3}%
\hspace{1cm}%
\stackunder[5pt]{\includegraphics[width=2in,height=.7in]{fileB}}{NorESM1-M}
\caption{November to April}
\end{figure}
\end{document}

enter image description here

111

You can use

\captionsetup[subfigure]{labelformat=empty}

locally:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\captionsetup[subfigure]{labelformat=empty}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-a}
\caption{Test subfigure 1}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-b}
\caption{Test subfigure 2}
\end{subfigure}%
\caption{Two subfigures}
\end{figure}

\end{document}

enter image description here

Another option is to use \caption* instead of \caption:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}

\begin{document}

\begin{figure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-a}
\caption*{Test subfigure 1}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[height=3cm]{example-image-b}
\caption*{Test subfigure 2}
\end{subfigure}%
\caption{Two subfigures}
\end{figure}

\end{document}
4
  • 1
    This should be the best answer ! Jan 23 '18 at 13:24
  • 2
    However: using \caption*, labels cannot be used anymore on the subfigures.
    – Derlin
    Jan 2 '19 at 23:37
  • This is really useful!!!
    – ShaoKui
    Nov 18 '19 at 11:35
  • @Derlin True. But, not giving label (a), (b), .. for subfigures of Figure 1 and later calling them Figure 1a, Figure 1b etc. is odd. Aug 17 '20 at 6:09
17

Like subcaption, the subfig package also have the same option:

\documentclass{article}
\usepackage{graphicx,subfig}
\begin{document}
\captionsetup[subfigure]{labelformat=empty}
\begin{figure}
\centering
\subfloat[Test subfigure 1]{\includegraphics[width=.4\linewidth]{example-image-a}}
\hfill
\subfloat[Test subfigure 2]{\includegraphics[width=.4\linewidth]{example-image-b}}
\caption{Two subfigures}
\end{figure}
\end{document}

But if you do not need the numeration of the subfloats captions ... there are some reason to still use subcaption or subfig ?

For example, the same result can be obtained simply with 2 columns:

\documentclass{article}
\usepackage{graphicx,multicol}
\begin{document}
\begin{figure}
\begin{multicols}{2}
\centering
\includegraphics[width=.7\linewidth]{example-image-a}\\
Test subfigure 1
\includegraphics[width=.7\linewidth]{example-image-b}\\
Test subfigure 2
\end{multicols}
\caption{Two subfigures}
\end{figure}
\end{document}

MWE

0

I had a case where I needed only one such label remove. When declaring the subfigure you can add \empty which will remove the letter for that specific subfigure

\documentclass{article}
\usepackage{graphicx,multicol}
\begin{document}
   \begin{figure}
       \begin{multicols}{2}
            \centering
            \includegraphics[\empty]{example-image-a}
            \includegraphics[\empty]{example-image-b}
        \end{multicols}
    \caption{Two subfigures}
    \end{figure}
\end{document}
1
  • Welcome to TeX.SE! Can you please make your code snippet be compilable, then we do not have to guess what you are doing ...
    – Mensch
    Sep 27 at 0:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.