大きなテーブルに「偽のフロート」を配置するときに奇妙な問題が発生します。これが MWE です:
\documentclass[twoside, a4paper]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{lipsum,blindtext}
\usepackage{tabu,longtable,booktabs}
\usepackage{showframe}
\usepackage{calc}
\usepackage{afterpage}
\usepackage{rotating}
\usepackage{lscape}
% Set main geometry
\geometry{inner=\paperwidth/9, textwidth=6\paperwidth/9, outer=2\paperwidth/9,
top=\paperheight/9, bottom=2\paperheight/9}
\begin{document}
% Set special layout and save it.
\newgeometry{outer=\paperwidth/9, inner=\paperwidth/9,
textwidth=7\paperwidth/9,top=\paperheight/9,
bottom=\paperwidth/9}
\savegeometry{L}
\restoregeometry
\Blindtext
\afterpage{% First case: vertical long table
\loadgeometry{L}
\begin{longtabu}to \textwidth {XX}
\caption{Lorem Ipsum}\\
\toprule[2pt]
\rowfont{\bfseries}
Lorem & Ipsum\\
\midrule
\endfirsthead
\toprule[2pt]
\rowfont{\bfseries}
Lorem & Ipsum\\
\midrule
\endhead
\lipsum[1] & \lipsum[2] \\
\midrule
\lipsum[1] & \lipsum[2] \\
\bottomrule[2pt]
\end{longtabu}
\restoregeometry
}
\Blindtext
\afterpage{%% Secons case: wide table in landscape env.
\loadgeometry{L}
\begin{landscape}
\begin{longtabu} {XX}
\caption{Lorem Ipsum}\\
\toprule[2pt]
\rowfont{\bfseries}
Lorem & Ipsum\\
\midrule
\endfirsthead
\toprule
\rowfont{\bfseries}
Lorem & Ipsum\\
\midrule
\endhead
\blindtext & \blindtext \\
\midrule
\blindtext & \blindtext \\
\midrule
\blindtext & \blindtext \\
\bottomrule[2pt]
\end{longtabu}
\end{landscape}
\restoregeometry
}
\Blindtext
\Blindtext
\end{document}
最初のケースでは、 よりも少し大きい表を収めるために、ページを少し拡大するというアイデアです。\textheight
長い表の終了後、\textwidth
下余白は元の値に正しくリセットされますが、ページ番号の配置も適切ではありません。
2 番目の問題は、横長モードでの広いテーブルで発生します。7 ページ目に示すように、横長環境を終了すると、次のページの左余白と右余白は正しく設定されますが、下のページの左余白と右余白は正しく設定されていません。これは私にとってさらに奇妙です。描画されたテキスト領域は正しいレイアウトを示していますが、テキストが下のボックスからはみ出しているのを見ると困惑します。
どのような助けでも歓迎します。
前もって感謝します。