双页浮动:dpfloat 覆盖垂直对齐?

双页浮动:dpfloat 覆盖垂直对齐?

对于双页浮动内容(即,应该在整个跨页上一起出现的浮动内容对),我们dpfloat经常推荐使用该软件包,而且它对我来说也非常有效。

然而,我决定覆盖 LaTeX 浮动元素的默认垂直对齐方式(即居中),而是指定每个整页浮动元素(无论其高度如何)都与文本区域的顶线对齐 - 即,我删除整页浮动元素上方的所有空白,并将所有剩余的空白放在其下方。

我就是用@fptop这个。

理论上,这样做的好处之一是,双页浮动内容的两半即使高度不同,至少其顶部边框仍将对齐,从而提供更美观的效果。

dpfloat事实并非如此。该包似乎以某种方式覆盖了对 所做的修改@fptop。浮动再次垂直居中。最糟糕的影响之一是双页浮动由同一图像的两半组成(即高度相同!),因此只有一个共同的标题,放在右侧。由于标题和图像放在一个然后居中的框内,因此两个图像完全错位,这在您最需要它的情况下违背了包的目的:将本应在一起的东西放在一起。

当然,我查看了 dpfloat.sty,但没能找到问题的原因。有什么想法吗?

在此处输入图片描述

\documentclass[DIV=9,twoside=true]{scrartcl}
\usepackage{blindtext,dpfloat}

%make sure figure starts at text area's top
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother

\begin{document}
\Blindtext

\begin{figure}[p]
\rule{.5\textwidth}{.5\textheight}
\caption{A usual full-page float that's not part of a pair}
\end{figure}%

\Blindtext

\begin{figure}[p]
\begin{leftfullpage}
\rule{.5\textwidth}{.5\textheight}
\end{leftfullpage}
\end{figure}%

\begin{figure}[p]
\begin{fullpage}
\rule{.5\textwidth}{.5\textheight}
\caption{Right half of a double-page float pair with common caption.}
\end{fullpage}
\end{figure}%

\Blindtext

\Blindtext
\end{document} 

答案1

该包强制浮动为全高,因此乳胶添加的填充永远不会大于 0pt,您需要影响内容放入包的全高框的方式(\vss从顶部移除)

\documentclass[DIV=9,twoside=true]{scrartcl}
\usepackage{blindtext,dpfloat}

%make sure figure starts at text area's top
\makeatletter
\setlength{\@fptop}{0pt}
\def\endfullpage{\egroup\dp\@@wholepage\z@
   \vbox to\textheight{\unvbox\@@wholepage\vss}}

\def\endleftfullpage{\egroup\dp\@@wholepage\z@
   \vbox to\textheight{\unvbox\@@wholepage\vss}\global\@LPtrue}
\makeatother

\begin{document}
\Blindtext

\begin{figure}[p]
\rule{.5\textwidth}{.5\textheight}
\caption{A usual full-page float that's not part of a pair}
\end{figure}%

\Blindtext

\begin{figure}[p]
\begin{leftfullpage}
\rule{.5\textwidth}{.5\textheight}
\end{leftfullpage}
\end{figure}%

\begin{figure}[p]
\begin{fullpage}
\rule{.5\textwidth}{.5\textheight}
\caption{Right half of a double-page float pair with common caption.}
\end{fullpage}
\end{figure}%

\Blindtext

\Blindtext
\end{document} 

相关内容