从我对浮动环境的了解来看,我不知道我所问的问题是否可行。我有两个图,实际上是由一个图组成的,这个图太大,无法容纳一整页(MWE 中的图 A 和 B)。我的问题是将标题放在哪里。
我希望两幅图保持完全对齐,因此仅在其中一页上添加一个标题几乎是不可能的。也没有空间放置侧标题。另一种解决方案是使用rotating
包命令之一并将标题置于侧面,但理想情况下最好让所有文本都以相同的方式定向。所以我的问题是,有没有办法定义某种环境,让标题在两页上都显示?或者,某种“连续标题”命令也可以很好地工作。
在 MWE 中,我使用报告的解决方案这里让第一个图形从偶数页开始。
\documentclass[a4paper,twoside,12pt]{report}
\usepackage{rotating}
\usepackage{graphicx}
\usepackage{afterpage}
\usepackage[showframe]{geometry}
\usepackage[format=plain,labelfont=bf,format=hang]{caption}
\usepackage{mwe}
\begin{document}
\afterpage{%
\clearpage%
\ifodd\value{page}
\expandafter\afterpage
\fi
{%
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth,height=0.8\textheight]{example-image-a.pdf}%
\end{figure}
\clearpage
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth,height=0.8\textheight]{example-image-b.pdf}%
\caption{Some sorts of very long, useless and stupid caption that I would like to have spread horizontally over the two pages below the respective figures. This is unlikely to become significant in the future.}
\end{figure}
\clearpage
}%
}
\end{document}
编辑:我画了一张草图。虽然选项 1 看起来非常痛苦,但也许有办法实现选项 2。也许……
答案1
这是基于我在评论中建议的方法。我对继续图表页面的原始方法是 1) 减少图表计数器,2) 使其\addcontentsline
放松,3) 重新定义继续\@makecaption
以省略标签和冒号。然而,jarauh 在评论中指出,\caption*
该caption
包完成了相同的事情,所以我的编辑采用了更简单的修订方法。
此外,我还利用了\caption
可选参数来确保 LOF 提供了正确的信息。
这是我的 MWE。
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\begin{document}
\listoffigures\clearpage
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth,height=7in]{46.pdf}%
\caption[I am building length so that the caption has reasonable size
and the other caption continues where the first let off.]
{I am building length so that the caption has reasonable size}
\end{figure}
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth,height=7in]{48.pdf}%
\caption*{and the other caption continues where the first let off.}
\end{figure}
\begin{figure}[p]
\centering
\includegraphics[width=\textwidth,height=7in]{46.pdf}%
\caption{Next figure}
\end{figure}
\end{document}