Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

How do I customize my caption that follows this article's setting of the captions on page 26. The following is my attempt to do that, but still doesn't work. Obviously, what I want to achieve is to put the figures' names in small letter/alphabet((a) and (b)) for each of the pictures and there is another global caption below them which is in number/figure. The provided link on the page 26 expresses this better.

  \caption{Figure on left side}\label{fig:figA}
  \caption{Figure on right side}\label{fig:figB}

Or, am I using the wrong package?

share|improve this question
add comment

2 Answers

up vote 6 down vote accepted

You can solve your problem by loading the subcaption package. (The subcaption package is incompatible with packages that provide similar functionality, such as subfigure and subfloat. If you use subcaption, be sure not to load one of these competing packages as well.) The subcaption package provides the environments subfigure and subtable, which take as their argument the desired width of the sub-figure/table in question. In the Minimum Working Example (MWE) below, I've set this width to 0.49\linewidth, as you do in your example code. The MWE also illustrates how many may create cross-references to the entire float as well as to one or more of its components.

Note the use of the \centering commands inside the subfigure environments; it's preferable to use this command rather than \centerline. In addition, since I don't have access to the .png files you list in your code, I've loaded the graphicx package with the demo option -- this will create black "dummy" rectangles. In your "real" code, you should of course omit the demo option.

   \begin{subfigure}{0.49\linewidth} \centering
     \caption{Figure on left side}\label{fig:figA}
   \begin{subfigure}{0.49\linewidth} \centering
     \caption{Figure on right side}\label{fig:figB}
\caption{Overall caption} \label{fig:twofigs}

Some cross-references: First, we refer to Figure~\ref{fig:twofigs}. 
Second, we can also refer to the component figures individually, 
viz., to Figures~\ref{fig:figA} and \ref{fig:figB}.

enter image description here

Addendum For more information on what the parameters \linewidth and \textwidth do, see this answer to a question that was posed some time ago, viz., Difference between \textwidth, \linewidth and \hsize.

share|improve this answer
Unfortunately, I received this error: Use of @subfloat doesn't match its definition \begin{subfigure}{ –  Shah Feb 27 '12 at 15:42
It now works out of the box after disabling a package called "subfigure"..They might clash before..Thanks a lot anyway. –  Shah Feb 27 '12 at 15:48
The subcaption and subfigure packages are NOT compatible. (You hadn't mentioned in your question that you were loading the subfigure package.) I will note this conflict in the text above. –  Mico Feb 27 '12 at 15:51
One last question perhaps, what is \linewidth parameter for? Is it for the width of each of sub-image? –  Shah Feb 27 '12 at 16:03
OK, I'll add some information about the parameter \linewidth to the answer. –  Mico Feb 27 '12 at 16:34
show 5 more comments

What you need is a subfloat. Take a look here

share|improve this answer
It complaints somehow, is it not meant to be used with .png imgage format? –  Shah Feb 27 '12 at 15:18
Could you perhaps elaborate a bit? Just a link doesn't add much value to the site, even if the external text may help the OP. –  Stefan Kottwitz Feb 27 '12 at 16:30
@Dennis: Thanks a lot..this one also works, after disabling subfigure package. –  Shah Feb 27 '12 at 17:40
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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