ダブルページフロート: dpfloat は垂直方向の配置をオーバーライドしますか?

ダブルページフロート: dpfloat は垂直方向の配置をオーバーライドしますか?

2 ページ フロート (つまり、フル スプレッドに一緒に表示されるフロートのペア) の場合、このdpfloatパッケージは定期的に推奨されており、私にとっても非常にうまく機能しています。

ただし、私は LaTeX のフロートのデフォルトの垂直配置 (中央揃え) をオーバーライドし、代わりに、高さに関係なく、すべてのフルページ フロートをテキスト領域の最上部の行に揃えるように指定することにしました。つまり、フルページ フロートの上にあるすべての空白を削除し、残りのすべての空白をその下に配置します。

私は@fptopそれに使います。

理論的には、これの利点の 1 つは、2 ページ フロートの 2 つの半分が、高さが異なっていても、少なくとも上部の境界線が揃うため、見た目にはるかに美しい結果が得られることです。

しかし、dpfloatこれは当てはまりません。パッケージは、 で行われた変更を何らかの方法で上書きするようです@fptop。フロートは再び垂直方向に中央揃えされます。これによる最悪の影響の 1 つは、同じ画像の 2 つの半分 (つまり、同じ高さ!) で構成されるダブル ページのフロートで、その結果、右側に 1 つの共通のキャプションのみが配置されることです。キャプションと画像は 1 つのボックス内に配置され、中央揃えされるため、2 つの画像の位置が完全にずれてしまいます。これは、パッケージが最も必要な状況 (一緒に属するものをまとめる) でパッケージの目的に反することになります。

もちろん、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

パッケージはフロートをフルハイトに強制するため、LaTeXが追加するパディングは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} 

関連情報