[Tex/LaTex] Changing vertical position of a figure caption with sidecap/SCFigure

captionsfloatspositioningsidecap

I use the sidecap package to add small graphics with captions on the inner side of a page with the following options in the preamble:

\usepackage[innercaption]{sidecap}
\sidecaptionvpos{figure}{t}

Sometimes (depending on the contents) the images should be placed at top of the page, sometimes – at bottom.

The publisher requires the following formatting:

  • images placed at the top of the page should have the caption at the top (that is actually solved by sidecaptionvpos))

  • images placed at the bottom of the page have the caption positioned at the bottom of the figure, as shown in the picture below:
    enter image description here

Is there a way to do the trick / redefine sidecaptionvpos for individual figures?

Thanks.

Best Answer

As far as I know there's no easy way to change the value for sidecaptionvpos for individual objects (but perhaps someone will prove me wrong). I would suggest you to use the more powerful and flexible floatrow package instead; a little example in which the default position was selected to be top and then \thisfloatsetup{capbesideposition={bottom}} was used to change the vertical position of the caption for a selected object:

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage[capbesideposition={top,outside},facing=yes,capbesidesep=quad]{floatrow}

\begin{document}

\begin{figure}[!ht]
\fcapside
  {\caption{some text here to represent the caption}}
  {\includegraphics{image1}}
\end{figure}

\begin{figure}[!ht]
\thisfloatsetup{capbesideposition={bottom}}
\fcapside
  {\caption{some text here to represent the caption}}
  {\includegraphics{image2}}
\end{figure}

\end{document}

The demo option for graphicx simply replaces actual figures with black rectangles; do not use that option in your actual document. I only used [!ht] for the example; I am not suggesting this to be used.

enter image description here