4

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.

5

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

  • Thank you for the workaround. I'll definitely consider it as a solution, but currently it seems to conflict with the ccaption package I also use ("command \captionwidth already defined or name \end... illegal, see p.192 of the manual" et al...) – Alexandre Oct 9 '12 at 2:45
  • @Alexandre load ccaption before floatrow and the conflict will disappear. – Gonzalo Medina Oct 9 '12 at 2:54
2

\sidecaptionvpos{figure}[t/b] works for me if I put it before the figure in question. It seems to change the setting for the rest of the file though, so don't forget to reset it to its old value afterwards.

  • See tex.stackexchange.com/questions/49979/… too – Kevin Mar 13 '14 at 21:20
  • For anyone else, I used \sidecaptionvpos{figure}{t} to get the caption aligned with the top of the figure. Note that I used braces instead of brackets. I'm not sure what the difference is, but the brackets didn't work for me. – Kevin Mar 13 '14 at 21:29

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.