使用 sidecap/SCFigure 更改图形标题的垂直位置

使用 sidecap/SCFigure 更改图形标题的垂直位置

我使用 sidecap 包在页面内侧添加带有标题的小图形,并在序言中使用以下选项:

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

有时(取决于内容)图像应放在页面顶部,有时则放在底部。

发布者要求以下格式:

  • 放置在页面顶部的图像应该在顶部有标题(这实际上是通过 sidecaptionvpos 解决的)

  • 放置在页面底部的图像的标题位于图形的底部,如下图所示: 在此处输入图片描述

有没有办法做到这一点/重新定义个别图形的 sidecaptionvpos?

谢谢。

答案1

据我所知,没有简单的方法可以更改sidecaptionvpos 单个对象的值(但也许有人会证明我错了)。我建议您使用更强大、更灵活的floatrow包代替;一个小例子,其中选择了默认位置top,然后\thisfloatsetup{capbesideposition={bottom}}用于改变所选对象标题的垂直位置:

\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}

选项demo只是graphicx用黑色矩形替换实际图形;不是在实际文档中使用该选项。我仅将其用作[!ht]示例;我并不建议使用它。

在此处输入图片描述

答案2

\sidecaptionvpos{figure}[t/b]如果我把它放在相关图形之前,它对我来说是有效的。但它似乎改变了文件其余部分的设置,所以不要忘记事后将其重置为旧值。

相关内容