我在将“假浮动”与大型表格绑定时遇到了一些奇怪的问题。以下是 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
,会正确地重置为原始值,但底部边距不会重置。页码也放置不当。
第二个问题出现在横向模式下的宽表上。如第 7 页所示,退出横向环境后,下一页的左右边距正确,但底部边距不正确。这对我来说更奇怪。绘制的文本区域显示正确的布局,但看到文本溢出下部框让我感到困惑。
欢迎任何帮助。
提前致谢。