When using subfloat, the caption centers with regards to the figure width. However I want to center it with regards to the axes. How to horizontally shift the captions (manually) for all the subfloats in a figure environment, to center to axes?

(My figures are in PDF format.)

caption is not centered to axes caption centered to axes

2 Answers 2


To shift the sub-captions to the left or right one could use the margin= option offered by the caption package. The following example document will shift the sub-captions 2cm to the right:

  \caption{Caption text}

Please note the usage of the additional option oneside which will make sure that the extra sub-caption margins will not be swapped in twoside documents.

enter image description here

(Of course this trick will work in conjunction with the subcaption package as well.)

  • Oh yes, this works perfectly. Been looking for something like this for a long time. Thank you!
    – SPK.z
    Commented Jul 15, 2016 at 13:55

If you are willing to change the format of your figure calls to \bxfigure{caption}{image}, the boxhandler package can do this for you with their \FigureDeadMargin setting and the use of a \rule. It would look something like


\FigureDeadMargin 8ex
\bxfigure{This is the caption that should be offset 8ex to the right}
{\fbox{FIGURE DATA GOES HERE}\rule{8ex}{0ex}}


Note that the caption will be page left-right centered, while the figure will be shifted to the left by the offset.

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .